SSHの使用とセキュリティ対策
と、これでOMVが使用できるのね、と思ったら、どうもこのまま使うと、セキュリティ上のリスクがあるのだそうです。
そういうわけで、これらを参考にして、次の対策を取りました。
・SSHは使うが、port番号は変更する。rootユーザーでのログイン不可能化。 ・独自ユーザーを設定と、piユーザーの削除(必要に応じてsudoで昇格させる) ・SSHログインは、公開鍵方式に変更 ・OS、アプリの自動アップデート化 ・IPアドレスの固定化
正直、公開するサーバーではないので、ここまで神経質にやる必要もないのかも知れませんが、万が一ルーターを突破されたときに備えて、上記の処置を行います。
もっとも、ラズパイ特有の問題として、microSDをすり替えられたらダメじゃん。という根本的な問題があるのですが、、、、
SSHは使うが、port番号は変更する(ついでに rootユーザーでのログイン不可能化 )
まず、SSHで接続します。
ここでは、私の環境の都合上、PuTTYを使用します。
接続して、piユーザーでログインします。
port番号を変更するために、/etc/ssh/sshd_configの内容を書き換えます。
エディタは何でもいいんですが、私はVim(Raspberry Pi OSではviコマンド)を使いました。
$ sudo vi /etc/ssh/sshd_config
すると、sshd_configの内容が出てきますので、Portの行を探して変更します。
また、その下あたりに、rootでのログインを判断させる、PermitRootLoginもno(rootでのログインは出来ない)にしてしまいましょう。
その後リブートします。
$ sudo reboot
Raspberry Pi OSが再起動したら、ifconfigで現在のIPアドレスを確認後、PuTTYで、新しいSSHポートでアクセスできるか確認します。
ログインできました。
この後、念のためにOMVにadminでログインしてますが、特に問題はなかったです。
rootのパスワード変更
rootでのログインは出来なくなっていますが、緊急用としてrootもパスワードを変更しておきます。
$ sudo passwd root
余談ですが、/etc/ssh/sshd_configの PermitRootLoginをyesのままで、rootのパスワードを設定した上で、rootのログインをしてみます。
できてしまいました。
今度は、PermitRootLoginをnoにして、rootのログインをしてみます。
何度か試したのですが、ログインできませんでした。
これで、ポート番号の変更、及びrootでのログイン禁止設定は、完了しました。
独自ユーザーを設定と、piユーザーの削除
今まで再三SSH経由で、Raspberry Pi OSに、piユーザーでアクセスしていますが、サーバー用途としてはとても心許ないのです。
そこで、独自ユーザーを作成し、特権ユーザーに昇格したいときはsudoコマンドで昇格。そしてpiユーザーは削除とします。
手順は、ここを参考にしています。
新ユーザーの設定
piに代わる、ログイン用のユーザーを作ります。
sudo adduser 新ユーザー
当然のことですが、上記の「新ユーザー」の部分は、英数字からなるユーザー名を入れてください。
パスワードを求めてくるので、パスワードも入れてください。
また、フルネーム等も聞かれるのですが、ここは無視していいでしょう。
piユーザーが入っているグループを、新ユーザーにも移行する
今回は、無用なトラブルを避けるため、piユーザーが所属しているすべてのグループを新ユーザーにも所属させます。
まず、piユーザーが、どんなグループに所属しているかを確認します。
$ groups pi
すると私の環境ではこう出ました。
pi : pi adm dialout cdrom sudo audio video plugdev games users input netdev ssh spi i2c gpio lpadmin
新ユーザーにもpiユーザーと同じグループに所属させるために、usermod -Gで、追加していきます。
$ sudo usermod -G pi,adm,dialout,cdrom,sudo,audio,video,plugdev,games,users,input,netdev,ssh,spi,i2c,gpio,lpadmin 新ユーザー (途中のグループ名はgroups piの結果のコピペでもかまいませんが、必ず間にカンマを入れてください)
その後、piのホームディレクトリの内容を、新ユーザーにもコピーしてください。
$ sudo cp -r /home/pi/* /home/新ユーザー
piユーザーの削除
つぎに、いよいよpiユーザーを削除(無効化)していきます。
Raspberry Pi OSは、起動時にpiユーザーに自動的にログオンしますが、これを中止させます。
その為には、XディスプレイマネージャーのLightDMのファイルで、piユーザーを自動起動している部分をコメントアウトします。
(GUI環境がないRaspberry Pi OS Lightには、この部分がないのかも知れません。)
$ sudo vi /etc/lightdm/lightdm.conf
つぎに、autologin@.serviceの設定を変え、piから新ユーザーに変更します。
$ sudo vi /etc/systemd/system/autologin@.service
最後にpiユーザーを無効化してしまいます。
$ sudo usermod -e 1999-07-01 pi
こちらは、piユーザーの有効日付を1999年7月1日にし、事実上の永久無効化しました。
(日付の由来は、もちろんノストラダムス)
日付については、過去の日付なら何日でもいいと思いますが、1970年1月1日以前の日付は、指定することが出来ません。
この後、リブートします。
$ sudo reboot now
そして、piユーザーでログインしようとすると、、、、
piユーザーを正確なパスワードを打ってログインしようとしたのですが、有効期限が切れていたので、切られてしまいました。
これからは、新ユーザーでログインしていくことになります。
余談ですが、新ユーザーでログインして、sudoで権限を昇格させるとパスワード要求されるのですが、初回だけその前に、
と、スパイダーマンに出てくるセリフのような言葉が出てきて、少しビビります。