Gondolom, azok az emberek, akik vezetnek Linux szerverek tud és tud DenyHOSTS y fail2ban. Azok számára, akik nem ismerik őt, megteszem magyarázza el egy kicsit erről a kettőről alkalmazások. |
A későbbi fejfájás elkerülése érdekében telepítjük és konfiguráljuk ezt a két alkalmazást. Először elmagyarázzuk, mi ez a két alkalmazás, és mi a funkciójuk:
Fail2Ban
Ez egy naplóelemző, amely sikertelen regisztrációs kísérleteket keres és blokkolja azokat az IP-ket, amelyekből ezek a kísérletek származnak. A GNU licenc alatt terjesztik, és jellemzően minden olyan rendszeren működik, amelyek támadás-vezérlő rendszerrel vagy helyi tűzfallal kapcsolódnak.
A Fail2Ban nagyszerű konfigurációval rendelkezik, és szabályokat is létrehozhat a programok számára
saját vagy harmadik felek.
DenyHOSTS
Ez egy pythonban írt biztonsági eszköz, amely figyeli a hozzáférési kiszolgáló naplóit, hogy megakadályozza a virtuális szerver elleni erőszakos támadásokat. A program azáltal tiltja az IP-címeket, amelyek meghaladják a sikertelen kapcsolódási kísérletek bizonyos számát.
Ezek a Linux-alkalmazások - a DenyHosts és a Fail2ban - külön-külön vagy együtt is használhatók. Esetemben mindketten együtt dolgoznak.
Mindegyik telepítése és konfigurálása a használt terjesztéstől függ. Ez a bejegyzés a CentOS 6.3-ra irányul, bár a többi disztribúció közötti különbségek nem túl markánsak.
Nos, akkor kezdjünk dolgozni.
Fail2Ban telepítése és konfigurálása
Ez az alkalmazás dinamikus szabályokat generál magában a Linux tűzfalban, és felelős az élő szabályok létrehozásáért az IpTables-ben.
Telepítés
A telepítéshez a:
yum install fail2ban
Ha a csomag nem jelenik meg, hozzá kell adnunk a szükséges adattárat:
rpm -Uvh http://mirror.metrocast.net/fedora/epel/6/i386/epel-release-6-7.noarch.rpm
Ezzel el kell kezdeni az alkalmazás telepítését annak függőségeivel együtt.
Most konfigurálnunk kell a Fail2Ban-t a kívánt és blokkolt naplók elemzéséhez
IP-k, értesítések küldése e-mailben. Ehhez módosítanunk kell a jail.conf fájlt, amelyet az / etc / fail2ban fájlban találunk
cd / etc / fail2ban
nano börtön.conf
A következőket kell tennie ebben a fájlban:
- A Módosítás a bantime érték, ez az érték másodpercben meghatározza a támadó IP-jének blokkolásának idejét, alapértelmezés szerint ez az érték 600 másodpercen belül jön.
- Keresse meg azt a maxretry értéket, amely annyi lesz, ahányszor egy IP meghiúsult hitelesítéssel rendelkezhet, mielőtt letiltanák.
- Adja hozzá ip -inket az ignoreip paraméterbe. Itt az alkalmazás figyelmen kívül hagyja az adott paraméterben szereplő hitelesített IP -inket.
[Alapbeállítás]
A # "ignoreip" lehet IP-cím, CIDR-maszk vagy DNS-gazdagép. A Fail2ban nem fog
# tiltsa le a gazdagépet, amely megfelel a listában szereplő címnek. Több cím lehet
# a szóköz elválasztójával definiálva.
ignoreip = 127.0.0.1
# "bantime": az a másodperc, amikor a gazdagépet tiltják.
bantime = 600
# A gazdagépet letiltják, ha "maxretry" -t generáltak a legutóbbi "findtime" során
# másodperc.
keresési idő = 600
# "maxretry": a gazdagép betiltása előtti hibák száma.
maxretry = 3
Példa a következőkre:
ignoreip = 127.0.0.1 190.25.242.75 192.168.1.0/24
bantime = 800
maxretry = 2
Konfigurálja a Fail2Ban-t és az SSH-t
A sikertelen SSH bejelentkezési kísérletek kereséséhez módosítsuk a fájlt, amíg a következőképpen néz ki:
[ssh-iptables]
engedélyezve = igaz
szűrő = sshd
action = iptables [név = SSH, port = 22, protokoll = tcp] sendmail-whois [név = SSH, dest=FredySnake@outlook.com, sender = fail2ban @ localhost] logpath = / var / log / biztonságos # Ez a napló, amely elemzi a fail2ban fájlt
maxretry = 3 # minden olyan IP-t blokkolunk, amelynek három vagy több sikertelen kísérlete van.
bantime = 86400 # 24 órás tiltási idő másodpercben kifejezve
Ne felejtse el, hogy ha módosítja azt a portot, ahol az SSH hallgatja, akkor módosítania kell a port paramétert is.
Ez az alkalmazás nemcsak az SSH jogosulatlan hozzáférésénél működik, hanem az apache-nál is, az Asterisk naplók olvasásához stb.
DenyHOSTS telepítése és konfigurálása
Működése az /etc/hosts.deny fájl használatán alapul, vagyis a "támadó" gazdagépek címeinek blokkolásán, az elutasított gépek listájának elkészítésén alapul.
A telepítés a tárakból a következő paranccsal érhető el:
telepítse a házigazdákat
A konfigurációs fájl az /etc/denyhosts.conf fájlban található
Mielőtt folytatnánk, mivel emberként hibázhatunk, és megtehetjük a tipikus "8. réteget", amikor bármelyik szolgáltatáshoz hozzáférünk és blokkoljuk magunkat. Ennek elkerülése érdekében szerkesztjük az /etc/hosts.allow fájlt, és hozzáadjuk azoknak a gépeknek az IP-címeit, amelyek hozzáférési hibája miatt nem akarunk korlátozásokat.
Módosítsa a denyhosts.conf fájlt
Annak érdekében, hogy ne menjünk el ennyire a beállításokban, ebben a fájlban csak néhány paramétert fogunk szerkeszteni és megjegyzést tenni. Ezek:
SYNC_SERVER = http://xmlrpc.denyhosts.net:9911
SYNC_INTERVAL = 1 óra
SYNC_UPLOAD = igen
SYNC_DOWNLOAD = igen
SYNC_DOWNLOAD_THRESHOLD = 3
SYNC_DOWNLOAD_RESILIENCY = 5 óra
Így gyakorlatilag alapértelmezés szerint hagyunk egy konfigurációt, de nagy biztonsággal az SSH-támadások ellen.
nano /etc/hosts.allow
Példa:
SSD: 127.0.0.1
SSD: 192.168.1.10
SSD: 192.168.0. *
Ezt követően újraindítjuk a szolgáltatást:
/etc/init.d/denyhosts újraindul
Ezzel engedélyt adunk egy IP-re, egy IP-tartományra és természetesen a loopback interfészünkre. Valami, amit még nem próbáltam meg - ezért nem tudom, hogy működik-e - DNS-ek hozzáadása ehhez a fájlhoz; vagyis olyan szolgáltatásokkal, mint a DynDNS. Ha megteszem, elmondom, hogy ment.
Bizonyos opciókkal és kiigazításokkal arra is figyelni fogunk, hogy a DenyHOSTS konfigurációban megadott időtartam után a tárolt címek megtisztuljanak, és frissítésre kerüljenek mások által készített egyéb listákkal - ha jelezzük - hozzáférési engedélyt adunk a DenyHOSTS szervere.
A tárolt címek időnként történő megtisztításához a konfiguráció szerint a démonnak a –purge paraméterrel kell futnia:
/etc/init.d/denyhosts start --purge
Ezen felül fel kell tüntetnünk a rendszer indításakor:
chkconfig denyhosts be