Apache vHost — оптимизированный и безопасный

Apache vHost — оптимизированный и безопасный

Я взглянул наКанонические темы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?
  • Оптимизирует ли указанная выше настройка мой веб-сайт или я могу оптимизировать его дальше?
  • Что-то еще я мог пропустить?

решение1

Насколько безопасен мой сайт?

Хранить ваши файлы журналов так, чтобы они были потенциально общедоступны, — плохая идея. Печать сообщений об ошибках должна быть отключена в производстве, чтобы злоумышленники были слепы (они не могли использовать сообщения об ошибках против вас[1]). Имея доступ к журналам ошибок, они имеют больше шансов на пробы и ошибки.

Я хотел бы иметь папку "загрузки", куда пользователи могут публиковать изображения. Нужно ли мне что-то добавлять в файл vHost?

Вы хотите разместить загрузкиснаружикорневой каталог документа, чтобы уменьшить вероятность того, что пользователь может загрузить скрипт (например, PHP), а затем перейти к нему и запустить его. Конечно, это не единственная защита, которую вам следует иметь, но это, безусловно, один из компонентов.

Оптимизирует ли указанная выше настройка мой веб-сайт или я могу оптимизировать его дальше?

Вы не сможете по-настоящему оптимизировать свой веб-сайт с помощью vhost — это настройка уровня Apache (выходит за рамки данного вопроса).

Что-то еще я мог пропустить?

Честно говоря, сложно сказать. У всех разные требования. Например, если ваш сайт example.com— вы ожидаете, www.example.comчто он тоже будет работать? Если да, то вам не хватает ServerAlias.

[1] Представьте, что они могли бы сгенерировать ошибку «недопустимый SQL». Тогда они знают, что нашли не очищенный ввод, и быстро нашли способ взломать ваш сайт. Хуже всего то, что такие атаки можно автоматизировать.

Связанный контент