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