ufw – Uncomplicated Firewall

ネットワークセキュリティ
スポンサーリンク

ufw は、Linux の iptables/nftables を簡単に操作できる ファイアウォール管理ツール です。
複雑なルールを覚えずに、直感的なコマンドでポート制御やアクセス制御を行えます。Ubuntu などのディストリビューションでよく利用されます。

構文(Syntax)

ufw <コマンド> [オプション]

主なコマンド一覧

コマンド説明使用例
enableUFW を有効化sudo ufw enable
disableUFW を無効化sudo ufw disable
status現在の状態とルールを表示sudo ufw status
`default allowdeny`デフォルトポリシーを設定
allow <port>指定ポートを許可sudo ufw allow 22
deny <port>指定ポートを拒否sudo ufw deny 80
delete <rule>指定したルールを削除sudo ufw delete allow 22
allow from <IP>特定の IP からのアクセスを許可sudo ufw allow from 192.168.1.100
allow from <IP> to any port <port>特定 IP から特定ポートを許可sudo ufw allow from 192.168.1.100 to any port 22
limit <port>ブルートフォース対策(短時間で多数アクセスを制限)sudo ufw limit ssh
resetUFW の設定を初期化sudo ufw reset

実行例

UFW を有効化

sudo ufw enable

出力例:

Firewall is active and enabled on system startup

UFW の状態確認

sudo ufw status

出力例:

Status: active

To                         Action      From
--                         ------      ----
22/tcp                     ALLOW       Anywhere
80/tcp                     DENY        Anywhere
22/tcp (v6)                ALLOW       Anywhere (v6)

SSH (22番) を許可

sudo ufw allow 22

HTTP (80番) を拒否

sudo ufw deny 80

特定の IP からのみ SSH を許可

sudo ufw allow from 203.0.113.10 to any port 22

デフォルトで全て拒否

sudo ufw default deny

ブルートフォース対策で SSH を制限

sudo ufw limit ssh

ルールを削除

sudo ufw delete allow 22

設定をリセット

sudo ufw reset

エラー例(root 権限なし)

ufw status

出力例:

ERROR: You need to run this command as root

関連コマンド

  • iptables : より低レベルなファイアウォール設定コマンド。
  • firewalld : RedHat 系で使われるファイアウォール管理ツール。

備考

  • UFW は内部的に iptables/nftables を利用しているため、同時に直接操作すると競合する場合があります。
  • SSH を利用しているサーバーで ufw enable を実行する際は、必ず 22 番ポートを許可 してから有効化すること。
  • IPv6 に対応しており、/etc/default/ufw の設定で有効化できます。

参考

スポンサーリンク
Bash玄

はじめまして!Bash玄です。

エンジニアとしてシステム運用に携わる中で、手作業の多さに限界を感じ、Bashスクリプトを活用して業務を効率化したのがきっかけで、この道に入りました。「手作業は負け」「スクリプトはシンプルに」をモットーに、誰でも実践できるBashスクリプトの書き方を発信しています。

このサイトでは、Bashの基礎から実践的なスクリプト作成まで、初心者でもわかりやすく解説しています。少しでも「Bashって便利だな」と思ってもらえたら嬉しいです!

# 好きなこと
- シンプルなコードを書くこと
- コマンドラインを快適にカスタマイズすること
- 自動化で時間を生み出すこと

# このサイトを読んでほしい人
- Bashに興味があるけど、何から始めればいいかわからない人
- 定型業務を自動化したい人
- 効率よくターミナルを使いこなしたい人

Bashの世界に一歩踏み出して、一緒に「Bash道」を極めていきましょう!

Bash玄をフォローする

コメント