web-dev-qa-db-ja.com

Linuxボックスを強化するために何を使用しますか? Apparmor、SELinux、grsecurity、SMACK、chroot?

デスクトップマシンとしてLinuxに戻る予定です。より安全にしたいと思います。そして、いくつかの強化テクニックを試してください。特に、自分のサーバーを取得する予定があるためです。

  • 何が良い、健全な硬化戦略になるでしょうか? Apparmor、SELinux、SMACK、chrootなど、どのツールを使用すればよいですか?
  • 1つのツールのみを使用する必要があります。アーマー、または上記の組み合わせ?
  • これらのツールにはどのような長所/短所がありますか?他にありますか?
  • セキュリティ(改善)の比率に対する適切な構成はどれですか?
  • デスクトップ環境でどちらを使用したいですか?サーバー環境のどれか。

非常に多くの質問。

20
jottr

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は単純な強化に適していると思います。

一般的に、安全性の高い場所で作業しない限り、未使用のサービスをオフにしたり、定期的に更新したりすることを除いて、汎用デスクトップをあまり強化する必要はありません。とにかくセキュリティを確保したい場合は、ディストリビューションがサポートしているものを使用します。それらの多くが効果的であるためには、アプリケーションのサポート(属性をサポートするためのコンパイルツール、書かれたルールなど)が必要なので、ディストリビューションがサポートしているものを使用することをお勧めします。

9

GRSecurity + PAXを使用します。他のすべては、単にbullsh * tをマーケティングしている、および/または主にPAXチームの作業に基づいています。 PAXの主な開発者であるpipacsは、Black Hat 2011/PWNIEで生涯業績賞を受賞しました。

彼の技術的作業はセキュリティに大きな影響を与えました。彼のアイデアは、近年のすべての主要なオペレーティングシステムのセキュリティ改善の基本であり、彼のアイデアは、最新のメモリ破壊攻撃手法を間接的に形作りました。今日では、勝者が先駆者となった防御的発明を扱っていない攻撃者を真剣に受け止めることはできません。

安全なボックスが本当に必要な場合は、grsecurity + paxを入手してください。 GRsecは、マシン、多くのファイルシステム(chroot)ベースの保護に対するRBAC制御を提供します。PaXは、ハッカーが使用する可能性のあるほとんどの攻撃ベクトルを閉じます。また、paxtestを使用してボックスをテストし、ボックスがどのような保護と脆弱性を持っているかを確認することもできます。

パフォーマンスに影響する可能性があります。ヘルプを読んでください:).

3
Jauzsika