私はFedoraディストリビューションを使用しています-プリインストールされたSELinuxポリシーを使用しています。 ~/.ssh
フォルダー内の秘密鍵への安全でないアクセスを制限したい-私のアカウントで実行される可能性のあるマルウェアによるリークを防ぐため。ルートキットは問題外です。
更新#1:初心者のFedoraユーザーのエンタープライズ問題を解決したい-USBトークンなどなし。彼らは非常に弱いパスフレーズを使用している可能性があります。 root
ユーザーとsshクライアントプログラムのみが秘密鍵にアクセスできる場合は、問題ありません。実際の人間のユーザーが秘密鍵を見る必要はありません-誰かのために一度でも秘密鍵を見る理由はわかりません。
どうやってやるの? SELinuxの使用を提案します。
秘密鍵の使用を許可されている人から秘密鍵を隠す適切な方法は、ハードウェアセキュリティモジュールです(スマートカードなどが適切に機能します)。 SSHキーを少し努力することでこれを行うことができます(グーグル検索が表示されます いくつかの不格好なハードウェアとGPGを使用したこのチュートリアル )。
ただし、シェルではないものを取得することを心配している場合は、多くのエクスプロイトがシェルを取得することを念頭に置いて、AppArmourはこの方法でファイルシステムのアクセス許可を制限できますが、ホームディレクトリ内でそれを行うのは少しだと思いますマルチユーザーシステムの管理はより注意が必要です。
SELinuxもこれを行うことができます。 ファイルにセキュリティラベルを付け、ssh
のみにファイルの読み取りを許可します 。
ユーザーは通常、独自のSSHキーを作成でき、通常はそれらの所有者であることに注意してください。つまり、ユーザーはどのようなラベルや権限を設定しても調整できます。これは存在する仮定です。
ウイルスを実行する場合は、これよりもはるかに安全にするために従うことができるいくつかのルールがあります。
blackhole.iana.org
は適切なDNS名です)。それらが実際のアドレスである必要がある場合は、制限されたネットワーク上でそれらの特別なテストC&Cをホストできます。誤ってウイルスを実行することを心配している場合は、selinuxが役立つかもしれませんが、これに対する本当の解決策は常識と十分な注意です。
秘密鍵をパスワードで保護することもできます。これにより、秘密鍵が暗号化されますが、ウイルスによってキーストロークがそれを回避する可能性があります。
マルウェアがあなたの資格情報を使用して実行される場合、SELinuxはこのジョブに適したツールではないと思います。何を配置しても、キーへのアクセスが確実に阻止されるためです。
秘密鍵には、連携して機能する非常に強力なセキュリティメカニズムが組み込まれています。キーは、所有者のみが読み取り可能である必要があります。強力なパスフレーズを追加すると、心配することはほとんどありません。