ラズパイは初期状態だと、セキュリティはとても弱い状態にあります。
初期状態のままネットなどに繋げた状態にすると、攻撃を受ける対象となってしまいます。
そこで、ラズパイを起動後にやるべきセキュリティの設定を書いていきます。
rootユーザにパスワード設定
ssh接続で、rootログインはデフォルトで不可になっている。
rootのパスワードを設定することでログインすることができる。
次のコマンドでrootユーザにパスワードを設定します。
sudo passwd root
その後の操作はrootユーザで行うため、次のコマンドでrootでログインします。
sudo su
新しいユーザの作成
新しいユーザを作成し、作ったユーザに”pi”と同じ権限を待たせます。
ユーザの追加
adduser newuser
ユーザ `newuser' を追加しています...
新しいグループ `newuser' (1001) を追加しています...
新しいユーザ `newuser' (1001) をグループ `newuser' として追加していま す...
ホームディレクトリ `/home/newuser' を作成しています...
`/etc/skel' からファイルをコピーしています...
新しいパスワード:
新しいパスワードを再入力してください:
passwd: パスワードは正しく更新されました
newuser のユーザ情報を変更中
新しい値を入力してください。標準設定値を使うならリターンを押してください
フルネーム []:
部屋番号 []:
職場電話番号 []:
自宅電話番号 []:
その他 []:
以上で正しいですか? [Y/n] y
sudoグループに追加
新しく作ったユーザをsudoグループに追加し、権限を持たせます。
gpasswd -a newuser sudo
piユーザの削除
デフォルトのpiユーザを削除します。
自動ログインを解除
デフォルトでは起動時に、自動的に”pi”ユーザにログインするように設定されている。”pi”ユーザを削除するために自動ログインを解除します。
sudo raspi-config
上記のコマンドを実行すると以下のような画面が表示されます。
画像のように、
1System Options → B5 Boot / Auto Select boot into desktop or to commnd line → B1 Console
と選択してください。
最後まで選択すると、最初の画面にいきます。そこで”Finish”を選択すると自動的に、再起動します。再起動したら、新しく作ったユーザでログインします。
“pi”ユーザの削除
次のコマンドで”pi”ユーザを削除します。
sudo userdel -r pi
“userdel: pi のメールスプール (/var/mail/pi) がありません”と表示されるますが、問題ありません。
次のコマンドをうって実行結果が同じように出れば削除されています。
id -a pi
id: ‘pi’: no such user
SSHポート番号の変更とrootログイン無効化
sshポート番号、sshでのrootログインの無効化は”sshd_config”ファイルを編集します。
sudo nano /etc/ssh/sshd_config
#自由に利用できる番号として、公式には 49152 - 65535 が規定されている
Port 22 → Port nnnnn
PermitRootLogin prohibit-password → PermitRootLogin no
編集が完了したら、sshサーバーを再起動します。
sudo service ssh restart
sshポート変更後はsshログイン時に”-p ポート番号”をオプションでつけます。
sudo -p nnnnn ユーザ名@192.168.xx.xx
SSH接続のアクセス制限
ssh接続にアクセス制限をかけます。
ここでは、ローカル、または指定IPアドレスからの接続のみを許可します。
まず、一度全てのアクセスを拒否するため、hosts.denyを編集します。
sudo nano /etc/hosts.deny
#一番下にアクセス制限を追加(すべてのアクセスを拒否)
sshd: ALL
次に指定するIPアドレスのアクセスを許可します。
sudo nano /etc/hosts.allow
#ローカルLANからのアクセスのみを許可
sshd: 192.168.11.0/24 127.0.0.0/8
公開鍵化
Raspberry Piのssh接続を公開鍵化する方法は別記事で書きましたので参考にしてください。
まとめ
基本的に、最初にやるべきセキュリィの設定を書いておきました。
ラズパイはwindowsなどのPCと違い、自分でパスワードの設定などを行わなくてはならないので、起動後にまずセキュリティの設定を行っておきましょう。
rootにパスワードを設定するのはなぜですか?
ラズパイの初期設定では、rootにワード設定されていないのは確かですが無効なパスワードに設定されておりsu でrootになれるわけではないと思います。
初期のラズパイOSではpiのパスワードが公開されていたのでそれが問題なだけでpiに強力なパスワードを設定する蓼で十分だし、家の中で使うなら外からアクセスされるわけではないので初期設定のままで十分だと思います。
もしも攻撃対象とされるならルーターのセキュリティをきちんとすべきでだと思います。