Безопасность веб-сервера Apache и подсказки по оптимизации

v.size() возвращает результат size_t, который имеет тип без знака . Значение без знака минус 1 все еще без знака. И все ненулевые значения без знака больше нуля.

5
задан Luke 19 July 2013 в 17:24
поделиться

6 ответов

Основной

  1. Обязательно имейте последнюю стабильную установленную версию. Выполнение старой или нестабильной версии Apache могло подвергнуть Вашу систему дефектам безопасности или непротестированным решениям
  2. Убедитесь, что только намеченные запросы на самом деле обрабатываются. Необходимо рассмотреть, кто должен получить доступ к веб-ресурсам, выставленным Apache и как.
  3. Избегайте рабочего Apache как корня. Это - необходимость.
  4. Обработайте свои журналы. Журналы имеют тенденцию становиться больше и больше; рассмотрите, чтобы установить logrotate или периодически чистить Ваш журнал.
  5. Здоровье Apache монитора с системой контроля. Мне нравится связывать munin и monit, и легкий к setuo и поддерживать. Nagios и другие достойные внимания.
  6. Если Apache вручает веб-приложения (т.е. PHP, Perl, направляющие) уверены, что запросы обработаны правильным модулем в правильном порядке.
  7. Запишите хорошие 404 и 500 сообщений. Рано или поздно Ваши посетители зафиксируют ошибку.
  8. Остановите и перезапустите Apache, таким образом, можно быть уверены оба shoutdown и запуститься, процедура работает flawlessy.
  9. Используйте mod_security

Безопасность

  1. Защитите Apache от DOS.
  2. Загрузите только модули, действительно необходимые.
  3. Контролируйте свой журнал, чтобы выяснить, происходит ли что-то странное.

Производительность

  1. Если Вы компилируете Apache от исходного кода, несомненно, будут использовать MPM (Многопроцессорные Модули).
  2. Загрузите только модули, действительно необходимые.
  3. Проверьте установку MaxClients так, чтобы Ваш сервер не порождал столько детей, которых это начинает подкачивать.
  4. Используйте mod_deflate модуль, он обеспечивает ВЫКАЧИВАТЬ выходной фильтр, который позволяет выводу с Вашего сервера быть сжатым прежде чем быть отправленным клиенту по сети.
9
ответ дан 18 December 2019 в 10:50
поделиться
  • Удостоверьтесь, что процесс Apache не работает как корень.
  • Обязательно будьте на последней стабильной версии
  • Если поле непосредственно подключено к Интернету, гарантируют, что Вы думали обо всех других сервисах, как ssh.
  • Тщательно осмотрите свои локальные правила брандмауэра, сожмите его вниз. (См. iptables),
  • Не включайте опции, которые Вы не понимаете или не планируете использовать
  • Рассмотрите подписку на список рассылки безопасности Apache, таким образом, Вы узнаете сразу же о любых критических патчах
3
ответ дан 18 December 2019 в 10:50
поделиться
  1. Chroot веб-сервер
  2. Отключите любой модуль, в котором Вы не испытываете необходимость
  3. Один Вам вместо этого нужно, mod_security
  4. Настройте средство проверки целостности файлов для своего webroot
  5. Защитите все остальное на том же сервере и выключите что-либо не используемое
  6. Запустите тесты против своего сервера с инструментами как nmap или Metasploit
3
ответ дан 18 December 2019 в 10:50
поделиться

Если Вы выполняете стандартную ЛАМПУ (Linux, Apache, MySQL, PHP/PEARL/PYTHON) среда: Поместите MySQL на другую машину, чем Apache. Будет немного медленнее только с несколькими параллельными процессами (из-за сетевой задержки), но будет НАМНОГО быстрее со многими параллельными процессами.

0
ответ дан 18 December 2019 в 10:50
поделиться

Я собираюсь интерпретировать "после установки Apache на поле" как "Подготовка новой установки сервера для производственного использования", из-за курса это было бы все сделано на сервере разработки и предано SCM или встроено в автоматизированную установку.

Все, что Вы делаете для оптимизации, должно быть сделано на основе реального measurments. Настройте тестовую среду со своим реальным приложением, которое Вы намереваетесь запустить, максимально реалистично. Некоторые вопросы для рассмотрения:

  • Не устанавливайте MaxClients слишком высоко. Можно израсходовать много RAM, особенно с серверами перед ветвлением с крупным приложением, встроенным в них (например, mod_perl, PHP и т.д.). Используя слишком большую память контрпродуктивно. Для клиентов лучше ожидать успешного сервиса, чем быть поданным ошибка.
  • Рассмотрите тщательно, есть ли у Вас Сообщения проверки активности на. Они могут и убыстриться и замедлиться в зависимости от Вашей среды. Если Вы принимаете решение иметь их на, необходимо думать о тайм-ауте проверки активности на основе фактического варианта использования.
  • Сделайте тестирование производительности с HTTPS включило при использовании HTTPS в производстве
  • Установите "Измененный в последний раз", и "Истекает" заголовки соответственно на объектах, которые нечасто изменяются (для увеличения клиентского кэширования). Протестируйте сторону клиента, кэширующуюся во множестве браузеров.
  • Удостоверьтесь, что Ваше приложение использует HTTPS правильно, не способом, который заставляет браузеры генерировать предупреждения системы безопасности (это - другое серьезное основание, необходимо использовать HTTPS во время тестирования),
1
ответ дан 18 December 2019 в 10:50
поделиться

Удостоверьтесь, что Вы настроили его для обнаружения DOS (Отказ в обслуживании) нападения.

0
ответ дан 18 December 2019 в 10:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: