ファイアウォール設定の基礎|iptablesとfirewalldの使い方を実例で解説

現場実践|Linuxセキュリティ
ファイアウォール設定の基礎
iptables・firewalldの使い方
「サーバーのポートを適切に制御したい」「iptablesとfirewalldのどちらを使えばいい?」Linuxファイアウォールの基礎から実践的な設定方法を解説します。
💡 Linuxファイアウォールはサーバーセキュリティの最前線。適切に設定することで不正アクセス・スキャン攻撃から守ることができます。
1. iptablesとfirewalldの違い
| 比較項目 | firewalld | iptables |
|---|---|---|
| 推奨OS | CentOS 7以降・RHEL 7以降(デフォルト) | CentOS 6以前・Ubuntu等 |
| 設定のしやすさ | コマンドが直感的で覚えやすい | 柔軟だが複雑 |
| 設定の永続化 | –permanentオプションで永続化 | iptables-saveが必要 |
2. firewalldの基本操作
# firewalldの状態確認
systemctl status firewalld
# 現在のルールを確認
firewall-cmd --list-all
# SSHを許可(永続化)
firewall-cmd --add-service=ssh --permanent
# HTTPSを許可(永続化)
firewall-cmd --add-service=https --permanent
# 特定ポートを許可(永続化)
firewall-cmd --add-port=8080/tcp --permanent
# 設定を再読み込み
firewall-cmd --reload3. iptablesの基本操作
# 現在のルールを確認
iptables -L -n -v
# SSHを許可(22番ポート)
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
# HTTPSを許可
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
# その他のINPUTを拒否
iptables -A INPUT -j DROP
# ルールを保存
iptables-save > /etc/sysconfig/iptables4. 実務Tips
⚠️ iptablesのDROPルール追加は慎重に
また、INPUT -j DROPのルールを追加する前に必ずSSHの許可ルールが先に設定されていることを確認してください。なぜなら、DROPを先に適用すると自分のSSHセッションが切断されてサーバーにアクセスできなくなるからです。設定は既存のSSHセッションを保ちながら別セッションでテストすることをおすすめします。
📌 この記事のポイント
- CentOS 7以降はfirewalldを使うのが標準的。コマンドが直感的で管理しやすい
- firewalldは–permanentオプションで設定を永続化し–reloadで反映する
- DROPルールを追加する前に必ずSSH許可ルールが設定されていることを確認する
キャリアの疑問、一緒に解決しませんか?
Route Bloomでは、インフラ系ITエンジニアを目指す方への個別サポートを行っています。2026年7月からフリーランス講師として本格始動予定です。
ABOUT ME




