# Как определить взлом по логам сервера и не допустить заражения сайта
В журнале событий сервера (логах) хранится информация о попытках доступа и ошибках. Это может помочь определить, что сайт был взломан. И если сделать это вовремя, то можно предотвратить добавление вредоносного кода в ваш код.
# Просмотр лога ошибок
Проверьте, к каким файлам были направлены последние запросы. Если это .htaccess, install.php, wp-config.php, то похоже, что вашим сайтом заинтересовался злоумышленник. Тем более, если IP–адрес компьютера пользователя вам незнаком.
Ошибка в журнале может выглядеть примерно так:
[Sat Jul 12 15:23:15 2023] [error] [client 123.45.67.890:20744] AH01630: client denied by server configuration: /путь/к/вашему/сайту/wp-config.php
Здесь мы видим, что кто-то пытался открыть файл wp-config.php, но так как у него не оказалось нужных разрешений, сервер не позволил ему это сделать.
Один и тот же IP-адрес может получать доступ к одной странице неоднократно, такие записи в журнале не считаются подозрительными. Но совсем другое дело, если пользователь совершает много попыток получения доступа к файлам, к которым не нужно столько раз обращаться при стандартной работе с сайтом. Особенно если это одни и те же файлы.
Проверьте логи на странные действия. Например, если после авторизации незнакомец проследовал в редактор плагинов, то наверняка это злоумышленник.
# Вычисление взломщика по ответам сервера
Цель злоумышленника — подобрать логин и пароль для входа на сайт. В журнале отображаются неудачные попытки авторизации. Сервер выдаёт в ответ на них 400-е ошибки. Если в после них в логе есть запись о получении доступа, значит, план коварного пользователя удался.
Несколько примеров ошибок:
- 400 Bad Request — ошибка синтаксиса или неверный запрос.
- 401 Unauthorized — ошибка, возникающая при необходимости авторизоваться, чтобы просмотреть веб-страницу (отобразится в логах, если пользователь не ввёл доступы или сделал это неправильно).
- 403 Forbidden — ошибка, которая появляется у тех, кому не разрешено просматривать веб-страницу.
- 429 Too Many Requests — ошибка, оповещающая о том, что поступил большой объём запросов за определённый отрезок времени.
Такие ответы сервера в журнале событий могут подсказать вам, что кто-то пытался получить доступ к вашему сайту. Постарайтесь предпринять меры для улучшения безопасности вашего веб-проекта и запустите антивирусную проверку.