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
ファイヤーウォールが有効な状態でも、ルールの追加は可能です。