URI를 스캔하지 않는 Modsecurity 규칙

URI를 스캔하지 않는 Modsecurity 규칙

좋은 아침이에요,

현재 새로운 Mod Security 2.5 규칙을 만드는 중입니다.

내 배포: 역방향 프록시 모드의 Apache 서버가 있습니다. 이 아파치 서버하지 않습니다웹사이트를 호스팅합니다. 대신 웹 요청에 응답하는 다른 서버로 요청을 프록시합니다.

웹 서버는 인증 토큰을 사용하여 웹 사이트 URL을 보안 URL로 다시 작성합니다.

75.75.75.75 - - [01/May/2015:10:55:14 -0400] "GET /record/example.svc/js HTTP/1.1" 200 1786 "https://example.org/example.aspx?XOW%5eLdz%3c2%2f1%2f42%2527kbmhtbffJfx%3e0%2527qpkf%5ejc%3e2%2527Cfruho%60uhpmXOW%5eLdz%3c2%2f1%2f42%2527RptsbfVQU%60Jfx%3e193%2527qpkf%5ejc%3e2%2527RptsbfVQU%60Ejqts%60Bihmc%60Mblf%3cSdrtfru%1fTbpqjmh"

문제:

Modsecurity는 현재 URI를 스캔합니다. 무작위 URI의 특성으로 인해 많은 오탐이 발생했습니다. 이를 방지하기 위해 모든 URI를 검사에서 제외하고 싶습니다.

재작성, 리디렉션 및 인증 토큰이 모두 웹 서버에서 생성되고 있으므로(그리고 이것이 우리가 이를 유지하려는 방식입니다) 이러한 헤더가 합법적이라는 것을 모드 보안에 알리고 스캔하지 않도록 하려면 어떻게 해야 합니까?

75.75.75.75 - - [01/May/2015:10:55:52 -0400] "GET /thing.aspx?XOW%5eLdz%3c375%25cddnnd%60ttds%5ebt%60he%3c5%2f58328 HTTP/1.1" 200 15100 "https://example.org/example.aspx?XOW%5eLdz%3c2%2f1%2f42%2527kbmhtbffJfx%3e0%2527qpkf%5ejc%3e2%2527Cfruho%60uhpmXOW%5eLdz%3c2%2f1%2f42%2527RptsbfVQU%60Jfx%3e193%2527qpkf%5ejc%3e2%2527RptsbfVQU%60Ejqts%60Bihmc%60Mblf%3cSdrtfru%1fTbpqjmh"

 75.75.75.75 - - [01/May/2015:10:55:52 -0400] "GET /example/example.svc/js HTTP/1.1" 200 1786 "https://example.org/example.aspx?XOW%5eLdz%3c375%25cddnnd%60ttds%5ebt%60he%3c5%2f58328"

답변1

내가 아는 한 요청의 특정 부분(URI 또는 ​​매개변수)을 전면적으로 무시하는 것은 불가능합니다.모두ModSecurity 규칙을 구성했습니다. 이는 유용할 수 있지만 여러 가지 보안 허점이 생길 수 있습니다.

따라서 어떤 규칙이 실패하는지 확인하고 해당 규칙에 대한 화이트리스트 예외를 추가하기만 하면 됩니다.

실패한 규칙 중 일부에 대한 예를 제시하면 이에 대한 도움이 필요할 경우 이를 해결하는 방법을 제안할 수 있습니다.

답변2

우리는 URI를 스캔하지 않는 다른 규칙을 사용하여 이 문제를 해결했습니다.

SecRuleUpdateTargetById 950120 !ARGS:REQUEST_URI

이렇게 하면 이 특정 규칙은 URI를 스캔하지 않지만 패킷의 나머지 부분은 계속 스캔합니다. 이 규칙은 가지고 있는 모든 규칙에 대해 복제되어야 한다는 점에 유의해야 합니다.

관련 정보