ServerAdmin.ru | Linux | DevOps
ServerAdmin.ru | Linux | DevOps
2 033 подписчиков · @srv_admin
К каналу →
Давно уже надумал заменить свой основной рабочий ноутбук. Ещё год назад делал по этому поводу публикацию. Там какое-то рекордное обсуждение вышло на 1000+ комментариев. Меня убедил…
Читать далее →
10 051
Вспомнилось очень старое и неприметное видео с небольшим количеством просмотров и комментариев: ▶️ Imagine DevOps Ностальгическая пародия на песню Джона Леннона - Imagine. Забавн…
Читать далее →
10 021

Сейчас борьба с DDOS - в основном удел специальных сервисов, у которых есть свои каналы и пулы IP адресов.

Сейчас борьба с DDOS - в основном удел специальных сервисов, у которых есть свои каналы и пулы IP адресов. Без этого эффективной защиты не построить. Если у вас не подключена специализированная защита, то вас просто отключит провайдер в случае серьёзной атаки.

Но далеко не всегда атаки реально серьёзные, с которыми невозможно справиться самостоятельно. С подобной ситуацией столкнулся в очередной раз. И вроде как успешно справился. Расскажу обо всём по порядку.

У меня есть в управлении веб сервер с очень старым проектом. Он уже не приносит прибыль, но бросить его жалко. У него очень много страниц в индексе, люди всё ещё заходят. Покупать для него защиту смысла не имеет.

В какой-то момент на сервер полился спам запросов на форумный поиск. Не сказать, что очень много, но сервер загрузили полностью. Отклик по 10-15 секунд, часто 500-е ошибки. Все запросы с разных IP, почти не повторялись. Трафик лился примерно 10-20 мегабит, небольшой, но и виртуалка под сервер не очень мощная, ей этой нагрузки хватало, тем более в поиск.

Я зашёл на сервер и бегло посмотрел, что там за IP адреса. Они были из экзотических стран, типа Сейшелы, Маврикий, Малайзия и т.д. Проект под аудиторию из РФ, решил временно ограничить страны, откуда идёт спам. Можно было бы разрешить только РФ и страны СНГ, а остальное запретить, но эти списки ненадёжны. А тем более сейчас, когда куча людей сидит по ВПН. Сразу скажу, что в любом случае это решение временное, на время атаки. Позже я такие ограничения убираю.

Есть сервис со списками IP адресов по странам. Я обычно его использую, так как списки легко забрать через wget. На сервере стоит iptables и ipset для больших списков адресов. Набросал простенький скрипт для загрузки IP стран и добавления их в iptables:

#!/bin/bash
country=mu
ipset -N ${country}_ip nethash
wget -O tmplist https://www.ipdeny.com/ipblocks/data/countries/${country}.zone
list=$(cat tmplist)
for ipnet in $list
 do
 ipset -A ${country}_ip $ipnet
 done
iptables -I INPUT 1 -m set --match-set ${country}_ip src -j DROP

Скрипт рабочий, я его сходу написал и использовал. Ничего не отлаживал, проверок не делал, не оптимизировал. Любой ИИ вам всё это сделает, если нужно будет. У меня такой задачи не стояло.

Это помогло. Спам запросов прекратился. Через несколько дней возобновился. Список IP адресов очень разнообразный - США, Европа. Блокировать по странам не стал. Посмотрел внимательно на запросы. У них почему-то у всех был одинаковый user agent с фразой: Macintosh; Intel Mac OS X 10_15_7. Пример лога веб сервера привёл на картинке.

Решил банить IP по этому признаку. Сначала прошёл по всему логу и собрал всех с этим юзер агентом, кто сделал более одного запроса:

# egrep "Intel Mac OS X 10_15_7" /var/log/nginx/access.log | awk '{print $1}' | sort -n | uniq -c | sort -n | awk '{if ($1 > 1 ) print $2}' > 10_15_7.txt

А потом загнал их в список ipset скриптом:

#!/bin/bash
{
echo "create 10_15_7 iphash hashsize 32696 maxelem 262144"
while read -r ip; do
echo "add 10_15_7 $ip"
done < 10_15_7.txt
} > ipset-restore
ipset restore < ipset-restore

И забанил:

# iptables -I INPUT 1 -m set --match-set 10_15_7 src -j DROP

Это частично помогло, но, постоянно лезли новые IP. Собрал ещё один скрипт, который берёт только последние 3000 строк лога. Перед запуском создал список и правило для него:

# ipset -N banip iphash hashsize 16348 maxelem 131072
# iptables -I INPUT 1 -m set --match-set banip src -j DROP

Скрипт:

#!/bin/sh
tail -n 3000 /var/log/nginx/access.log | egrep "Intel Mac OS X 10_15_7" | awk '{print $1}' | sort -n | uniq -c | sort -n | awk '{if ($1 > 0 ) print $2}' > ban.txt
list=$(cat ban.txt)
for ipnet in $list
  do
   ipset -A banip $ipnet -exist
  done

Поставил его в cron на запуск раз в минуту. Примерно через час все адреса оказались в бане и нагрузка упала.

Не знаю, что это было, кто и зачем ддосил этот веб сервер. Какая-то бессмыслица, но ситуация реальная. Написал заметку по горячим следам.

#iptables #ipset #ddos
Я уже упоминал ранее, что Proxmox Virtual Environment (Proxmox VE), как говорится, пошёл в народ. А за ним и в бизнес. Начала появляться куча программ, в том числе коммерческих, во…
Читать далее →
9 812
Каждый раз, когда пишу заметки на тему DDOS, в комментариях появляются одни и те же заблуждения. Я не сказать, что прям такой большой специалист по этой теме, но у меня в управлени…
Читать далее →
10 021
Другие главы канала «ServerAdmin.ru | Linux | DevOps»
Выберите главу, чтобы продолжить чтение
Все посты →
Глава от 22.07.2026
Середина лета, такое затишье. Ощущение, что все по отпускам разъехались и никто …
👁 321 просмотров
Глава от 21.07.2026
Есть довольно известная программа в Linux (в Windows тоже работает) для хранения…
👁 645 просмотров
Глава от 20.07.2026
Недавно посмотрел обзор блогера на очередную утилиту под PVE для просмотра сводн…
👁 783 просмотров
Глава от 17.07.2026
▶️ Очередная подборка авторских IT роликов, которые я лично посмотрел и посчитал…
👁 786 просмотров
Глава от 17.07.2026
Как подготовиться к плановой проверке Роскомнадзора? Читайте в канале КСБ-СОФТ а…
👁 500 просмотров
Глава от 16.07.2026
У меня дома скопилось некоторое количество 1ТБ дисков, которые всё время собирал…
👁 942 просмотров
Глава от 15.07.2026
С недавнего времени стал дома работать на стационарном компьютере. При этом оста…
👁 1 002 просмотров
Глава от 14.07.2026
Есть разные способы автоматической доставки необходимых пакетов софта на целевые…
👁 873 просмотров
Глава от 13.07.2026
Вернулся из небольшого отпуска. Последняя публикация была на эту тему не просто …
👁 988 просмотров

Популярные посты канала «ServerAdmin.ru | Linux | DevOps»

▶️ Очередная подборка авторских IT роликов, которые я лично посмотрел и посчитал интересными/полезными. Это видео из моих подписок за послед…
👁 10 157 просмотров
🎓 Я периодически просматриваю поток Администрирование на Хабре. Лет 5 назад и раньше я делал это регулярно, а потом забросил и вообще ничего…
👁 10 147 просмотров
117 приказ ФСТЭК: с 1 марта меняются правила игры в информационной безопасности. Приглашаем на вебинар о новых требованиях регулятора и спо…
👁 10 136 просмотров
У платформы для управления IT инфраструктурой INFRAX в начале марта вышел первый стабильный релиз 1.0. Я уже делал заметки по этой системе: …
👁 10 062 просмотров
Расскажу про один трюк в strace, про который я вроде бы ещё ни разу не писал. В нём ничего особенного нет, но в некоторых ситуациях с ним уд…
👁 10 058 просмотров
Давно уже надумал заменить свой основной рабочий ноутбук. Ещё год назад делал по этому поводу публикацию. Там какое-то рекордное обсуждение …
👁 10 051 просмотров
Каждый раз, когда пишу заметки на тему DDOS, в комментариях появляются одни и те же заблуждения. Я не сказать, что прям такой большой специа…
👁 10 021 просмотров
Вспомнилось очень старое и неприметное видео с небольшим количеством просмотров и комментариев: ▶️ Imagine DevOps Ностальгическая пародия …
👁 10 021 просмотров
Домучиваю статью про Loki. Никак не соберусь и не доделаю её полностью. В процессе настройки хочется наполнить систему реальными логами в но…
👁 10 015 просмотров
Я не раз между делом в заметках упоминал, что обычно не ставлю в автоматическую загрузку виртуальные машины на гипервизорах. Недавно один по…
👁 9 990 просмотров
Хочу дать небольшие советы, основанные на личном опыте работы в отрасли. Может показаться, что они будут актуальны только новичкам, но это д…
👁 9 963 просмотров
Недавно была публикация про PDF принтер в Windows. В комментариях дали ссылку на шикарный бесплатный сервис BentoPDF для работы с PDF. Причё…
👁 9 933 просмотров
Очередная подборка статей авторов, которые согласились в ней участвовать. Кто не понимает, о чём идёт речь, может прочитать прошлые публикац…
👁 9 903 просмотров
В Microsoft работают настоящие специалисты по возвращении в систему одного и того же бага. Сколько лет уже наблюдается одна и та же проблема…
👁 9 886 просмотров
Я написал подробный обзор межсетевого экрана и по совместительству шлюза ИКС ФСТЭК, который можно установить на своё железо или виртуальную …
👁 9 877 просмотров
Тихой сапой платформа виртуализации Proxmox захватила весь сегмент малого и среднего бизнеса и потихоньку ползёт дальше. Уже есть сравнения …
👁 9 868 просмотров
Мне недавно один читатель задал простой вопрос, который заставил задуматься. Человек пояснил, что он далёк от ИТ, не сильно во всём этом раз…
👁 9 823 просмотров
Сегодня много времени провёл в дороге и размышлял над некоторыми вещами, в том числе об ИИ. Хочу с вами поделиться некоторыми мыслями. Я сей…
👁 9 820 просмотров
Есть популярная бесплатная виндовая программа из далёкой древности - doPDF. Когда нужно добавить в систему pdf принтер, я вспоминаю именно …
👁 9 813 просмотров
Я уже упоминал ранее, что Proxmox Virtual Environment (Proxmox VE), как говорится, пошёл в народ. А за ним и в бизнес. Начала появляться куч…
👁 9 812 просмотров

Связанные темы в других каналах

Каналы из той же тематики, где часто появляются близкие сюжеты
Вся тема →
@canalmaxone
AntiCloudMod
AntiCloudMod — сообщество для тех, кто ценит свободу общения без облачной цензуры. Здесь обсуждают альтернативные мессенджеры, инструменты для приватности и децентрализов…
👥 437 739 · -9 472/7д
@WylsacomRed
Wylsacom Red
Официальный канал Wylsacom в Max. Тут всё про технологии и жизнь в ногу со временем! Номер заявления для регистрации в РКН: № 6979154178 Розыгрыши: kichaev@wylsacom.med…
👥 160 075 · +1 386/7д
@BelgorodDRONE
Информация БПЛА Белгород, Белгородский район
Информация БПЛА Белгород, Белгородский район — специализированный канал в мессенджере Макс, посвященный новостям и информации о беспилотных летательных аппаратах в регион…
👥 155 384 · +7 993/7д
@TikTokModCloud
TikTokModCloud
Официальные обновления стабильного мода TikTok Чат: https://clck.ru/3S6mVh По рекламе: https://iimax.ru/dim4ugan
👥 97 308 · +2 040/7д
@biologia89
ФЛАСКА
ФЛАСКА Уважайте себя и других участников Этот канал является неофициальным источником в сети МАКС с 2026 года. Это Фан-страница, которая ведется преданным фанато
👥 88 928 · +25 061/7д
@malepeg
Джейпег Малевича
Эксплойт Бэкдор Техномотель Кабачковая икра по акции Wylsacom Технологии Техно Технотренды Технолавка не баг а фича Менеджер: t.me/Alivian Работаем с: t.me/Spiral_Yuri…
👥 75 742 · +55 245/7д
🏷 Темы и теги
#iptables #ipset #ddos #linux администрирование #devops инструменты #ansible автоматизация #sysadmin блог #отказоустойчивая инфраструктура #серверные решения #Технологии
📋 О канале ServerAdmin.ru | Linux | DevOps
Авторский канал для тех, кто управляет серверами и строит отказоустойчивую инфраструктуру. Здесь вы найдете практические руководства по Linux, автоматизации с Ansible и DevOps-инструментам. Без воды — только проверенные конфиги, скрипты и решения реальных задач sysadmin. Подписывайтесь, чтобы не пропустить новые статьи и туториалы.
🔍 Архив всех постов Макс
Поиск по 12,459,516 постам из 201,882 каналов
Подключить за 490 ₽/мес →
Удалить пост или канал с МАКСОТЕКИ
Заявка подтверждается через бота Макс: нужно быть администратором канала и добавить бота МАКСОТЕКИ в администраторы. После проверки канал или конкретный пост скрывается с сайта.
📊 Аналитика канала «ServerAdmin.ru | Linux | DevOps» ➡️ Перейти в канал Макс
Заявка в МАКСОТЕКА
Добавьте свой канал в каталог
Зарегистрируйтесь в личном кабинете и добавьте канал за пару кликов.
Перейти в личный кабинет →

Бесплатная регистрация, быстрая модерация.