当ブログはでは、さくらのVPS + CentOS7 + PHP7 + MySQL5.6の環境でWordPressを運用しています。その以前は「さくらのレンタルサーバー」のデフォルト機能を使ってましたが表示速度があまり遅いので、環境を一新しました。いわゆる「サーバーのお引越し」です。
その「サーバーのお引越し」のためにその3の記事では、鍵認証の設定について説明しました。今回の記事ではサーバーのセキュリティを高めるために、SSHの設定について説明します。
SSHの設定
リモートサーバ側とクライアントPC側に分けて作業内容を説明します。なお詳しい理由は後述しますが、SSHの設定が完了したらすぐにファイアウォールの設定作業を行なってください。
リモートサーバ側の操作
# systemctl stop firewalld # cp /etc/ssh/sshd_config /etc/ssh/sshd_config.org # vi /etc/ssh/sshd_config Port YOURPORTNUMBER PasswordAuthentication no PermitEmptyPasswords no PermitRootLogin no # systemctl restart sshd
さくらのVPSではファイアウォールがデフォルトで有効化になっていますので、無効化します。そのあとsshd_configファイルをコピペしておき、元のファイルの書き込みを変更します。変更内容は人によってまちまちだと思いますが、自分は以下の3つの設定について変更します。
- Port : ポート番号の変更(1024か65535まで)
- PasswordAuthentication : パスワードログインの不許可
- PermitEmptyPasswords : ユーザー名だけでログインすることを不許可
- PermitRootLogin : rootログインの不許可
ここまで設定ファイルの書き込みや変更ができたら、サービスを再起動させます。なおサービスの再起動が成功しても画面は特に変化しません。
クライアントPC側の操作
$ ssh -p YOURPORTNUMBER -i ~/.ssh/id_rsa_hoge yourusername@IP.ADD.RE.SS
リモートサーバに接続しているターミナルはそのままの状態にして、もう一つ別のターミナルを立ち上げます。新しく立ち上げたターミナルから変更した内容でSSH接続ができるかどうか確認します。id_rsa_e-yota_hogeという名前の秘密鍵は、前回の「その3」で作成しました。
すぐにファイアウォールの設定を!
上述した通り、SSHの設定変更が完了したらすぐにファイアウォールの設定を行なってください。ファイアウォールはネットワークからの不正なアクセスを阻止する仕組みです。ファイアウォールを停止状態のままにしておくことは、大変危険です。
次回の記事では、そのファイアウォールの設定について説明いたします。引き続き当ブログをご覧いただければ幸いです。