web-dev-qa-db-ja.com

CentOS 6.3環境では、grsecurityによるサーバーの強化が本当に必要ですか?

自分はITに関してはある程度上手だと思いますが、サーバーとシステムの管理には比較的慣れています。私は会社のWeb開発者であり、会社が長年にわたって使用している共有ホスティングから離れるために、新しいVPSを設定して移行する責任を負っています。

このプロセスでは、約1週間かけてサーバーを強化し(セキュリティが問題になったため、そもそも移動しているのです)、何度もサーバーを強化しました。私はConfigServerファイアウォールをインストールして構成し、SSHを強化し、秘密鍵のみを使用しました。しかし、有望に見える grsecurity と呼ばれるプログラムを見つけましたが、それが過剰であるかどうかについて私はただ知りたくないと思いますか?

Grsecurityで本当に必要なものはありますか?それとも私がなしでできることですか?バッファオーバーフローを防ぐ方法について何か読んだことがありますが、このサーバーのセキュリティに多くの可動部分を追加したくないので、これが価値があるかどうかに興味があります。面。

フィードバックや、チュートリアルや情報へのリンクをお待ちしています。

価値のあるものとして、サーバー環境は次のとおりです。

  • Linode VPS 2048
  • CentOS 6.3
  • PHP 5.4.5
  • ConfigServerファイアウォール

繰り返しますが、私はあなたが私に提供できるどんなフィードバックにも感謝します!私はこのコミュニティを暗黙のうちに信頼しています。あなたが話していることを皆さんが知っていることは知っています。

13
Pierce

grsecurity (別名grsec)は実際にはプログラムではなく、Linuxの強化スイートです。

以下が含まれます。

これらの機能は、シェルコードがシステムで正常に実行されないようにするために設計されています。 chrootおよびその他のシステム機能の制限は、信頼されていないプロセス(httpdなど)が実行してはならないタスクを実行するのを防ぐのに役立ちます。

実用的な改善の例をいくつか示します。

  • ptraceおよびその他の防止IPC互いに対話してはならないプロセス間のメカニズム。
  • /proc/[pid]/ipaddrによるフォレンジック機能
  • httpdは、非常に制限された権限(chrootの外ではkill、pid/sidセットなし、sysctl書き込みなしなど)でchroot jailに配置できます。
  • プロセス、ユーザー、グループ、およびその他のエンティティの完全な詳細な監査。
  • カーネルモードプロセスをユーザーモードから完全に隠す機能。

Grsecを構成する上で最も困難で強力な部分は、RBACシステムです。特定のプロセスの特権と能力を適切かつ完全に構成することは、ユーザーに依存しています。デフォルトでは、これはかなり制限されたセットです。これにより、特定のプロセスがクラッシュして強制終了することがよくありますが、多くの場合、明確な理由はありません。ただし、正しく調整すれば、信じられないほどのセキュリティ対策になります。

これは高セキュリティのシナリオに最適です。最初にRBACを無効にしてgrsecをインストールしてから実行することを強くお勧めします。単一のデーモンの脆弱性のためにシステム全体がpwnされないように、サービス(少なくともhttpd、できればSQL /メールデーモンも)に適切なchrootを設定します。

単一の回答ではカバーしきれないほどの方法があるため、 grsec wikibook を一読することをお勧めします。

あなたがそれを必要とするかどうかについて-それは異なります。構成は複雑であり(ソースからのカーネルの再コンパイル、および多くの自動トレーニングと手動の構成編集が含まれます)、完全に設定するにはかなりの時間がかかりますが、その結果、サービスデーモンおよびカーネル自体のリモートコード実行の脆弱性。そのような攻撃から身を守るためにどれだけの時間を費やしたいかを考え、そこから進んでください。

15
Polynomial