UFWでファイアウォールを制御する手順を記載します。
Table of Contents
1 UFWのインストール
ufwパッケージをインストールします。
$ sudo apt install -y ufw $ sudo systemctl enable ufw $ sudo systemctl restart ufw
2 ロギング
ロギングを有効化することで/var/log/ufw.logにログが残ります。
$ sudo ufw logging on
ロギングを無効化するには以下を実行します。
$ sudo ufw logging off
3 ルールの追加
ufw allowでポートを指定してポート開放します。
$ sudo ufw allow 22/tcp
/etc/servicesのサービス名も指定できます。
$ sudo ufw allow ssh
各種アプリケーション向けのポートを記述した設定ファイルが用意されています。sambaのように複数のポートを使うサービスもあるので、こちらを利用すると良いでしょう。
$ ls /etc/ufw/applications.d/ cups openssh-server samba $ cat /etc/ufw/applications.d/openssh-server [OpenSSH] title=Secure shell server, an rshd replacement description=OpenSSH is a free implementation of the Secure Shell protocol. ports=22/tcp
この記事では設定ファイルを使用します。
$ sudo ufw allow OpenSSH
同様に特定のポートを拒否する場合はufw denyを使います。
$ sudo ufw deny <port>
4 ルールの表示
ufw statusで現在の許可・拒否したポートの一覧が表示されます。
$ sudo ufw status Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6)
5 ルールの削除
ufw deleteで許可・拒否したポートを削除します。
$ sudo ufw delete allow <port> $ sudo ufw delete deny <port>
6 UFWの有効化
有効化すると許可したポート以外は拒否されるようになります。 OpenSSHを許可していない場合、以降のSSHセッションは拒否されるので注意が必要です。
$ yes | sudo ufw enable
yesコマンドで以下の応答に答えています。
Command may disrupt existing ssh connections. Proceed with operation (y|n)?
7 gufwでGUIでファイアウォール制御
gufwはGUIでufwを実行します。
$ sudo apt install -y gufw
gufw起動時にユーザのパスワードを求められます。
$ gufw
すでにufwを有効にしているのでStatusはONになっています。
Rulesのタブを表示して、画面下部の"+"を押してルールを追加します。 PreconfiguredのタブのApplicationから許可するアプリケーションのルールを選択します。SAMBAの場合は137,138/udpと139,445/tcpが許可されます。 Simpleのタブからだとポート番号を指定した許可が可能です。