【パクろう】ラズパイでファイアーウォールを設定する方法
スポンサーリンク

みなさんラズパイにファイアウォールの設定をしていますか?

ラズパイでサーバーなどを立てる際に気になるセキュリティ。

サーバーを安全に始めるために、ぜひファイアーウォールを設定しましょう。

ここでは、コマンドの基本的な説明と初めてファオアウォールを設定する方向けの設定方法を書きました。パクってね

追記:

2019/12/28: お勧め設定を一部変更

2020/1/13: 一部表記ミスを変更

2020/2/9: リンク修正

2020/6/17: 表記変更

Raspberry Pi is a trademark of the Raspberry Pi Foundation

スポンサーリンク

環境

機器Raspberry Pi 3 Model B+
Raspberry Pi 4 Model B 4GB
OSRaspbian GNU/Linux 10

もちろんどのラズパイでも同じように設定できますよ!

スポンサーリンク

ファイアウォール設定

1. ufwのインストール

ufw(ファイアーウォールアプリ)をインストールする

sudo apt install ufw

ただインストールするだけでファイアウォールを導入できます。簡単ですね。

2. 基本操作7選

ここでは、ファイアウォールを設定する上での基本的な操作を7つ厳選しました。

お急ぎの方へ

ここでお勧めの設定をしています。初めて設定する方はこちらをパクった方がいいと思います。

ファイアーウォール有効化

sudo ufw enable

ファイアーウォール無効化

sudo ufw disable

ファイアーウォール状態確認

sudo ufw status

ポート接続許可

sudo ufw allow [ポート番号]

ポート接続拒否

sudo ufw deny [ポート番号]

ポート接続許可設定削除

sudo ufw delete allow [ポート番号]

ポート接続拒否設定削除

sudo ufw delete deny [ポート番号]

3. いろいろな操作

ここでは、基本操作7選ほど使いませんが、覚えた方が良いものをまとめました。

お急ぎの方へ

ここでお勧めの設定をしています。初めて設定する方はこちらをパクった方がいいと思います。

全ての接続を許可

sudo ufw default allow

全ての接続を拒否

sudo ufw default deny

ポート設定削除方法のもう一つの方法

sudo ufw status numbered

出力の例

Status: active

     To                         Action      From
     --                         ------      ----
[ 1] 5900                       ALLOW IN    192.168.0.0/24            
[ 2] 8080                       ALLOW IN    Anywhere                  
[ 3] 80                         ALLOW IN    Anywhere                  
[ 4] 443                        ALLOW IN    Anywhere                                 

消したい設定の行の左側にある数字を[上で出た消したい設定の数字]に入れてください。

sudo ufw delete [上で出た消したい設定の数字]

ローカル環境からのみ許可

sudo ufw allow from 192.168.0.0/24 to any port [ポート番号]

家の中からしかSSH接続やVNC接続しない人はこっちの方がいいでしょう。

特定の端末からのみにしたいなら「192.168.0.0」の部分をその端末のIPアドレスにすればいいでしょう。

4. お勧め設定

ここでファイアウォールをインストールした前提で始めます。また、全くいじっていないことを前提とします。

まず、ファイアウォールの状態を確認しましょう。

sudo ufw status

このような出力が出ればOKです。

Status: inactive                            

次に、まだActiveになっていないときに全ての接続を拒否してしまいましょう。

sudo ufw default deny

次にラズパイに接続するもののポートを許可します。SSHやVNCなどです。

確認

私ははじめにSSHをAnywhere、VNCをローカルのみで設定することをお勧めします。万が一うまくいかなかったときにSSHのみでも接続できるようにしておくためです。

SSH接続を許可orVNC接続...などラズパイへアクセスするためのポートを許可{22(SSH) or 5900(VNC)}

sudo ufw allow [22 or 5900]

ローカルのみならこっち

sudo ufw allow from 192.168.0.0/24 to any port [22 or 5900]

その後はポートを指定するのもいいのですが、アプリのリストを出してそれから許可したいアプリを選択した方が楽です。

アプリのリストを表示する

sudo ufw app list

出力例

Available applications:
  DNS
  IMAP
  IMAPS
  Nginx Full
  Nginx HTTP
  Nginx HTTPS
  OpenSSH
  POP3
  POP3S
  SMTP
  SSH
  Samba
  Socks
  Telnet
  Transmission
  Transparent Proxy
  VNC
  WWW
  WWW Cache
  WWW Full
  WWW Secure
  XMPP
                          

アプリの接続を許可する。(例としてSamba)

sudo ufw allow Samba

そしてActiveにしましょう。繰り返しですがラズパイにアクセスするためのポートの許可は忘れずにしましょうね!

sudo ufw enable

再起動して、

sudo reboot

VNCやSSHがうまくつながればOKです。

SSHをローカルでしか使わないなら設定をローカルのみにしてしまえばOKです。

スポンサーリンク
おすすめの記事