Ответы пользователя по тегу Защита от DDoS
  • Как "навесить" капчу на готовый сайт (anti-ddos, apache2/nginx)?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Капча ведь от полноценного DDoS-а не поможет. Если будет настоящий DDoS с 100500+ запросами в секунду - просто замучаетесь генерировать/отправлять эту капчу, с нулевым результатом, клиенты так и будут её без остановки запрашивать...

    Самое простое - в самих скриптах проверять валидность данных. Например аргумент zGzn1=Ar4lt1aB у вас где-нибудь существует/используется? Нет? Ну и баньте запрашивающего сразу, не через iptables - так через отдельный файл, скидывать туда все блокированные IP-шки.

    Можно сделать a-la Captcha, статичную страничку, на которую будут редиректиться все непроверенные запросы, и там JS-форма с кнопкой(ами), и надо щелкнуть определённую, и тогда будет нужный cookie/аргумент, и полный доступ к сайту... Но атакующие могут тоже адаптироваться, надо учитывать.

    Да, CORS поможет, потому что браузер сначала HTTP OPTIONS запросом узнаёт разрешения https сайта - а уже потом ломится за содержимым. Но тут зависит от механизма, действительно ли атакующие браузеры делают запрос с какой-то злонамеренной страницы? Если бы страница была - она отображалась бы в Referer... А тут больше похоже на вредоносный браузерный плагин, а не на ссылку с какой-то страницы, и CORS просто не сработает.

    По-моему так!
    Ответ написан
    3 комментария
  • Как защитить свое api от ddos-атак?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Если API - то вряд ли его будут DDoS-ить, с его минимальным трафиком.

    А с одного IP несколько одновременных коннектов возможны? А то можно в IPTABLES поставить лимит на коннекты.

    Ну и на уровне HTTP-сервера фильтровать мусорные запросы, если это Nginx.
    Ответ написан
    Комментировать
  • Как защититься от DDOS атак, которые генерируют POST запросы?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Капча. Ну или простейшее "Введите текст 'поехали' в это поле ввода". Или при загрузке формы через JavaScript добавлять скрытый параметр ddos_prevent со значением 'ok'.
    Ответ написан
    3 комментария
  • Можно ли ограничить пропускную способность во время ддоса?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Вот представьте, DDoS - это час пик в Москве. А вы турникетами перегородили въезд на придомовую территорию. И теперь искренне надеетесь, что благодаря придомовым турникетам МКАД перестанет пробками забиваться. Аналогия понятна?

    P.S. Даже если вы выдернете провод из сервера - DDoS трафик не исчезнет, он просто перестанет доходить до конечного устройства, будет подвисать на стадии инициализации коннекта. Cloudflare вам в помощь.
    Ответ написан
    Комментировать
  • Как создать правило фильтра для Fail2Ban?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Если вы отвечаете им статусом 444 - то эти запросы не должны ложить сервер. Ведь при ответе 444 запрос больше никуда на обработку не попадает (кроме Nginx-а), так?

    Или сервер ложится из-за огромного кол-ва запросов? Тогда FILTER
    [Definition]
    failregex = ^<HOST> - - \S+ "POST /api/pay HTTP/\d\.\d" 444 0 "-"
    Ответ написан
  • Как избавиться от ddos на конкретный домен?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Переименуйте файл в другое имя. Останется только ошибочный запрос к несуществующему файлу.

    Можно ещё добавить галочку-флаг "Хочу войти", без отмечания которой пароль вообще не проверяется, сразу говорится "Wrong username or password!". Роботы про эту галочку знать не знают, отмечать не будут... Или выпадающее меню с пятью вариантами ответов, где для реального человека только один вариант - логически корректный/правильный. Ну или Captcha, в конце-концов!

    Хотя действенней всего - удалить сам домен, мда!
    Ответ написан
    Комментировать
  • Как в ddos-guard.net добавить ns?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Значит можно предположить, что у ddos-guard.net просто нет своего NS-сервера, или не хотят пускать всех подряд. Значит переносить просто некуда. Ну так и оставьте NS у Яндекса. Если будут ddos-ить NS Яндекса - вас это ни как не коснётся, пока не завалят сам NS, что вря-я-я-ядли.
    Ответ написан
    4 комментария
  • У меня взломали сервер?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Согласно документации, полноценный доступ через прокси был у тех, у кого в логах есть "TCP_TUNNEL/200" и "TCP_TUNNEL_ABORTED/200". Это означает "подключился и получил ответ сервера", и "подключился, получал данные, разорвал соединение раньше времени". Ещё есть "TCP_MISS/200" - это аналог "TCP_TUNNEL/200", но через порт 80 (HTTP, без шифрования). А все "NONE/000" - это несостоявшиеся соединения на IP, которые вообще не ответили на попытку соединения.

    То, что эти строки а логах вообще есть - указывает на то, что у этих клиентов или был пароль, или ограничение по паролю не работало. Cloud-сервера покупаются/используются всеми, кто только захочет и имеет денежку в кармане. А "нащупали" простым сканированием всего Internet-а на стандартный Squid-порт TCP[3128], либо в логах своих WEB-сайтов увидели ваш IP как proxy server (в конфигах по умолчанию это включено). То, что пользовались Squid-ом - ничего не значит в разрезе взлома самого сервера. Конечно если пароль на Squid не одинаковый с паролем ROOT-а этого сервера.

    P.S. Стоило использовать абсолютно нестандартный порт, наугад по всему Internet-у его фиг найдёшь!
    Ответ написан
  • Атака на http сервер Apache, Постоянные запросы с IP из сети, Как избавиться?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Судя по приведённым логам, ваш HTTP-сервер считает, что абсолютно все-все-все запросы предназачены ему. При этом он не отвечает 404-ой ошибкой на совершенно чужие имена доменов (например nanqiang.vip и httpbin.org). То есть у вас HTTP-сервер настроен в режиме "default server", когда запрос с абсолютно любым доменным именем считается приемлемым, и обрабатывается штатно (читаются файлы, генерируется содержимое, вся эта нагрузка на CPU).

    Вам нужно настроить Apache на одно-два-три и т.д. конкретных доменных имени, что бы Apache полноценно обслуживал только их. А на все прочие доменные имена он будет мгновенно отвечать ошибкой 404.

    Конечно это не избавить от таких спамеров, но так хотя-бы сервер будет настроен более правильно (будет меньше нагрузка на CPU), а спамеры будут получать мгновенный отлуп в виде ошибки.

    P.S. Вполне возможно на вашем IP-адресе (очевидно на 80-ом порту) раньше работал proxy сервер. И те компьютеры в сети Интернет, которые были настроены на proxy на этом IP-адресе, до сих пор пытаются им пользоваться как proxy сервером. Правда полноценного хождения по WEB-сайтам через ваш сервер у них уже не получается, но они все равно пытаются (настройку пока не отменили). Остается терпеть... Или сменить IP-адрес. Или перейти на 443-ий порт.
    Ответ написан
    Комментировать
  • Как защититься от DDOS-атаки однотипными запросами к несуществующим файлам?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Бан по IP:
    iptables -I INPUT -s 37.45.11.152 -j DROP

    Удаление блокировки:
    iptabled -D INPUT -s 37.45.11.152
    Ответ написан
  • Как выявить взломали сервер или нет?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Трафик? Посмотрите хотя-бы /var/log/auth.log, туда некоторые службы складывают события авторизации, в том числе попытки взлома/подбора пароля. Может вас просто сетевые сканеры долбят, пытаются проломить, вот и трафик...

    Узнать, не взломали-ли? Можно проверить бинарники установленных программ утилитой debsums на случай их модификации. Антивирусники под UNIX-like тоже существуют, можно воспользоваться.
    Ответ написан
    3 комментария