【Debian 9】ufwを用いて簡単にファイアウォールの設定!

Ubuntuでは標準で利用できるufwをDebianにインストールして、簡単にファイアウォールの設定をしていきます。
ufw(Uncomplicated FireWall)とはiptablesのフロントエンドとなるツールで、iptablesのルールを簡単に設定できるツールです。

iptablesから設定してもいいのですが、慣れるまでは少し難しいと思いますので、今回はufwを用いて設定していきます。

ufwのインストール

以下を実行してufwをインストールします。iptables等依存するパッケージも同時にインストールされます。
$ sudo apt install ufw

フィルタリングルールの設定

今回は、ssh、http、httpsのみを許可し、その他のアクセスは拒否する設定にしていきます。この要件を満たすために、基本的に全てのパケットを拒否し、許可するパケットのみ指定する「ホワイトリスト方式」で設定を行います。

全てのパケットを拒否します。
$ sudo ufw default deny

簡単に設定するために、アプリケーション名で許可するサービスを設定します。以下のコマンドで利用可能なアプリケーション名の一覧が表示されます。
$ sudo ufw app list
Available applications:
(省略)
SSH
Socks
Telnet
Transmission
Transparent Proxy
VNC
WWW
WWW Cache
WWW Full
WWW Secure
(省略)

上記に表示されたリストのうち、今回使用するのは「SSH」と「WWW Full」です。ufw allowコマンドでアプリケーションを指定します。
※その他に許可したいサービスがある場合は以下を書き換えて実行してください。
$ sudo ufw allow 'SSH'
$ sudo ufw allow 'WWW Full'

以下のコマンドを実行し、ufwを有効化します。
$ sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup

最後にufwのステータスを確認して終了です。デフォルトで全てのパケットを拒否し、sshの22/tcp、httpとhttpsの80,443/tcpが許可されているのが確認できます。
$ sudo ufw status verbose
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip

To Action From
-- ------ ----
22/tcp (SSH) ALLOW IN Anywhere
80,443/tcp (WWW Full) ALLOW IN Anywhere
22/tcp (SSH (v6)) ALLOW IN Anywhere (v6)
80,443/tcp (WWW Full (v6)) ALLOW IN Anywhere (v6)

コメント

タイトルとURLをコピーしました