iptables の設定


iptables は Linux サーバーのファイアウォール機能です。
iptables の設定で、使用しないポートは閉じ、必要最小限のポートだけ開けることで、セキュリティを高めることができます。OpenVZ ではセキュリティ対策のため、インスタンス作成時から iptables を設定しています。

このマニュアルでは、HTTP 接続や FTP 接続で使用するポートを空ける場合を例に iptables の設定方法をご案内します。

  • このマニュアルでは Cent OS を使用している場合を例にご案内します。
  • Linux コマンドに関してはサポート対象外となります。
    ご不明な点や詳細についてはインターネットや書籍にてご確認ください。

 

  1. rootアカウントでログインします。

    [root@v0000 ~]#

    プロンプト表示に続けて次のコマンドを入力します。

    [root@v0000 ~]# iptables -nvL
    • 「iptables」と「-nvL」の間はスペースが入ります。

    入力したらキーボードの Enterキーを押します。

  2. iptables の設定内容が表示されます。

    [root@v0000 ~]# iptables -nvL
    Chain INPUT (policy DROP 0 packets, 0 bytes)
     pkts bytes target     prot opt in     out     source               destination
       46  6499 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
        0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0
        0     0 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0
        1    52 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            state NEW tcp dpt:22

    Chain FORWARD (policy DROP 0 packets, 0 bytes)
     pkts bytes target     prot opt in     out     source               destination

    Chain OUTPUT (policy ACCEPT 38 packets, 5599 bytes)
     pkts bytes target     prot opt in     out     source               destination
    • 右にスクロールするとすべての内容を確認いただけます。

    上記例の場合、以下の設定となっています。

    ACCEPT all ・・・ state RELATED,ESTABLISHED セッション確立後のパケット疎通は許可する
    ACCEPT icmp ・・・ pingを許可する
    ACCEPT all -- lo ・・・ ローカルループバックインターフェース(自ホスト)からの接続は許可する
    ACCEPT tcp ・・・ state NEW tcp dpt:22 22番ポート(SSH接続)を許可する
    • インスタンス作成時に選択したアプリケーションパックにより、初期設定内容は異なります。

    この設定の場合、外部からは ping と SSH 接続しか許可されていません。
    このままでは、WEBサーバーやFTPサーバーを構築しても、WEBサイトの表示やFTP接続はできません。
    iptables の設定で、必要なポートを空ける必要があります。

  3. HTTP (80番ポート)でアクセスできるように iptables の設定を変更する場合は、プロンプト表示に続けて次のコマンドを入力します。

    [root@v0000 ~]# iptables -A INPUT -p tcp --dport 80 -j ACCEPT
    [root@v0000 ~]# iptables -A INPUT -p tcp --sport 80 -j ACCEPT
    • 「iptables」と「-A」と「INPUT」と「-p」と「tcp」と「--dport(--sport)」と「80」と「-j」と「ACCEPT」の間はスペースが入ります。

    ■ HTTPS (443番ポート)を許可する場合
    [root@v0000 ~]# iptables -A INPUT -p tcp --dport 443 -j ACCEPT
    [root@v0000 ~]# iptables -A INPUT -p tcp --sport 443 -j ACCEPT
    ■ FTP (20番、21番ポート)を許可する場合
    [root@v0000 ~]# iptables -A INPUT -p tcp --dport 20 -j ACCEPT
    [root@v0000 ~]# iptables -A INPUT -p tcp --sport 20 -j ACCEPT
    [root@v0000 ~]# iptables -A INPUT -p tcp --dport 21 -j ACCEPT
    [root@v0000 ~]# iptables -A INPUT -p tcp --sport 21 -j ACCEPT
    ■ SMTP (25番ポート)を許可する場合
    [root@v0000 ~]# iptables -A INPUT -p tcp --dport 25 -j ACCEPT
    [root@v0000 ~]# iptables -A INPUT -p tcp --sport 25 -j ACCEPT
    ■ POP3 (110番ポート)を許可する場合
    [root@v0000 ~]# iptables -A INPUT -p tcp --dport 110 -j ACCEPT
    [root@v0000 ~]# iptables -A INPUT -p tcp --sport 110 -j ACCEPT

    入力したらキーボードの Enterキーを押します。

  4. インスタンスを再起動した場合に 現在の iptables の設定を反映させるため、プロンプト表示に続けて次のコマンドを入力します。

    [root@v0000 ~]# iptables-save > /etc/sysconfig/iptables
    • 「iptables-save」と「>」と「/etc/sysconfig/iptables」の間はスペースが入ります。
    • 設定内容が、/etc/sysconfig/iptables に保存されます。

    入力したらキーボードの Enterキーを押します。

評価点数:0 (0 件の投票)
最終更新:
2017-06-01 09:52
製作者:
カゴヤ・ジャパンサポートセンター
改訂:
1.6