fail2ban - statikus ban

Elsősorban kínai, de sokszor orosz ip-kről bombázzák a nyitott portokat, előszeretettel macerálják az ssh porotjait, de az ftp portokat sem vetik meg

Ez már egy régi szokásuk.

Ha egy ip címe tiltásra kerül, szinte azonnal egy másik címről akar bejelentkezni egy 'user', legtöbbször ugyanattól a szolgáltatótól. Ha az egész szolgáltatót tiltja valaki, akkor a szolgáltató egy másik tartományától.

Erre találták ki mások mellett a fail2ban-t. és elég jól is végzi a dolgát.

A probléma nem is ez, hanem az hogy sokszor ugyanattól a szolgáltatótól több, vagy akár több 10 cím is van banolva egyszerre. Néha, ha 'szezonja' van:) elérheti a 30-40 címet az egyidőben banolt ip-k listája. - szerencsére elég ritkán - Lényegében elárasztanak az adatok, teljesen feleslegesen, így elég könnyű átsiklani egy esetlegesen érdekes, v. potenciálisan veszélyes dolog felett.

Mostanra sikerült leegyszerűsíteni az általam használt multiport acton módosítását. végül összevissza 2 sor lett. mit ne mondjak primitív szintre egyszerűsödött.

a lányege, hogy egy kézzel szerkeszthető file adatait használva, a file2ban indulásakor a megfelelő chain-ba visszaírja a statikusan banolni kívánt ip címeket, vagy tartományokat.


:~# cat iptables-multiport.conf 
# Fail2Ban configuration file
#
# Author: Cyril Jaquier
# Modified by Yaroslav Halchenko for multiport banning
#

[INCLUDES]

before = iptables-common.conf

[Definition]

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

#ÚJ ACTIONSTART
actionstart = iptables -N f2b-<name>
              iptables -A f2b-<name> -j RETURN
              iptables -I <chain> -p <protocol> -m multiport --dports <port> -j f2b-<name>
              &lsqb; -e /etc/fail2ban/ip.blacklist-<name> &rsqb; || touch /etc/fail2ban/ip.blacklist-<name>
              sed -n 's/^\(\([0-9]\{1,3\}\.\)\{3\}[0-9]\{1,3\}[\/0-9]*\).*$/\1/p' /etc/fail2ban/ip.blacklist-<name> | while read IP; do iptables -I f2b-<name> 1 -s $IP -j <blocktype>; done


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

# Option:  actioncheck
# Notes.:  command executed once before each actionban command
# Values:  CMD
#
actioncheck = iptables -n -L <chain> | grep -q 'f2b-<name>&lsqb; \t&rsqb;'

# Option:  actionban
# Notes.:  command executed when banning an IP. Take care that the
#          command is executed with Fail2Ban user rights.
# Tags:    See jail.conf(5) man page
# Values:  CMD
#
actionban = iptables -I f2b-<name> 1 -s <ip> -j <blocktype>

# Option:  actionunban
# Notes.:  command executed when unbanning an IP. Take care that the
#          command is executed with Fail2Ban user rights.
# Tags:    See jail.conf(5) man page
# Values:  CMD
#
actionunban = iptables -D f2b-<name> -s <ip> -j <blocktype>

&lsqb;Init&rsqb;

:~# 

Én csak az iptables-multiport action-t használom, de ez alapján az összes iptables- action módosítható - igény szerint - az egységesség érdekéban.
Az adatfájlban egyedi ip, és ip tartomány egyaránt megadható.
Pl. igy:


:~# cat ip.blacklist-sshd
1.80.0.0/13       # China Telecom - CHINANET SHAANXI PROVINCE NETWORK     - China
24.172.0.0/16     # ORG-BPGN1-RIPE - OHS4YOU_NET-EU2                      - Respublic of Belarus
42.52.0.0/14      # China Unicom - UNICOM Liaoning Province Network       - China
43.229.52.0/22    # HOT NET LIMITED - +852-53447023                       - Hongkong
45.114.8.0/22     # HongKong Runidc Technology Co Limited                 - Hongkong
58.128.0.0/13     # Beijing Education Information Network                 - China
58.208.0.0/12     # China Telecom - CHINANET jiangsu province network     - China
59.44.0.0/14      # China Telecom - CHINANET liaoning province network    - China
59.148.215.188/30 # AQUA TRADING CO                                       - Hong Kong
60.208.0.0/13     # China Unicom Shandong province network                - China
60.216.0.0/15     # China Unicom Shandong province network                - China
61.147.0.0/16     # China Telecom - CHINANET jiangsu province network     - China
61.185.0.0/16     # China Telecom - CHINANET Shanxi(SN) province network  - China
103.193.19.0/24   # Universitas Islam Negeri Suska Riau                   - Indonesia
103.239.232.0/22  # Sphier Infotech Private Limited                       - India
111.0.0.0/10      # China Mobile Communications Corporation               - China
111.192.0.0/12    # China Unicom Beijing province network                 - China
113.12.0.0/14     # China Telecom - CHINANET GUANGXI PROVINCE NETWORK     - China
113.96.0.0/12     # China Telecom - CHINANET Guangdong province network   - China
114.24.0.0/14     # Data Communication Business Group                     - Taiwan
114.113.224.0/20  # Beijing Qishangzaixian Data Correspondence Technology Co.,Ltd
115.239.230.0/24  # Ninbo LanZhong Network Co. Ltd.                       - China
116.16.0.0/12     # China Telecom - CHINANET Guangdong province network   - China
116.224.0.0/12    # China Telecom - CHINANET Shanghai province network    - China
116.246.0.0/15    # China Telecom - CHINANET Shanghai province network    - China
117.128.0.0/10    # China Mobile Communications Corporation               - China
119.162.0.0/15    # China Unicom Shandong Province Network                - China
120.192.0.0/10    # China Mobile Communications Corporation               - China
121.16.0.0/13     # China Unicom Hebei province network                   - China
122.112.0.0/19    # Beijing Tonghui Netlink Data Technology Co.,Ltd.      - China
124.224.0.0/16    # China Telecom - CHINANET ningxia province network     - China
125.40.0.0/13     # China Unicom Henan province network                   - China
180.96.0.0/11     # China Telecom - Chinanet Jiangsu Province Network     - China
183.0.0.0/10      # China Telecom - CHINANET Guangdong province network   - China
185.112.102.0/24  # ORG-BPGN1-RIPE - OHS4YOU_NET-EU2                      - Respublic of Belarus
199.7.200.0/21
202.99.128.0/18   # China Unicom - China Unicom Hebei province network    - China
202.165.176.0/20  # China Communication Co., Ltd - Chaoyang District      - China
210.245.80.0/20   # FPT Telecom Company - 2nd floor FPT Building, Pham Hung Road, Cau Giay District, Hanoi
218.2.0.0/15      # China Telecom - CHINANET jiangsu province network     - China
218.4.0.0/16      # China Telecom - CHINANET jiangsu province network     - China
218.13.0.0/16     # China Telecom - CHINANET Guangdong province network   - China
218.14.0.0/15     # China Telecom - CHINANET Guangdong province network   - China
218.16.0.0/15     # China Telecom - CHINANET Guangdong province network   - China
218.18.0.0/16     # China Telecom - CHINANET Guangdong province network   - China
218.60.0.0/15     # China Unicom - Liaoning province network              - China
218.64.0.0/16     # China Telecom - CHINANET jiangxi province network     - China
218.65.0.0/17     # China Telecom - CHINANET jiangxi province network     - China
218.87.0.0/16     # China Telecom - CHINANET jiangxi province network     - China
218.199.144.0/20  # Huazhong University of Science and Technology Wuchang Branch
221.200.0.0/14    # China Unicom - China Unicom Liaoning Province Network - China
222.184.0.0/13    # China Telecom - CHINANET jiangsu province network     - China
221.224.0.0/13    # China Telecom - CHINANET jiangsu province network     - China

# 71.6.135.131      # Shodan - search engine for Internet-connected devices
89.144.25.194     # KIMOONA.COM - Nicosia                                 - Cyprus

:~#

ha egy új jailt aktiválunk, v. hozunk látre a jail.conf fájlban, a megfelelő ip.blaclist-jailname is létrejön. Bevihetőek az ip címek, vagy törlése után egy link is létrehozható egy másik már látező blaclist fájlra.

Mondanom sem kell - gondolom - minden módosítás előtt csinálj biztonsági másolatott a módosítani kívánt fájl(ok)ról!

Hozzászólások

nem biztos, hogy jol fogod meg a dolgot. Az ssh-t nem lenne egyszerubb fix helyekrol beengedni, mint egy incomplete lista alapjan kitiltani a velt rossz fiukat?

A multiport tiltas ertelme sem igazan vilagos: a file-odban a veszelyes halozatok vannak felsorolva, nem? Akkor miert engeded oket az egyik porthoz, ha a masikhoz nem?

Eleve hatekonyabb szerintem AS-eket szurni, imho.

én is gondoltam erre, de pont azt a nyitottságot szüntetném meg, amiért fail2ban-t használok.
ráadásul nem tudom biztosan, hogy legközelebb honnan jelentkezik be v.ki. kínából, ukrajnából, v. oroszországból nem fog, az biztos, bár nem lehetetlen :) tehát ezeket bátran lehet tiltani.

próbáltam azt is, hogy egyszerűen egy iptables szabályt tettem a firewallba, de átláthatatlanná vált egy idő után, vagyis rajtam kívül senki nem tudta mi miért van bejegyezve, még akkor is ha külön chainba tettem a szabályokat.

azért mert az egyik portot floodolja v.ki egy adott hálózatról, másvalaki még használhat szabályosan egy másikat ugyanarról a hálózatról.

a lényeg, hogy annak az oka, hogy nem a világot tiltom ki, majd beengedek egy két címet, az az, amiért fail2ban használok :)