Linux 2014/11/11 17:22
#!/bin/bash
iptables --flush
iptables -A INPUT -s 192.99.0.223 -j DROP;
#iptables -A INPUT -p 80 -d naver.com -j ACCEPT;
#iptables -I INPUT -p tcp --dport 80 -j DROP;
#iptables -I INPUT -p udp --dport 5060 -j DROP;
#ssh 30초 5번 이상 접근시 차단
iptables -A INPUT -p tcp --dport 22 --syn -m limit --limit 30/s --limit-burst 5 -j ACCEPT;
iptables -A INPUT -p tcp --dport 22 ! --syn -j ACCEPT;
iptables -A INPUT -p tcp --dport 22 --syn -j DROP;
#비정상 tcp-flag 차단
iptables -A INPUT -p tcp --tcp-flags ACK,FIN FIN -j DROP;
iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP;
iptables -A INPUT -p tcp --tcp-flags ALL PSH,FIN -j DROP;
iptables -A INPUT -p tcp --tcp-flags ALL URG,PSH,FIN -j DROP;
iptables -A INPUT -p tcp --tcp-flags ALL SYN,ACK,FIN -j DROP;
iptables -A INPUT -p tcp --tcp-flags ALL SYN,FIN,PSH -j DROP;
iptables -A INPUT -p tcp --tcp-flags ALL SYN,FIN,RST -j DROP;
iptables -A INPUT -p tcp --tcp-flags ALL SYN,FIN,RST,PSH -j DROP;
iptables -A INPUT -p tcp --tcp-flags ALL SYN,FIN,ACK,RST -j DROP;
iptables -A INPUT -p tcp --tcp-flags ALL SYN,ACK,FIN,RST,PSH -j DROP;
iptables -A INPUT -p tcp --tcp-flags FIN,RST FIN,RST -j DROP;
iptables -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP;
iptables -A INPUT -p tcp --tcp-flags ACK,PSH PSH -j DROP;
iptables -A INPUT -p tcp --tcp-flags ACK,URG URG -j DROP;
###################### 여기가 UDP 일정 횟수 차단 ######################
# Requests per second
RQS="3"
SECONDS="30"
iptables -A INPUT -p udp --dport 5060 -m state --state NEW -m recent --set --name Asterisk_login --rsource
iptables -A INPUT -p udp --dport 5060 -m state --state NEW -m recent --update --seconds ${SECONDS} --hitcount ${RQS} --name Asterisk_login --rsource -j DROP
###################### 여기가 UDP 일정 횟수 차단 끝 ######################
난 이렇게 한다.
30 초 동안 5번 이상 UDP 쏘면 차단.
iptables --flush
iptables -A INPUT -s 192.99.0.223 -j DROP;
#iptables -A INPUT -p 80 -d naver.com -j ACCEPT;
#iptables -I INPUT -p tcp --dport 80 -j DROP;
#iptables -I INPUT -p udp --dport 5060 -j DROP;
#ssh 30초 5번 이상 접근시 차단
iptables -A INPUT -p tcp --dport 22 --syn -m limit --limit 30/s --limit-burst 5 -j ACCEPT;
iptables -A INPUT -p tcp --dport 22 ! --syn -j ACCEPT;
iptables -A INPUT -p tcp --dport 22 --syn -j DROP;
#비정상 tcp-flag 차단
iptables -A INPUT -p tcp --tcp-flags ACK,FIN FIN -j DROP;
iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP;
iptables -A INPUT -p tcp --tcp-flags ALL PSH,FIN -j DROP;
iptables -A INPUT -p tcp --tcp-flags ALL URG,PSH,FIN -j DROP;
iptables -A INPUT -p tcp --tcp-flags ALL SYN,ACK,FIN -j DROP;
iptables -A INPUT -p tcp --tcp-flags ALL SYN,FIN,PSH -j DROP;
iptables -A INPUT -p tcp --tcp-flags ALL SYN,FIN,RST -j DROP;
iptables -A INPUT -p tcp --tcp-flags ALL SYN,FIN,RST,PSH -j DROP;
iptables -A INPUT -p tcp --tcp-flags ALL SYN,FIN,ACK,RST -j DROP;
iptables -A INPUT -p tcp --tcp-flags ALL SYN,ACK,FIN,RST,PSH -j DROP;
iptables -A INPUT -p tcp --tcp-flags FIN,RST FIN,RST -j DROP;
iptables -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP;
iptables -A INPUT -p tcp --tcp-flags ACK,PSH PSH -j DROP;
iptables -A INPUT -p tcp --tcp-flags ACK,URG URG -j DROP;
###################### 여기가 UDP 일정 횟수 차단 ######################
# Requests per second
RQS="3"
SECONDS="30"
iptables -A INPUT -p udp --dport 5060 -m state --state NEW -m recent --set --name Asterisk_login --rsource
iptables -A INPUT -p udp --dport 5060 -m state --state NEW -m recent --update --seconds ${SECONDS} --hitcount ${RQS} --name Asterisk_login --rsource -j DROP
###################### 여기가 UDP 일정 횟수 차단 끝 ######################
난 이렇게 한다.
30 초 동안 5번 이상 UDP 쏘면 차단.
이 글에는 트랙백을 보낼 수 없습니다
0