Linux

AmazonLinuxでsshの待ち受けポートを22番から別の番号に変更する

EC2 で Web サーバを構築する手順に盛り込もうと思いましたが、ssh の待ち受けポートの変更だけで記事を独立させてみました。

ここでは ssh の待ち受けポートを 22 番から 10022 番に変更する方法を紹介します。

ssh のデフォルト待ち受けポートが 22 番なので、それを変更することで不正アタックを軽減する効果を期待しての対策となります。

もちろん、変更先のポート番号は 10022 番である必要はありませんので、ご自身の環境にあわせて置き換えてください。

sshのポート変更

まずは ssh の待ち受けポートを変更します。

現在は 22 番で受け付けていることを確認します。

まあ、22 番で接続している時点でわかりますけどね・・・。

次に sshd の設定を変更します。

Port は 22 で設定されていてコメントアウトされていますが、デフォルトが 22 なのでコメントアウトされていることに関係なく 22 番が有効になっています。

では、このコメントを外し 10022 にしてみます。

これだけでは設定が反映されないので、sshd_config のファイルを保存したら sshd のサービスを再起動します。

これで待ち受けポートから 22 番が消え、10022 番が表示されます。

実際にローカル PC などから 10022 番ポートで ssh 接続でき、22 番ポートで接続できなくなっていることを確認しましょう。

セキュリティグループの変更

これで 22 番ポートの解放は不要になったので、EC2 のインスタンスを作成する際に作ったセキュリティグループのルールを変更します。

EC のインスタンスを構築した時の記事は「AWSでWebサーバ用途にEC2(AmazonLinux)の環境を構築する」の通り。

AWSでWebサーバ用途にEC2(AmazonLinux)の環境を構築するAmazonLinux2 が正式リリースされて 1 ヶ月以上が経過しました。 次に新しく EC2 を作るなら乗り換えるのもアリかなと思...

では、セキュリティグループを調整します。

EC2 のページの左メニューから「セキュリティグループ」をクリックします。

AmazonLinuxでsshの待ち受けポートを22番から別の番号に変更する

まだ、RDS や Redis については詳細なセキュリティグループを設定していないですが、まずは EC2(web)用のセキュリティグループを調整します。

web のセキュリティグループを選択すると、画面下に詳細な情報が表示されます。

AmazonLinuxでsshの待ち受けポートを22番から別の番号に変更する

ここで「インバウンド」のタブをクリックします。

インバウンドは外部から EC2 に入ってくるパケットのことになります。

早速、「編集」ボタンをクリックしましょう。

AmazonLinuxでsshの待ち受けポートを22番から別の番号に変更する

22 番ポートの設定を削除します。

ちなみに、この設定画面には IPv6 の設定も含まれていますが、不要な場合はソースアドレスが「::/0」になっている行(80, 443, 10022番ポート)も削除しちゃいましょう。

AmazonLinuxでsshの待ち受けポートを22番から別の番号に変更する

ちなみに 10022 番ポートは世界中のどこからでも受け付けるようになっていますが、自宅や会社が固定 IP アドレスを持っているならその IP で制限しておきます。

IP アドレスが動的で変動の可能性がある場合は、ssh の認証が鍵認証ということもあるので、個人情報を扱うようなサイトじゃなければ私はこれで OK と考えています。

もちろん、鍵の紛失に備えた対策や鍵にパスフレーズを設定することは怠らないようにしましょう。