개요
iptables 실무 사용 예
iptables 에서 현재 로드된 모듈 확인
shell> cat /proc/net/ip_tables_matches
iptables에서 사용가능한 모듈 확인
shell> ls /lib/modules/`uname -r`/kernel/net/netfilter/
예제) Xmas 스캔 차단 및 로깅
--tcp-flags 옵션을 사용하여 Xmas 스캔 차단( Xmas 스캔이란 tcp flags에 PSH,FIN,PSH가 모두 설정된 패킷)
shell> iptables -A INPUT -p tcp --tcp-flags FIN,PSH,URG FIN,PSH,URG -j DROP
shell> iptables -I INPUT -p tcp --tcp-flags FIN,PSH,URG FIN,PSH,URG -j LOG --log-prefix "[Xmas Scan Dectection] "
shell> iptables -L
** iptables는 상위부터 필터가 먼저 적용되므로 로깅후에 DROP,REJECT,ACCEPT등을 적용
예졔) Null 스캔 차단 및 로깅
* Null 스캔 : tcp flags에 어떤 flag도 설정되지 않은 비정상 스캔
shell> iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP
shell> iptables -I INPUT -p tcp --tcp-flags ALL NONE -j LOG --log-prefix "[Null Scan Dectection] "
shell> iptables -L
예제) IP별로 SSH 접속수 제한 및 로깅
connlimit 모듈을 사용하여 설정초과 접속에 대하여 접속 제한
shell> iptables iptables -A INPUT -p tcp --syn --dport 22 -m connlimit --connlimit-above 3 -j REJECT --reject-with tcp-reset
shell> iptables -I INPUT -p tcp --syn --dport 22 -m connlimit --connlimit-above 3 -j LOG --log-prefix "[Rectrition Of SSH Connection] "
shell> iptables -L
* --syn : --tcp-flags SYN,RST,ACK SYN 표현과 동일
예) 지정된 IP외에 웹 URL 접속 차단 및 로깅
아래는 string 모듈을 사용하여 어플리케이션 계층의 데이타를 분석후 지정된 IP(192.168.0.200) 외에 /admin/admin.html URL 접속시 차단한다.
shell> iptables -A INPUT -m state --state ESTABLISHED ! -s 192.168.0.200 -p tcp --dport 80 -m string --algo bm --string "GET /admin/admin.html HTTP/1.1" -j DROP
shell> iptables -I INPUT -m state --state ESTABLISHED ! -s 192.168.0.200 -p tcp --dport 80 -m string --algo bm --string "GET /admin/admin.html HTTP/1.1" -j LOG --log-prefix="[Admin URL Connection Dectection] "
shell> iptables -L
string 모듈은 --string, --hex-string 옵션 사용가능
--string 옵션은 --algo 알고리즘 옵션과 같이 사용됨
*알고리즘 : bm(Boyer-Moore), kpm(Knuth-Pratt-Morris)
예) 포트 스캔 공격 탐지
syn 패킷이 초당 100회를 초과할 경우 탐지
shell> iptables -I INPUT -p tcp --syn -m limit --limit 100/s -j LOG --log-prefix "[Port Scan Detection] "
shell> iptables -L
'보안' 카테고리의 다른 글
[tcpdump] HTTP 트래픽 분석 (0) | 2019.11.09 |
---|---|
[정보보안기사] 2019년 2차 정보보안기사 실기 (0) | 2019.11.09 |
[snort] 활용2 (0) | 2019.11.01 |
[wireshark] IP fragments 패킷 필터링 (1) | 2019.10.30 |
[nmap]활용 (0) | 2019.10.29 |