특정 페이지에 Modsec 규칙을 사용하는 방법은 무엇입니까?

특정 페이지에 Modsec 규칙을 사용하는 방법은 무엇입니까?

Apache Mod_security를 ​​사용하여 프록시(x-forwarded) IP 특정 페이지(wp-comments-post.php)를 차단하고 싶습니다.

내 현재 mod_security 규칙:

SecRule REQUEST_HEADERS_NAMES "^x-forwarded-for" "log,deny,id:48,status:403,t:lowercase,msg:'Don't use Proxy'"

답변1

당신은 다음과 같은 것을 사용할 수 있어야합니다

<LocationMatch "wp-comments-post.php" >
    SecRule &REQUEST_HEADERS:X-Forwarded-For "@gt 0" "log,deny,id:48,status:403,msg:'Don't use Proxy'"
</LocationMatch>

이것을 테스트할 편리한 기계가 없지만 X-Forward-For 요청 헤더가 0개보다 큰 경우 관련 위치에 대한 액세스를 거부해야 합니다. 많은 회사에서 프록시를 사용하므로 오탐을 줄이기 위해 이 "@gt 1"을 만들어야 한다는 것을 알 수 있습니다. 아파치위치그리고위치 일치선적 서류 비치.

답변2

예를 들어 위치 지시문 안에 modsec 규칙을 포함하면 이 작업을 수행할 수 있다고 생각합니다.

<Location /koko/lala/wp-comments-post.php >
SecRule .... 
</Location>

관련 정보