LoginSignup
112
149

More than 5 years have passed since last update.

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

Last updated at Posted at 2018-05-22

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メモリーにバックアップしておく。

112
149
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
112
149