Edited at

初心者向!Raspberry Pi 最低限のセキュリティ設定【所要時間 30分】

More than 1 year has passed since last update.

Raspberry Piはどこからでもアクセスできる便利な端末だが、

ネットワークへの侵入口になるなどのセキュリティホールになってしまう恐れがある。

不正アクセスされると自宅のサーバや家電を自由に制御されたり、パスワードを盗まれたり、知らない間にウィルスをばら撒かれる可能性がある。

Raspberry Piにはセキュアブートの機能がないので、設定が必要。


最低限のセキュリティ設定をしよう!


作業概要


  1. ラズパイを最新版にする

  2. rootのパスワードを設定する

  3. 新しいユーザーを追加する

  4. 「pi」ユーザーを削除する

  5. SSHのポート番号を変更する

  6. rootユーザーで直接ログイン出来なくする

【所要時間】30分

参照させていただいた記事

5ステップで完了!ラズベリーパイ(B+)のセキュリティ設定まとめ!

Raspberry Piを攻撃から守るための手順


1. ラズパイを最新版にする

$ sudo rpi-update

完了したら再起動

$ sudo reboot


2. rootのパスワードを設定する

初期状態のラズベリーパイは、何でも可能な「root」にパスワードが設定されていません。

このままだと、誰でもrootへアクセス出来るので「パスワード」を設定する。

passwordなどは使用せず、推測されづらいパスワードにしましょう。

以下を実行

$ sudo passwd root

新しいパスワードを2回入力し、

passwd: パスワードは正しく更新されました

と表示されればOK


3. 新しいユーザーを追加する

ラズパイは、最初から「pi」ユーザーが設定されているのですが、「ユーザー名」も「パスワード」も公開されているので、使わない方が良いです。

新しいユーザーを追加して使用しましょう。

以下は、新規ユーザー名を「newuser」にする場合です。

ラズパイのコマンドラインから、以下を実行。

$ sudo adduser newuser

「pi」ユーザーと同じ権限にするため、まず「pi」ユーザーのgroupを確認

$ groups pi

表示を確認したら、

新規ユーザーに全部このgroupを追加。sudo権限も追加しています。

$ sudo usermod -G pi,adm,dialout,cdrom,sudo,audio,video,plugdev,games,users,netdev,input,spi,gpio newuser

※ 最後の「newuser」は、新規ユーザー名

groupが追加されたことを確認!

$ groups newuser

先ほどの「pi」ユーザーのようにグループ一覧が表示されたらOK。

何も表示されなかったら、前のコマンドを確認してください。

「pi」ユーザー内のファイルを、新規ユーザーにコピー

$ sudo cp -r /home/pi/* /home/newuser

「pi」ユーザーのオートログインを無効化

$ sudo nano /etc/lightdm/lightdm.conf`

真ん中らへんにあるこの行をコメントアウトする

autologin-user=pi

# autologin-user=pi

$ sudo nano /etc/systemd/system/autologin@.service

新しいユーザー名を指定

ExecStart=-/sbin/agetty --autologin pi --noclear %I $TERM

ExecStart=-/sbin/agetty --autologin [newuser] --noclear %I $TERM

参照:

Raspberry Pi3(ラズパイ)でpiユーザーの自動ログインを外す方法

一旦ラズパイを終了させて、新規ユーザーでログインできるか確認

$ ssh newuser@raspberrypi

新しいユーザーでログイン後、ファイルがコピーできているか一応確認

$ ls

Desktop Documents Downloads Music Pictures Public Templates Videos python_games workspace

オートログインの確認

piユーザーがいなければok

$ who

newuser tty1 2018-05-22 14:53
newuser pts/0 2018-05-22 14:54


4.「pi」ユーザーを削除する

※ 削除せず、piのユーザー名を変更する、pi ユーザをロックする、という方法もあります。今回は削除する方法です。

新規ユーザーでログイン出来たら、もう「pi」ユーザーは使うことが無いので以下のコマンドで削除

$ sudo userdel -r pi

削除できたか確認

$ id -a pi

以下のように表示されたら削除できました

id: pi: no such user


5. SSHのポート番号を変更する

ラズパイの初期設定では、SSHのポート番号がデフォルトの「22」となっています。

このままだと攻撃されやすいので、自分の好きなポート番号に変更しましょう。

$ sudo nano /etc/ssh/sshd_config

5行目くらいにあるポートの設定を変更して保存。

Port 22 ⇒ Port 12345

ポート番号は、「49152〜65535」の中から好きに設定できます。

12345は例です。推測されづらいものにしましょう。

SSHを再起動

$ sudo /etc/init.d/ssh restart

[OK]が表示されたら完了です。

一度、ログアウトしてから

$ sudo reboot

以下のようにSSH接続

$ ssh newuser@raspberrypi -p 12345

「新しいユーザー」「新しいポート番号」で、SSH接続できるようになりました!


6. rootユーザーで直接ログイン出来なくする

$ sudo nano /etc/ssh/sshd_config

真ん中あたり、# Authentication:の下部にある

PermitRootLogin yes

PermitRootLogin no に変更。

ちなみに

PermitRootLogin without-passwordだと、パスワードを使用したrootユーザのログインを拒否。

PermintRootLogin の各種パラメータについて→

ご存じですか? sshd_config の PermintRootLogin の各種パラメータについて

お疲れ様でした!


課題

設定のバックアップを取る。SDカードは壊れることがある。なので、データまたはSDカードの中身全体を、暗号化したパッケージ、ファイル、またはファイルシステムとしてUSBメモリーにバックアップしておく。