Proxmox VE のSSHを制限する
OpenSSHの脆弱性が新たに発表されました。これは放置しておくと SSH を受け付ける全てのサーバーを乗っ取る事ができてしまう脆弱性で、「regreSSHion」と名付けられています。過去対応されたバグが戻ってしまったということで、すこぶる上手いネーミングですね。
The award-winning Qualys Threat Research Unit (TRU) has discovered a critical vulnerability in OpenSSH, designated CVE-2024-6387 and aptly named "regreSSHion." This Remote Code Execution bug grants full root access, posing a significant exploitation risk. https://t.co/uDHHSuzd5f
— Qualys (@qualys) July 1, 2024
そこでさまざまなサーバのSSHの状態を調べていたのですが、ふと、Proxmoxの環境はESXiと違ってデフォルトでSSHが開いていたなと思い出し現状を確認したところ、特に制限が入ってなかったので、SSHを制限することにしました。
SSH制限の方針
rootユーザでのSSHの制限は以下の方向で行うことにします。
- 一般アカウントの作成
- 一般アカウントでのSSHを鍵認証のみにする
- rootユーザのSSHの無効化
一般アカウントの作成
ベースとなるProxmox VEはDebian 12にインストールされています。素に近い環境でしたので、そもそもrootユーザ以外のアカウントが存在しません。そこで、最初に一般アカウントを作成します。
|
|
一般アカウントでのSSHを鍵認証のみにする
この状態で、作成した一般アカウントでSSHが可能です。SSHができるか試してみても良いかもしれません。今回は、事前に払い出した鍵認証のみとし、パスワード認証をさせないことにします。
|
|
SSHができない場合、.ssh
ディレクトリとauthorized_keys
ファイルのパーミッションを正しく設定してないことが大半。
ssh-copy-idはauthorized_keys
を正しく設定してくれるため、scpやcpを利用するよりも簡単なので推奨。
次に、鍵認証するためのSSHの設定変更を行う。
|
|
以下の行のコメントをはずして有効化する。
|
|
AuthorizedKeysFileに.ssh/authorized_keys2
が存在していたため、(なんだこれは?と思い)今回は削除しておいた。
あとで調べる。
2024/07/07 調べたので追記。
|
|
一般アカウントでのSSHの動作確認
鍵が転送できたためここで鍵認証ができるかを確かめておく。今後、パスワード認証を塞いだときに、正しく鍵認証ができていないと、再びログインできなくなってしまうためである。
|
|
確認ができたら、最後にrootユーザSSHとパスワードでのSSHを無効化する
rootユーザのSSHの無効化とパスワードでのSSHの無効化
|
|
参考
ローカルに秘密鍵はあるけれど、公開鍵がない!という時の公開鍵の作り方
|
|
以上!。
そういえば、ハッキングラボの作り方が全面改訂されていた。全面改訂ということなので、ちょっと興味ある・・・。