iptables 을 이용해서 간단하게 IPS 기능과 유사한 환경을 구축한 차단 테스트이다.
구성환경 : VMWare BackTrack5, VMWare Windows XP (DNS 서버설정 168.126.63.1)
BackTrack5 에 우선 네트워크 카드 2개를 설정한다. 본 테스트에서는 Vmware의 네트워크를 Bridged Network(VMnet0)으로 설정하고 IP 주소를 10.1.1.1 로 설정하였다. 이것은 이제 사설 네트워크의 컴퓨터들이 외부 인터넷으로 연결되기 위한 게이트웨이 역할을 할 것이다. 다른 한 개에는 외부와 연결되는 공인 IP 를 할당할 것이다. 그러기 위해서 VMware의 네트워크를 NAT(VMnet8) 설정한다.
가장 기본적인 네트워크 설정이 끝났지만 이 상태에서는 절대 인터넷이 되지 않는다. 따라서 다음과 같은 설정이 되어 있어야 한다.
< iptables 초기화 >
iptables -F FORWARD
iptables -P FORWARD DROP
< IP 포워딩 설정 >
echo "1" > /proc/sys/net/ipv4/ip_forward
< 패킷 설정 >
iptables -A FORWARD -o eth2(내부 사설 네트워크와 연결되는 네트워크 장치) -j ACCEPT
iptables -A FORWARD -o eth1(외부 인터넷과 연결되는 네트워크 장치) -j ACCEPT
<NAT 설정>
외부 인터넷으로 연결되는 장치인 eth1에 매스커레이드를 허가 하도록 한다. 사설 네트워크와 연결되는 장치인 eth2과 연결된 모든 컴퓨터는 외부로 인터넷이 가능하도록 연결하는 것이다.
iptables -t nat -A POSTROUTING -o eth1(외부 인터넷과 연결되는 네트워크 장치) -j MASQUERADE
이제 Windows XP 에서도 인터넷이 되는 것을 확인 할수 있을 것이다. 안되는 경우에는 한번 재부팅을 하는 것도 좋다.
테스트 환경이 구축이 완료가 되었다.
이제 이 환경을 어떤 것을 테스트를 해볼까???
우선 웹 페이지 차단이다. ㄱㄱㄱ
1탄
위에 그림은 네이버에 접속했을 때 Packet 화면이다. 웹 페이지 형식은 "Host: ~" 으로 구성이 되어 있고 이것을 차단 하면 해당 웹페이지 접근은 차단이 된다. 가장 쉬운게 웹 페이지 차단이다. ^ㅡ^;
< BackTrack5 에 설정 내용>
iptables -I FORWARD -p tcp --dport 80 -m string --string "Host: www.naver.com" --algo kmp -j REJECT
iptables -I FORWARD -p tcp --dport 80 -m string --string "Host: www.naver.com" --algo kmp -j LOG --log-prefix="naver.com(HTTP_1)"
일단 정상적인 웹 접속이 안되기 때문에 오랫동안 기다리면 다음과 같은 화면과 패킷이 나오게 된다.
이것으로 네이버 웹 접속은 차단이 된 것이다.
두번째로 해볼 것은 메신저이다. 자주 쓰는 네이트온을 가지고 테스트를 해볼 예정이다.
로그인부터 시그니처를 만들기 위한 패턴을 찾아보자.
네이트온은 총 3단계 로그인 단계가 있다. 각각 패킷을 한번 떠보았다.
<1단계 로그인>
<2단계 로그인>
<3단계 로그인>
패킷을 검토한 결과 계정 앞에 "REQS" 라는 시그니처가 붙어서 전송되는것을 확인했다.
따라서 이 패킷을 Drop 시킨 다면 사용자는 로그인을 못하게 될 것이다.
< BackTrack5 에 설정 내용>
iptables -I FORWARD -p tcp -m string --hex-string "|52 45 51 53|" --algo kmp -j DROP
iptables -I FORWARD -p tcp -m string --hex-string "|52 45 51 53|" --algo kmp -j LOG --log-prefix="nate.com(login)"
위와 같이 설정을 하고 로그인을 하게 된다면 다음과 같은 화면을 보게 될 것이다.
네이트온에는 많은 기능을 가지고 있고 그에 따른 시그니처도 많이많이 존재하고 있다.
네이트온 뿐만 아니라 다른 메신저들의 패킷을 잡아보고 패턴을 분석해서 시그니처를 작성 해 볼 수도있다.
랭키닷컴 에서 다양한 메신저 종류를 참고해 볼 수 있다 :)
'Network' 카테고리의 다른 글
패킷분해 #1 한 패킷의 크기(MTU)는 얼마나 될까? (0) | 2012.03.15 |
---|---|
네트워크 보안 사전 탐지 기술 30가지 (0) | 2012.03.12 |
[Tool][DoS] HTTP POST DoS, RUDY (R-U-Dead-Yet version 2.2 ) (2) | 2012.02.25 |
SSDP 대량발생, 이상징후인가? (0) | 2012.02.16 |
구글의 독자적인 프로토콜, SPDY (0) | 2011.12.14 |