できるだけ安全なサーバーをセットアップする必要があります。どのセキュリティ強化を使用しますか?また、なぜ、SELinux、AppArmor、またはgrsecurityですか?これら3つのヒント、ヒント、賛否両論を教えていただけますか?
私の知る限り:
- SELinux:最も強力だが最も複雑
- AppArmor:SELinuxよりも簡単な構成/管理
- grsecurity:自動トレーニングによる単純な構成、単なるアクセス制御以外の機能
できるだけ安全なサーバーをセットアップする必要があります。どのセキュリティ強化を使用しますか?また、なぜ、SELinux、AppArmor、またはgrsecurityですか?これら3つのヒント、ヒント、賛否両論を教えていただけますか?
私の知る限り:
回答:
私はこの分野で多くの研究を行ってきました。私はAppArmorのMySQLのルールセットも利用しました。AppArmorは、プロセス分離の最も弱い形式です。私が悪用しているプロパティは、すべてのプロセスが、などの同じディレクトリのいくつかに対する書き込み権限を持っていること/tmp/
です。AppArmorの素晴らしい点は、ユーザー/管理者の邪魔をすることなく、いくつかのエクスプロイトを破ることです。ただし、AppArmorにはいくつかの根本的な欠陥があり、すぐには修正されません。
SELinuxは非常に安全であり、また非常に迷惑です。AppAmororとは異なり、ほとんどの正当なアプリケーションは、SELinuxが再構成されるまで実行されません。ほとんどの場合、これにより、管理者がSELinuxを誤って設定したり、SELinuxをすべて無効にしたりします。
grsecurityはツールの非常に大きなパッケージです。私が一番気に入っているのは、grsecuirtyの拡張chrootです。これはSELinuxよりもさらに安全ですが、SELinuxとAppAprmorが「正常に動作する」場所でchroot刑務所を設定するには多少のスキルと時間がかかりますが。
4番目のシステムである仮想マシンがあります。VM環境で、攻撃者が「ブレイクアウト」できる脆弱性が発見されました。ただし、VMは、プロセス間で共有するリソースが少ないVMでchrootを使用するため、さらに大きな分離があります。VMで使用可能なリソースは仮想であり、他のVM間で重複がほとんどまたはまったくない場合があります。これは<buzzword>
「クラウドコンピューティング」にも関連してい</buzzword>
ます。クラウド環境では、データベースとWebアプリケーションを非常にきれいに分離できますが、これはセキュリティにとって重要です。また、1つのエクスプロイトがクラウド全体とその上で実行されているすべてのVMを所有する可能性もあります。
<buzzword>
タグの代わりに「私の尻」と書くだけで、誰もがあなたの意味を知っているでしょう;)
個人的には、SELinuxを使用します。これは、ほとんどの場合、この設定をすぐに使用できるRHELのフレーバーをターゲットにすることになるためです。また、Red Hatにはレスポンシブなメンテナーのセットがあり、SELinuxの構成に関する非常に優れたドキュメントがたくさんあります。以下の便利なリンク。