JunJunGamesのHow-to

ゲーム実況 JunJunGames

iptables設定メモ

iptablesの設定について、かなり参考になるサイトを見つけた!! http://www.systemexpress.co.jp/centos/iptables.html (まるまるコピーですが・・・・)

mkdir /root/iptables vi /root/iptables/iptables_setup.sh

#!/bin/bash

# 受信は破棄、送信は許可、通過は破棄 iptables -P FORWARD DROP

# 自ホストからのアクセスを許可 iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT

# 内部から行ったアクセスに対する外部からの返答アクセスを許可 iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# fragment 破棄 iptables -A INPUT -f -j LOG --log-level debug --log-prefix 'FRAGMENT DROP:' iptables -A INPUT -f -j DROP

# ping of death 破棄 iptables -N PINGOFDEATH iptables -A PINGOFDEATH -m limit --limit 1/s --limit-burst 4 -j ACCEPT iptables -A PINGOFDEATH -j LOG --log-level debug --log-prefix 'PINGDEATH DROP:' iptables -A PINGOFDEATH -j DROP iptables -A INPUT -p icmp --icmp-type echo-request -j PINGOFDEATH

# broadcast 破棄 iptables -A INPUT -d 255.255.255.255 -j DROP iptables -A INPUT -d 224.0.0.1 -j DROP

# サーバーで利用するポートを許可 iptables -A INPUT -p tcp --sport 20 -j ACCEPT iptables -A INPUT -p tcp --dport 21 -j ACCEPT iptables -A INPUT -p tcp --dport 22 -j ACCEPT iptables -A INPUT -p tcp --dport 25 -j ACCEPT iptables -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A INPUT -p tcp --dport 110 -j ACCEPT iptables -A INPUT -p tcp --dport 143 -j ACCEPT iptables -A INPUT -p tcp --dport 443 -j ACCEPT iptables -A INPUT -p tcp --dport 465 -j ACCEPT iptables -A INPUT -p tcp --dport 587 -j ACCEPT iptables -A INPUT -p tcp --dport 873 -j ACCEPT iptables -A INPUT -p tcp --dport 989 -j ACCEPT iptables -A INPUT -p tcp --dport 990 -j ACCEPT iptables -A INPUT -p tcp --dport 993 -j ACCEPT iptables -A INPUT -p tcp --dport 995 -j ACCEPT #iptables -A INPUT -p tcp --dport 3306 -j ACCEPT iptables -A INPUT -p tcp --dport 4000:4029 -j ACCEPT iptables -A INPUT -p tcp --dport 10000 -j ACCEPT #iptables -A INPUT -p tcp --dport 10025 -j ACCEPT

# ログをとる iptables -A INPUT -m limit --limit 1/s -j LOG --log-level debug --log-prefix 'INPUT DROP:' iptables -A INPUT -j DROP iptables -A FORWARD -m limit --limit 1/s -j LOG --log-level debug --log-prefix 'FORWARD DROP:' iptables -A FORWARD -j DROP

上記までが、プログラム

/etc/rc.d/init.d/iptables save /etc/rc.d/init.d/iptables start

chmod 700 /root/iptables/iptables_setup.sh /root/iptables/iptables_setup.sh chkconfig iptables on

 

 

ブロックする海外IPアドレスリストの作成 http://www.systemexpress.co.jp/centos/ckfilter.html vi /root/iptables/ckfilter_setup.sh

!/bin/bash

COUNTRYLIST=‘US KR CN’ wget -q http://ftp.apnic.net/stats/apnic/delegated-apnic-latest for country in $COUNTRYLIST do for ip in cat delegated-apnic-latest | grep "apnic|$country|ipv4|" do COUNTRY=echo $ip | awk -F"|" '{ print $2 }' DROP_IP=echo $ip | awk -F"|" '{ print $4 }' TMPCIDR=echo $ip | awk -F"|" '{ print $5 }'

FLTCIDR=32 while [ $TMPCIDR -ne 1 ]; do TMPCIDR=$*1 FLTCIDR=$*2 done echo “$DROP_IP/$FLTCIDR” >> /root/iptables/ckip done done

chmod 700 /root/iptables/ckfilter_setup.sh /root/iptables/ckfilter_setup.sh

 

ファイアーウォール(iptabes)にckipを設定

if [ -e "/root/iptables/ckip" ]; then iptables -N CKFILTER iptables -A CKFILTER -j DROP

for ip in `cat /root/iptables/ckip` do iptables -I INPUT -s $ip -j CKFILTER done fi

/root/iptables/iptables_setup.sh

以上、

 

*1:TMPCIDR/2

*2:FLTCIDR-1