2012-03-02 5 views
0

IPTables에서이 특정 패킷을 차단할 수 있는지 궁금합니다.IPTables 특정 UDP 패킷을 어떻게 차단합니까?

IP (tos 0x0, ttl 122, id 59478, offset 0, flags [none], proto: **UDP** (17), **length: 32**) 49.125.39.7.53125 > 68.68.27.40.34535: UDP, **length 0** 
    0x0000: 4500 0020 e856 0000 7a11 a086 317d 2707 E....V..z...1}'. 
    0x0010: 4444 1b28 cf85 86e7 0008 0000 0000 0000 DD.(............ 
    0x0020: 0000 0000 0000 0000 0000 0000 0000 

IP (tos 0x0, ttl 43, id 42852, offset 0, flags [none], proto: UDP (17), length: 32) 15.205.231.92.63002 > 68.68.27.40.18287: UDP, length 0 
    0x0000: 4500 0020 a764 0000 2b11 91d3 0fcd e75c E....d..+......\ 
    0x0010: 4444 1b28 f61a 476f 0008 0000 0000 0000 DD.(..Go........ 
    0x0020: 0000 0000 0000 0000 0000 0000 0000  

그것은 UDP 포트 우리의 서버 응용 프로그램의 요구를 배출 임의의 대상 포트에 임의의 소스 IP를 스푸핑 된 DoS 공격은입니다. tcp 덤프의 강조 표시된 부분, 즉 UDP 길이에 따라 패킷을 차단하고 싶습니다. 끝에는 길이가 32 + 0입니다. 그게 가능하니?

또는 덤프의 16 진수 문자열로 패킷을 차단할 수 있습니까?

는 IPTables에는 패킷에서 추출 최대 4 바이트의 양이 값을 지정 여부를 테스트하는 u32 모듈이, 친절 플로이드

답변

0

을 주셔서 감사합니다. DoS 공격 패킷인지 테스트 할 수 있습니다. 다음은 예입니다

iptables -A INPUT -j DROP -m u32 --u32 "16 & 0xFFFF = 0x4444" 

manpage of iptables 더 자세히 위해 (사용자 환경에 man iptables를 사용한다)를 참조하십시오.

+0

u32 모듈은 centos5에서 사용할 수 있습니까? – Floyd

+0

@Floyd, 예, u32 모듈은 CentOS 5에서 사용할 수 있습니다 (CentOS 5.3 호스트에서 확인). 더 자세한 정보는'man iptables'을보십시오. – kamae

+0

'[root @ dbox ~] # iptables -m u32 -h iptables v1.3.5 : 일치하는 u32를로드 할 수 없습니다 :/lib/iptables/libipt_u32.so : 공유 오브젝트 파일을 열 수 없습니다 : 해당 파일 또는 디렉토리 없음 내가 맨 페이지에서 u32 언급을 보았습니다,하지만 분명히 모듈이없는 CentOS 5.7은 커널을 다시 컴파일해야한다는 뜻입니까? – Floyd

관련 문제