2014-06-21 3 views
1

내가 it.So 내 규칙을 콘텐츠 "abbb"을 찾기 위해 HTTP 응답의 내용을 확인하기 위해 노력하고 있었다Snort 규칙은 HTTP 요청 나던 작품의 내용을 확인하기 위해

경고 TCP my_server가 HTTP_PORTS -> 어떤 (msg : "액세스 한 페이지에 abbb가 있음"; to_client; established; 내용 : "abb"; sid : XXXXX; rev : x;)

불행히도이 규칙은 작동하지 않는 것 같습니다. 내 규칙에 문제가 있는지 누구든지 알려 주실 수 있습니까?

답변

1

처음에는 유효한 구문이 아니므로 규칙의 to_client 부분을 수정해야합니다. 이 값을 다음과 같이 변경해야합니다.

flow : to_client, established;

자세한 내용은 here에 있습니다.

서버에서 클라이언트로 보낸 콘텐츠 "abbb"를 찾고있는 경우 간단한 콘텐츠 일치가 필요합니다. 빠른 패턴 매처를 사용하여 규칙의 효율성을 향상시키는 것이 좋습니다. 콘텐츠 일치는 다음과 같습니다.

콘텐츠 : "abbb"; fast_pattern : 만; 흐름; "액세스 페이지 콘텐츠 abbb있다": to_client 설립, 내용 : "abbb -> 어떤 어떤 (MSG

경고 TCP my_server가 HTTP_PORTS :

함께이 퍼팅, 규칙 같은 것을 보일 수 있습니다 "; fast_pattern : 만; sid : XXXXX; rev : x;)

여전히 트리거되지 않으면 계속 진행될 수 있습니다. 내용에서이 것을 찾고 있기 때문에 http 전 처리기에서 검사 깊이를 확인해야합니다. server_flow_depth 및 client_flow_depth가 있습니다. 이 값을 0 (무제한)으로 설정하고 규칙이 이후에 트리거되는지 확인하십시오. 예를 들어 300의 client_flow_depth가 있고 500 바이트 이후까지 "abbb"라는 컨텐트가 오지 않았다면 snort가 페이로드까지 검사하도록 구성되지 않았으므로 규칙이 트리거되지 않습니다.

적응 형 프로파일 링이 활성화 된 경우 http 용 메타 데이터 서비스를 추가해야합니다. 그렇지 않으면 규칙이 http 트래픽과 일치하지 않습니다. 이것은 다음과 유사합니다 :

metadata : service http;

적응 형 프로파일 링을 사용하지 않으면 규칙 헤더의 포트를 사용합니다.

관련 문제