Как защитить сайты от взлома?

Есть сервер, на котором хостится порядочное количество разных сайтов. К сожалению, поддерживать скрипты в актуальном состоянии и закрывать в них дыры не представляется возможным.
Подскажите какую-нибудь систему, которая защищала-бы хотя-бы от части атак.
Нужно что-то типа быстро работающей прослойки между пользователем и сервером что-бы отсекать наиболее распространенные вредоносные запросы(например если с реквестом приходит строка, содержащая "<?php")
Еще хотелось-бы вести логи, в которых отмечалось-бы появление новых php скриптов в папках с сайтами.
Подскажите что-нибудь пожалуйста.
  • Вопрос задан
  • 6233 просмотра
Решения вопроса 1
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Поскольку, различные правила постоянно обновляются и модифицируются, актуальная версия всех правил и рекомендаций по защите веб-сервера доступна по этой ссылке.
Ответ написан
Пригласить эксперта
Ответы на вопрос 6
@inkvizitor68sl
Linux-сисадмин с 8 летним стажем.
В первую очередь надо запретить писать веб-серверу где-либо, кроме tmp_dir (его отдельной) и session_dir. Всё остальное - полумеры.

> Еще хотелось-бы вести логи, в которых отмечалось-бы появление новых php скриптов в папках с сайтами.
Называется git + git status по крону в почту (если отличается).
Ответ написан
Sanasol
@Sanasol
нельзя просто так взять и загуглить ошибку
clamav

с реквестом приходит строка, содержащая "<?php"

В этот момент как бы уже слегка поздновато что-либо делать.
Ответ написан
Почитайте CIS Apache HTTP Server Benchmark (качать отсюда, нужно только анкету заполнить). Там есть основные рекомендации по настройке прав доступа, минимизации функционала, настройке tls, логирования и тд. Есть две версии документа для apache 2.4 и 2.2.
Для защиты от части атак - modsecurity + core rule set. Он не так суров, как naxsi, работает по принципу черного списка, а не белого. После допиливания правил для исключения false positives можно жить.
Ответ написан
@WinnerIT
Программист и фотограф-любитель
fail2ban
Ответ написан
Комментировать
akubintsev
@akubintsev
Опытный backend разработчик
Есть такой хороший модуль как nginx-naxsi, но он очень суров, надо тестировать, чтобы лишнего не обрубал. То есть времени на настройку требует прилично (как минимум требует просмотра логов), хотя она и не сложная сама по себе.
Он правда не решает проблемы учёта появления новых файлов, их изменений и т.д., но частично закрывает дыры в запросах.
Ответ написан
Комментировать
@repeat
У меня недавно вытягивали БД полностью использую sqlmap. Всё из-за отсутствия опыта, лени и не правильных запросов.
Поменяли запросы на что-то вида
$stmt = $dbLFSP->prepare("SELECT online, username FROM users WHERE online = :hostname");
$stmt->bindValue(':hostname',$hostname);
$stmt->execute();
$users = $stmt->fetchAll();

проблем стало гораздо меньше.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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