自宅で小さなサイトをホストしたいのですが、次のようにApacheなどをインストールしました:
-
sudo apt-get update
-
sudo apt-get install tasksel
-
sudo tasksel install lamp-server
すべてが機能し、すべてが稼働しています。
現在、私はXAMPPを使用して開発することに慣れており、多くの参考文献があまり安全ではないと述べているため、ライブを使用したくありませんでした。
だから私の質問は、Apache/PHPとMySqlが上記の方法でインストールされたということです。デフォルトのセキュリティレベルはどうですか?
それをより安全にし、おそらく推奨される可能性のある変更のチェックリストまたは要約を作成する方法はありますか?
明確化:LAMPサーバーは、開発中のサイトではなく、ライブサイトになります。
承認された回答:
私はインターネットに接続されたUbuntuで自分のLAMPサーバーを実行しているので、常に同じガイドラインに従います。通常、私は以下をチェックします:
- Apacheで、ドキュメントを削除するか、少なくともWebサーバーを介してドキュメントを提示しないでください(リンク
/etc/apache2/conf-enabled/apache2-doc.conf
を削除してください)。 ) - Apacheでは、不要なモジュールがロードされていないことを確認してください。 Ubuntuの場合、これは
/etc/apache2/mods-enabled
のリンクを削除することで実行されます。 。各リンクは、/etc/apache2/mods-available
内のファイルを指します 一度にモジュールをロードして構成するディレクトリ。 -
/etc/apache2/conf-available/security.conf
を確認して有効にすることをお勧めします。 。彼らは、デフォルトではアクティブ化されていないいくつかのセキュリティのヒントを提案しています: - 後で明示的に許可するディレクトリを除く、ファイルシステム全体へのアクセスを拒否する
- サーバーバナーを変更して、実行中のソフトウェアに関する情報をできるだけ少なくします。
- PHPでは、エラーが発生した場合に備えて、画面にあまり多くのログ情報を出力しないようにしてください(エラー処理とログのセクションのパラメータ
/etc/php4/apache2/php.ini
の ファイル。ファイル内のコメントは、何をするのが望ましいかについて多くの情報を提供します) -
MySQLサーバーをインターネットに公開する必要はありません。デフォルトでは、Ubuntuでは、Mysqlサーバーはローカルホストでのみリッスンします。
/etc/mysql/my.cnf
を確認してください セクションmysqld パラメータbind-address 。 127.0.0.1にあるはずです:bind-address =127.0.0.1
-
このサーバーには、必要以上のサービスをインストールしないでください。
- 到着時に更新を適用することを忘れないでください。
- LAMPサーバーの構成のみに依存しないでください。また、セキュリティ上の脅威をもたらす可能性のあるPHPアプリケーションを実行する必要があることを忘れないでください(入力検証など、入力にSQLクエリを入力しないようにするためのもの)。 DBから自分で提供したはずの詳細情報を取得するためのフィールド…)
これらは私の頭の中で最初のものです。もちろん、インターネットでより詳細なハウツーとガイドを見つけることができます:
- Mysql5.5のセキュリティ
- PHPでのセキュリティに関する考慮事項
- Apache2.4のセキュリティのヒント