Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

2.8.4. 一般的な IPTables フィルター

リモートの攻撃者が LAN にアクセスできないことは、ネットワークセキュリティーの最も重要な側面の 1 つです。LAN の整合性は、厳格なファイアウォールルールを使用して、悪意のあるリモートユーザーから保護する必要があります。
ただし、デフォルトのポリシーでは、すべての着信パケット、送信パケット、および転送されたパケットをブロックするように設定すると、ファイアウォール/ゲートウェイおよび内部 LAN ユーザーが相互に通信したり、外部のリソースと通信したりすることはできません。
ユーザーがネットワーク関連の機能を実行したり、ネットワークアプリケーションを使用できるようにするために、管理者は通信のために特定のポートを開く必要があります。
たとえば、ファイアウォールのポート 80 へのアクセスを許可するに は、以下のルールを追加します。
~]# iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
これにより、ユーザーは標準のポート 80 を使用して通信する Web サイトを閲覧できます。Web サイト(例: https://www.example.com/)へのアクセスを許可するには、以下のように 443 ポートへのアクセスも提供する必要があります。
~]# iptables -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
重要
iptables ruleset を作成する際には、順番が重要です。
ルールで 192.168.100.0/24 サブネットからのパケットがドロップされることを指定し、その後に 192.168.100.13 からのパケットを許可するルール(ドロップされたサブネット内にある)を許可するルールが無視されます。
192.168.100.13 からのパケットを許可するルールは、残りのサブネットをドロップするルールの前に付ける必要があります。
既存のチェーン内の特定の場所にルールを追加するには、-I オプションを使用します。以下に例を示します。
~]# iptables -I INPUT 1 -i lo -p all -j ACCEPT
このルールは、INPUT チェーンの最初のルールとして挿入され、ローカルループバックデバイスのトラフィックを許可します。
LAN へのリモートアクセスが必要な場合があります。SSH などのセキュアなサービスは、LAN サービスへの暗号化されたリモート接続に使用できます。
PPP ベースのリソース(連邦アカウントや一括アカウントなど)を持つ管理者は、ネットワークアクセスを使用してファイアウォールバリアを安全に回避できます。直接接続であるため、通常はファイアウォール/ゲートウェイの背後にあります。
ただし、ブロードバンド接続のあるリモートユーザーの場合は、特別なケースを作成することもできます。リモート SSH クライアントからの接続 iptables を受け入れるようにを設定できます。たとえば、以下のルールを使用すると、リモート SSH アクセスが可能になります。
~]# iptables -A INPUT -p tcp --dport 22 -j ACCEPT
~]# iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT
このルールにより、インターネットに直接接続された 1 つの PC やファイアウォール/ゲートウェイなど、個々のシステムに着信およびアウトバウンドアクセスが可能になります。ただし、ファイアウォール/ゲートウェイの背後にあるノードがこのようなサービスにアクセスするのを許可しません。これらのサービスへの LAN アクセスを許可するには、ネットワークアドレス変換 ()を使用します。NAT)は、iptables フィルタールールに置き換えます。