За год количество спама выросло раза в 2+. Вот сваял статистику к своему smtp proxy - с августа 2004 до сейчас на первый взгляд с ~20,000 попыток чего-нить доставить(то есть, сказать "DATA") наблюдаем рост до ~35,000; количество коннектов за этот период выросло раза в 2 - ~60,000 -> ~130,000, то есть налицо рост всяких любителей повалидейтить. Вот с ними и бум бороться вероятностными методами :). Попутно вылезла нескладуха в логах с количеством сколько мне раз сказали "DATA" и количеством результатов данного действия - где-то 3%... То ли это следствие действия тип /usr/libexec/smtpproxy >/var/log/smtp.log то есть логгинг через shell pipe (но почему такого нет на статистике по connect/RBL score), то ли что-то в консерватории не то. Количество стартов и закрытий соединений по логам совпадает... Ну - короче "пъянству бой, а бою - гёрл" - начал приверчивать поддержку глухого автоматического ipfw deny к своему чуду. Идея бессовестно стырена у всяких монстров типа hotmail/earthlink/postini и других, доведена до упрощённого вида (у тех чуваков наверно ж базы данных, статистика, и т.п.) и в результате имеем рабочий концепт - правила добавляются и экспайрятся пока по cron'у... Теперь потенциальная проблема - сколько правил может вынести ipfw2 и от чего это зависит? Вопрос не в тормозах, вопрос в "когда оно ласты склеит?". Ессно, никакой оптимизацией у меня пока не пахнет - 1 хост - 1 правило, номер зависит от набранного score. Вот за часов 10 набралось под 1000 правил. Чем бы это графиков настроить - имею кучу файлов с строчками "Name : value", имя файла соответствует дате - не проблема это в что-то более другое законвертить. (шотто меня не хватило на разбирательство с rrdtool). -- Best regards, Paul Arakelyan. =================================================================== uanog mailing list. To Unsubscribe: send mail to majordomo@uanog.kiev.ua with "unsubscribe uanog" in the body of the message
Paul Arakelyan wrote: PA> Теперь потенциальная проблема - сколько правил может вынести ipfw2 и PA> от чего это зависит? Вопрос не в тормозах, вопрос в "когда оно ласты PA> склеит?". PA> Ессно, никакой оптимизацией у меня пока не пахнет - 1 хост - 1 правило, PA> номер зависит от набранного score. Вот за часов 10 набралось под 1000 PA> правил. Вот тут ты ласты и склеишь. ipfilter'ом чуть легче, но ненамного. Лучше делать все на L7, когда хосты срезаются на этапе коннекта уже софтом. -- UKR.NET Postmaster =================================================================== uanog mailing list. To Unsubscribe: send mail to majordomo@uanog.kiev.ua with "unsubscribe uanog" in the body of the message
On Thu, Mar 17, 2005 at 03:01:52PM +0200, vladimir.sharun@ukr.net wrote:
Paul Arakelyan wrote: PA> рЕОЕПЭ ОНРЕМЖХЮКЭМЮЪ ОПНАКЕЛЮ - ЯЙНКЭЙН ОПЮБХК ЛНФЕР БШМЕЯРХ ipfw2 Х PA> НР ВЕЦН ЩРН ГЮБХЯХР? бНОПНЯ МЕ Б РНПЛНГЮУ, БНОПНЯ Б "ЙНЦДЮ НМН КЮЯРШ PA> ЯЙКЕХР?". PA> еЯЯМН, МХЙЮЙНИ НОРХЛХГЮЖХЕИ С ЛЕМЪ ОНЙЮ МЕ ОЮУМЕР - 1 УНЯР - 1 ОПЮБХКН, PA> МНЛЕП ГЮБХЯХР НР МЮАПЮММНЦН score. бНР ГЮ ВЮЯНБ 10 МЮАПЮКНЯЭ ОНД 1000 PA> ОПЮБХК.
бНР РСР РШ КЮЯРШ Х ЯЙКЕХЬЭ. ipfilter'НЛ ВСРЭ КЕЦВЕ, МН МЕМЮЛМНЦН. кСВЬЕ ДЕКЮРЭ БЯЕ МЮ L7, ЙНЦДЮ УНЯРШ ЯПЕГЮЧРЯЪ МЮ ЩРЮОЕ ЙНММЕЙРЮ СФЕ ЯНТРНЛ. Ну - на том тазике только ipfw2 есть :), и пока ничего сложного не навертел - оно вполне устраивает - в firewall влетают только совсем блэклистнутые товарищи, от которых практически почту не принимаем, за сутки таких ~2000 наберётся, дальше им можно flush, и пусть ещё приваливают...Хотя - сейчас вот в другое место прилеплю добавление :). Те, кто "на грани" влетают на 0-30 минут (ipfw del каждые пол-часа). Интересно - а в линуксе с iptables - тама номера есть?
-- Best regards, Paul Arakelyan. =================================================================== uanog mailing list. To Unsubscribe: send mail to majordomo@uanog.kiev.ua with "unsubscribe uanog" in the body of the message
Hi! On Thu, Mar 17, 2005 at 22:27 +0200, Paul Arakelyan wrote:
Интересно - а в линуксе с iptables - тама номера есть?
Порядковые. Типа как номер строки. Для FIFO -- самое оно ;-) -- Victor Cheburkin VCW61, VC319-RIPE, VC1-UANIC =================================================================== uanog mailing list. To Unsubscribe: send mail to majordomo@uanog.kiev.ua with "unsubscribe uanog" in the body of the message
On Thu, Mar 17, 2005 at 10:40:40PM +0200, Victor Cheburkin wrote:
Hi!
On Thu, Mar 17, 2005 at 22:27 +0200, Paul Arakelyan wrote:
Интересно - а в линуксе с iptables - тама номера есть?
Порядковые. Типа как номер строки. Для FIFO -- самое оно ;-) То есть - нельзя сделать несколько правил с одним номером, нельзя ручками добавлять/удалять парвило с произвольным номером, или если можно удалять - то происходит перенумерация ?
-- Best regards, Paul Arakelyan. =================================================================== uanog mailing list. To Unsubscribe: send mail to majordomo@uanog.kiev.ua with "unsubscribe uanog" in the body of the message
Hello Paul Arakelyan! Thu, Mar 17, 2005 at 10:49:07PM +0200, unisol wrote about "[uanog] Re: Spam statistics":
Интересно - а в линуксе с iptables - тама номера есть?
Порядковые. Типа как номер строки. Для FIFO -- самое оно ;-) PA> То есть - нельзя сделать несколько правил с одним номером, PA> нельзя ручками добавлять/удалять парвило с произвольным номером, PA> или если можно удалять - то происходит перенумерация ?
не, в iptables правила как таковые не имею какого-то индекса числового как acl в cisco. Просто можно сказать - удали правило с порядковым номером таким-то, ну или вставь новое правило после правила с п/н другим-то. Естественно, что после удаления одного правила с таким порядковым номером будет другое уже. CU! -- //ShaD0w =================================================================== uanog mailing list. To Unsubscribe: send mail to majordomo@uanog.kiev.ua with "unsubscribe uanog" in the body of the message
Hi! On Thu, Mar 17, 2005 at 22:49 +0200, Paul Arakelyan wrote:
Интересно - а в линуксе с iptables - тама номера есть?
Порядковые. Типа как номер строки. Для FIFO -- самое оно ;-) То есть - нельзя сделать несколько правил с одним номером, нельзя ручками добавлять/удалять парвило с произвольным номером, или если можно удалять - то происходит перенумерация ?
Грубо говоря -- да. Номера там применяются для удаления, вставки и замены правил, добавляются всегда в конец, если ты удалишь правило N1, то правило N2 станет правилом N1. -- Victor Cheburkin VCW61, VC319-RIPE, VC1-UANIC =================================================================== uanog mailing list. To Unsubscribe: send mail to majordomo@uanog.kiev.ua with "unsubscribe uanog" in the body of the message
On Thu, Mar 17, 2005 at 10:27:54PM +0200, Paul Arakelyan wrote:
Ну - на том тазике только ipfw2 есть :), и пока ничего сложного не навертел - оно вполне устраивает - в firewall влетают только совсем блэклистнутые товарищи, от которых практически почту не принимаем, за сутки таких ~2000 наберётся, дальше им можно flush, и пусть ещё приваливают...Хотя - сейчас вот в другое место прилеплю добавление :). Те, кто "на грани" влетают на 0-30 минут (ipfw del каждые пол-часа).
Сделай таблицу с такими хостами и обновляй таблицу. Правило будет одно, а таблица в ipfw2/pf - это бинарное дерево, так что производительность будет высокая. Одна фигня, FreeBSD 5.3 и выше нужно или 4.11. -- Andrew Degtiariov DA-RIPE =================================================================== uanog mailing list. To Unsubscribe: send mail to majordomo@uanog.kiev.ua with "unsubscribe uanog" in the body of the message
On Thu, Mar 17, 2005 at 03:01:52PM +0200, vladimir.sharun@ukr.net wrote:
Paul Arakelyan wrote: PA> Теперь потенциальная проблема - сколько правил может вынести ipfw2 и PA> от чего это зависит? Вопрос не в тормозах, вопрос в "когда оно ласты PA> склеит?". PA> Ессно, никакой оптимизацией у меня пока не пахнет - 1 хост - 1 правило, PA> номер зависит от набранного score. Вот за часов 10 набралось под 1000 PA> правил.
Вот тут ты ласты и склеишь. ipfilter'ом чуть легче, но ненамного. Лучше делать все на L7, когда хосты срезаются на этапе коннекта уже софтом.
как под фри - не знаю а под линуксом я бы сделал так (концептуально - по-моему все равно под чем) новая таблица - smtp-deny INPUT/tcp/25/syn -> smtp-deny и уже в smtp-deny добавлять правила для reject таким образом это тысячи правил буду проверяться ТОЛЬКО для tcp/25/syn -- Best regard, Aleksander Trotsai aka MAGE-RIPE aka MAGE-UANIC My PGP key at ftp://blackhole.adamant.ua/pgp/trotsai.key[.asc] Мысль покинула голову, не выдержав одиночества =================================================================== uanog mailing list. To Unsubscribe: send mail to majordomo@uanog.kiev.ua with "unsubscribe uanog" in the body of the message
On Fri, Mar 18, 2005 at 10:11:21AM +0200, Alexander Trotsai wrote:
Вот тут ты ласты и склеишь. ipfilter'ом чуть легче, но ненамного. Лучше делать все на L7, когда хосты срезаются на этапе коннекта уже софтом.
как под фри - не знаю а под линуксом я бы сделал так (концептуально - по-моему все равно под чем)
новая таблица - smtp-deny INPUT/tcp/25/syn -> smtp-deny и уже в smtp-deny добавлять правила для reject таким образом это тысячи правил буду проверяться ТОЛЬКО для tcp/25/syn
Я вижу применение firewall следующим образом: несколько групп правил, в каждой правила экспайрятся через определённый промежуток времени - пропорционально степени "влёта" в RBL'ы. Таким образом сохраняется возможность доставки писем (для тех IP, с которых мы принимаем почту, но подменяем на notification 2google:doublebolt.ua.net), просто их не пролезет более чем N/сутки, также уменьшается количество проверок для "совсем заблеклистнутых" IP. В текущем варианте получаем 48...N*48 писем и 1...M*1 проверку в сутки; N - число допустимых - коннектов с одного IP, M>N - если количество коннектов превышено, то мы принимаем соединение и после ожидания отваливаем по 421 try later. Но как-то некрасиво происходит expire - из cron прибивается раз в пол-часа и раз в сутки по набору правил. Идея по улучшению - номер правила будет зависить от времени занесения и "блэклистнутости". Соответственно получим несколько наборов правил и expire будет проходить по каждому из наборов отдельно (типа в одном наборе правило "живёт" 30 минут и имеем правила с номерами 1000...1029, в другом - N часов, имеем набор с номерами 2000...2000+N*60, и т.д.) Соответственно, каждую минуту будет происходить удаление кусочка набора правил и рост следующего кусочка набора. Получаем ежеминутную встряску ядерным процедурам распределения памяти и риск улететь в космос:). Вопрос в переносимости такого решения в "куда-нибудь ещё". В итоге - я так понимаю, можно заводить по таблице каждую минуту, типа smtp-deny01,smtp-deny02... и грохать их потом целиком или правила в них... Вот такое извращение ввиду отсутствия поддержки TTL для правил. :). -- Best regards, Paul Arakelyan. =================================================================== uanog mailing list. To Unsubscribe: send mail to majordomo@uanog.kiev.ua with "unsubscribe uanog" in the body of the message
Hello Paul, Thursday, March 17, 2005, 1:54:53 PM, you wrote: PA> Чем бы это графиков настроить - имею кучу файлов с строчками PA> "Name : value", имя файла соответствует дате - не проблема PA> это в что-то более другое законвертить. (шотто меня не PA> хватило на разбирательство с rrdtool). http://www.aditus.nu/jpgraph/ ps похвастаешься результатом. -- С уважением, Борис Мостовой ООО "Хостмастер" +380(44)244-1199(ext305) +380(44)451-7456 http://nic.net.ua http://www.hostmaster.net.ua http://forum.hostmaster.net.ua -- Best regards, boris mailto:vms@tormoz.net =================================================================== uanog mailing list. To Unsubscribe: send mail to majordomo@uanog.kiev.ua with "unsubscribe uanog" in the body of the message
participants (7)
-
Alexander Trotsai
-
Andrew Degtiariov
-
boris mostovoy
-
Michail Litvak
-
Paul Arakelyan
-
Victor Cheburkin
-
vladimir.sharun@ukr.net