iptables は Linux サーバーのファイアウォール機能です。
iptables の設定で、使用しないポートは閉じ、必要最小限のポートだけ開けることで、セキュリティを高めることができます。OpenVZ ではセキュリティ対策のため、インスタンス作成時から iptables を設定しています。
このマニュアルでは、HTTP 接続や FTP 接続で使用するポートを空ける場合を例に iptables の設定方法をご案内します。
- ※ このマニュアルでは Cent OS を使用している場合を例にご案内します。
-
※ Linux コマンドに関してはサポート対象外となります。
ご不明な点や詳細についてはインターネットや書籍にてご確認ください。
-
rootアカウントでログインします。
[root@v0000 ~]#プロンプト表示に続けて次のコマンドを入力します。
[root@v0000 ~]# iptables -nvL- ※ 「iptables」と「-nvL」の間はスペースが入ります。
入力したらキーボードの Enterキーを押します。
-
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 の設定で、必要なポートを空ける必要があります。 -
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キーを押します。
-
インスタンスを再起動した場合に 現在の iptables の設定を反映させるため、プロンプト表示に続けて次のコマンドを入力します。
[root@v0000 ~]# iptables-save > /etc/sysconfig/iptables- ※ 「iptables-save」と「>」と「/etc/sysconfig/iptables」の間はスペースが入ります。
- ※ 設定内容が、/etc/sysconfig/iptables に保存されます。
入力したらキーボードの Enterキーを押します。