SSHの使用とセキュリティ対策
と、これでOMVが使用できるのね、と思ったら、どうもこのまま使うと、セキュリティ上のリスクがあるのだそうです。
![](https://koh-sen.jp/blog/wp-content/uploads/cocoon-resources/blog-card-cache/2f1f068c85d9925f71256545bfeb59e0.jpg)
![](https://koh-sen.jp/blog/wp-content/uploads/cocoon-resources/blog-card-cache/e5ee275c6ffa6a934d0d30cbefd8a4e2.jpg)
![](https://koh-sen.jp/blog/wp-content/uploads/cocoon-resources/blog-card-cache/0db83d1630fdddf4c2407322916173aa.jpg)
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fcdn.qiita.com%2Fassets%2Fpublic%2Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png?ixlib=rb-4.0.0&w=1200&mark64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9JUU4JUIyJUI3JUUzJTgxJUEzJUUzJTgxJTlGJUUzJTgyJTg5JUUzJTgxJUJFJUUzJTgxJTlBJUU1JUFFJTlGJUU2JTk2JUJEJUVGJUJDJTgxUmFzcGJlcnJ5UGklRTMlODElQUUlRTMlODIlQkIlRTMlODIlQUQlRTMlODMlQTUlRTMlODMlQUElRTMlODMlODYlRTMlODIlQTMlRTUlQUYlQkUlRTclQUQlOTYmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZ0eHQtY2xpcD1lbGxpcHNpcyZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTk0NTYyYTc2OTNhOGNkNzVkZTJmNDU3YTJmYmQ3Nzg2&mark-x=142&mark-y=112&blend64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwYzYwZXZhcG9yYXRvciZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9YzY1MDI2YzI0ZmFkYzE0OTk1MjhjZjJmNDAzMDZhOWY&blend-x=142&blend-y=491&blend-mode=normal&s=06c89e5a20340b896d445952ac381488)
そういうわけで、これらを参考にして、次の対策を取りました。
・SSHは使うが、port番号は変更する。rootユーザーでのログイン不可能化。 ・独自ユーザーを設定と、piユーザーの削除(必要に応じてsudoで昇格させる) ・SSHログインは、公開鍵方式に変更 ・OS、アプリの自動アップデート化 ・IPアドレスの固定化
正直、公開するサーバーではないので、ここまで神経質にやる必要もないのかも知れませんが、万が一ルーターを突破されたときに備えて、上記の処置を行います。
もっとも、ラズパイ特有の問題として、microSDをすり替えられたらダメじゃん。という根本的な問題があるのですが、、、、
SSHは使うが、port番号は変更する(ついでに rootユーザーでのログイン不可能化 )
まず、SSHで接続します。
ここでは、私の環境の都合上、PuTTYを使用します。
![](https://koh-sen.jp/blog/wp-content/uploads/2021/04/47ad0b0fb2990831cf1ad9f895ed138a.png)
接続して、piユーザーでログインします。
![](https://koh-sen.jp/blog/wp-content/uploads/2021/04/e195829dc9315db772aa504d8fdf935e.png)
port番号を変更するために、/etc/ssh/sshd_configの内容を書き換えます。
エディタは何でもいいんですが、私はVim(Raspberry Pi OSではviコマンド)を使いました。
$ sudo vi /etc/ssh/sshd_config
すると、sshd_configの内容が出てきますので、Portの行を探して変更します。
また、その下あたりに、rootでのログインを判断させる、PermitRootLoginもno(rootでのログインは出来ない)にしてしまいましょう。
![](https://koh-sen.jp/blog/wp-content/uploads/2021/04/aea308cca83871303eb6d7400f82c69b.png)
その後リブートします。
$ sudo reboot
Raspberry Pi OSが再起動したら、ifconfigで現在のIPアドレスを確認後、PuTTYで、新しいSSHポートでアクセスできるか確認します。
![](https://koh-sen.jp/blog/wp-content/uploads/2021/04/8e9e9336fbf8f92fbf5e800614e07705.png)
ログインできました。
![](https://koh-sen.jp/blog/wp-content/uploads/2021/04/670104c3afa3375d260547070b442613.png)
この後、念のためにOMVにadminでログインしてますが、特に問題はなかったです。
rootのパスワード変更
rootでのログインは出来なくなっていますが、緊急用としてrootもパスワードを変更しておきます。
$ sudo passwd root
余談ですが、/etc/ssh/sshd_configの PermitRootLoginをyesのままで、rootのパスワードを設定した上で、rootのログインをしてみます。
できてしまいました。
![](https://koh-sen.jp/blog/wp-content/uploads/2021/04/1b239d561c67f401352f04e3597c1601.png)
今度は、PermitRootLoginをnoにして、rootのログインをしてみます。
何度か試したのですが、ログインできませんでした。
![](https://koh-sen.jp/blog/wp-content/uploads/2021/04/e063ad69e8e6b4c21c34d5840d041d2c.png)
これで、ポート番号の変更、及びrootでのログイン禁止設定は、完了しました。
独自ユーザーを設定と、piユーザーの削除
今まで再三SSH経由で、Raspberry Pi OSに、piユーザーでアクセスしていますが、サーバー用途としてはとても心許ないのです。
そこで、独自ユーザーを作成し、特権ユーザーに昇格したいときはsudoコマンドで昇格。そしてpiユーザーは削除とします。
手順は、ここを参考にしています。
![](https://koh-sen.jp/blog/wp-content/uploads/cocoon-resources/blog-card-cache/e5ee275c6ffa6a934d0d30cbefd8a4e2.jpg)
新ユーザーの設定
piに代わる、ログイン用のユーザーを作ります。
sudo adduser 新ユーザー
当然のことですが、上記の「新ユーザー」の部分は、英数字からなるユーザー名を入れてください。
![](https://koh-sen.jp/blog/wp-content/uploads/2021/04/447a101b677802cc431998d1b8c5e2e9.png)
パスワードを求めてくるので、パスワードも入れてください。
また、フルネーム等も聞かれるのですが、ここは無視していいでしょう。
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
![](https://koh-sen.jp/blog/wp-content/uploads/2021/04/3bc44254e14528c1cd6b9e89fe5f5e3a.png)
つぎに、autologin@.serviceの設定を変え、piから新ユーザーに変更します。
$ sudo vi /etc/systemd/system/autologin@.service
![](https://koh-sen.jp/blog/wp-content/uploads/2021/04/c2b18834f72dc01bf55746b712af9394.png)
最後にpiユーザーを無効化してしまいます。
$ sudo usermod -e 1999-07-01 pi
こちらは、piユーザーの有効日付を1999年7月1日にし、事実上の永久無効化しました。
(日付の由来は、もちろんノストラダムス)
日付については、過去の日付なら何日でもいいと思いますが、1970年1月1日以前の日付は、指定することが出来ません。
この後、リブートします。
$ sudo reboot now
そして、piユーザーでログインしようとすると、、、、
![](https://koh-sen.jp/blog/wp-content/uploads/2021/04/7edcb5564d0301eeca53f261d8aeafa2-1.png)
piユーザーを正確なパスワードを打ってログインしようとしたのですが、有効期限が切れていたので、切られてしまいました。
これからは、新ユーザーでログインしていくことになります。
余談ですが、新ユーザーでログインして、sudoで権限を昇格させるとパスワード要求されるのですが、初回だけその前に、
![](https://koh-sen.jp/blog/wp-content/uploads/2021/04/e9cca1cb7e02541c089db860dcf7f800.png)
と、スパイダーマンに出てくるセリフのような言葉が出てきて、少しビビります。