iptables;の設定メモ
IPアドレスの割り振り表から、中国・韓国をピックアップし、最小限のテーブルで排除できるようにしました。
http://sea-mew.jp/~nox/blacklist/mkblacklist.iptables
このサーバに対する攻撃が2桁以上減りました。お試しください。
ipt_recent; 総当たり攻撃対策として、ipt_recent が便利です。 /etc/rc.local に modprobe ipt_recentを書きます。もしかしたら、書かなくても良いかもしれません。 次に、/etc/ysconfig/iptables に、
-A INPUT -p tcp --syn --dport 22 -m recent --name sshattack --set -A INPUT -p tcp --syn --dport 22 -m recent --name sshattack --rcheck --seconds 60 --hitcount 5 -j LOG --log-prefix "SSH attack:" -A INPUT -p tcp --syn --dport 22 -m recent --name sshattack --rcheck --seconds 60 --hitcount 5 -j DROP
- A INPUT -p tcp -m tcp --dport 22 -j ACCEPT こんなふうにします。この例だと、60秒間に5回以上の接続をしてきたホストを、LOGを書き込んだ後DROPするという設定です。
以下サンプル。
/etc/sysconfig/iptables:
*nat:PREROUTING ACCEPT:POSTROUTING ACCEPT:OUTPUT ACCEPT# ルータの内側から外側へのNATアクセスを許可-A POSTROUTING -s 192.168.0.0/255.255.0.0 -o ppp0 -j MASQUERADECOMMIT*filter:INPUT DROP# ちょっときにいらないのですが、IP電話が安定するように見えます。本来uPnPが必要なだけセットするはずですが・・・:FORWARD ACCEPT:OUTPUT ACCEPT-A INPUT -i lo -j ACCEPT-A INPUT -s 192.168.0.0/255.255.0.0 -j ACCEPT-A INPUT -d 192.168.0.0/255.255.0.0 -j ACCEPT-A INPUT -p tcp -m tcp --dport 20:21 -j ACCEPT-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT-A INPUT -p tcp -m tcp --dport 25 -j ACCEPT-A INPUT -p tcp -m tcp --dport 42 -j ACCEPT-A INPUT -p tcp -m tcp --dport 47 -j ACCEPT-A INPUT -s 192.168.0.0/255.255.0.0 -p tcp -m tcp --dport 53 -j ACCEPT-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT-A INPUT -s 192.168.0.0/255.255.0.0 -p tcp -m tcp --dport 110 -j ACCEPT-A INPUT -p tcp -m tcp --dport 115 -j ACCEPT-A INPUT -s 192.168.0.0/255.255.0.0 -p tcp -m tcp --dport 220 -j ACCEPT-A INPUT -p tcp -m tcp --dport 123 -j ACCEPT-A INPUT -s 192.168.0.0/255.255.0.0 -p tcp -m tcp --dport 137:139 -j ACCEPT-A INPUT -s 192.168.0.0/255.255.0.0 -p tcp -m tcp --dport 143 -j ACCEPT-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT-A INPUT -s 192.168.0.0/255.255.0.0 -p tcp -m tcp --dport 445 -j ACCEPT-A INPUT -p tcp -m tcp --dport 465 -j ACCEPT-A INPUT -p tcp -m tcp --dport 993:995 -j ACCEPT-A INPUT -p tcp -m tcp --dport 10000:65535 -j ACCEPT-A INPUT -p udp -m udp -j ACCEPT-A INPUT -p tcp -m tcp --dport 0:1023 --tcp-flags SYN,RST,ACK SYN -j REJECT --reject-with icmp-port-unreachable-A INPUT -p tcp -m tcp --dport 2049 --tcp-flags SYN,RST,ACK SYN -j REJECT --reject-with icmp-port-unreachable-A INPUT -p udp -m udp --dport 0:1023 -j REJECT --reject-with icmp-port-unreachable-A INPUT -p udp -m udp --dport 2049 -j REJECT --reject-with icmp-port-unreachable-A INPUT -p tcp -m tcp --dport 6000:6009 --tcp-flags SYN,RST,ACK SYN -j REJECT --reject-with icmp-port-unreachable-A INPUT -p tcp -m tcp --dport 7100 --tcp-flags SYN,RST,ACK SYN -j REJECT --reject-with icmp-port-unreachable# NAT変換にこれは必要です。大変重要。認証系のページにアクセスできなくなったりします。要注意-A FORWARD -o ppp0 -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu-A FORWARD -i eth0 -o ppp0 -j ACCEPT-A FORWARD -s 192.168.0.0/255.255.0.0 -j ACCEPT-A FORWARD -d 192.168.0.0/255.255.0.0 -j ACCEPT-A OUTPUT -s 192.168.0.0/255.255.0.0 -d 239.255.255.250 -j
ACCEPT
-A OUTPUT -s 218.227.162.168 -d 239.255.255.250 -j ACCEPT
COMMIT
Counter: 2135,
today: 3,
yesterday: 0
Last-modified: 2007-05-29 (Tue) 14:42:24 (JST) (1198d) by