-
iptables -I INPUT 1 -m conntrack --ctstate INVALID -j LOG --log-prefix "DROP_INVALID " --log-ip-options --log-tcp-options
iptables -I INPUT 2 -m conntrack --ctstate INVALID -j DROP
iptables -I INPUT 3 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -I INPUT 4 -p tcp --dport 22 -j ACCEPT
iptables -I OUTPUT 1 -m conntrack --ctstate INVALID -j LOG --log-prefix "DROP_INVALID " --log-ip-options --log-tcp-options
iptables -I OUTPUT 2 -m conntrack --ctstate INVALID -j DROP
iptables -I OUTPUT 3 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
* --ctstate UNTRACKED
1) 방화벽 하단에는 WEB 서버가 있는데 접속 자 수가 매우 많아서 홈페이지에 접속하는 모든 패킷에 대하여 연결 추적을 하게 되면 시스템에 부하가 우려됨.
2) 방화벽에서 홈페이지에 접속 할 수 있도록 filter 테이블에서 TCP 80 port에 대하여 ACCEPT 정책을 사용하면서도 이 패킷에 대하여는 연결 추적은 하지 않도록.
iptables -t raw -A PREROUTING -p tcp --dport 80 -j NOTRACK
iptables -t raw -A PREROUTING -p tcp --sport 80 -j NOTRACK
iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j LOG --log-prefix "forward "
iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -p tcp --dport 80 -m conntrack --ctstate UNTRACKED -j ACCEPT
iptables -A FORWARD -p tcp --sport 80 -m conntrack --ctstate UNTRACKED -j ACCEPT
iptables -A FORWARD -d 192.168.196.200 -p tcp --dport 22 -j ACCEPT
FW 창 2
tcpdump host 192.168.0.72 -v
FW 창 3
tail -f /var/log/messages |grep "forward "
공격자 ssh
lynx 192.168.196.200
* 스캔 공격 로그 형태의 특징 (4장)
- DOS/DDOS
출발지 IP(192.168.0.1) 목적지 IP(대상 192.168.196.200) udp 53 ACCEPT
출발지 IP(192.168.0.2) 목적지 IP(대상 192.168.196.200) udp 53 ACCEPT
출발지 IP(192.168.0.3) 목적지 IP(대상 192.168.196.200) udp 53 ACCEPT
출발지 IP(192.168.0.4) 목적지 IP(대상 192.168.196.200) udp 53 ACCEPT
- 로그인 계정 획득
출발지 IP(192.168.0.6) 목적지 IP(대상 192.168.196.200) 목적지 port 22 ACCEPT
출발지 IP(192.168.0.6) 목적지 IP(대상 192.168.196.200) 목적지 port 22 ACCEPT
출발지 IP(192.168.0.6) 목적지 IP(대상 192.168.196.200) 목적지 port 22 ACCEPT
출발지 IP(192.168.0.6) 목적지 IP(대상 192.168.196.200) 목적지 port 22 ACCEPT
- Port Scan : - 목적? 서비스 확인(열려있는 port 확인)
출발지 IP(192.168.0.6) 목적지 IP(대상 192.168.196.200) 목적지 port 1 ACCEPT/DROP
출발지 IP(192.168.0.6) 목적지 IP(대상 192.168.196.200) 목적지 port 2 ACCEPT/DROP
출발지 IP(192.168.0.6) 목적지 IP(대상 192.168.196.200) 목적지 port 3 ACCEPT/DROP
출발지 IP(192.168.0.6) 목적지 IP(대상 192.168.196.200) 목적지 port 4 ACCEPT/DROP
- IP Scan : -목적? 대상 네트워크 켜져있는 시스템 확인.
출발지 IP(192.168.0.6) 목적지 IP(대상 192.168.196.1) 목적지 icmp ACCEPT/DROP
출발지 IP(192.168.0.6) 목적지 IP(대상 192.168.196.2) 목적지 icmp ACCEPT/DROP
출발지 IP(192.168.0.6) 목적지 IP(대상 192.168.196.3) 목적지 icmp ACCEPT/DROP
출발지 IP(192.168.0.6) 목적지 IP(대상 192.168.196.4) 목적지 icmp ACCEPT/DROP
======================================================
FW 정책
iptables -A INPUT ! -i lo -j LOG --log-prefix "INPUT_DROP " --log-ip-options --log-tcp-options
iptables -A OUTPUT ! -o lo -j LOG --log-prefix "OUTPUT_DROP " --log-ip-options --log-tcp-options
iptables -A FORWARD ! -o lo -j LOG --log-prefix "FORWARD_DROP " --log-ip-options --log-tcp-options
FW 로그
tail -f /var/log/messages |grep 192.168.0.72 (공격용 pc ip)
FW 패킷 캡쳐
tcpdump -i eth0 host 192.168.0.72 and ! port 22 -xX
공격자
nmap -sT 192.168.0.74 -p1-65535
======================================================
FW 창1
iptables -I INPUT 1 -p tcp --dport 5001 -m string --string "tester" --algo bm -j LOG --log-prefix "string_DROP "
iptables -I INPUT 2 -p tcp --dport 5001 -m string --string "tester" --algo bm -j REJECT --reject-with tcp-reset
iptables -I INPUT 3 -p tcp --dport 5001 -j ACCEPT
FW 창2
nc -l 5001
tail -f /var/log/messages |grep string_DROP
pc
echo "yhkim" |nc 192.168.196.100 5001
echo "tester" |nc 192.168.195.100 5001
'침입차단시스템' 카테고리의 다른 글
FW 과제 정리 (0) 2016.05.17 복습 및 상태기반 (0) 2016.05.10 복습 & log (0) 2016.05.03 iptables FORWARD 체인 (0) 2016.04.26 방화벽 정책 설정 시 중요사항 (0) 2016.04.19