トップページへ

 セットアップ
Debian化
カーネル再構築
Debian化仕上げ
HDDの初期化
フローチャート

 サーバ構築
ルータの設定
無料ドメイン収得
Webサーバ
メールサーバ
FTPサーバ
ファイルサーバ
プリンタサーバ
DNSサーバ
データベースサーバ

 運 用
基本的なコマンド
テキストエディタ
シェルスクリプト
運用に必要な物
ファイアウォール
ログの管理
バックアップ
データ復旧
VMware

 監 視
Webアクセス解析
システム監視
ログ解析
不正アクセス監視

 その他
リンク

sponsored link

【 更新履歴 】


2009年7月25日
 サイトデザインを一新

2009年3月31日
 Debian化仕上のページを更新

2008年09月15日
 新サイト開設



ファイアウォール:iptables



 ルーターのファイアウォール機能により外部からのアクセス制御はしていますが、LAN内からサーバーへのアクセスは大解放なので サーバーにパーソナルファイアウォールを設定します。もしもLAN内からの不正アクセス(自宅ではそんな状況はありえないが)や LAN内の他のPCやサーバが外部から乗っ取られた時の事を考えると恐ろしいほど無防備です。
 ※玄箱の初期タイプではiptableの設定が出来ましたがHGタイプでカーネルの再構築を行っていないと設定できません。

コマンドによる設定

# iptables -L  ←設定の閲覧

# iptables -F  ←設定の初期化
# iptables -P FORWARD ACCEPT  ←FORWARDの全てを許可
# iptables -P OUTPUT ACCEPT  ←OUTPUTの全てを許可
# iptables -A INPUT -s 127.0.0.1 -j ACCEPT  ←ループバックアドレスは全て許可
# iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT  ←接続済みのものは全て許可



ここからは各アプリケーションごとの設定になりますので必要のない項目は無視して下さい


# iptables -A INPUT -p tcp -i eth0 --dport 80 -j ACCEPT ←wwwを許可
# iptables -A INPUT -p tcp -i eth0 --dport 25 -j ACCEPT ←postfixを許可
# iptables -A INPUT -p tcp -i eth0 --dport 20:21 -j ACCEPT ←ftpを許可
# iptables -A INPUT -p tcp -i eth0 --dport 50000:50029 -j ACCEPT ←ftp:PASVを許可
# iptables -A INPUT -p tcp -i eth0 -s 192.168.0.0/24 --dport 110 -j ACCEPT ←LAN内のpop3を許可
# iptables -A INPUT -p tcp -i eth0 -s 192.168.0.0/24 --dport 22 -j ACCEPT ←LAN内のsshを許可
# iptables -A INPUT -p tcp -i eth0 -s 192.168.0.0/24 --dport 445 -j ACCEPT ←LAN内のSamba接続許可
# iptables -A INPUT -p tcp -i eth0 -s 192.168.0.0/24 --dport 137 -j ACCEPT ←LAN内のSamba接続許可
# iptables -A INPUT -p udp -i eth0 -s 192.168.0.0/24 --dport 138 -j ACCEPT ←LAN内のSamba接続許可
# iptables -A INPUT -p udp -i eth0 -s 192.168.0.0/24 --dport 139 -j ACCEPT ←LAN内のSamba接続許可
# iptables -A INPUT -p udp -i eth0 -s 192.168.0.0/24 --dport 631 -j ACCEPT ←LAN内のCUPS接続許可



最後の仕上げのコマンドを入力します


# iptables -P INPUT DROP ←INPUTの全てを破棄


再起動すると上記の設定は消えてしまうため、以下のコマンドで設定を保存します。

コマンドによる設定

activeという名前で設定を/var/lib/iptables/に保存する

# /etc/init.d/iptables save active (あらかじめ/var/lib/iptables/のディレクトリを作成しておく)

再起動後、iptablesの設定をリストアするには下記のコマンドを入力します

# iptables-restore /var/lib/iptables/active


上記の方法だけでも設定のリストアが出来ますが、再起動のたびにコマンドを打たなければならないので以下のシェルスクリプトを作成して起動時に自動で実行さます。

シェルスクリプトによる自動リストア

# vi /etc/init.d/iptables_restore  ←ファイル名は何でもかまいません
  #!/bin/sh
  PATH=/bin:/usr/bin:/sbin:/usr/sbin
  iptables-restore /var/lib/iptables/active(保存したiptablesのルール)

シェルスクリプトに実行権を付ける

# chmod a+x /etc/init.d/iptables_restore

起動時に作成したシェルスクリプトを実行するように設定

# update-rc.d iptables_restore defaults






参考:ファイアウォール設定の削除方法

コマンド:ルールの削除

下記コマンドで現在設定されているルールを確認する。ルールには暗示的に、表示されている順に上から1番、2番と番号が振られている。/p>

# iptables -L

例えば下記コマンドだとINPUTで表示された2番目のルールが削除される。

# iptables -D INPUT 2

面倒だが下記の方法でもルールを直接削除できる

# iptables -D [ルールを追加したときとまったく同じ文章]