Tippek a Linux szerver külső támadások elleni védelméhez

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.

John Fredy Perez az egyik nyertesek heti versenyünkről: «Ossza meg, mit tud a Linuxról«. Gratulálunk! Aggódnak részt vesz és hozzájárulhat a közösséghez, ahogy John tette?

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

Hagyja megjegyzését

E-mail címed nem kerül nyilvánosságra. Kötelező mezők vannak jelölve *

*

*

  1. Az adatokért felelős: Miguel Ángel Gatón
  2. Az adatok célja: A SPAM ellenőrzése, a megjegyzések kezelése.
  3. Legitimáció: Az Ön beleegyezése
  4. Az adatok közlése: Az adatokat csak jogi kötelezettség alapján továbbítjuk harmadik felekkel.
  5. Adattárolás: Az Occentus Networks (EU) által üzemeltetett adatbázis
  6. Jogok: Bármikor korlátozhatja, helyreállíthatja és törölheti adatait.