특정 문자열이 포함된 트래픽을 차단하고 싶습니다 "anypattern"
.
올바른 iptables 규칙은 다음과 같습니다.
iptables -m string --algo bm --string "anypattern" -j DROP
데이터는 여러 TCP 시퀀스로 분할될 수 있습니다. 그리고 "anypattern"
문자열이 2개의 패킷으로 분할될 위험이 있습니다 . 예를 들어, 패킷 1에는 가 포함되고 "anyp"
, 두 번째 패킷에는 가 포함됩니다."attern"
iptables가 TCP 조각화를 감지하고 최종 TCP 페이로드를 확인하도록 만드는 방법은 무엇입니까? 아니면 이런 종류의 문제에 대한 해결책이 있습니까?
답변1
나는 netfilter 문자열 확장이 이 작업을 안전하게 수행하는 데 적합한 도구라고 생각하지 않습니다. 문자열 감지를 위해 기존 iptables를 사용하는 것이 편할 것 같지만, 보다 안정적인 결과를 원한다면 전용 애플리케이션 계층 IDS(Es.수리카 타워)