Linuxメモ

iptables の基礎知識

iptablesとは

iptablesとはLinuxカーネルに組み込まれたファイアウォール
非常に柔軟な設定をすることができる。

チェインの基礎知識

iptablesには初期の状態で3つのチェインが用意されている。
下記の状態では、ファイアウォールは機能していない状態です。

[root@memo ~]# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
INPUT
外からサーバに入ってくるパケットに対してのチェイン
FORWARD
サーバから別のサーバへパケットをフォーワードする場合のチェイン
OUTPUT
サーバから外に出るパケットに対してのチェイン
  • チェインのポリシー
    (policy ACCEPT)という行がチェインのポリシーとなる。
    ACCEPTの場合とDROPの場合がある。チェインにルールが設定
    されていない場合や、ルールに当てはまるものがない場合はポリシー
    に従うことになる。
  • チェインのポリシーを変更する
    # iptables -A INPUT DROP
    これで以下のようにポリシーが変わる
    [root@memo ~]# iptables -L
    Chain INPUT (policy DROP)
    target     prot opt source               destination
    
    Chain FORWARD (policy ACCEPT)
    target     prot opt source               destination
    
    Chain OUTPUT (policy ACCEPT)
    target     prot opt source               destination
    この状態だと外から入ってくるパケットはすべてDROPされる。
    チェインでDROPし最小限の許可を与える場合などに使用する。
  • ルールの設定
    先ほど、チェインのポリシーでINPUTをDROPしたので、必要な通信のみを
    ルールにて許可する。
    icmp(ping)を許可する
    # iptables -A INPUT -p icmp -j ACCEPT
    ローカルループを許可
    # iptables -A INPUT -i lo -j ACCEPT
    ローカルセグメントからの接続を許可
    # iptables -A INPUT -s 192.168.0.0/255.255.0.0 -j ACCEPT
    TCPの接続開始と応答、FTPデータなどを許可
    # iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
    SSHの接続を許可
    # iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
    ルールを確認
    [root@memo ~]# iptables -L
    Chain INPUT (policy DROP)
    target     prot opt source               destination
    ACCEPT     icmp --  anywhere             anywhere
    ACCEPT     all  --  anywhere             anywhere
    ACCEPT     all  --  192.168.0.0/16       anywhere
    ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED
    ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ssh
    
    Chain FORWARD (policy ACCEPT)
    target     prot opt source               destination
    
    Chain OUTPUT (policy ACCEPT)
    target     prot opt source               destination
  • iptablesの設定を保存する
    iptablesは設定を投入した時点で有効になるが、このままでは再起動する
    と消えてしまう。
    そのため、設定を保存する。
    • CentOS(RedHat系)の場合
      # service iptables save
  • Ubuntu(Debian系)の場合
    # iptables-save > /etc/iptables.rules
    # echo -e "#\!/bin/sh\n/sbin/iptables-restore < /etc/iptables.rules"\
      > /etc/network/if-pre-up.d/iptables
    # echo -e "#\!/bin/sh\n/sbin/iptables-restore > /etc/iptables.rules"\
      > /etc/network/if-pre-up.d/iptables


トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2009-07-16 (木) 18:13:50 (3070d)