【30分で完了】SSH接続のポート番号を変更する
こんにちは。今回はSSH接続ポート番号を変更することによりセキュリティ強化する手順について解説します。
本ブログ内のSSHに関するまとめ記事を書いたので、こちらもご覧ください。
そもそも、なぜポート番号の変更がセキュリティ強化になるのでしょう?
SSH接続におけるデフォルトのポート番号は22です。実はこのポート番号は非常によく知られており、不正アクセスを目的とする攻撃者にとって最初の目標となりがちです。もし、不正アクセスによりサーバへ侵入されてしまうと大切なデータを紛失したり改ざんされてしまいます。
そのため、ポート番号22以外に変更することはセキュリティ強化の効果的な手段の一つです。この対策を採用することにより、自動化された攻撃や無差別なポートスキャンのターゲットとされるリスクを低下させることができます。
実際に企業向けのシステムエンジニアやってるとちょいちょい攻撃された形跡を目にすることがありますね〜。身近な問題と捉えてもらって良いと思います。
さて、今回の前提を以下に書きます。
<接続先VPSサーバ情報>
サーバ:ConoHa VPS
OS:Ubuntu22.04
以下のパッケージインストール済み
・OpenSSH:公開鍵認証を用いたSSHやSCP転送にも対応している。
・UFW:ファイアウォールの管理が容易
今回はSSHのポート番号を「22」→「10022」へ変更することを考えます。1024〜65535の間の数字であれば何でもよいのですが、管理の都合上覚えやすい番号の方が良いです。
それでは進めていきましょう。
ConoHa VPSの設定変更
まずはVPSサーバ本体の設定変更をする必要があります。既存のセキュリティグループだとSSHのポート番号は22となってるので、新しくルールを作る必要があります。
VPSサーバの管理画面にアクセスしたら、左側のメニューから「セキュリティグループ」を選択し、「+セキュリティグループ作成」をクリックして、新しいルールを設定します。
新しいセキュリティグループを作成した後、左側のメニューから「サーバー」を選択し、作成したセキュリティグループをサーバーに適用します。
これでVPSサーバの設定は完了です。
sshd_configの変更
OpenSSHの設定ファイル「sshd_config」を編集する必要があります。パスは以下です。変なところ触ってファイル壊しちゃうのが怖い人は事前にバックアップ取っておいたほうが良いです。
cd /etc/ssh/ #
cp sshd_config sshd_config_bk #sshd_configをsshd_config_bkとしてバックアップする
sshd_configを編集します。
※余談ですが、「sshd_config」はSSHされる側の設定、「ssh_config」はSSHする側の設定です。今回、VPSサーバはSSHされる側なので「sshd_config」を変更します。
vi sshd_config
ファイルを開いたらPort番号の項目を「22」→「10022」に変更します。
設定が完了したらSSHサーバの再起動と状態の確認をしましょう。
sudo systemctl restart ssh #SSHサーバを再起動
sudo systemctl status ssh #SSHサーバを再起動
「Active:active(running)」になってればOKです。
これでOpenSSHの設定完了です。
FW(ファイアウォール)の設定変更
Ubuntu22.04には標準でUFW(Uncomplicated Firewall)がインストールさており、FWの設定を簡単に変更することができます。
まずは今現在の設定を確認してみましょう。
sudo ufw status
私の場合はこんな感じになってました。
サービス名であるOpenSSHが登録されており、こちらは22番ポートが空いている状態となります。なんで22番ポートが空いてるとわかるのかというと、UFWの設定ファイル(/etc/ufw/applications.d/openssh-server)を確認すると以下のようになっています。
こちらのファイルのポート番号を「22/tcp」→「10022/tcp」に変更しましょう。
その後にFWの設定をアップデートします。
sudo ufw allow OpenSSH
これでFWの10022番ポートの設定が完了しました。
今回はUFWが管理してるOpenSSHのポート番号を変更しましたが、単純にOpenSSHを消して10022/tcpポートを追加してもOKです。具体例を以下に示します。
sudo ufw delete allow OpenSSH ← OpenSSHの設定を消す
sudo ufw allow 10022/tcp ← 10022/tcpの設定を追加する。
10022番ポートにSSH接続してみよう!
SSHしてみましょう!コマンドを以下に示します。
ssh [ユーザ名]@[接続先IPアドレス] -p 10022
10022番ポートを使ってSCP転送してみよう!
SCP転送もしてみましょう!
scp -P 10022 [SCP先ユーザー名]@[SCP先IP]:[SCP先フォルダ/ファイル]
SCPについては以下の記事でも解説をしてますのでご覧ください。
いかがでしたでしょうか?今回はポート番号変更に関する解説をしましたが、次回は公開鍵認証の設定について解説していきたいと思います。