ブログに戻る
1月 13, 2026ガイド

Linuxサーバーでファイアウォールを構成する方法

サーバーを保護するために、UFW(Ubuntu)およびFirewalld(CentOS)ファイアウォールを構成するための完全ガイド。

Linuxサーバーでファイアウォールを構成する方法

ファイアウォールはサーバーセキュリティに不可欠であり、送受信されるネットワークトラフィックを制御します。このガイドでは、Ubuntu/DebianでのUFW、およびCentOS/RHELシステムでのFirewalldの構成について説明します。

UFWのインストール

bash
sudo apt update
sudo apt install ufw -y

基本的なUFWコマンド

bash
# ステータスを確認する
sudo ufw status

# ファイアウォールを有効にする
sudo ufw enable

# SSHを許可する(重要!)
sudo ufw allow 22/tcp

# HTTPとHTTPSを許可する
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

# ポートを拒否する
sudo ufw deny 3306/tcp

# ルールを削除する
sudo ufw delete allow 80/tcp

アプリケーションプロファイルの使用

bash
# 利用可能なアプリケーションを表示する
sudo ufw app list

# Nginxを許可する
sudo ufw allow 'Nginx Full'

# OpenSSHを許可する
sudo ufw allow 'OpenSSH'

Firewalldのインストール

bash
sudo yum install firewalld -y
sudo systemctl start firewalld
sudo systemctl enable firewalld

基本的なFirewalldコマンド

bash
# ステータスを確認する
sudo firewall-cmd --state

# すべてのルールを表示する
sudo firewall-cmd --list-all

# サービスを許可する
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload

# ポートを許可する
sudo firewall-cmd --permanent --add-port=8080/tcp
sudo firewall-cmd --reload

ゾーンの操作

Firewalldはゾーンを使用してネットワークセキュリティを管理します。一般的なゾーン:

bash
# ゾーンを表示する
sudo firewall-cmd --get-zones

# デフォルトゾーンを設定する
sudo firewall-cmd --set-default-zone=public

# ゾーンにサービスを追加する
sudo firewall-cmd --zone=public --add-service=ssh --permanent
sudo firewall-cmd --reload

セキュリティのベストプラクティス

  • 締め出しを防ぐため、ファイアウォールを有効にする前に必ずSSHを許可してください
  • 可能な場合は特定のIPアドレスを使用してください:sudo ufw allow from 192.168.1.100
  • 定期的にファイアウォールルールを確認し、不要なものを削除してください
  • ファイアウォールの活動を監視するためにログを有効にしてください
  • 本番環境に適用する前にファイアウォールルールをテストしてください