메뉴 닫기

iptables를 이용해 비정상 네임서버 쿼리 차단

요즘 많이 문제가 되는 네트워크 공격 중

DNS 증폭 공격(dns amplification attack) 이란게 있다.

공격자는 출발지 IP(victim) 를 속인후 전세계 네임서버에 비정상 도메인 질의를 한다.

해당 네임서버들은 출발지IP(victim)쪽으로 해당 쿼리에 대한 응답을 하게 되는데

이 응답으로 victim IP를 공격 할수 있다.

여기서 문제가 되는건 좀비 pc가 없이 정상적인 네임서버를 이용해 공격하는 부분이다.

해당 공격을 원천적으로 막을 방법은 없지만,

각 서버관리자가 조금만 신경을 쓴다면 어느정도 네임서버에서 tcpdump와 iptables 사용해 차단이 가능하다.

ex) tcpdump를 이용해 비정상 쿼리 확인

비정상 도메인 glmbcvupkxizkxcl.www.motorcs.com

명령어 tcpdump -nn port 53 -XX

15:56:23.324937 IP 77.81.98.93.52465 > 1.1.1.1: 39136+ A? glmbcvupkxizkxcl.www.motorcs.com. (50)
0x0000: 0030 4fb2 f09b 0001 e84b 016c 0800 4528 .0O……K.l..E(
0x0010: 004e 98e0 4000 e011 c9e0 4d51 625d 7344 .N..@…..MQb]sD
0x0020: 14c3 ccf1 0035 003a 3d31 98e0 0100 0001 …..5.:=1……
0x0030: 0000 0000 0000 1067 6c6d 6263 7675 706b …….glmbcvupk
0x0040: 7869 7a6b 7863 6c03 7777 7707 6d6f 746f xizkxcl.www.moto
0x0050: 7263 7303 636f 6d 0001 0001 rcs.com…..

여기서 해당 도메인의 hex값을 찾아야 한다 굵게 표시된 부분 string 매치로 해도 되지만 좀더 정확하게 하기 위에서 hex값을 이용할것이다.

차단해야할 도메인 glmbcvupkxizkxcl.www.motorcs.com

1067 6c6d 6263 7675 706b 7869 7a6b 7863 6c03 7777 7707 6d6f 746f 7263 7303 636f 6d

위에서 얻은 hex값으로 아래 iptables 명령어를 사용해 적용해 본다.

iptables -A INPUT -p udp -m udp –dport 53 -m string –hex-string “|1067 6c6d 6263 7675 706b 7869 7a6b 7863 6c03 7777 7707 6d6f 746f 7263 7303 636f 6d|” –algo bm –to 65535 -j DROP

상태 확인 iptables -vnL INPUT

Chain INPUT (policy ACCEPT 81 packets, 65363 bytes)
pkts bytes target prot opt in out source destination
0 0 udp — * * 0.0.0.0/0 0.0.0.0/0 udp dpt:53 STRING match “|10676c6d62637675706b78697a6b78636c03777777076d6f746f72637303636f6d|” ALGO name bm TO 65535

맨 앞에 pkts 와 bytes 카운팅된다면 정상적으로 차단이 되고 있는것이다.

제대로 차단이 되었다면 tcpdump -nn port 53 했을떄 들어오는 요청은 보이더라도 해당 소스IP로 응답이 없다면 정상적으로 차단이 이루어 진것이다.

 

[polldaddy rating=”7739789″]

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x