Linuxのセキュリティ対策のひとつとして重要なのが「ファイアウォール」の設定です。特に、初心者でも扱いやすいツールとして知られているのが「UFW(Uncomplicated Firewall)」です。
UFWはUbuntuなどのディストリビューションで標準的に採用されており、複雑な設定を必要とせず、コマンドラインから簡単にファイアウォールを有効化・無効化したり、ポートの制御ができる優れたツールです。
本記事では、UFWの状態を確認する方法を中心に、基本的な操作方法までを3000文字以上で詳しく解説します。Linux初心者の方もこの記事を読めば、UFWを使ってセキュリティを一歩強化することができます。
UFWとは?基本の解説
UFWは「Uncomplicated Firewall」の略で、その名の通り「複雑ではないファイアウォール」を目的に開発されたツールです。
iptablesという強力なファイアウォールツールのラッパーとして動作し、設定をより直感的かつ簡単に行うことができます。
UFWは主にUbuntuやDebian系のLinuxディストリビューションで使用されており、他のディストリビューションにもインストールすることで利用可能です。
セキュリティを意識するなら、サーバーやPCの立ち上げ時にまず確認しておきたいツールです。
UFWがインストールされているか確認する
まずは自分の環境にUFWがインストールされているかどうかを確認しましょう。以下のコマンドを実行します。
sudo ufw status
もし以下のようなメッセージが表示された場合は、まだUFWがインストールされていません。
Command 'ufw' not found, but can be installed with:
sudo apt install ufw
その場合は、次のコマンドでインストールします。
sudo apt update
sudo apt install ufw
インストール後、再度 sudo ufw status
を実行して動作を確認します。
ファイアウォールの状態を確認する
UFWの状態を確認するには、以下のコマンドを使用します。
sudo ufw status
このコマンドの出力例は以下のようになります。
Status: active
To Action From
-- ------ ----
22 ALLOW Anywhere
80 ALLOW Anywhere
Status: active
と表示されていれば、ファイアウォールが有効になっています。inactive
と表示された場合は無効化されている状態です。
ファイアウォールの有効化・無効化
状態を確認した後、必要に応じてファイアウォールを有効化または無効化することができます。
有効化する場合
sudo ufw enable
このコマンドを実行すると、次回の再起動後も有効な状態が維持されます。
無効化する場合
sudo ufw disable
このコマンドを実行すると、ファイアウォールのルールが一時的に無効になります。ただし、セキュリティの観点から常時有効にしておくのが推奨です。
詳細表示:verboseオプション
状態の詳細を確認するには、verbose
オプションを付けて表示を行います。
sudo ufw status verbose
出力例:
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip
この表示では、デフォルトで外部からのアクセスを「拒否(deny)」し、内部からのアクセスを「許可(allow)」している設定になっていることがわかります。
許可・拒否ルールの追加と削除
UFWでは簡単にルールの追加・削除もできます。代表的なコマンドをいくつか紹介します。
ポートの許可
例えば、SSH(ポート22)を許可するには以下のようにします。
sudo ufw allow 22
またはサービス名で指定することもできます。
sudo ufw allow ssh
ポートの拒否
特定のポートをブロックしたい場合はこちらです。
sudo ufw deny 23
ルールの削除
ルールの削除も簡単です。
sudo ufw delete allow 22
アプリケーションプロファイルを使った許可設定
UFWにはアプリケーションごとのプロファイルも用意されています。以下のコマンドで利用可能なプロファイル一覧を表示できます。
sudo ufw app list
出力例:
Available applications:
Apache
OpenSSH
指定したプロファイルを有効にするには以下のようにします。
sudo ufw allow "Apache"
ログの確認方法
UFWがブロックした通信などはログに記録されています。ログの確認は以下のファイルを参照します。
sudo less /var/log/ufw.log
大量に出力されることがあるため、grep
と組み合わせて特定のポートやIPだけを抽出するのが便利です。
例:
sudo grep 'DPT=22' /var/log/ufw.log
トラブル時の確認ポイント
UFWを使用していると、通信が思ったように通らないときがあります。以下を確認しましょう。
- ポートが正しく許可されているか
sudo ufw status
で意図しないルールがないか- サーバーアプリケーションが正しいポートでリッスンしているか(例:
netstat
やss
で確認)
まとめ
UFWは、Linux初心者でも簡単にファイアウォールの状態を確認・設定できる非常に便利なツールです。sudo ufw status
を使えば今の設定状況がすぐにわかり、allow
や deny
で簡単に通信ルールの追加・削除が行えます。
セキュリティ対策としてファイアウォールの導入・管理は必須です。ぜひこの機会に、UFWの使い方を覚えて、Linux環境の安全性を高めていきましょう。