Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2015-07-14 15:14:57

  lewyx84 - Użytkownik

lewyx84
Użytkownik
Zarejestrowany: 2013-10-29

Fail2Ban i banowanie po CIDR

Cześć,
czy próbowałem ktoś z Was zmusić ten soft do banowania IPków po masce?

Utworzyłem plik o nazwie iptables-multirange.conf i w nim:

Kod:

# Fail2Ban configuration file
#
# Author: Cyril Jaquier
# Modified by Yaroslav Halchenko for multiport banning
# $Revision$
#

[Definition]

# Option:  actionstart
# Notes.:  command executed once at the start of Fail2Ban.
# Values:  CMD
#
actionstart = iptables -N fail2ban-<name>
              iptables -A fail2ban-<name> -j RETURN
              iptables -I <chain> -p <protocol> -m multiport --dports <port> -j fail2ban-<name>

# Option:  actionstop
# Notes.:  command executed once at the end of Fail2Ban
# Values:  CMD
#
actionstop = iptables -D <chain> -p <protocol> -m multiport --dports <port> -j fail2ban-<name>
             iptables -F fail2ban-<name>
             iptables -X fail2ban-<name>

# Option:  actioncheck
# Notes.:  command executed once before each actionban command
# Values:  CMD
#
actioncheck = iptables -n -L <chain> | grep -q fail2ban-<name>

# Option:  actionban
# Notes.:  command executed when banning an IP. Take care that the
#          command is executed with Fail2Ban user rights.
# Tags:    <ip>  IP address
#          <failures>  number of failures
#          <time>  unix timestamp of the ban time
# Values:  CMD
#
actionban = iptables -I fail2ban-<name> 1 -s <ip/24> -j DROP

# Option:  actionunban
# Notes.:  command executed when unbanning an IP. Take care that the
#          command is executed with Fail2Ban user rights.
# Tags:    <ip>  IP address
#          <failures>  number of failures
#          <time>  unix timestamp of the ban time
# Values:  CMD
#
actionunban = iptables -D fail2ban-<name> -s <ip/24> -j DROP

w jail.conf ustawione
banaction = iptables-multirange

niestety nie zdaje to rezultatu.

Ostatnio edytowany przez lewyx84 (2015-07-14 15:16:41)

Offline

 

#2  2015-07-14 15:32:30

  ethanak - Użytkownik

ethanak
Użytkownik
Skąd: Ungwenor
Zarejestrowany: 2010-07-19
Serwis

Re: Fail2Ban i banowanie po CIDR

a nie powinno być <ip>/24 przypadkiem?


Nim mechaniczne larum zagrasz mi, kanalio,
głosząc nadejście Javy - śmiertelnego wroga!
[i]Zespół Adwokacki Dyskrecja[/i]

Offline

 

#3  2015-07-14 15:38:42

  lewyx84 - Użytkownik

lewyx84
Użytkownik
Zarejestrowany: 2013-10-29

Re: Fail2Ban i banowanie po CIDR

Zmieniłem, zaraz się zobaczy :)

Offline

 

#4  2015-07-14 17:31:37

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: Fail2Ban i banowanie po CIDR

Po pierwsze nie pakuj przez Failbana regułek do Iptables (bo możesz zapchać FW i praktycznie zamulić sieć na hoście), tylko pakuj te banowane IP do tablicy Ipseta, wtedy się ich tam zmieści nawet pół miliona (zależy, jak ustawisz), a w FW będzie to jedna regułka.

Rzuć okiem na to:
https://forum.dug.net.pl/viewtopic.php?pid=269260#p269260


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#5  2015-07-14 17:48:00

  lewyx84 - Użytkownik

lewyx84
Użytkownik
Zarejestrowany: 2013-10-29

Re: Fail2Ban i banowanie po CIDR

Patrząc na sznurek który rzuciłeś, to rozumiem, że mogę całkowicie zrezygnować z fail2ban? :) Bo wygląda to ciekawie, nie powiem :)

Offline

 

#6  2015-07-14 18:22:54

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: Fail2Ban i banowanie po CIDR

Tam jest coś w rodzaju automatu, który łapie skanery buszujące po różnych portach, np porcie SSH czy Mysql i banuje na 3600/86400 sekund w Ipsecie.

Jeśli chcesz chronić jakieś usługi publiczne, np serwer SMTP, FTP czy logowanie przez WWW, to po pierwsze są bardzo dobre moduły [b]hashlimit[/b] i  [b]recent[/b] w samym firewallu, a poszczególne demony też mają własne metody banowania podejrzanych pacjentów, jak np [b]mod_ban[/b] w [b]Proftpd[/b], czy chociażby skrypty w typie [b]httpd_guardian[/b], który spięty z [b]mod_evasive[/b] czy [b]mod_security[/b] bardzo grzecznie broni [b]Apacha[/b], różne formy limitowania masz też w Nginxie, Lighttpd, Postfixie.

Także Fail2ban w dzisiejszych czasach nie jest niezastąpiony, zwłaszcza, że możesz sobie bez kłopotu naskrobać demona w Perlu czy Pythonie, który z komunikatu w logu wyczesze adres IP i zapakuje do Ipseta.

Potem komunikaty Sysloga czy demona puszczasz na socket lub kolejkę fifo, wieszasz na tym sockecie skrypta, żeby czytał i parsował komunikaty,
i gotowe, a krytyczne demony ustawiasz, żeby logi wysyłały np do sysloga.

Krótko pisząc, masz setkę możliwości, a Fail2ban wcale nie jest najdoskonalszą opcją.

Wszystko zależy, jakie usługi potrzebujesz chronić.

Ostatnio edytowany przez Jacekalex (2015-07-14 19:13:49)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Możesz wyłączyć AdBlock — tu nie ma reklam ;-)

[ Generated in 0.013 seconds, 10 queries executed ]

Informacje debugowania

Time (s) Query
0.00021 SET CHARSET latin2
0.00017 SET NAMES latin2
0.00193 SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='18.117.152.26' WHERE u.id=1
0.00221 UPDATE punbb_online SET logged=1715937915 WHERE ident='18.117.152.26'
0.00026 SELECT * FROM punbb_online WHERE logged<1715937615
0.00133 DELETE FROM punbb_online WHERE ident='185.191.171.14'
0.00066 SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=27557 AND t.moved_to IS NULL
0.00006 SELECT search_for, replace_with FROM punbb_censoring
0.00153 SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=27557 ORDER BY p.id LIMIT 0,25
0.00131 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=27557
Total query time: 0.00967 s