Автор Тема: Iptables per ip limit  (Прочетена 5278 пъти)

Nerf

  • Напреднали
  • *****
  • Публикации: 108
    • Профил
Iptables per ip limit
« -: May 28, 2006, 17:47 »
Здравеите,
от доста време несъм писал тук (не ми се е налагало), но ето че пак съм тук. '<img'> хаахаха само как прозвуча

Имам един проблем който незнам дали не се далжи на това че тия дни имах доста работа и сега сам малко зациклил(и гледам като електроженист 3-ти разряд).

Та.. искам да огранича връзките до мойто smtp от всяко IP(или поне на зомбираните спамерчета). Тоест да могат да пращат примерно максимум до 200 писма на ден. И се чудя как да стане? iptables?
това което ми се върти в главата е нещо такова:

iptables -A INPUT -p tcp -s X.X.X.0/24 --syn --dport 25 -j REJECT
iptables -I INPUT -p tcp -s X.X.X.0/24 --dport 25 -m limit --limit +200/day --limit-burst 1 -j ACCEPT
обаче така не се получава....тоест получава се ама малко по различно ...сиреч ограничава 25 порт до 200 канекци ВЪОБЩЕ а на мен ми тря 200 канекци на IP.
Пробвах и нещо такава по някое време:
 iptables -А INPUT -s X.X.X.0/24 -p tcp -m tcp --dport 25 --tcp-flags SYN,RST,ACK SYN -m connlimit --connlimit-above 1 --connlimit-mask 32 -j REJECT --reject-with icmp-port-unreachable
ама така просто получавам по една едновремена канекция
и така еволюирах до:
 iptables -I INPUT -s X.X.X.0/26 -p tcp -m tcp --dport 25 --tcp-flags SYN,RST,ACK SYN -m connlimit --connlimit-above 1 --connlimit-mask 32 -m limit --limit 2/min -j REJECT --reject-with icmp-port-unreachable
но и това не е което искам (времената и броя на канекците са такива само за теста)

Та доста порових из нет-а и стигнах до тук.
Благодаря предварително за всеки отговор.  '<img'>

П.С. Примерите по-горе са само част от тестваните правила. Дал съм ги защото смятам, че могат да ви насочат към това което искам да направя.



Активен

The computer said,
         Requires Windows or better!
  So I install Linux.
and now:
Linux HellHole 2.4.26-gentoo-r6 #2 Sun Jul 18 12:36:56 EEST 2004 i686 AMD Duron(tm) p AuthenticAMD GNU/Linux

VladSun

  • Напреднали
  • *****
  • Публикации: 2166
    • Профил
Iptables per ip limit
« Отговор #1 -: May 28, 2006, 21:40 »
Можеш да пробваш комбинация от "limit" match-a И "recent" match-a (или само втория). Вторият работи по таблица от ИП-та. Виж примерите в man iptables.

PS: Може би трябва и да определиш размера на таблиците. (вж. man iptables)



Активен

KISS Principle ( Keep-It-Short-and-Simple )
http://openfmi.net/projects/flattc/
Има 10 вида хора на този свят - разбиращи двоичния код и тези, които не го разбират :P

Nerf

  • Напреднали
  • *****
  • Публикации: 108
    • Профил
Iptables per ip limit
« Отговор #2 -: May 28, 2006, 22:16 »
Ще те помоля за пример защото неуспявам да си съчиня сам.
Активен

The computer said,
         Requires Windows or better!
  So I install Linux.
and now:
Linux HellHole 2.4.26-gentoo-r6 #2 Sun Jul 18 12:36:56 EEST 2004 i686 AMD Duron(tm) p AuthenticAMD GNU/Linux

VladSun

  • Напреднали
  • *****
  • Публикации: 2166
    • Профил
Iptables per ip limit
« Отговор #3 -: May 29, 2006, 01:02 »
Цитат

Example #1:

# iptables -A FORWARD -m recent --rcheck --seconds 60 -j DROP
# iptables -A FORWARD -i eth0 -d 127.0.0.0/8 -m recent --set -j DROP

Here we are making a 'bad guy' out of anyone who tries to send data to 127.0.0.0/8 on our eth0 interface (which should never legitimately happen). The first packet will make it past the first rule and then be caught by the second rule and that address will be put into the recent list and the packet dropped


iptables -A INPUT -p tcp -s X.X.X.0/24 --syn --dport 25  -m recent --name bad_smtp --rcheck --seconds 60 -j DROP
iptables -N SMTP_CHAIN
iptables -A INPUT -p tcp -s X.X.X.0/24 --syn --dport 25  -m recent --name bad_smtp --set -j SMTP_CHAIN
iptables -A SMTP_CHAIN -j RETURN

PS: Не можах да се сетя за по-елегантен начин за "CONTINUE" target '<img'>



Активен

KISS Principle ( Keep-It-Short-and-Simple )
http://openfmi.net/projects/flattc/
Има 10 вида хора на този свят - разбиращи двоичния код и тези, които не го разбират :P

Nerf

  • Напреднали
  • *****
  • Публикации: 108
    • Профил
Iptables per ip limit
« Отговор #4 -: May 29, 2006, 01:42 »
Мерси много '<img'> Така е префектно.
Незнам как до сега все ми е убягвал recent пача при положение че върши такава добра рапота.

пак мерси и имаш бира от мен '<img'>
Активен

The computer said,
         Requires Windows or better!
  So I install Linux.
and now:
Linux HellHole 2.4.26-gentoo-r6 #2 Sun Jul 18 12:36:56 EEST 2004 i686 AMD Duron(tm) p AuthenticAMD GNU/Linux

VladSun

  • Напреднали
  • *****
  • Публикации: 2166
    • Профил
Iptables per ip limit
« Отговор #5 -: May 29, 2006, 02:25 »
Можеш и така:

iptables -A INPUT -p tcp -s X.X.X.0/24 --syn --dport 25  -m recent --name bad_smtp --rcheck --seconds 60 -j DROP
iptables -A INPUT -p tcp -s X.X.X.0/24 --syn --dport 25  -m recent --name bad_smtp --set -j ACCEPT

при условие, че пакетите към 25 порт не ги обработваш по-долу в защитната стена.

ПС: "Загорка", голяма '<img'>
Активен

KISS Principle ( Keep-It-Short-and-Simple )
http://openfmi.net/projects/flattc/
Има 10 вида хора на този свят - разбиращи двоичния код и тези, които не го разбират :P

Nerf

  • Напреднали
  • *****
  • Публикации: 108
    • Профил
Iptables per ip limit
« Отговор #6 -: May 29, 2006, 07:55 »
'<img'> Имаш я. Само тря се засечем на някое от опен сорс събитицата.
Активен

The computer said,
         Requires Windows or better!
  So I install Linux.
and now:
Linux HellHole 2.4.26-gentoo-r6 #2 Sun Jul 18 12:36:56 EEST 2004 i686 AMD Duron(tm) p AuthenticAMD GNU/Linux

Подобни теми
Заглавие Започната от Отговора Прегледи Последна публикация
limit
Настройка на програми
rockandvaso 1 3824 Последна публикация Mar 18, 2003, 23:22
от edmon
iptables connection limit
Настройка на програми
HRKOU 10 4178 Последна публикация Mar 24, 2005, 01:00
от
Limit za user
Web development
batsve 1 3036 Последна публикация Jun 26, 2005, 17:11
от Йордан
Iptables - limit sessions?
Настройка на програми
bira_more 3 4190 Последна публикация Mar 08, 2010, 02:59
от h7d8
Въпрос за --limit-burst в iptables
Настройка на програми
reg48 3 3831 Последна публикация May 21, 2012, 19:10
от ircn