Рейтинг:0

Сервер Apache2 снова и снова получает так много необычных запросов

флаг in

Я пытаюсь настроить веб-сайт WordPress и NodeJS вместе, и я использую сервер apache2 и виртуальную машину ubuntu (20.04). Я успешно настроил оба приложения на своем компьютере, но через некоторое время я начал получать необычные уведомления о недоступности сайта из моей системы мониторинга. Когда я проверил свою машину с Ubuntu, используя хтоп затем я обнаружил, что выполняется так много задач, и когда я проверил все более подробно, я обнаружил, что сервер apache вызывает себя снова и снова, что создает нагрузку на сервер apache и в конечном итоге приводит к отключению сайта.

Я также проверил количество запросов, которые получает мой сервер, и обнаружил, что мой сервер также получает очень много необычных запросов с разных IP-адресов. Так что я думаю, что это может быть DDoS-атака. Итак, я отключил свою машину и создал для этого новую машину, но на моей новой машине возникла та же проблема.

Я понятия не имею, почему это происходит с моей машиной. Если у кого-то есть идеи, пожалуйста, ответьте.

Выход HTOP: вывод

Вывод состояния Apache: вывод состояния апача

Вывод IP-запросов: Запросы IP-адреса

Gerrit avatar
флаг cn
Похоже, что ваш сервер получает много запросов от сторон, которые, вероятно, не имеют ничего общего с вашим сервером. Попробуйте mod_qos https://fedingo.com/how-to-limit-requests-per-ip-in-apache/ или запросите другой IP-адрес.
флаг me
это обычное дело. боты случайным образом сканируют серверы по всему Интернету, и они случайным образом проверяют URL-адреса, которые могут быть уязвимыми, и будут использовать их, когда найдут.
Piyush Mittal avatar
флаг in
@SharuzzamanAhmatRaslan Есть ли какое-либо решение этой проблемы, потому что это происходит снова и снова со мной каждый раз.
Piyush Mittal avatar
флаг in
@Gerrit Я попробовал ваше решение, но ничего не произошло. все то же самое.
Рейтинг:0
флаг cn

Так что видимо mod_qos не помог. Иногда нагрузка на сеть слишком мала, и модули Apache не могут ее эффективно смягчить.

Блок более низкого уровня можно попробовать с помощью iptables.

iptables -I INPUT 2 -p tcp -s z.y.z.w -m comment --comment "белый список ip 1" -j ПРИНЯТЬ
iptables -I INPUT 2 -p tcp -s z.a.b.c -m comment --comment "белый список ip 2" -j ПРИНЯТЬ
iptables -N ВЕБТРОТТЛ
iptables -A WEBTHROTTLE -m недавние --set --name WEB --rsource
iptables -A WEBTHROTTLE -m недавние --update --seconds 60 --hitcount 200 --name WEB --rsource -j LOG --log-prefix "Анти-веб-брутфорс:" --уведомление на уровне журнала
iptables -A WEBTHROTTLE -m недавние --update --seconds 60 --hitcount 200 --name WEB --rsource -j DROP
iptables -I INPUT 4 -i if-entry -p tcp -m tcp --dport 443 -m state --state NEW -j WEBTHROTTLE

Это требует, чтобы у вас уже были некоторые правила INPUT. Цифры сразу после INPUT являются точкой вставки в порядке правил. Все, что после этого числа, сдвинется на одно число вверх. В последнем правиле вы должны заменить интерфейс входа на что-то вроде eth0/ens192.

Аналогичные правила можно использовать и для ip6tables.

Чтобы получить список ваших текущих правил:

iptables -S ВВОД
Piyush Mittal avatar
флаг in
Я реализовал вышеуказанные команды на своей машине. Но я получаю некоторые ошибки для двух вышеуказанных команд. iptables v1.8.4 (старый): хост/сеть `z.y.z.w' не найден Попробуйте `iptables -h' или 'iptables --help' для получения дополнительной информации.
Gerrit avatar
флаг cn
z.y.z.w — это просто пример IP-адреса, который вы можете добавить в белый список. Например, IP-адрес, который вы используете для своих сеансов.
Piyush Mittal avatar
флаг in
Хорошо, но я должен сделать свой сайт открытым для публики. Итак, в таком случае, как другие люди будут получать доступ к веб-сайту.
Piyush Mittal avatar
флаг in
И я также заметил совсем другую вещь: если я добавляю доменное имя на свой IP-адрес веб-сайта, а затем пытаюсь получить к нему доступ, он работает нормально, но я пытаюсь использовать свой ipv4 напрямую, тогда он почти недоступен.
Gerrit avatar
флаг cn
Это просто блокировка тарифа, она не делает сайт недоступным. И ставки указаны очень высокие. Если вам нужны такие высокие рейты, то сервер все равно слишком легкий.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.