私はDebian Apache PHPサーバーを持っています。クラシックなインストールプロセスの後でそれを保護したいと思っています。
私の通常の手順は次のとおりです。
expose_php=Off
、制限PHP使用するモジュール、訪問者にエラーを表示しない:display_errors=Off
およびlog_errors=On
、allow_url_fopen=Off
、allow_url_include=Off
と危険な関数を削除ServerSignature Off
、ServerTokens Prod
他に何か見えますか?
ホストベースのIDS を構成し、署名データベースにデータを入力して、Apacheで提供されるコンテンツをすべて削除することをお勧めします。また、ファイルを読み取るためにrootである必要がないように、ロギングに関する権限モデルをオーバーホールします。
サーバーで何をしているのかに応じて、実行したいことがいくつかあります。Apacheのタイムアウトと最大投稿サイズを確認し、open_basedirをPHPに設定します(通常のパフォーマンス調整とともに)) 。
Ubuntu用ですが、要点を把握するのに役立ちます: http://www.thefanclub.co.za/how-to/how-secure-ubuntu-1204-lts-server-part-1-基本
Www-dataとWebルート内のSSHユーザーの権限を編集することを忘れないでください。
これが何らかのWebアプリケーションであり、エンドユーザーがファイルをアップロードできる場合は、アップロードしたものが実行可能でないことを確認する必要があります。巧妙なハッキングの中には、.jpg画像に偽装したバイナリを、不正なアクセス許可を持つサーバーにアップロードすることが含まれます。
これは、権限に関する優れた投稿です(ベストアンサーを参照)。 https://serverfault.com/questions/357108/what-are-the-best-linux-permissions-to-use-for-my-website
SELinux (設定したい場合)。 Red Hatガイド は、Debianでの設定方法とほぼ完全に互換性があります。