Make.

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

Pocket

RaspberryPi上でセキュリティ確保のために、ファイヤーウォールを設置するための方法を解説します。
ファイヤーウォールの設定には「ufw」というツールを使用します。 ufw(Uncomplicated FireWall)は、ファイヤーウォールの設定を簡単に行うためのツールです。ファイヤーウォールは、iptablesをいうツールが使われますが、設定方法が多少複雑であるためufwを使用します。


ファイヤーウォールの基本設定

ファイヤーウォール設定には「ufw」というツールを使用します。
ufw(Uncomplicated FireWall)は、ファイヤーウォールの設定を簡単に行うためのツールです。
RaspberryPiだけのツールではなく、Linuxでよく使われているツールのようです。

最初に、ufwをインストールします。

$ sudo apt-get install ufw

下のコマンドで、ファイヤーウォールを状態を確認します。
ufwをインストールした直後は無効になっています。

$ sudo ufw status
Status: inactive

下のコマンドで、ファイヤーウォールを有効にします。
有効にする前にファイヤーウォールのルールを追加します。
SSHで接続して設定している場合は、ブロックされるかもしれないため、本当に有効にしてよいかを聞いてきます。
SSHを使い続ける場合は、SSHの接続を可能にしてから、有効にしましょう。

$ sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? 

ファイヤーウォールを無効にします。

$ sudo ufw disable

ファイヤーウォールの設定を消して、すべて無効にするには以下のコマンドでリセットします。

$ sudo ufw reset
Resetting all rules to installed defaults. This may disrupt existing ssh
connections. Proceed with operation (y|n)?

ファイヤーウォールの設定例

ファイヤーウォールの基本設定は、
「外部からの接続は基本的に受け付けない」
「必要なポートの通信だけは許す」
の順番で行います。

Webカメラで8080番ポート,Webサーバでを使用するものとして、以下の設定を行います。
「外部からの接続は基本的に受け付けない」
「ローカルアドレスからのssh接続(22番ポート)は受け付ける」
「8080番ポートは受け付ける」
「80番ポートは受け付ける」

$ sudo ufw disable
$ sudo ufw default deny
$ sudo ufw allow proto tcp from 192.168.10.0/24 to any port 22
$ sudo ufw allow 8080
$ sudo ufw allow 80
$ sudo ufw enable

ファイヤーウォールを有効にしたら、状態を確認します。

$ sudo ufw status
Status: active
 
To                         Action      From
--                         ------      ----
22/tcp                     ALLOW       192.168.10.0/24
8080                       ALLOW       Anywhere
80                         ALLOW       Anywhere

ファイヤーウォールが有効な状態でも、ルールの追加は可能です。

Pocket