私はデスクトップコンピュータとしてLinuxを再利用する予定です。もっと安全にしたいです。そして特に自分だけのサーバーを持つ予定なので、いくつかの強化技術を試してみてください。
- 良く合理的な強化戦略とは何ですか? Apparmor、SELinux、SMACK、chrootなど、どのツールを使用する必要がありますか?
- Apparmorなどの1つのツールを使用する必要がありますか、それとも上記のツールを組み合わせて使用する必要がありますか?
- これらのツールの利点/欠点は何ですか?他の人はいますか?
- 合理的な構成とセキュリティ(改善)の比率は何ですか?
- デスクトップ環境ではどれを使いたいですか?どちらがサーバー環境にありますか?
質問が多すぎます。
ベストアンサー1
AppArmourは通常SELinuxより単純であると見なされます。 SELinuxは非常に洗練され、軍事アプリケーションにも使用できますが、AppArmourはより簡単な傾向があります。 SELinuxはiノードレベルで動作しますが(制限はACLまたはUNIX権限と同じ方法で適用されます)、AppArmourはパスレベルで適用されます(つまり、パスに基づいてアクセスを指定するため、パスが変更された場合に適用されます)できない場合があります))。 AppArmourは子プロセス(mod_phpのみ)を保護することもできますが、実際の使用については懐疑的です。 AppArmourはメインラインカーネル(-mm IIRCにあります)に進出したようです。
私はSMACKについてはよくわかりませんが、説明を見ると単純化されたSELinuxのようです。確認したい場合はRSBACもあります。
chrootの使用は限られており、デスクトップ環境ではそれほど有用ではないと思います(たとえば、DNSデーモンなど、システム全体へのアクセスからデーモンを分離するために使用できます)。
もちろん、PaX、-fstack-protectorなどの「一般的な」強化を適用する価値があります。ディストリビューションがAppArmour / SELinuxをサポートしている場合は、Chrootを使用できます。 SELinuxはセキュリティレベルの高い領域(システムの制御能力が良い)に適しており、AppArmourは簡単な強化に適していると思います。
一般的に、セキュリティレベルの高い領域で作業している場合を除き、未使用のサービス、定期的な更新などをオフにする以外は、通常のデスクトップを強化しません。とにかく安全にしたい場合は、ディストリビューションがサポートしているものを使用します。これらの多くは、効果的なアプリケーションサポート(プロパティをサポートするコンパイルツール、作成されたルールなど)が必要なため、ディストリビューションでサポートするものを使用することをお勧めします。