こんにちは!
ナビゲータのEVEです。
昨日のブログでは、セキュアなSSHサーバーの構築方法についてご紹介しましたが、本日は、その作業において、苦労した点について、ご報告したいと思います。
その配置した時に気をつけなければならないのは、アクセス権を適切に付与しなければなりません。ドツボにハマるほどではなかったのですが、適切にアクセス権を付与していなかったので、ログインできませんでした。以上の点に気を付けていただければ、公開鍵認証方式を時間を掛けずに導入することが可能です。
そうすると、「秘密鍵が読み込めません」といったメッセージが表示され、ログインできませんでした。どうもパスフレーズは秘密鍵そのものに付与されているらしく、パスフレーズを入力することにより、秘密鍵が復号され有効となるようです。そのため、パスフレーズが認識できないとログインできません。
公開鍵、秘密鍵、認証用公開鍵は、クライアントの仮想環境で作成したので、予め取得していたスナップショット時点に何回も環境を戻しながら、試行しましたが、成功しませんでした。そこで、試しに、本来付与したい複雑なパスフレーズではなく、それよりも平易なパスフレーズで試したところうまくいきました。その時点では、Microsoft製品のように大文字、小文字の区別はしないのかと想定したのですが、本日、複雑なパスワードで実施したところ、ログイン出来ました。何がなんだかよくわかりません。環境は、クライアントでの話ですが、多分、サーバー環境でもうまくいくと思います。ここで、また作業をはじめて、うまくいかなかった場合、次の作業へいけないので、後日、複雑なパスフレーズで秘密鍵を作成し、現行のものと差し替えたいと思います。
なお、ChatGPTに、秘密鍵の推奨パスフレーズについて聞いてみました。
私は、昨日の作業手順により構築した、SSHサーバーが最高なセキュリティレベルにあると考えていますが、これ以上にセキュリティレベルを高める方法がありましたら、情報を共有させていただければうれしいです。
近頃というか数年前から、毎日セキュリティインシデントに関する報告がありますが、この手順により、少しでもセキュリティインシデントを減らすことができれば、うれしいです。新型コロナ感染症流行以降VPNで作業をやっている人が多いため、関係ないと思われるかもしれませんが、標的型攻撃、または内部犯行のことを考慮した場合、セキュリティレベルを上げることは決して意味のないことではないと思います。
では、また!
ナビゲータのEVEです。
昨日のブログでは、セキュアなSSHサーバーの構築方法についてご紹介しましたが、本日は、その作業において、苦労した点について、ご報告したいと思います。
[クライアント作業]
公開鍵認証方式を導入するにあたり、公開鍵、秘密鍵、認証用公開鍵を作りますが、それらの鍵が、どうユーザーと紐づいているのか分かっていなかったというところから始まりました。今から振り返ってみると、ChatGPTに聞けばよかったのですが、この点については、聞かずに、自分で確認しました。結論をいうと、秘密鍵、公開鍵、認証用公開鍵という1セットではつながりはあるのですが、この1セットが作った段階で何かと結びついているわけではなく、事後的に作業者が紐づけることになります。その紐づける作業が、昨日のブログに書いた、「❾クライアントで作成した、公開鍵、公開鍵認証ファイルを一般ユーザー(公開鍵でログイン可能なユーザー)の以下のディレクトリに配置する」という作業になります。その配置した時に気をつけなければならないのは、アクセス権を適切に付与しなければなりません。ドツボにハマるほどではなかったのですが、適切にアクセス権を付与していなかったので、ログインできませんでした。以上の点に気を付けていただければ、公開鍵認証方式を時間を掛けずに導入することが可能です。
[パスフレーズを設定する]
「❹公開鍵を作成し、作成したユーザーでログイン可能な状態にする。」では苦労しました。具体的に言うと、パスフレーズを設定する部分。公開鍵認証方式でログインが成功した当初はパスフレーズは設定していなかったのですが、最高のセキュリティ水準にするということを目標としていたので、すべての作業が1度成功した後に、パスフレーズを設定してみました。そうすると、「秘密鍵が読み込めません」といったメッセージが表示され、ログインできませんでした。どうもパスフレーズは秘密鍵そのものに付与されているらしく、パスフレーズを入力することにより、秘密鍵が復号され有効となるようです。そのため、パスフレーズが認識できないとログインできません。
公開鍵、秘密鍵、認証用公開鍵は、クライアントの仮想環境で作成したので、予め取得していたスナップショット時点に何回も環境を戻しながら、試行しましたが、成功しませんでした。そこで、試しに、本来付与したい複雑なパスフレーズではなく、それよりも平易なパスフレーズで試したところうまくいきました。その時点では、Microsoft製品のように大文字、小文字の区別はしないのかと想定したのですが、本日、複雑なパスワードで実施したところ、ログイン出来ました。何がなんだかよくわかりません。環境は、クライアントでの話ですが、多分、サーバー環境でもうまくいくと思います。ここで、また作業をはじめて、うまくいかなかった場合、次の作業へいけないので、後日、複雑なパスフレーズで秘密鍵を作成し、現行のものと差し替えたいと思います。
なお、ChatGPTに、秘密鍵の推奨パスフレーズについて聞いてみました。
❶長さ
★推奨: 12文字以上(可能であれば16文字以上)
長いパスフレーズほど総当たり攻撃に対する耐性が向上します。
❷文字の種類
★パスフレーズは多様な文字を使用して構成するのが望ましいです。
・小文字 (a-z)
・大文字 (A-Z)
・数字 (0-9)
・特殊文字(例: !@#$%^&*()-_=+[]{}|;:'",.<>?/)
★推奨: 12文字以上(可能であれば16文字以上)
長いパスフレーズほど総当たり攻撃に対する耐性が向上します。
❷文字の種類
★パスフレーズは多様な文字を使用して構成するのが望ましいです。
・小文字 (a-z)
・大文字 (A-Z)
・数字 (0-9)
・特殊文字(例: !@#$%^&*()-_=+[]{}|;:'",.<>?/)
[あとがき]
あと問題となったのは、sshd_configに設定すべき内容を、ssh_configに設定しうまくいかなかったということぐらいだったと思います。それは、無知だったということだけなので、ここでは取り上げませんが、お気を付けください。私は、昨日の作業手順により構築した、SSHサーバーが最高なセキュリティレベルにあると考えていますが、これ以上にセキュリティレベルを高める方法がありましたら、情報を共有させていただければうれしいです。
近頃というか数年前から、毎日セキュリティインシデントに関する報告がありますが、この手順により、少しでもセキュリティインシデントを減らすことができれば、うれしいです。新型コロナ感染症流行以降VPNで作業をやっている人が多いため、関係ないと思われるかもしれませんが、標的型攻撃、または内部犯行のことを考慮した場合、セキュリティレベルを上げることは決して意味のないことではないと思います。
では、また!
コメント
コメントを投稿