現場実践|Linuxセキュリティ

ファイアウォール設定の基礎
iptables・firewalldの使い方

「サーバーのポートを適切に制御したい」「iptablesとfirewalldのどちらを使えばいい?」Linuxファイアウォールの基礎から実践的な設定方法を解説します。

読了目安:約18分更新日:2026年3月

💡 Linuxファイアウォールはサーバーセキュリティの最前線。適切に設定することで不正アクセス・スキャン攻撃から守ることができます。

この記事を書いた人
現役ITエンジニア・IT講師(経験14年)
CCNA・CCNP 取得LPIC-1 保有AzureFundamentals 保有SES現場を複数経験

Linux・インフラセキュリティの現場経験から、ファイアウォール設定の実践的な方法を解説します。

1. iptablesとfirewalldの違い

比較項目firewalldiptables
推奨OSCentOS 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 --reload

3. 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/iptables

4. 実務Tips

⚠️ iptablesのDROPルール追加は慎重に

また、INPUT -j DROPのルールを追加する前に必ずSSHの許可ルールが先に設定されていることを確認してください。なぜなら、DROPを先に適用すると自分のSSHセッションが切断されてサーバーにアクセスできなくなるからです。設定は既存のSSHセッションを保ちながら別セッションでテストすることをおすすめします。

📌 この記事のポイント
  • CentOS 7以降はfirewalldを使うのが標準的。コマンドが直感的で管理しやすい
  • firewalldは–permanentオプションで設定を永続化し–reloadで反映する
  • DROPルールを追加する前に必ずSSH許可ルールが設定されていることを確認する

キャリアの疑問、一緒に解決しませんか?

Route Bloomでは、インフラ系ITエンジニアを目指す方への個別サポートを行っています。2026年7月からフリーランス講師として本格始動予定です。

※設定内容はOSバージョンにより異なります。公式ドキュメントもご参照ください。

ABOUT ME
たから
サラリーマンをしながら開業して経営やってます。 今年、本業で独立・別事業を起業予定です。 ◆経験:IT講師/インフラエンジニア/PM/マネジメント/採用/運用・保守・構築・設計 ◆取得資格:CCNA/CCNP/LPIC-1/AZ-900/FE/サーティファイC言語 ◆サイドビジネス:アパレル事業/複数のWEBメディアを運営