Ufwのインストール

提供: とある社畜の頭脳整理
ナビゲーションに移動 検索に移動

毎回毎回調べなおしちゃってるので…あげておきます。

インストールと初期化

インストールはいつも通りです。

# pacman -S ufw

これでインストール完了です。

次に、サービスを起動します。

# systemctl start ufw
# systemctl enable ufw

サービスを起動しても実はまだファイヤーウォールは機能していません。
以下のコマンドで、ファイヤーウォールを有効にします。

# ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup

これでファイヤーウォールが有効になりました。


次にこれからの設定のために初期化します。
今回はホワイトリスト方式を採用したいので、デフォルトはすべて無効にします。
(ufwのデフォルト設定がすべて無効になっているので、必要ないかもしれませんが…念のためやっておきます)

# ufw default DENY

これで、すべてのポートが無効化されます。

設定

特定のポートを開放(閉鎖)

特定のポートを開放/閉鎖したい場合は以下の通りです。


【書式】

# ufw [allow|deny] <port>

例えば…53番ポートを開放したいのなら

# ufw allow 53

53番ポートを閉鎖したいなら

# ufw deny 53

となります。

上記かつプロトコル指定

特定のポートのtcp(またはudp)を開放/閉鎖したい場合は以下の通りです。


【書式】

# ufw [allow|deny] <port>/[tcp|udp]

例えば…53番ポートのtcpを開放したいのなら

# ufw allow 53/tcp

53番ポートのudpを閉鎖したいなら

# ufw deny 53/udp

IPアドレスを指定して制限したい場合

IPアドレスでアクセスできるマシンを制限したい場合もあるかと思います。
その場合は以下の通りです。


【書式】

# ufw [allow|deny] from <ip address>

例えば…192.168.56.100のマシンに開放したいのなら

# ufw allow from 192.168.56.100

192.168.56.100のマシンだけ閉鎖したいなら

# ufw deny from 192.168.56.100


更にサブネットで制限したい場合は以下の通りとなります。


【書式】

# ufw [allow|deny] from <ip address>/<mask>

例えば…192.168.56.0/24のマシンに開放したいのなら

# ufw allow from 192.168.56.0/24

192.168.56.0/24のマシンだけ閉鎖したいなら

# ufw deny from 192.168.56.0/24

上記かつポート指定

上記に追加してポートも指定したい場合は以下の通りです。


【書式】

# ufw [allow|deny] from <target> to any port <port>

例えば…192.168.56.0/24のマシンに53番ポートを開放したいのなら

# ufw allow from 192.168.56.0/24 to any port 53

192.168.56.0/24のマシンに53番ポートだけ閉鎖したいなら

# ufw deny from 192.168.56.0/24 to any port 53

上記かつプロトコル指定

更に、プロトコルを指定します。


【書式】

# ufw [allow|deny] from <target> to any port <port> proto [tcp|udp]

例えば…192.168.56.0/24のマシンに53番ポートのtcpを開放したいのなら

# ufw allow from 192.168.56.0/24 to any port 53 proto tcp

192.168.56.0/24のマシンに53番ポートのudpを閉鎖したいなら

# ufw deny from 192.168.56.0/24 to any port 53 proto udp

設定内容の有効化

設定しただけでは有効になっていません。
設定した情報を以下のコマンドで読み込みなおします

# ufw reload

設定の削除

まずは以下のコマンドで一覧を表示します。

# ufw status
Status: active

To                         Action      From
--                         ------      ----
53/tcp                     ALLOW       Anywhere
53/tcp (v6)                ALLOW       Anywhere (v6)


例えば…一番上の設定「53/tcp ALLOW Anywhere」を削除したい場合以下の様にします。

ufw delete 1
Deleting:
 allow 53/tcp
Proceed with operation (y|n)? y
Rule deleted


もちろん削除したら以下のコマンドで読み込みなおしてください。

ufw reload

参考サイト

UFW - Community Help Wiki
iptablesが難しいためufwでWEBサーバーのファイアウォール設定 - Qiita