ファイヤウォールの設定: ufw と Gufw

Ubuntu Desktop環境構築 Part 4

公開日: 2020-12-16

1. ファイヤウォールの設定

Linuxカーネルには、Netfilterというパケットフィルタリング機能が備わっています。通信経路を流れるパケットを検査し、パケット単位で処理を行います。主な通信経路には、外部からLinuxへ入ってくる「入力」、Linuxから外部へ出ていく「出力」、別のホストへ転送する「転送」があります。

外部から入ってくるパケットは、「入力」に設定されたルールと照合され、ルールにマッチすれば許可または拒否されます。すべてのルールにマッチしなかったパケットは、デフォルトの設定(ポリシー)に従って処理されます。ポリシーが「破棄」であれば、パケットは破棄されます。

パケットフィルタリングの仕組みは以下の図参照:

今回はufwとそのGUI実装版のGufwを用いたファイヤウォール設定を紹介します。

2. ufwコマンドによるファイヤウォール設定

インストール

1
$ apt-get install ufw

ufw の稼働状況及び設定内容の確認

1
2
$ sudo ufw status
Status: active

ルールが設定される場合はルール一覧が表示されます。

ufw enable/disable

ufwを有効にしたい場合は

1
$ sudo ufw enable

ufwを無効にしたい場合は

1
$ sudo ufw disable

ファイヤウォール設定を向こうにしても、設定したルールは残されているので、次回有効にしたときに再現されます。

ufw default

ポリシーを設定します。

オプション 説明
allow ルールにマッチしなかった通信を許可します
deny 通信を破棄します
reject 通信を拒否してエラーを返します

デフォルトでは「incoming」のポリシーを設定しますが、内部から外部方向「outgoing」や転送「routed」のポリシーを設定したときは、オプションでそれを明示する。

Syntax

1
$ ufw default allow|deny|reject [incoming|outgoing|routed]

今回の設定

1
$ sudo ufw default reject

ufw logging

ログレベル、つまりログに記録する粒度を設定します。デフォルトはmediumです。ログは通常 /var/log/syslog に出力されます。

Syntax

パラメーター 説明
off ログを記録しない
low default以外でルールにマッチしてブロックされた通信を記録する
medium lowに加え、ポリシーにマッチせず許可された通信、不正なパケット、新規の接続を記録する
high mediumに加え、limit(後述)にマッチした通信も記録する
full limitを覗くすべての通信を記録する
1
$ ufw logging off|low|medium|high|full

ufw allow

許可する通信を設定します。

Syntax

1
$ ufw allow サービス名|ポート番号|プロトコル|IPアドレス

サービス名とポート番号の対応づけは /etc/services ファイルで確認することができます。

今回の設定

ラップトップからのssh接続を可能としたい場合は、

1
2
$ sudo ufw allow from 192.168.11.0/24 to any port ssh
Rule added

ルール番号付きで設定を表示 & 確認する

1
$ sudo ufw status numbered

ufw delete

指定したルールを削除します。「ufw status numbered」コマンドで表示されるルール番号を指定する方法が簡単です。

1
$ ufw delete ルール|ルール番号

ufw limit

指定したサービスへの繰り返される試行(同一IPアドレスから30秒間に6回以上)を拒否します。設定方法は、

1
$ sudo ufw limit ssh

3. グラフィカルユーザインタフェースによる設定: Gufw

まずGufw のインストールを実施する。

1
$ sudo apt -yV install gufw

その後、settingsよりFirewall Configを開き、上述と同じ条件をGUIでポチポチして設定する。

References



Share Buttons
Share on:

Feature Tags
Leave a Comment
(注意:GitHub Accountが必要となります)