
私は見てみました標準的なトピックServerFault にはありますが、残念ながら私が探していた「Apache vHost」は未回答の質問のリストにありました。この質問をしている人はたくさんいるので、これは少し意外でした。
とにかく、私の質問は「方法」についてではなく、仮想ホスト構成ファイルで使用する「ベスト プラクティス」は何ですか? 次の仮想ホストがあります:
<VirtualHost *:80>
ServerName example.com
DocumentRoot /home/webmaster/examplesite.com/htdocs
ErrorLog /home/webmaster/examplesite.com/logfiles/error.log
CustomLog /home/webmaster/examplesite.com/logfiles/access.log combined
</VirtualHost>
目的は達成され、物事はうまくいきますが、改善できる点があるかどうか知りたいです。特に、以下の問題に対処したいです。
- 私のサイトはどれくらい安全ですか?
- ユーザーが画像を投稿できる「アップロード」フォルダを用意したいと思います。vHost ファイルに何かを追加する必要がありますか?
- 上記の設定により Web サイトは最適化されますか、それともさらに最適化できますか?
- 他に見逃したものはありますか?
答え1
私のサイトはどれくらい安全ですか?
ログファイルを公開可能な状態で保存するのは得策ではありません。本番環境ではエラー メッセージの出力をオフにして、攻撃者が何も知らない状態にしておく必要があります (攻撃者はエラー メッセージを使って攻撃者を攻撃することはできません[1])。エラー ログにアクセスできれば、攻撃者が試行錯誤する可能性が高くなります。
ユーザーが画像を投稿できる「アップロード」フォルダを用意したいと思います。vHost ファイルに何かを追加する必要がありますか?
アップロードしたい外ドキュメント ルートは、ユーザーがスクリプト (PHP など) をアップロードして参照し、実行できる可能性を減らすために必要です。もちろん、これだけが唯一の保護策ではありませんが、構成要素の 1 つであることは間違いありません。
上記の設定により Web サイトは最適化されますか、それともさらに最適化できますか?
vhost では Web サイトをそれほど最適化することはできません。これは Apache レベルの構成です (この質問の範囲外です)。
他に見逃したものはありますか?
正直に言うと、判断するのは難しいです。要件は人それぞれです。たとえば、Web サイトがexample.com
- の場合、問題なく動作すると期待できますかwww.example.com
? そうであれば、 が欠けていますServerAlias
。
[1] 彼らが「無効なSQL」エラーを生成できると想像してください。彼らはクリーンアップされていない入力を見つけたことを知り、すぐにあなたのウェブサイトに侵入する方法を見つけます。最悪なのは、この種の攻撃は自動化できるということです。