メニュー

2-1 初期設定

Xserver VPSの仕様で予めroot権限の鍵登録を行なうことができた。
サーバー側でポート設定を行なうので、XserverのVPSパネルからパケットフィルターはOFFにしておくこと。

サーバーのアップデート

自身のPCからssh接続を始める前に、まずはサーバー会社が用意したコンソールからログインする。

apt upgrade -y

まずは全ての既存パッケージをaptコマンドから更新する。

apt full-upgrade

ついでに保留されているパッケージもチェックして更新をかけておく。

SSH設定とufw初期設定

Ubuntuのssh接続に必要なopenssh-serverはすでに入っているので、sshを有効にすることだけ忘れないように。

systemctl enable ssh

次にufw(ファイアーウォール)を確認する。

systemctl status ufw
ufw status verbose

systemctlからは有効化されていたが、ufwそのものは起動されていなかった。

ufwを起動する。

ufw enable

もう一度「ufw status verbose」からufwの状態を確認すると、ログのルールとデフォルトの通信ルールが表示される。

ルールを追加する前にIPv6の設定を無効にする。
「/etc/default/ufw」を編集し、以下の指定をする。

IPV6=no

一旦ssh接続できるようにするため、試しに22番ポートを許可する。プロトコルにはTCPを指定する。

ufw allow 22/tcp

入力後に「Rule added」と表示される。
ユーザー側で追加するルールをもう一度確認したいなら、コマンドでverboseまで入力しなくても確認できる。

ufw status

ここまで設定したらssh接続ができるようになる!🙌

ssh接続ポートの変更

Ubuntu 24.04の場合は「/etc/ssh/sshd_config」と「/lib/systemd/system/ssh.socket」のポート設定を変更し、ufwから変更後のポートを許可しなければならない。

/etc/ssh/sshd_configの設定

いちばんめのサーバー構築で使用したCentOS Stream 9と変わらず、viで「/etc/ssh/sshd_config」を編集して「Port 22」のコメントアウトを取って希望のポート番号に変更する。

設定が終わった後は再起動をかけて更新する。

systemctl restart ssh

/lib/systemd/system/ssh.socketの設定

「ListenStream=22」のコメントアウトを取って希望のポート番号に変更する。

設定が終わった後は再起動をかけて更新する。daemon-reloadも同様に再起動をかけて更新する。

systemctl daemon-reload
systemctl restart ssh.socket

ufwの設定

変更希望のポートを許可する。今回は例として2222ポートに変更する。

ufw allow 2222/tcp

先に22ポートを許可する設定を入れていたので、以下のコードを打てば恐らく22ポートを削除するかどうかを聞かれるはず。

ufw delete 1

異なる設定を消してしまいそうであれば、ufw statusで登録したルールを確認する。22ポートの許可設定が何番目にあるかを確認したあと、ufw deleteのあと適切な数値に変えて再度打ち込む。

設定が終わった後は更新する。

systemctl restart ufw

sshログインの設定見直し

セキュリティ向上のため「/etc/ssh/sshd_config」の設定を見直す。

PermitEmptyPasswords no

空パスワードを無効にする。

PermitRootLogin prohibit-password

公開鍵でのrootログインは許可しておく。

prohibit-passwordという設定がデフォルトで適用されています。これは公開鍵認証とGSSAPI認証(Kerberos認証など)のみ許可し、パスワードやキーボードインタラクティブ認証(2要素認証など)を禁止する、という設定です。

https://linuc.org/study/column/5707/