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