「Ubuntuのファイアウォールって今動いてるのかな?」
「セキュリティ設定がちゃんとできているか不安…」
サーバーやパソコンを安全に使うために、ファイアウォールの状態確認は超重要です。でも、初めてLinuxを触る方にとっては「どうやって確認すればいいの?」と悩んでしまいますよね。
この記事では、Ubuntuのファイアウォール状態を確認する方法を、コマンドの意味から実際の操作まで分かりやすく解説していきます。初心者の方でも安心して読み進められる内容になっていますので、ぜひ最後までご覧ください!
Ubuntuのファイアウォールとは?基礎知識を押さえよう
ファイアウォールの役割
ファイアウォールとは、コンピュータへの不正アクセスを防ぐ「門番」のような仕組みです。
具体的には、外部からの通信を監視して、許可されたものだけを通し、怪しいアクセスはブロックしてくれます。家の玄関に鍵をかけるのと同じように、サーバーやパソコンを守るために欠かせない機能なんです。
Ubuntuで使われる2つのファイアウォールツール
Ubuntuでは主に以下の2つのツールが使われています。
1. ufw(Uncomplicated Firewall)
- 初心者でも使いやすい設計
- シンプルなコマンドで操作できる
- Ubuntu標準搭載のツール
2. iptables
- より高度な設定が可能
- ufwの裏側で実際に動いているツール
- 上級者向けの詳細設定に対応
基本的には、まずufwで確認するのがおすすめです。
ufwでファイアウォールの状態を確認する方法
基本的な状態確認コマンド
一番シンプルな確認方法がこちらです。
sudo ufw status
このコマンドを実行すると、以下のような結果が表示されます。
ファイアウォールが有効な場合:
Status: active
ファイアウォールが無効な場合:
Status: inactive
「active」なら動いている、「inactive」なら止まっているという意味になります。
詳細なルール情報を確認する
もっと詳しい設定内容を見たい場合は、次のコマンドを使いましょう。
sudo ufw status verbose
すると、以下のような詳細情報が表示されます。
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip
To Action From
-- ------ ----
22/tcp ALLOW IN Anywhere
80/tcp ALLOW IN Anywhere
443/tcp ALLOW IN Anywhere
表示内容の意味:
- Status: ファイアウォールの状態
- Logging: ログ記録の有効/無効
- Default: デフォルトのルール(初期設定)
- To: 接続先のポート番号
- Action: 許可(ALLOW)か拒否(DENY)
- From: 接続元の制限
番号付きでルールを確認する
ルールを削除したり編集する予定がある場合は、番号付きで表示すると便利です。
sudo ufw status numbered
実行結果の例:
Status: active
To Action From
-- ------ ----
[ 1] 22/tcp ALLOW IN Anywhere
[ 2] 80/tcp ALLOW IN Anywhere
[ 3] 443/tcp ALLOW IN Anywhere
この番号を使って、特定のルールだけを削除することもできます。
iptablesで直接確認する方法【上級者向け】
iptablesとは
iptablesは、Linuxカーネルレベルで動作するファイアウォールの本体です。ufwはこのiptablesを簡単に操作するための「フロントエンド」という位置づけになります。
より詳細な情報を確認したい場合や、細かい設定を見たいときに使います。
iptablesのルールを確認する
以下のコマンドで、現在のiptablesルールを表示できます。
sudo iptables -L -v -n
オプションの意味:
- -L: ルールをリスト表示
- -v: 詳細情報を表示(verbose)
- -n: IPアドレスを数値で表示
実行すると、かなり詳しい情報が表示されます。
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
初めて見ると難しく感じるかもしれませんが、慣れてくると細かい設定状況が把握できるようになります。
NAT(ネットワークアドレス変換)テーブルの確認
ルーターとして使っている場合や、ポート転送を設定している場合は、NATテーブルも確認しましょう。
sudo iptables -t nat -L -v -n
このコマンドで、ポート転送やIPマスカレードの設定状態がチェックできます。
ファイアウォールサービスの起動状態を確認する
systemctlでufwサービスを確認
ファイアウォール自体がシステムサービスとして動いているかも確認できます。
sudo systemctl status ufw
実行結果の例:
● ufw.service - Uncomplicated firewall
Loaded: loaded (/lib/systemd/system/ufw.service; enabled; vendor preset: enabled)
Active: active (exited) since Mon 2024-01-15 10:30:25 JST; 2 days ago
確認ポイント:
- Loaded: サービスが読み込まれているか
- Active: サービスが稼働中か
- enabled: システム起動時に自動起動する設定か
「active」と「enabled」の両方が表示されていれば、正常に動作していると判断できます。
よくあるトラブルと対処法
「Permission denied」と表示される場合
ファイアウォールの確認には管理者権限が必要です。コマンドの頭に「sudo」を付け忘れていないか確認してください。
# ✕ ダメな例
ufw status
# ○ 正しい例
sudo ufw status
ufwがインストールされていない場合
稀にufwが入っていないUbuntuもあります。その場合は以下でインストールしましょう。
sudo apt update
sudo apt install ufw
インストール後、必要に応じて有効化してください。
sudo ufw enable
SSHでリモート接続中に注意すべきこと
サーバーにSSH接続している状態でファイアウォールを操作する際は、必ずSSHポート(通常22番)を許可してから有効化してください。
sudo ufw allow 22/tcp
sudo ufw enable
この順序を守らないと、自分自身が締め出されてサーバーにアクセスできなくなる可能性があります。
ファイアウォール設定の確認ポイント【チェックリスト】
安全な運用のために、以下のポイントを定期的に確認しましょう。
基本的なチェック項目
✅ ファイアウォールが有効になっているか
✅ 必要なポート(SSH、HTTP、HTTPSなど)が開いているか
✅ 不要なポートが開きっぱなしになっていないか
✅ デフォルトポリシーが適切か(通常は着信拒否が推奨)
✅ ログ記録が有効になっているか
セキュリティ強化のための確認
さらにセキュリティを高めたい場合は、以下もチェックしてみてください。
- 特定のIPアドレスからのみ接続を許可しているか
- 不審なアクセスがログに記録されていないか
- ファイアウォールルールが整理されているか
まとめ:定期的な確認で安全性を保とう
Ubuntuのファイアウォール確認方法について解説してきました。
重要ポイントのおさらい:
- 基本確認は
sudo ufw status
でOK
まずはこのコマンドで状態をチェックしましょう - 詳細を見たいなら
sudo ufw status verbose
具体的なルール内容まで把握できます - 上級者は
sudo iptables -L -v -n
も活用
より細かい設定を確認したいときに便利です - リモート接続中の設定変更は慎重に
特にSSHポートの扱いには注意が必要です
ファイアウォールは「設定したら終わり」ではありません。定期的に状態を確認して、不要なルールを削除したり、必要な設定を追加したりすることが大切です。
この記事の内容を参考に、安全なサーバー・パソコン運用を実現してくださいね!
コメント