第6章 · システムのセキュリティ·v1.0.0·更新 2026/7/7·読了目安 約12分
変更要約: 初版(主題2.12・副主題2.12.1〜2.12.4に対応)
6.1iptables/firewalldによるパケットフィルタリング
この節の要点
iptables/ip6tables によるパケットフィルタリングの仕組みと、より抽象化されたfirewalld(firewall-cmd)・ufw を学びます。/proc/sys/net/ipv4/・/proc/sys/net/ipv6/ によるカーネルパラメータ、ルーティングテーブル、ポートリダイレクト、/etc/services、設定の永続化(iptables-save/iptables-restore)を押さえます。
サーバーを外部に晒す以上、「どの通信を通し、どれを遮断するか」を明確にするのがファイアウォールの役目です。Linux ではiptablesがカーネルのパケットフィルタ機能を直接操作する伝統的な手段で、firewalldやufwはそれをゾーン・サービス単位で扱いやすくした上位レイヤーです。
6.1.1iptables/ip6tablesの基本
- iptables=IPv4 パケットフィルタ設定コマンド。ip6tables=IPv6 版で別コマンド・別ルールセット(IPv4 のルールは IPv6 通信に効かない)。
- カーネルのパケット転送や応答挙動は/proc/sys/net/ipv4/・/proc/sys/net/ipv6/以下の仮想ファイルで制御(例
net.ipv4.ip_forwardを1にするとルータとして転送)。 - パケットの行き先判断はルーティングテーブルが決め、ファイアウォールはその前後で許可/拒否を判定する。ポートリダイレクト(宛先ポート変換)は NAT テーブルの
PREROUTINGで行い、待受ポート番号と名前の対応は/etc/servicesで確認できる。
6.1.2firewalld・ufuw・永続化
- firewalld=firewall-cmd で操作する動的ファイアウォール管理サービス。ネットワークインターフェースをゾーン(public/internal/trusted 等)に割り当て、ゾーンごとにサービス・ポートの許可を設定する。
- ufw(Uncomplicated Firewall)=iptables をよりシンプルなコマンド体系で扱うフロントエンド。
ufw allow 22/tcpのように直感的にルールを追加できる。 - iptables のルールはメモリ上のみで再起動すると消えるため、iptables-saveでファイルへ書き出し、iptables-restoreで読み戻して永続化する(ディストリのサービス経由で起動時に自動適用させるのが定石)。

