最近、Webサーバーに接続するためのSSHベースの認証を学んでいます。投稿では特定のファイル権限をお勧めします。ローカルシステムの.sshフォルダには、ディレクトリ権限700とコンテンツ(キーのファイル権限640が必要です)が含まれている必要があります。
わからないことは、所有者にrwx権限を設定し、ディレクトリにグループや他の人に権限を設定すると、グループと他の人がディレクトリを一覧表示したりCDに移動したりできないことを意味します。それでは、その中にあるファイルに対して640権限を設定すること(つまり、グループのrw、他の人は権限がない)の追加の意味は何ですか?もともと、そのディレクトリはグループや他の人が読んだり移動したりすることはできません。
ベストアンサー1
内部権限が与えられたディレクトリ構造や権限と機能的に独立していることは正しいですが、1つは欠けています。ハードリンク共有権限。
上記の例では、他の場所へのハードリンク(シンボリックリンクではない)を作成すると、~/.ssh/id_rsa
結果ファイルは権限をミラーリングするため、~/.ssh/id_rsa
ユーザーがホームディレクトリにアクセスできる場合は、人々がそのファイルにアクセスできます。 、または新しい場所を通じて
したがって、SSHの要件は実際には技術的にそうする必要があるほど厳密ではありませんが(理想的には、そのディレクトリの秘密鍵には0640ではなく0600権限が必要です)、ほとんどの人は(シンボリックリンクとは異なり)ハードリンクを理解しなくなりましたや気にしません。 (ファイルシステムの境界を拡張できます)または参照リンク(リンクの1つが記録されたときにすべての場合にリンクを正しく分割する)と比較して、それほど有用ではありません。
他のファイルの場合でも、特定のセキュリティ要件があります。特に:
- この
.ssh/authorized_keys
ファイルには、ユーザーがアクセスできる他の公開鍵に関する情報が含まれています。 - この
.ssh/known_hosts
ファイルには、どのシステムに接続したかに関する情報が含まれています(OpenSSHは、実際にはホスト名とIPアドレスの一方向ハッシュを使用して、許可なくこのシステムを保護する機能を提供します)。 - 鍵の公開部分は、アカウントをリンクするために他のシステムと一致させるために使用できます
.ssh/authorized_keys
。あるいは、理論的には、秘密鍵が攻撃される可能性があります(2番目のシナリオは、政府レベルの敵に直面しない限りほとんど理論的ですが)。
これらのファイルはすべて、あなたの情報が盗まれた可能性がある他の場所を識別するために使用される可能性があるため、保護するのが最善です。