11 月 17
Debianでiptablesの設定をしていてふと/etc/init.d/iptables saveしてみると/etc/init.d/iptablesはそんざいしないと言われてしまった。Debianからは削除されてしまったらしい。ということで友人が「stop」「save」で保存「start」「restore」で設定の読み込みをするスクリプトを作ってくれたのを頂いた。快く許可してくださり以下にiptablesの設定方法と共に記載する。まずは設定方法。
$ su
# iptables -P INPUT ACCEPT
# iptables -P FORWARD DROP
# iptables -P OUTPUT ACCEPT
# iptables -F# iptables -A INPUT -p icmp -j ACCEPT
# iptables -A INPUT -i lo -j ACCEPT
これでいったん全部許可し、「ping」と自分自身からの接続を許可したことになる。
続いてポートごとに許可をしていく。
必要なら個別に追加しいらないものは削除してほしい。
# iptables -A INPUT -p tcp --dport 80 -j ACCEPT //http
# iptables -A INPUT -p tcp --dport 443 -j ACCEPT //https
# iptables -A INPUT -p tcp --dport 548 -j ACCEPT //netatalk
# iptables -A INPUT -p tcp --dport 21 -j ACCEPT //FTP
# iptables -A INPUT -p tcp --dport 110 -j ACCEPT //POP
# iptables -A INPUT -p tcp --dport 25 -j ACCEPT //SMTP
# iptables -A INPUT -p tcp --dport 22 -j ACCEPT //SSH
そして応答とデータを許可しその他をすべて拒否する。
# iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# iptables -P INPUT DROP
これでOK。
しかしこのままでは再起動すると設定が削除されてしまいます。
ここで友人にもらったスクリプトを使います。
# vi /etc/init.d/iptables
とスクリプトを新規作成し、以下のように記述し保存します。
#!/bin/bash
start(){
iptables -F
iptables-restore < /etc/iptables.save
return 0
}
stop(){
iptables-save > /etc/iptables.save
return 0
}
case "$1" in
start)
start
;;
stop)
stop
;;
save)
stop
;;
restore)
start
;;
restart)
stop
start
;;
esac
注意:これは保存と読込をするだけであって実際にiptablesの起動や終了はしません。
そして、パーミションの変更と登録、そして設定の保存。
# chmod 755 /etc/init.d/iptables
# update-rc.d iptables defaults 18
# /etc/init.d/iptables save
これで再起動したときも自動で設定ファイルが読み込まれます。











2008年8月26日 22:40:38
debian ファイアウォール設定
ファイアウォールの設定がまだだったのでやっておく
iptables
以下rootにsuしてから行う
# iptables -P INPUT ACCEPT
# iptables -P FORWARD DROP
# iptables -P OUTPUT ACCEPT
FORWARD以外まずはACCEPT
# iptabl…