ラズパイでサーバーを公開するにあたり、やった方が良い対策を9か条にまとめてみました。サーバーを24時間稼働させて外部に公開することを想定しています。ラズパイは小型で消費電力も少ないので、その特徴を理解して、安全にサーバーを公開するには何をすべきかを考えてみましたので紹介します。
- piユーザの権限は迷わず凍結すべし
- SSHはパスワード認証は使わず鍵認証のみを使用すべし
- rootの直接ログインは禁止すべし
- ファイアウォールで必要ないサービスを遮断すべし
- パッケージを定期的に更新すべし
- MicroSDは長寿命化すべし
- サーバーは冗長化すべし
- 電源は強化すべし(雷対策&無停電対策)
- 熱は放出すべし
1.piユーザの権限は迷わず凍結すべし
ここは、言わずと知れた「piユーザー」は標的になりやすいので凍結すべし。
piユーザーの代わりになるアカウントを作成して、piユーザーの権限を凍結します。
まず、piユーザの代わりになる新しいユーザーを追加します。(ユーザ名:userxxとして説明)
$ sudo /usr/sbin/useradd --groups sudo -m userxx
追加ユーザ(userxx)にパスワードを設定します。
$ sudo passwd userxx パスワードを入力(2回)
既存のpiユーザーのグループを確認します。
$ groups pi piユーザーが所属するグループが表示されます。 pi : pi adm … sudo
piユーザーが所属しているグループを、新規ユーザー(userxx)に追加します※オプションを”-aG”にしないと、既存のグループがなくなるので注意してください。
$ sudo usermod –aG adm,sudo... userxx
追加ユーザー:userxxがパスワードなしでsudoできるように設定します。※visudo -cf ファイル名で構文チェックして追加した方が安心です。
vi /etc/sudoers.d/others ↓以下を追記 userxx ALL=(ALL) NOPASSWD: ALL
以上の設定で、新規ユーザーにpiユーザー同等の権限が与えられました。
ここからは、piユーザーの凍結です。追加したユーザーでログインできることを確認してから設定した方が安心だと思います。(凍結するとpiユーザでログインできなくなっていまうので…)
piユーザーのパスワードを変更
$ passwd piユーザでパスワードを既存のものから変更
piユーザーを凍結
【オプション指定】-l, –lock:lock the password of the named account
$ sudo passwd --lock pi
piユーザーをsudoグループから削除(piユーザのsudo権限をなくす)
【オプション指定】-d, –delete user :Remove the user from the named group.
$ sudo gpasswd -d pi sudo
2.SSHはパスワード認証は使わず鍵認証のみを使用すべし
SSHもパスワード認証は標的になりやすいです。公開鍵認証にして、アクセスできるパソコンを限定すべし
設定方法の詳細は、以下記事の「公開鍵認証を行うので、パスワード認証は禁止する。」を見るべし
3.rootの直接ログインは禁止すべし
「root」はユーザー名が全国共通です。このユーザーでログインを許可する理由がないのでログインは禁止すべし
設定方法はの詳細は、以下記事の「rootユーザの直接ログインはセキュリティ上禁止する。」を見るべし
4.ファイアウォールで必要ないサービスを遮断すべし
必要ないサービスは拒否しないとセキュリティホールになるので遮断すべし。
設定方法の詳細は、以下記事を参照すべし
5.パッケージを定期的に更新すべし
ソフトウェア気弱性対策は、OSをアップデートすることで対応すべし。手動でやると忘れることもあるので、cronに登録して自動でアップデートすべし。
運用上すぐにアップデートとすると影響がある場合は、手動でテストして定期的にアップデートしてください。
#パッケージリストを更新 sudo apt-get update #全パッケージを最新版にアップデート sudo apt-get -y dist-upgrade #アップデート後に不要になったパッケージを削除 sudo apt-get -y autoremove #不要パッケージのアーカイブファイルを削除 sudo apt-get autoclean 上記アップデートコマンドをcronに登録すると自動化できます。 sudo crontab -e 0 0 * * * sudo apt-get update && sudo apt-get -y dist-upgrade && sudo apt-get -y autoremove && sudo apt-get autoclean
6.MicroSDは長寿命化すべし
ラズパイでMicroSDの寿命は最大の問題です。MicroSDの長寿命化はやっとくべし
7.サーバーは冗長化すべし
MicroSDの寿命は突然やってきます。その日を向かえる前にサーバーの冗長化はやっとくべし
大事なデータは定期的に自動でバックアップをとるべし
8.電源は強化すべし(雷対策&無停電対策)
意外に忘れがちですが、24時間常時稼働させるには電源の安定化は必要不可欠です。特に夏の時期の落雷や意図しない停電はサーバーの故障につながります。24時間、365日連続稼働を目指しましょう!
サーバーの電源は強化すべし
9.熱は放出すべし
24時間稼働させると熱問題が出てきます。
専用のラックにファン対策を施した上で、強制空冷すべし
ダイソーの扇風機をつけると、CPU温度が40度を超えることがほとんどなくなりました。熱対策をして機器の長寿命化をすべし
詳しくは、以下を見るべし
以上、独断と偏見の9か条でした。
最後まで見ていただきありがとうございました。