el_misho Опубликовано 4 апреля, 2011 · Жалоба Здравствуйте, Есть Ubuntu server + iptables + squid. Пользователи нахватали вирусни и постоянно флудят по 25 порту: 00:00:14.132027 IP 10.10.5.65.1195 > 65.55.92.168.25: Flags [s], seq 229799778, win 65535, options [mss 1460,nop,nop,sackOK], length 0 00:00:02.296851 IP 10.10.5.65.1230 > 65.55.37.88.25: Flags [s], seq 611220249, win 65535, options [mss 1460,nop,nop,sackOK], length 0 00:00:00.670760 IP 10.10.5.65.1195 > 65.55.92.168.25: Flags [s], seq 229799778, win 65535, options [mss 1460,nop,nop,sackOK], length 0 00:00:02.313485 IP 10.10.5.65.1230 > 65.55.37.88.25: Flags [s], seq 611220249, win 65535, options [mss 1460,nop,nop,sackOK], length 0 00:00:02.260997 IP 10.10.5.65.1315 > 65.55.92.168.25: Flags [s], seq 1877130857, win 65535, options [mss 1460,nop,nop,sackOK], length 0 00:00:01.460691 IP 10.10.5.65.1195 > 65.55.92.168.25: Flags [s], seq 229799778, win 65535, options [mss 1460,nop,nop,sackOK], length 0 В качестве временного решения для флудящего ip закрываем на файерволе 25 порт, связываемся с ним по телефону и просим сделать полную проверку компа на вирусы: iptables -I FORWARD 1 -p tcp -s 10.10.5.65 --dport 25 -j REJECT --reject-with tcp-reset Конечно, это не есть правильное решение - так как с каждым днем их становиться все больше (ожидается эпидемия) и всех не зарежешь и не обзвонишь. Кто-нибудь может посоветовать как правильно и грамотно бороться с SMTP флудом ??? Какие нибудь интеллектуальные методы дропать пользователя. Я знаю что в iptables можно выставить ограничение на скорость передачи пакетов (например не больше N пакетов в минуту). Кто как с этим борется? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
fedusia Опубликовано 4 апреля, 2011 · Жалоба iptables -A FORWARD -s 192.168.0.0/16 -p tcp -m tcp --dport 25 -m state --state NEW -m recent --set --name SMTP --rsource iptables -A FORWARD -s 192.168.0.0/16 -p tcp -m tcp --dport 25 -m state --state NEW -m recent --update --seconds 60 --hitcount 5 --name SMTP --rsource -j REJECT --reject-with icmp-port-unreachable 5 соединений в минуту с 1 ip затем следует блокировка. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
el_misho Опубликовано 4 апреля, 2011 · Жалоба а если он вылечился как автоматически разбанивать? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
marikoda Опубликовано 4 апреля, 2011 · Жалоба а если он вылечился как автоматически разбанивать? А зачем "разбанивать" ? Нормальному юзеру достаточно 5 коннектов по порту 25 наружу, он и не заметит ничего. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
gavru Опубликовано 4 апреля, 2011 · Жалоба А зачем "разбанивать" ? Нормальному юзеру достаточно 5 коннектов по порту 25 наружу, он и не заметит ничего. Собственно хочу небольшую правку внести, для пользователя 5 коннектов обычно маловато, рабочая станция в офисах где разрешены icq и доступ на прочие ресурсы например берут от 1 до 50 коннектов в разные периоды времени, но больше 50ти обычно уже говорит о проблемах, собственно если завёлся вирус то видел и 30000 коннектов :) это уже натуральный жёсткий флуд :) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ivan Rostovikov Опубликовано 4 апреля, 2011 · Жалоба Я ipset-ом создаю 3 класса адресов/подсетей для которых фильтрация не делается адресов/подсетей для которых фильтрация делается для маштабов предприятия. адресов/подсетей для которых фильтрация делается для 1-го пользователя (5 соединений в минуту) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
st_re Опубликовано 4 апреля, 2011 · Жалоба 50 коннектов на 25 порт ? Офисам можно поставить по 10. По письменной заявке ограничение снять. Всем остальным по 5. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
el_misho Опубликовано 4 апреля, 2011 · Жалоба Нашел скриптик spamblock http://sources.homelink.ru/spamblock/. Под описание вроде то что нужно. Попробую с ним разобраться. Кто-нибудь пробовал с ним работать? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
fedusia Опубликовано 4 апреля, 2011 · Жалоба а если он вылечился как автоматически разбанивать? В данном примере мы разрешаем 5 соединений в минуту по 25 порту, все остальное мы блокируем. И так каждую минуту. Действует давно и классно. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
el_misho Опубликовано 4 апреля, 2011 · Жалоба а если он вылечился как автоматически разбанивать? В данном примере мы разрешаем 5 соединений в минуту по 25 порту, все остальное мы блокируем. И так каждую минуту. Действует давно и классно. А при таком раскладе, разве клиент (точнее злобный вирус) не сможет рассылать спам рассылку? Даже имея в своём распоряжении 5 коннекшенов? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
NiTr0 Опубликовано 4 апреля, 2011 · Жалоба А при таком раскладе, разве клиент (точнее злобный вирус) не сможет рассылать спам рассылку? Даже имея в своём распоряжении 5 коннекшенов? Нет, т.к. регистрация коннекта в списке идет до его реджекта. Т.е. - бот отправил 5 писем, и дальше безуспешно долбится до посинения через файрвол. Можно кол-во писем и время конечно увеличить, к примеру, 20-30 писем за 15 минут... Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
el_misho Опубликовано 4 апреля, 2011 · Жалоба А при таком раскладе, разве клиент (точнее злобный вирус) не сможет рассылать спам рассылку? Даже имея в своём распоряжении 5 коннекшенов? Нет, т.к. регистрация коннекта в списке идет до его реджекта. Т.е. - бот отправил 5 писем, и дальше безуспешно долбится до посинения через файрвол. Можно кол-во писем и время конечно увеличить, к примеру, 20-30 писем за 15 минут... Что-то отпало желание делать через spamblock (не вызывает доверие постоянное сканирование tcpdump). Разобрал модуль recent. Т.е как я понимаю происходит такая ситуация: 1) Приходит от вирусни с хоста #1 новый запрос на 25 порт. И сразу попадает в первое правило с -m recent --set --name SMTP. В этом правеле, IP хоста #1 записывается в таблицу 'SMTP' и появляется запись о времени последнего его появления. 2) Приходит через 5 секунд следующий пакет от хоста #1 также идет сначала в первое правило потом во второе. Обновляется временная метка и счетчик. Во втором правиле проверяется не является ли этот пакет по счету >= --hitcount (5 из примера) за последние N секунд (60 сек из примера). Если является, то пакет отбрасывается, если нет то временная запись просто обновляется и пакет проходит дальше. Т.е как я понимаю допустим если скорость 'рассылки' сообщений спам ботом (это я например могу оценить с помощью tcpdump) постоянна и больше чем позволено отсылать за единицу времени (например за 60 секунд) то он (бот) отошлет hitcount сообщений и после этого всё вновь сгенерированные пакеты просто будут отбрасываться. Так как временная метка в recent будет постоянно обновлятся и в счетчике пакетов будет постоянно держаться это значение. Я правильно понял? P.S. при этом как я понимаю обычный http трафик ведь будет проходить? он же только пакеты на 25 режектить будет. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Yaten Опубликовано 4 апреля, 2011 · Жалоба у меня админ в 20-22 смотрит НАС 1-2 раза в неделю и банит IP замеченный в рассылке спама. И жалоб от ТТК вроде нету. За 2 месяца накопилось около 40 банов. Бан как говорится до востребованния. Пожалуется на почту - пролечим пользователя и/или ПК и снимаем Бан. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
el_misho Опубликовано 4 апреля, 2011 · Жалоба Никак не пойму, что он ругается. Правила даже прописываются, но выдается каждый раз ошибка: root@ubuntu:~# iptables -m recent --help /usr/local/libexec/xtables/libxt_recent.so: /usr/local/libexec/xtables/libxt_recent.so: undefined symbol: xt_params iptables v1.4.1.1 Usage: iptables -[AD] chain rule-specification [options] iptables -[RI] chain rulenum rule-specification [options] iptables -D chain rulenum [options] iptables -[LS] [chain [rulenum]] [options] iptables -[FZ] [chain] [options] iptables -[NX] chain iptables -E old-chain-name new-chain-name iptables -P chain target [options] iptables -h (print this help information) Commands: Either long or short options are allowed. --append -A chain Append to chain --delete -D chain Delete matching rule from chain --delete -D chain rulenum Delete rule rulenum (1 = first) from chain --insert -I chain [rulenum] Insert in chain as rulenum (default 1=first) --replace -R chain rulenum Replace rule rulenum (1 = first) in chain --list -L [chain [rulenum]] List the rules in a chain or all chains --list-rules -S [chain [rulenum]] Print the rules in a chain or all chains --flush -F [chain] Delete all rules in chain or all chains ...... и т.д. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
NiTr0 Опубликовано 4 апреля, 2011 · Жалоба Никак не пойму, что он ругается. Что-то у вас криво собралось. Да и зачем было иптейблс пересобирать из исходников... Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
el_misho Опубликовано 4 апреля, 2011 · Жалоба Никак не пойму, что он ругается. Что-то у вас криво собралось. Да и зачем было иптейблс пересобирать из исходников... ну это тестовая у меня система, перекомпилял для модуля ipp2p (или может ещё для чего, не помню). запустил данные правила на рабочей машине, никаких ошибок он не выдал. Спам запросы начали дропаться после превышения лимита для определенного хоста. Всё работает ГУД! Всем спасибо! Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ilya Evseev Опубликовано 6 апреля, 2011 · Жалоба Нашел скриптик spamblock http://sources.homelink.ru/spamblock/. Под описание вроде то что нужно. Попробую с ним разобраться. Кто-нибудь пробовал с ним работать? Я пробовал. Вопросы задавайте здесь: http://forum.nag.ru/forum/index.php?showtopic=54539 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
fozz Опубликовано 6 апреля, 2011 (изменено) · Жалоба А почему бы не избавиться от спама вовсе? Не претендую на идеал, но всеже послушайте: Закрываете 25/tcp наружу совсем, а разрешаете только на локальный релей с принудительной аутентификацией (SASL). Если кому-то надо все-таки очень отправить почту наружу не через ваш релей, то почти все современные публичные сервисы принимают почту на 587/tcp, специальный порт для получения мыла от клиентов, если что.. Если и этого недостаточно, то особо умным разрешаем слать почту напрямую (отдельная пипка в биллинге). При такой схеме за год у меня было два письма на abuse@, в одном случае хидеры показывали, что у абонента увели пароль на SASL и от его имени слали спам, во-втором случае какой-то редкий вирус отправил письмо через 465/tcp (over SSL). p.s. http://rfc2.ru/3013.rfc пункт 5.4 Изменено 6 апреля, 2011 пользователем fozz Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ivan_83 Опубликовано 6 апреля, 2011 · Жалоба И куча матерящихся клиентов, у которых почта на ноуте работает везде, кроме как у вас. А потом выясняется что у них ещё и почта корпоративная, а у админа руки не от туда и он кроме как 25 порта ничего осилить не может/админу пофик, он не подчиняется местным, у себя менять ничего не будет, "меняйте провайдера" его рекомендация. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
fozz Опубликовано 6 апреля, 2011 (изменено) · Жалоба И куча матерящихся клиентов, у которых почта на ноуте работает везде, кроме как у вас. А потом выясняется что у них ещё и почта корпоративная, а у админа руки не от туда и он кроме как 25 порта ничего осилить не может/админу пофик, он не подчиняется местным, у себя менять ничего не будет, "меняйте провайдера" его рекомендация. таких 1-2 процента и если стандартными средствами им помочь не получается, то опять же, повторюсь - кнопочка в биллинге "разрешить 25-й порт". p.s. вот глянул. Висят 3080 онлайн, из них всего 13 с открытым 25-м (значит им менеджеры по заявлению открыли). Люди, которые понимают, что почта ходит через 25-й, обычно и знают, к чему это может приводить, так что с ними неопасно. Все остальные делятся на две категории: не пользуются почтой вовсе, пользуются веб-мордами на том-же mail.ru. Изменено 6 апреля, 2011 пользователем fozz Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
fedusia Опубликовано 6 апреля, 2011 (изменено) · Жалоба А при таком раскладе, разве клиент (точнее злобный вирус) не сможет рассылать спам рассылку? Даже имея в своём распоряжении 5 коннекшенов? Нет, т.к. регистрация коннекта в списке идет до его реджекта. Т.е. - бот отправил 5 писем, и дальше безуспешно долбится до посинения через файрвол. Можно кол-во писем и время конечно увеличить, к примеру, 20-30 писем за 15 минут... Я бы сказал не 5 писем. А 5 tcp соединений. Это довольно много для одного человека. Т.е. в таблицу попадает человек, который послал 5 tcp SYN пакетов на порт 25. За одно соединение можно отправить гораздо больше писем чем 1. Изменено 6 апреля, 2011 пользователем fedusia Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...