Amazonブラックフライデー実施中!

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

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

公開日:2019年12月25日

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

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

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

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

更新履歴
  • 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です。

[この中]に書いてある数字は[この記号]を消し、置き換えてください。(サイト上でコードを編集できます。置き換えてコピーしてください。)

LXTerminal
ここにコピペ入力
[この記号]は設定する数字に置き換えする

1. ufwのインストール

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

LXTerminal
sudo apt install ufw

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

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

2. 基本操作8選

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

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

LXTerminal
sudo ufw enable

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

LXTerminal
sudo ufw disable

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

LXTerminal
sudo ufw status

ポート番号の接続を許可

LXTerminal
sudo ufw allow [ポート番号]

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

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

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

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

ポート番号の接続を拒否

LXTerminal
sudo ufw deny [ポート番号]

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

LXTerminal
sudo ufw delete allow [ポート番号]

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

LXTerminal
sudo ufw delete deny [ポート番号]

3. いろいろな操作

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

全てのポート接続を許可

LXTerminal
sudo ufw default allow

全てのポート接続を拒否

LXTerminal
sudo ufw default deny

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

LXTerminal
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

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

4. お勧め設定

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

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

LXTerminal
sudo ufw status

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

Status: inactive

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

LXTerminal
sudo ufw default deny

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

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

ラズパイへアクセスするためのSSH接続orVNC接続を許可します。数字は一個ずつ指定します。設定で変更していない限り、ポート番号22はSSH、5900はVNCです。

LXTerminal
sudo ufw status numberedsudo ufw allow [22, 5900]

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

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

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

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

LXTerminal
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)

LXTerminal
sudo ufw allow Samba

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

LXTerminal
sudo ufw enable

再起動して、

LXTerminal
sudo reboot

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

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

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

お勧めの記事です。

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

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

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

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

関連記事

VPNの仕組み本当にわかってる?VPNの仕組みを1枚の画像で説明!

VPNの仕組み本当にわかってる?VPNの仕組みを1枚の画像で説明!

ラズパイでマインクラフトサーバーを立てる方法【Spigot・とりあえず起動編】

ラズパイでマインクラフトサーバーを立てる方法【Spigot・とりあえず起動編】

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

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

MacでDNSリークを防ぐために”常時”NordVPNのDNSを使う方法【写真つき】

MacでDNSリークを防ぐために”常時”NordVPNのDNSを使う方法【写真つき】

ラズパイでマインクラフトサーバーを立てる方法【ローカル・公式サーバー】

ラズパイでマインクラフトサーバーを立てる方法【ローカル・公式サーバー】

raspberry pi 4(ラズパイ4)で公式ラズパイサーバーを起動したときのラズパイへの負荷をみてみたよ。

raspberry pi 4(ラズパイ4)で公式ラズパイサーバーを起動したときのラズパイへの負荷をみてみたよ。

Macの「NordVPN」アプリのダウンロードと設定

Macの「NordVPN」アプリのダウンロードと設定

Macの「NordVPN IKE」アプリのダウンロードと設定

Macの「NordVPN IKE」アプリのダウンロードと設定