回答:
これらの推奨事項は私の頭の上にありませんし、包括的であることを意図していません。
Bastilleをご覧ください。Linuxのベストプラクティスを実装する一連のスクリプトです。
平文プロトコルで認証データを送信しないでください。たとえば、FTPを無効にします。Apache経由で認証データを送信する場合は、SSLを使用します。
GUIインターフェイスを含む不要なソフトウェアを無効にして削除します。
SUIDビットが設定されているファイルを監査して削除します。(これにより、非ルート機能が大幅に制限されます。個々の変更の影響を理解してください。)
書き込み可能なパブリックディレクトリを監査し、書き込み可能なビットを削除します。(/ tmpはそのままにします。)
ルートとしてデーモンを実行しないでください。
セキュリティのベストプラクティスについて、ソケットをリッスンするすべてのマルチユーザーソフトウェアを詳細に調査します。
システムへのユーザーの追加を回避することは、最良のアプローチの1つです。マルチユーザーシステムでは、細部に注意を払う必要があります。
パスワード標準を適用します。例:10文字以上、英数字以外の文字、文字と数字を使用。これは、パスワードファイルが侵害された場合に、ブルートフォースをより困難にするためです。システムを介してこれを実施します。
認証に5回失敗した後、最低10分のロックアウトでユーザーをロックアウトします。ユーザーが過去5つのパスワードを使用できないように、パスワード履歴を保持します。
大規模な環境の場合、リスクを分離するために複数のサブネットでネットワーク分離を使用することは絶対的な要件です。小規模な環境の場合、ローカルシステムでファイアウォールを実行して公開を制限することをお勧めします。たとえば、IPへのSSHのみを許可します。tcpwrappersは追加のレイヤーにも使用できます。(/etc/hosts.allow、/etc/hosts.deny)
そしてもちろん、すべてのソフトウェアを最新の状態に保ちます。特に公開デーモン。
SSHの場合:
without-password
(キーペアのみ)Apacheの場合:
MySQLの場合:
特にセキュリティのためにphp.iniのチューニングを調査することをお勧めします。デフォルトでは、より危険なソフトウェアです。
ここでは、あなたのditributionに応じて、あなたのセットアップのためのベースとして使用して変更することができてよかっ記事は次のとおりです。http://it.toolbox.com/blogs/rayheffer/how-to-build-a-secure-lamp-web- server-with-centos-5-36786
国防情報セキュリティ庁は一連の持つセキュリティチェックリストを開始するには良い場所です。各エントリの理論的根拠を理解するのがさらに良いですが、それは簡単な答えではありません。エンクレーブ、ネットワーク、Unix、およびWebサーバーのSTIGをご覧になることをお勧めします。