Материал просмотрен 3,147 раз(а)

Здравствуйте, уважаемые читатели!

Приношу свои извинения за то, что сайт какое-то время был недоступен. Мы лежали под DDoS атакой. Как я это заметил? Просто напросто ресурс перестал открываться. При этом, доступ физически сохранился. Тут я понял, что проблема в Apache.

Мы выстояли

Мы выстояли

# netstat -an | grep :80

вывело мне туеву хучу соединений. Сомнений не оставалось. Мы под DDoS-ом.

DDOS0

Собрал все IP в Excel-файл, пробил по странам. Совершенно разные, Чехословакия, Турция… Пробежался по Google. Оказывается, не я первый. Множество сайтов долбилось бот-сетями. Рискнул предположить, что брутят админку на Litl-Admin.ru. Проверить очень легко:

# tcpdump dst port 80 -XX -vvv -c 10

Заловил 10 пакетов, вот что увидел в одном из них:

DDOS1

Так и есть, перебирают пароли. Решил остановить Апач.

# apache2ctl stop

До тех пор, пока не воздвигну ещё один эшелон защиты, решил сервер не включать.

В плане защиты WordPress-блока информации хватает. Решил сделать .htaccess защиту на файл авторизации.

Как создать Basic Auth защиту

  1. Создаем файл .htaccess в корне сайта;
  2. Записываем в него:
    <FilesMatch "wp-login.php">
    AuthName "Unauthorized"
    AuthType Basic
    AuthUserFile /tmp/.htpasswd (тут используйте другой путь!!!)
    require valid-user
    </FilesMatch>
  3. htpasswd -c /tmp/.htpasswd testuser
    <вводим пароль для пользователя>
  4. Теперь при попытке доступа к файлу wp-login.php будет выдаваться дополнительное окно авторизации, в котором необходимо ввести имя пользователя testuser и пароль, заданный при создании файла .htpasswd

Перезапустил сервер. Сайт доступен, попытки долбёжки еще есть, но уже в разы меньше. Будем держаться. Мы с вами до конца!