1. はじめに

GCPに限らずパブリッククラウドやVPSなどを利用してVMマシンを利用する場合、手元のPCから作成したVMマシン(Unix/Linux)への接続には大抵SSHを利用しています。

このSSHの通信は認証された上で通信内容は暗号化されていますが、認証情報がクラッカーの手に渡るとVMマシンを乗っ取る事も可能な為、クラッカーの攻撃対象にもなりやすいです。

そこで、最低限且つ簡単にできるセキュリティ対策として、SSHで利用するポート番号の変更を実施します。

GCP上で稼働するVMインスタンス(Linux/Unix)のSSHポート番号を変更するには、以下の3ステップを踏む必要があります。SSHの設定としては以下の「2」だけであり、「1」と「3」は利用環境によっては必ずしも必要なものではありません。

2. カスタムポートで外部からVMインスタンスへ接続できるようにする。

先ずは外部ネットワークから接続したいカスタムポート番号を決め、VMインスタンスへの通信を許可するファイアウォールルールを設定をします。

GCPログイン後の左上のハンバーガーメニューボタン「≡」から、「VPCネットワーク」、「ファイアウォールルール」を開き、「ファイアウォールルールを作成」ボタンを押します。

次にカスタムポートでのSSHログインを許可する為のルールを作成します。
ルールの名前やログの設定は自由です。優先度、トラフィックの方向、一致したときのアクション、指定したプロトコルとポートを指定します。

項目 説明
優先度 0が最優先で、65535が最も優先度が低くなる。
今回はSSHを許可するルールのため、拒否ルールの前に持ってくる必要があります。手動でファイアウォールルールを作成していない場合はデフォルト値の1000で問題ありません。
トラフィックの方向 今回は上り(手元のPCからVMインスタンス)を選択します。
一致したときのアクション 今回はカスタムポートでのSSHログインを許可したいため、「許可」を選択します。
プトロコルとポート 「指定したプロトコルとポート」を選択し、
TCP10022番をSSHに利用したい場合には、「tcp」にチェックを入れ、
横のテキストボックスに「10022」を入力します。

設定が完了すれば、「作成」を押すとファイアウォールルールが作成されます。

3. VMインスタンス側でSSHポート番号を変更する。

VMインスタンスへログインし、SSH設定ファイルの変更を実施します。

 $ sudo vi /etc/ssh/sshd_config

以下の行を追加します。(デフォルトの22番から10022番に接続ポートを変更する場合)

 Port 10022

SSHサービスを再起動し、設定ファイルを読み込みます。

 $ sudo systemctl restart sshd.service

4. 「ブラウザウィンドウでカスタムポートを開く」から接続する。

GCPログイン後の左上のハンバーガーメニューボタン「≡」から、「Compute Engine」、「VMインスタンス」を開きます。
「接続」メニューから、「ブラウザウィンドウでカスタムポートを開く」を選択します。

ファイアウォールルールを作成した際に設定したポート番号(今回の場合は10022)を入力し、「開く」を押すと、カスタムポートを利用し、SSH接続が実施されます。

コメントを残す

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)