参考にさせていただいたページ
さくらのVPS マニュアル — さくらの VPS マニュアル
サーバ作成直後に設定しておくべき初期セキュリティ設定
rootユーザーのパスワード設定方法
今日の環境
はじめに
今回は「サーバ作成直後に設定しておくべき初期セキュリティ設定 — さくらの VPS マニュアル」を参考に初期セキュリティ設定をやっていきます。
参考ページに従って以下のことを設定していきます。
- 作業用一般ユーザーの作成
- 公開鍵認証を使ったログイン設定と確認
- wheel グループに対する sudo 設定の有効化
- より安全な SSH 接続のための設定
- チェックリスト
sshログインする
先日初期化したときに「さくらVPSを契約する | Mac + Docker + Rails その0012 - web_bonsaiの日記」で設定されているはずなのでログインします。
ターミナルで以下のコマンドを実行します。
このとき入力するユーザー名は、上記した記事の「サーバー設定手順」の「6-1-5」で設定したユーザー名です。ホスト名はさくらのVPSのコントロールパネルにログインして確認します。
ssh ユーザ名@ホスト名 -p 22
公開鍵のパスフレーズの入力を求められるので、入力してログインします。
ユーザーの一覧を確認する
CentOSでは以下のコマンドで確認できます。
$ cat /etc/passwd|sed -e 's/:.*//g'
rootユーザーにスイッチする方法
以下のコマンドでスイッチできます。
$ sudo su -
または
$ sudo su - root
rootユーザーからログアウトする
以下のコマンドでログアウトできます。
# exit
rootユーザーのパスワードについて
OSインストール後の初期状態では、パスワードは設定されていません。
設定する場合は以下のコマンドで設定します。
$ sudo passwd root
rootユーザーのパスワードの設定方法は「CentOS Stream 9 — さくらの VPS マニュアル」を参考にしました。
vimをインストールする
$ sudo yum -y install vim
作業用一般ユーザーの作成
以前はVPSの申し込み時に「さくらVPSを契約する | Mac + Docker + Rails その0012 - web_bonsaiの日記」のようなセットアップスクリプトを実行するような仕組みになっていなかったと思うので、最初にrootユーザーでログインしてから、一般ユーザーを作成していました。
今回は「さくらVPSを契約する | Mac + Docker + Rails その0012 - web_bonsaiの日記」の「サーバー設定手順」の「6-1-5」で設定したユーザーが一般ユーザーにあたるものだと思います。
とりあえず今回はとばします。
公開鍵認証を使ったログイン設定と確認
これもセットアップスクリプトで設定済みなので今回はとばします。
wheel グループに対する sudo 設定の有効化
「サーバ作成直後に設定しておくべき初期セキュリティ設定 — さくらの VPS マニュアル」には、作成したユーザーをwheelグループに追加する手順が書かれていますが、作成したユーザーはセットアップスクリプトによって既にwheelグループに追加されているため、この手順も今回はとばします。
一応以下のコマンドでwheelグループに所属しているユーザーの一覧を確認しておきます。
getent group wheel
また参考ページによると以下のコマンドでログイン中のユーザーの権限が確認できます。
$ sudo id
以下のように表示されましたので、root権限があるということが確認できました。
uid=0(root) gid=0(root) groups=0(root)
より安全な SSH 接続のための設定
「SSH で root アカウントでのログインを許可しない」設定にする
以下のコマンドでファイルを開きます。
$ sudo vim /etc/ssh/sshd_config
以下のような記述がありました。
#PermitRootLogin prohibit-password
その下の行に以下の通り追記します。
PermitRootLogin no
保存して終了します。
ファイルを保存後、sshd を再起動して設定を有効化します。
$ sudo systemctl restart sshd
「サーバ作成直後に設定しておくべき初期セキュリティ設定 — さくらの VPS マニュアル」によると 正常に稼働しているかどうかは、次のようにコマンドを実行し、sshd が「Active: active (running)」なのを確認すると良いそうです。
$ sudo systemctl status sshd
もし「dead」(停止中)となっている場合は、正常に起動していません。 原因を調べるためにはログの参照が必要です。ログは「journalctl -xe」コマンドで確認できます。 多くの場合は sshd_config の記述ミスに関するエラーが表示されているでしょう。 さくらの VPS の場合、もしログインができなくなっても、コントロールパネル上の「コンソール」機能を通して操作可能です。
とのことです。
チェックリスト
「サーバ作成直後に設定しておくべき初期セキュリティ設定 — さくらの VPS マニュアル」のチェックリストの項目通りに動作確認をしていきます。
応用:SSH 接続用ポート番号の変更
「応用:SSH 接続用ポート番号の変更」という項目が「サーバ作成直後に設定しておくべき初期セキュリティ設定 — さくらの VPS マニュアル」にありますが、実際にやってみるとsshdの再起動に失敗しました。
正直よくわからないのでとばします。
そのうち対応するかもしれません。
パケットフィルターでやっているから近頃のさくらVPSでは良いのかもしれないです。