Вот, долго мучаясь написал какой никакой антиспамовский скрипт:-A FORWARD -p tcp -m tcp --dport 25 --tcp-flags FIN,SYN,RST,ACK SYN -m limit --limit 5/min -j LOG_ACCEPT
-A FORWARD -p tcp -m tcp --dport 25 --tcp-flags FIN,SYN,RST,ACK SYN -m recent --update --seconds 300 --name spamer --rsource -j LOG_DROP
-A FORWARD -p tcp -m tcp --dport 25 --tcp-flags FIN,SYN,RST,ACK SYN -m recent --set --name spamer --rsource -j LOG_DROPЗаработал он у меня только в таком виде...Если я ставлю критерии,то все разваливается.
Я хотел бы у вас спросить совета, как мне правильно написать, что бы для каждого отдельного eth1.+ срабатывало свое антиспамовское правило...т.е. например: если больше 5 писем в минуту ушло с eth1.1 то заблокировало не все интерфейсы имеющиеся на машине, а именно eth1.1. Помогите пожалуйста. Заранее спасибо.
Никак.
Iptables не работает с виртуалами.
>Никак.
>Iptables не работает с виртуалами.Хм...а при помощи чего тогда это можно сделать? Очень надо, я постоянно попадаю в блэклисты...
>Хм...а при помощи чего тогда это можно сделать? Очень надо, я постоянно
>попадаю в блэклисты...Плохо ситуция у тебя описана, ну да я предположу что это что-то примерно так.
Некая локалка, с нее рассылается спам через твой шлюз в мир.
Ты же этой локалке предоставляеш доступ в мир.
1. Закрыть форвард 25 порта в мир. Ибо нехрен.
2. Разрешить юзверям отправлять мыло только через smtp, который поставиш на этом шлюзе.
Вот тут уже можеш делать что угодно, проверять траф на вирусы и килять нагло его, ничего не вырезать и не лечить!(50%) отсееш. Потом при помощи того же smtp сможеш отслеживать реальных спамеров по кол-ву отправленых (мин час сутки)... Вообщем возможности будет поболее...
Сорри если сумбурно рассказал, темп под 40...
>[оверквотинг удален]
>Некая локалка, с нее рассылается спам через твой шлюз в мир.
>Ты же этой локалке предоставляеш доступ в мир.
>1. Закрыть форвард 25 порта в мир. Ибо нехрен.
>2. Разрешить юзверям отправлять мыло только через smtp, который поставиш на этом
>шлюзе.
> Вот тут уже можеш делать что угодно, проверять траф на вирусы
>и килять нагло его, ничего не вырезать и не лечить!(50%) отсееш.
>Потом при помощи того же smtp сможеш отслеживать реальных спамеров по
>кол-ву отправленых (мин час сутки)... Вообщем возможности будет поболее...
>Сорри если сумбурно рассказал, темп под 40...Спасибо за совет. Просто нет такой возможности закрыть форвад 25 порта....
Еще вопрос, а можно как-то те же правила прописать, только с ключем -s 192.168.x.0/255.255.255.0? что бы для каждого сегмента 192.168.х было свое ограничение на кол-во отправленных писем?
>[оверквотинг удален]
>> Вот тут уже можеш делать что угодно, проверять траф на вирусы
>>и килять нагло его, ничего не вырезать и не лечить!(50%) отсееш.
>>Потом при помощи того же smtp сможеш отслеживать реальных спамеров по
>>кол-ву отправленых (мин час сутки)... Вообщем возможности будет поболее...
>>Сорри если сумбурно рассказал, темп под 40...
>
>Спасибо за совет. Просто нет такой возможности закрыть форвад 25 порта....
>Еще вопрос, а можно как-то те же правила прописать, только с ключем
>-s 192.168.x.0/255.255.255.0? что бы для каждого сегмента 192.168.х было свое ограничение
>на кол-во отправленных писем?А что вам мешает попробовать это?
>[оверквотинг удален]
>>>Потом при помощи того же smtp сможеш отслеживать реальных спамеров по
>>>кол-ву отправленых (мин час сутки)... Вообщем возможности будет поболее...
>>>Сорри если сумбурно рассказал, темп под 40...
>>
>>Спасибо за совет. Просто нет такой возможности закрыть форвад 25 порта....
>>Еще вопрос, а можно как-то те же правила прописать, только с ключем
>>-s 192.168.x.0/255.255.255.0? что бы для каждого сегмента 192.168.х было свое ограничение
>>на кол-во отправленных писем?
>
>А что вам мешает попробовать это?Я пробывал,не получилось..Вот поэтому и спрашиваю совета, может там надо как-то по-другому эти правила писать...
>[оверквотинг удален]
>>>
>>>Спасибо за совет. Просто нет такой возможности закрыть форвад 25 порта....
>>>Еще вопрос, а можно как-то те же правила прописать, только с ключем
>>>-s 192.168.x.0/255.255.255.0? что бы для каждого сегмента 192.168.х было свое ограничение
>>>на кол-во отправленных писем?
>>
>>А что вам мешает попробовать это?
>
>Я пробывал,не получилось..Вот поэтому и спрашиваю совета, может там надо как-то по-другому
>эти правила писать...Что писали?
Что не получилось?
>[оверквотинг удален]
>>>>-s 192.168.x.0/255.255.255.0? что бы для каждого сегмента 192.168.х было свое ограничение
>>>>на кол-во отправленных писем?
>>>
>>>А что вам мешает попробовать это?
>>
>>Я пробывал,не получилось..Вот поэтому и спрашиваю совета, может там надо как-то по-другому
>>эти правила писать...
>
>Что писали?
>Что не получилось?Для теста писал:
-A FORWARD -s 192.168.5.0/255.255.255.0 -p tcp -m tcp --dport 25 --tcp-flags FIN,SYN,RST,ACK SYN -m limit --limit 5/min -j LOG_ACCEPT
-A FORWARD -s 192.168.5.0/255.255.255.0 -p tcp -m tcp --dport 25 --tcp-flags FIN,SYN,RST,ACK SYN -m recent --update --seconds 300 --name spamer --rsource -j LOG_DROP
-A FORWARD -s 192.168.5.0/255.255.255.0 -p tcp -m tcp --dport 25 --tcp-flags FIN,SYN,RST,ACK SYN -m recent --set --name spamer --rsource -j LOG_DROPПотом отправил запустил вирусняк, для массовой отправки писем, в логах показывались, как все прошли успешно. Почти 100 писем ушло...и этот источник не был помечен как spamer..
>[оверквотинг удален]
>>Что не получилось?
>
>Для теста писал:
>-A FORWARD -s 192.168.5.0/255.255.255.0 -p tcp -m tcp --dport 25 --tcp-flags FIN,SYN,RST,ACK
>SYN -m limit --limit 5/min -j LOG_ACCEPT
>-A FORWARD -s 192.168.5.0/255.255.255.0 -p tcp -m tcp --dport 25 --tcp-flags FIN,SYN,RST,ACK
>SYN -m recent --update --seconds 300 --name spamer --rsource -j LOG_DROP
>
>-A FORWARD -s 192.168.5.0/255.255.255.0 -p tcp -m tcp --dport 25 --tcp-flags FIN,SYN,RST,ACK
>SYN -m recent --set --name spamer --rsource -j -A FORWARD -s 192.168.5.0/255.255.255.0 -p tcp -m tcp --dport 25 --tcp-flags FIN,SYN,RST,ACK SYN -m recent --update --seconds 300 --name spamer --rsource -j LOG_DROP-A FORWARD -s 192.168.5.0/255.255.255.0 -p tcp -m tcp --dport 25 --tcp-flags FIN,SYN,RST,ACK SYN -m recent --set --name spamer --rsource -j LOG_DROP
>
>Потом отправил запустил вирусняк, для массовой отправки писем, в логах показывались, как
>все прошли успешно. Почти 100 писем ушло...и этот источник не был
>помечен как spamer..А счетчики правил:
-A FORWARD -s 192.168.5.0/255.255.255.0 -p tcp -m tcp --dport 25 --tcp-flags FIN,SYN,RST,ACK SYN -m recent --update --seconds 300 --name spamer --rsource -j LOG_DROP
-A FORWARD -s 192.168.5.0/255.255.255.0 -p tcp -m tcp --dport 25 --tcp-flags FIN,SYN,RST,ACK SYN -m recent --set --name spamer --rsource -j LOG_DROPизменяются?
>[оверквотинг удален]
>
>А счетчики правил:
>
>-A FORWARD -s 192.168.5.0/255.255.255.0 -p tcp -m tcp --dport 25 --tcp-flags FIN,SYN,RST,ACK
>SYN -m recent --update --seconds 300 --name spamer --rsource -j LOG_DROP
>
>-A FORWARD -s 192.168.5.0/255.255.255.0 -p tcp -m tcp --dport 25 --tcp-flags FIN,SYN,RST,ACK
>SYN -m recent --set --name spamer --rsource -j LOG_DROP
>
>изменяются?Попробуйте так:
iptables -A FORWARD -p tcp --syn --dport 25 -m recent --name spamer --set
iptables -A FORWARD -p tcp --syn --dport 25 -m recent --name spamer --update --seconds 60 --hitcount 5 -j DROP
>[оверквотинг удален]
>>SYN -m recent --set --name spamer --rsource -j LOG_DROP
>>
>>изменяются?
>
>Попробуйте так:
>
>iptables -A FORWARD -p tcp --syn --dport 25 -m recent --name spamer
>--set
>iptables -A FORWARD -p tcp --syn --dport 25 -m recent --name spamer
>--update --seconds 60 --hitcount 5 -j DROPОставив первое правило с ключем -s?
>[оверквотинг удален]
>>>изменяются?
>>
>>Попробуйте так:
>>
>>iptables -A FORWARD -p tcp --syn --dport 25 -m recent --name spamer
>>--set
>>iptables -A FORWARD -p tcp --syn --dport 25 -m recent --name spamer
>>--update --seconds 60 --hitcount 5 -j DROP
>
>Оставив первое правило с ключем -s?Нет, попробуйте только эти два правила.
По идее, под эти правила должны попасть все syn пакеты, идущие на 25 порт.
Можно поиграться с параметрами --seconds и --hitcount(описание найдете).
>[оверквотинг удален]
>>>--set
>>>iptables -A FORWARD -p tcp --syn --dport 25 -m recent --name spamer
>>>--update --seconds 60 --hitcount 5 -j DROP
>>
>>Оставив первое правило с ключем -s?
>
>Нет, попробуйте только эти два правила.
>По идее, под эти правила должны попасть все syn пакеты, идущие на
>25 порт.
>Можно поиграться с параметрами --seconds и --hitcount(описание найдете).Еще вариант:
iptables -A FORWARD -p tcp -m tcp --dport 25 --tcp-flags FIN,SYN,RST,ACK SYN -m limit --limit 5/min -j ACCEPT
iptables -A FORWARD -p tcp -m tcp --dport 25 --tcp-flags FIN,SYN,RST,ACK SYN -j DROPТак можно ограничить общее количество syn пакетов на 25 порт.
>[оверквотинг удален]
>SYN -m limit --limit 5/min -j LOG_ACCEPT
>-A FORWARD -s 192.168.5.0/255.255.255.0 -p tcp -m tcp --dport 25 --tcp-flags FIN,SYN,RST,ACK
>SYN -m recent --update --seconds 300 --name spamer --rsource -j LOG_DROP
>
>-A FORWARD -s 192.168.5.0/255.255.255.0 -p tcp -m tcp --dport 25 --tcp-flags FIN,SYN,RST,ACK
>SYN -m recent --set --name spamer --rsource -j LOG_DROP
>
>Потом отправил запустил вирусняк, для массовой отправки писем, в логах показывались, как
>все прошли успешно. Почти 100 писем ушло...и этот источник не был
>помечен как spamer..А вашем варианте, наверное, надо было правило:
-A FORWARD -s 192.168.5.0/255.255.255.0 -p tcp -m tcp --dport 25 --tcp-flags FIN,SYN,RST,ACK SYN -m recent --update --seconds 300 --name spamer --rsource -j LOG_DROP
поместить первым и убрать все ключи -s.
И еще. Сто писем через smtp - это не значит 100 syn пакетов. Вам тогда надо парсить в пакетах команду "RCPT TO". Только iptables для этого, по-моему, не самое удачное решение.
>[оверквотинг удален]
>А вашем варианте, наверное, надо было правило:
>
>-A FORWARD -s 192.168.5.0/255.255.255.0 -p tcp -m tcp --dport 25 --tcp-flags FIN,SYN,RST,ACK
>SYN -m recent --update --seconds 300 --name spamer --rsource -j LOG_DROP
>
>
>поместить первым и убрать все ключи -s.
>И еще. Сто писем через smtp - это не значит 100 syn
>пакетов. Вам тогда надо парсить в пакетах команду "RCPT TO". Только
>iptables для этого, по-моему, не самое удачное решение.Хм...но ведь если вирус, и он шлет постоянно на разные адреса..то тогда будет SYN.
Ок. Спс. Обязательно попробую такой вариант.
>[оверквотинг удален]
>>
>>
>>поместить первым и убрать все ключи -s.
>>И еще. Сто писем через smtp - это не значит 100 syn
>>пакетов. Вам тогда надо парсить в пакетах команду "RCPT TO". Только
>>iptables для этого, по-моему, не самое удачное решение.
>
>Хм...но ведь если вирус, и он шлет постоянно на разные адреса..то тогда
>будет SYN.
>Ок. Спс. Обязательно попробую такой вариант.Естественно, чтобы подключиться нужно послать syn пакет.
Но в одной smtp сессии можно указать несколько команд RCPT TO.