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

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

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

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

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

更新履歴

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

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

2020/2/9リンク修正

2020/6/17表記変更

2020/9/22一部手直し

2020/10/10コードデザイン変更

2021/02/24ローカルのみ接続を基本操作に移動

環境

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

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

ファイアウォール設定

0. 設定準備

「LXTerminal」から設定をします。

こんな画面が開きます。これ以降のコマンドはここに入力して、EnterすればOKです。

[この中]に書いてある数字は[この記号]を消し、置き換えてください。

×
-
+
ここにコピペ入力👈
[この記号]は設定する数字に置き換え😁

1. ufwのインストール

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

sudo apt install ufw

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

※お勧め設定はこちらから。初めて設定する方はパクった方が早いです。

2. 基本操作8選

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

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

sudo ufw enable

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

sudo ufw disable

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

sudo ufw status

ポート番号の接続を許可

sudo ufw allow [ポート番号]

ポート番号の接続をローカル環境のみ許可

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

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

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

ポート番号の接続を拒否

sudo ufw deny [ポート番号]

接続許可しているポート番号の設定を削除

sudo ufw delete allow [ポート番号]

接続拒否しているポート番号の設定を削除

sudo ufw delete deny [ポート番号]

3. いろいろな操作

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

全てのポート接続を許可

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 [番号]

4. お勧め設定

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

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

sudo ufw status

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

Status: inactive

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

sudo ufw default deny

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

注意

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

ラズパイへアクセスするためのSSH接続orVNC接続を許可します。{22(SSH), 5900(VNC)}

sudo ufw allow [22, 5900]

ローカルのみならこっちです。

sudo ufw allow from 192.168.0.0/24 to any port [22, 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です。

このサイトではラズパイの活用法についての記事が多数あります。『ラズパイカテゴリーの記事一覧』や、下のオススメ記事を是非ご覧ください。

お勧めの記事です。

ラズパイでマイクラサーバーを作るのは意外と簡単です。ぜひやってみてください。(記事リンク)

Raspberry pi(ラズパイ)でMinecraftサーバーを立てる【ローカル・公式サーバー】
Raspberry pi(ラズパイ)でMinecraftサーバーを立てる【ローカル・公式サーバー】

メールサーバーなんかも作れます。自分専用のメールサーバーなんて夢がありますよ!(記事リンク)

ラズパイでメールサーバーを構築するよ1/2(Postfix+Dovecot)
ラズパイでメールサーバーを構築するよ1/2(Postfix+Dovecot)