SSHポートの変更 / AlmaLinux9.4 on さくらのVPS

アフィリエイト広告を利用しています

このページの内容が役に立ったら X (旧twitter) でフォローして頂けると励みになります
挨拶や報告は無しで大丈夫です

さくらのVPS 2G にAlmaLinux9.4をインストールした覚書です。

今回は、SSHのポート変更を行っていきたいと思います。

なお本番環境で利用される場合はここにある内容だけを鵜呑みにせずセキュリティ専門家に相談されることをお勧めします。

環境

実施日2024-06-17
サーバさくらのVPS 2G
OSAlmaLinux9.4
cat /etc/redhat-release
AlmaLinux release 9.4 (Seafoam Ocelot)

SSHの設定変更

ログイン制限の設定がひととおり完了して、接続確認できるまでは作業中のターミナルは絶対に閉じないでください。

閉じてしまって、ミスってた場合はサーバ会社提供のコンソールとかからログインできる場合があります。(さくらのVPS の場合はコンパネから)

設定ファイルを編集します。

新しいポート番号について

デフォルトのポート番号は 22 です。
「変更する」といっても何番に変えるのが良いのでしょう?
基本的には自由な数字なのですが、次のことを考慮して決めることをオススメします。

ポート番号として使える範囲

1 ~ 65535
SSHに限らずそのそもポート番号として使用できる数字は 1 ~ 65535 です。

既知のポート番号を避ける

1 ~ 1023
SSHは 22、http は 80 のように有名なポート番号はご存知だと思います。
同じように 1 ~ 1023 までは既に一般的なサービスが利用しているので避けた方が良いです。

登録済みのポート番号を避ける

1024 ~ 49151
この範囲は様々なアプリケーションで使用されているので避けたほうが良いです。

実質、選択できる範囲

上記のことを考えると、49152 ~ 65535 の範囲がプライベートで利用できる空き番ということになります。
こちらの数字の範囲で好みで決めると良いです。

ポートの変更

ポートを変更するときは、外側から順に設定していき、sshdの設定時には新旧のポートが開いた状態とします。
sshdのポート切り替え後、今度は反対に内側から外側に向かって古いポート設定を削除していきます。

パケットフィルタの設定

さくらインターネットだとコンパネにあります。

現在のポートは生かしつつ、新しいポートを追加します。
このタイミングで 22 を閉じちゃうと接続が切れてしまいますので、 22 を削除するのは新しいポート番号での接続が確認できてから行います。

firewalledのポート設定

確認

systemctl status firewalld

起動していなければ特になにもしなくて構いません。

▲ならOKです。「inactive」なので動作していません。

この記事通りに進んでいたらfirewalledはまだ設定していないはずですが、もし設定していたら、現在のポートは生かしつつ、新しいポートを追加します。

下記をご覧ください。

ファイアーウォールを設定 / Rocky Linux9.4 on さくらのVPS

SELinuxのポート設定

SELinuxを無効にしていれば不要です。

# 2222 の tcp を ssh として使う場合
semanage port -a -t ssh_port_t -p tcp 2222

# 確認
semanage port -l | grep ssh

sshdのポート設定

vi /etc/ssh/sshd_config
Port 22

ここの数字を変更し、確認してから sshd の再起動で反映されます。

確認

/usr/sbin/sshd -t

再起動

再起動の前にコントロールパネルのパケットフィルタを設定しておきます。
もともとの 22 と新しいポート番号の2つが登録された状態にしておいてください。

準備ができたら再起動します。

systemctl restart sshd

接続確認

新しくターミナルを起動して、変更したポートで接続できればOKです。

変更前のポートを閉じる

外側のポートを閉じたら、元のポートで接続していたターミナルからは接続できなくなります。

SELinux の 22 は削除できないっぽいのでそのままにしておきます。

# 22 の tcp を ssh を削除
semanage port -d -t ssh_port_t -p tcp 22

# 確認
semanage port -l | grep ssh

firewalled

firewalled はまだ設定していないので特にすることはありません
インストールしているなら元のポートを削除しておきます。

パケットフィルタ

パケットフィルタからも元のポートを削除しておきます。