UFW(Uncomplicated Firewall)
🔥はじめに:Ubuntuのファイアウォールとは何か?
Ubuntuにはデフォルトでファイアウォールの機能が用意されており、システムを不正アクセスや悪意ある通信から守ることができます。この記事では、Ubuntuで使用されるファイアウォール「UFW(Uncomplicated Firewall)」を中心に、基本的な概念と設定方法を解説します。
Ubuntuのファイアウォール機能は「iptables
」というLinux標準のパケットフィルタリング機構のフロントエンドとして「ufw
」を利用して簡単に操作できるようになっています。
🧱ファイアウォールの役割とは?
✅ 通信の制御
-
ネットワークの「入口」と「出口」に立って、通信のルール(ポート番号・IPアドレスなど)に従って許可/拒否を判断します。
✅ セキュリティの強化
-
公開サービス(Webサーバ、SSHなど)だけを明示的に開放し、それ以外はブロックすることで攻撃対象を限定できます。
⚙️UFW(Uncomplicated Firewall)とは?
🔹 背景と誕生
Linuxにおけるファイアウォール設定は、かつてはiptables
という強力だけれど複雑なコマンドを使って手動で設定する必要がありました。
「シンプルで安全な操作を誰でもできるように」という目的で、Canonical社がUbuntu向けにufw
を開発しました。
🔹 特徴と嬉しさ
-
設定が簡単でミスしづらい
-
iptables
のような複雑なルール記述をしなくて済む -
初心者から上級者まで幅広く使える
🚀UFWの基本操作
🔧 有効化と無効化
sudo ufw enable # ファイアウォールを有効化
sudo ufw disable # 無効化
sudo ufw status # 現在の状態を確認(簡易表示)
sudo ufw status verbose # 詳細表示
🔐 ポートの開放・閉鎖
sudo ufw allow 22 # SSHを許可
sudo ufw allow 80 # HTTPを許可
sudo ufw allow 443 # HTTPSを許可
sudo ufw deny 21 # FTPを拒否
sudo ufw delete allow 22 # ルールの削除
ポート番号の代わりにサービス名も指定できます(例:sudo ufw allow ssh
)。
🌐 IPアドレス単位での制御
sudo ufw allow from 192.168.1.100 # 特定のIPからのアクセスを許可
sudo ufw deny from 203.0.113.5 # 特定のIPをブロック
🎯 指定ポート+IP制限の組み合わせ
sudo ufw allow from 192.168.1.0/24 to any port 22
📋UFWのデフォルトポリシー設定
最初に基本方針を決めましょう:
sudo ufw default deny incoming # 外部からの通信を拒否
sudo ufw default allow outgoing # 内部からの通信は許可
このように設定すれば、必要な通信(例:SSHやHTTP)だけを明示的に許可し、それ以外の不明な通信はすべてブロックされる、安全志向の構成になります。
🧪UFWのログ確認方法
sudo ufw logging on
sudo tail -f /var/log/ufw.log
ログはトラブルシューティングや不審な通信の検出に役立ちます。
🧰その他Tips
🔁UFWを再起動したい場合
sudo ufw reload
🛡️UFWが有効かを起動時に確認
sudo systemctl status ufw
🧩補足:UFW以外の選択肢
上級者や特殊な要件がある場合、次のような代替も検討できます。
-
iptables:細かい制御が可能な低レベルツール
-
firewalld:RedHat系ディストリビューションでよく使われる動的ファイアウォール管理ツール
Ubuntuで標準的かつ初心者に優しいのはやはりufw
です。
🏁まとめ
Ubuntuのファイアウォール機能(ufw)は、セキュリティの基本としてぜひ理解しておきたい機能です。
とくにSSHを使って外部からサーバを操作するようなケースでは、不要なポートを閉じて、最低限の通信だけを開放しておくことがトラブルを防ぐ鍵になります。
次のステップとして、SSHポートの変更やFail2Banとの併用による強化なども検討してみると良いでしょう。必要があれば、それらについても続編を用意できます。