みなさんラズパイにファイアウォールの設定をしていますか?
ラズパイでサーバーなどを立てる際に気になるセキュリティ。
サーバーを安全に始めるために、ぜひファイアーウォールを設定しましょう。
ここでは、コマンドの基本的な説明と初めてファイアウォールを設定する方向けの設定方法を書きました。コピペでパクってね。
更新履歴
- 2019/12/28: お勧め設定を一部変更
- 2020/1/13: 一部表記ミスを変更
- 2020/2/9: リンク修正
- 2020/6/17: 表記変更
- 2020/9/22: 一部手直し
- 2020/10/10: コードデザイン変更
- 2021/02/24: ローカルのみ接続を基本操作に移動
- 2022/3/3: 内容修正
- 2022/8/15: 一部修正
設定したラズパイの環境
機器 | Raspberry Pi 3 Model B+ Raspberry Pi 4 Model B 4GB |
OS | Raspbian GNU/Linux 10 |
もちろんどのラズパイでも同じように設定できますよ!Debian系列ならどんなOSでもいけるかと。CentOSは別なんですよねぇ。。。めんどい。
ラズパイのファイアウォール設定
それではファイアウォールを設定しましょう。
設定準備
「LXTerminal」を起動します。
こんな画面が開きます。これ以降のコマンドはここに入力して、EnterすればOKです。
[この中]に書いてある数字は[この記号]を消し、置き換えてください。([この記号]があるコードはサイト上で編集してコピーできます。)
ここにコピペ入力
[この記号]は設定する数字に置き換え
する
ufwのインストール
ufw(ファイアーウォールアプリ)をインストールする
sudo apt install ufw -y
ただインストールするだけでファイアウォールを導入できます。簡単ですね。
※お勧め設定はこちらから。初めて設定する方はパクった方が早いです。
基本操作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 [ポート番号]
いろいろな操作
ここでは、基本操作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
[数字]
(y/n)?
と表示されたらy
と入力してEnterしましょう。
ファイアウォールのお勧め設定
こちらの章でファイアウォールをインストールした前提で始めます。また、全くいじっていないことを前提とします。
まず、ファイアウォールの状態を確認しましょう。
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]
SSHを外部から接続するならこんな感じですね。
sudo ufw allow 22
ローカルのみならこっちです。
sudo ufw allow from 192.168.0.0/24 to any port [22, 5900]
VNCをローカル環境のみで利用するなら以下の通り。
sudo ufw allow from 192.168.0.0/24 to any port 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
このような出力が出てればufwは起動しています。
Firewall is active and enabled on system startup
再起動して、
sudo reboot
VNCやSSHがうまくつながればOKです。
SSHをローカルでしか使わないなら設定をローカルのみに変更してしまえばOKです。
このサイトではラズパイの活用法についての記事が多数あります。『ラズパイカテゴリーの記事一覧』や、下のオススメ記事を是非ご覧ください。
次に読みたいラズパイ記事リスト
お勧めの記事です。
ラズパイでマイクラサーバーを作るのは意外と簡単です。ぜひやってみてください。(記事リンク)
メールサーバーなんかも作れます。自分専用のメールサーバーなんて夢がありますよ!(記事リンク)