web-dev-qa-db-ja.com

SELinux対AppArmor対grsecurity

できるだけ安全なサーバーをセットアップする必要があります。 SELinux、AppArmor、grsecurityのどのセキュリティ拡張機能を使用しますか、またその理由は何ですか?これら3つのヒント、ヒント、賛否両論を教えていただけますか?

私の知る限り:

  • SELinux:最も強力だが最も複雑
  • AppArmor:SELinuxよりもシンプルな構成/管理
  • grsecurity:自動トレーニングによるシンプルな構成、単なるアクセス制御以外の機能
14
Marco

私はこの分野で多くの研究をしました。 MySQLのAppArmorのルールセット も利用しました。 AppArmorは、プロセス分離の最も弱い形式です。私が利用しているプロパティは、すべてのプロセスが/tmp/などの同じディレクトリのいくつかへの書き込み権限を持っていることです。 AppArmorの良い点は、ユーザー/管理者の方法に邪魔されることなく、いくつかのエクスプロイトを阻止できることです。ただし、AppArmorには、すぐには修正されない基本的な欠陥があります。

SELinuxは非常に安全であり、very迷惑です。 AppAmororとは異なり、ほとんどの正当なアプリケーションは、SELinuxが再構成されるまで実行されません。ほとんどの場合、これにより管理者はSELinuxの設定を誤ったり、まとめて無効にしたりします。

grsecurityはツールの非常に大きなパッケージです。私が一番好きなのはgrsecuirtyの拡張chrootです。これはSELinuxよりもさらに安全ですが、SELinuxとAppAprmorが「ちょうど動く」ようにchroot jailを設定するにはある程度のスキルと時間がかかります。

4番目のシステムは仮想マシンです。 VM攻撃者が「脱出」する可能性のある環境に脆弱性が見つかりました。しかし、VMは、 VMプロセス間で共有するリソースが少なくなります。aVMは仮想であり、が使用できるリソースは他のVM間のオーバーラップがほとんどないか、まったくない。これは<buzzword> "cloud computing" </buzzword>にも関連します。クラウド環境では、データベースとWebアプリケーションの分離。これはセキュリティにとって重要です。1つのエクスプロイトがクラウド全体とその上で実行されているすべてのVMを所有する可能性もあります。

7
Rook

個人的には、私はSELinuxを使用します。これは、ほとんどの場合、これをそのままの状態でセットアップしたRHELのあるフレーバーをターゲットにすることになるためです。 Red Hatには、応答性の高いメンテナ一式と、SELinuxの構成に関する非常に優れたドキュメントが多数あります。以下の便利なリンク。

1
Ophidian