ファイアウォールはネットワークの「門番」です。Linuxサーバーの公開時に必ず設定が必要なufwの使い方を中心に、ファイアウォールの仕組みを解説します。
ファイアウォールとは何か?
ファイアウォールはネットワーク通信を監視し、設定したルールに基づいてパケットの通過を「許可(ACCEPT)」または「拒否(DROP/REJECT)」する仕組みです。不正アクセスを防ぎ、必要なサービスだけを外部に公開できます。
ufwの基本操作
# ufwの有効化・無効化
sudo ufw enable
sudo ufw disable
sudo ufw status verbose
# 基本ポリシーの設定(デフォルト拒否が推奨)
sudo ufw default deny incoming
sudo ufw default allow outgoing
# ルールの追加(ポート番号で指定)
sudo ufw allow 22/tcp # SSH
sudo ufw allow 80/tcp # HTTP
sudo ufw allow 443/tcp # HTTPS
# サービス名でも指定可能
sudo ufw allow ssh
sudo ufw allow http
sudo ufw allow https
# 特定のIPアドレスからのみ許可
sudo ufw allow from 192.168.1.0/24 to any port 22
sudo ufw allow from 203.0.113.10 to any port 3306
# ルールの削除
sudo ufw delete allow 80/tcp
sudo ufw delete allow ssh
# ルールの番号を確認して削除
sudo ufw status numbered
sudo ufw delete 3よく使う設定パターン
# Webサーバーの設定(SSH・HTTP・HTTPSのみ許可)
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow ssh
sudo ufw allow http
sudo ufw allow https
sudo ufw enable
# ポート範囲の許可
sudo ufw allow 8000:9000/tcp
# レート制限(SSHへのブルートフォース対策)
sudo ufw limit ssh
# ログを有効化
sudo ufw logging on
sudo ufw logging mediumiptablesとufwの関係
ufwはLinuxカーネルの「netfilter/iptables」をわかりやすく操作するためのフロントエンドです。ufw enable後にiptables -Lを実行すると、ufwが生成したiptablesルールを確認できます。
VPSをセットアップするとき、最初にufwを設定しないままSSHポートを開けていたら、数時間後にrootへのブルートフォース攻撃ログが大量に出ていた経験があります。公開サーバーは「ufw enable → 必要なポートだけallow」を最初にやることが鉄則です。
hobbyshift管理人
まとめ
- ファイアウォールはパケットを許可・拒否するネットワークの門番
- ufwは「デフォルト拒否、必要なポートだけallow」が基本
- ssh・http・httpsのポートをallowしてenableするのがWebサーバーの基本設定
- ufw limit sshでSSHブルートフォース攻撃を軽減できる


コメント