Raspberry Pi

【Raspberry Pi】ローカルネットワークからの接続のみ許可する方法(ラズパイのセキュリティ設定)

eremaru_dqx_2424

この記事ではRaspberry Pi でローカル接続のSSHのみを許可して、

同じネットワーク以外の外部からの接続をすべて拒否する設定方法を解説します。

Raspberry Piに外部からアクセスされないように

自宅など Raspberry Piが接続している Wi-Fi内からのアクセスのみを許可するよう設定していきます。

firewallのインストール

ここでは ufw というアプリを使ってファイヤウォールの設定を行います。

Raspberry Pi にSSHで入ったら以下のコマンドでufwをインストールできます。

$ sudo apt install ufw

ファイヤウォールで接続を全て拒否

まず、ufwの状態を以下のコマンドで確認します。

$ sudo ufw status

すると、出力が

Status: inactive

となればOKで、ufwはまだ稼働していないことを表しています。

ufw稼働前に設定を完了させてしまいましょう。

次に、全ての接続を拒否します。コマンドは以下の通りです。

$ sudo ufw default deny

一旦全ての接続を拒否してから、必要なものを許可していきます。

許可する接続を追加

次に同じネットワークからの接続のみを許可していきます。

具体的には以下の流れで設定します。

  1. Raspberry PiのIPアドレスを調べる → 同じネットワークのIPアドレスがわかる
  2. 同じネットワークのIPアドレスからの接続を許可する

Raspberry PiのIPアドレスを調べる

まずはRaspberry PiのIPアドレスを調べましょう。

以下のコマンドで調べることができます。

$ hostname -I

そうすると出力が以下のような形式で表示されます。

192.168.xx.yy

これがRaspberry Piのローカルネットワーク内のIPアドレスです。

このうち、yy0/24に変更したもの、

すなわち、

192.168.xx.0/24

がRaspberry Pi が接続しているネットワーク内のデバイスのIPアドレス全てを表します。

同じネットワークのIPアドレスからの接続を許可する

あとは先ほど調べたIPアドレス

192.168.xx.0/24

からの接続を許可すればOKです。

N番ポートへの接続を許可する場合は

以下のコマンドでufwに設定することができます。

$ sudo ufw allow from 192.168.xx.0/24 to any port N

たとえば、初期設定ではSSH接続は22番ポートを使用しているので

SSH接続を許可したい場合は以下の通りです。

$ sudo ufw allow from 192.168.xx.0/24 to any port 22

その他のポートと役割は TCPやUDPにおけるポート番号の一覧(wikipedia) にまとめられています。

これを参考に必要なポートへの接続を許可してください。

また、ssh接続ポートの変更方法は以下の記事で解説しています。

sshポートの変更方法
【Raspberry Pi】SSH接続ポートを変更する方法(ラズパイのセキュリティ設定)
【Raspberry Pi】SSH接続ポートを変更する方法(ラズパイのセキュリティ設定)

ufw の有効化

最後に、以下のコマンドでufwを有効化します。

$ sudo ufw enable

そのあとRaspberry Pi を再起動します。

$ sudo reboot

Raspberry Pi が起動したら再度SSH接続してみてください。

接続が成功すれば設定は完了です。

ufwの設定確認と変更

ちなみに、ufwが許可している接続を確認する場合は

先ほども使用した以下のコマンドで確認できます。

$ sudo ufw status 

すると、次のようなテキストが出力されます。

To    Action      From
--    ------      ----
N     ALLOW       192.168.xx.0/24

この意味は「IPアドレス192.168.xx.0/24からN番ポートへの接続を許可(ALLOW)する」です。

また、間違えて設定してしまった場合は、以下の手順で削除も可能です。

まず、

$ sudo ufw status numbered

で設定を出力します。

「numbered」を追加することで項目に番号がつきます。

    To     Action      From
    --     ------      ----
[1] N1     ALLOW       192.168.xx.0/24
[2] N2     ALLOW       192.168.xx.0/24

あとはいらない項目の番号を指定して削除します。

例えば1番を削除する場合は以下のコマンドで削除できます。

$ sudo ufw delete 1

まとめ

この記事では

Raspberry Pi でローカル接続のSSHのみを許可して

外部からの接続をすべて拒否する設定方法を解説しました。

この設定を行うと、ufwによって外のネットワークからの接続は遮断され、

セキュリティ向上が期待できます。

記事URLをコピーしました