Savjeti za zaštitu Linux servera od vanjskih napada

Valjda ljudi koji voze Linux serveri znati i znati o tome DenyHOSTS y Fail2ban. Za one koji ga ne poznaju, hoću objasni malo o ovo dvoje aplikacije.

John Fredy Perez je jedan od pobjednici našeg nedeljnog takmičenja: «Podijelite ono što znate o Linuxu«. Čestitamo! Zabrinut zbog učestvovati i da svoj doprinos zajednici, kao i John?

Instalirat ćemo i konfigurirati ove dvije aplikacije kako bismo izbjegli naknadne glavobolje. Prije svega objasnit ćemo koje su ove dvije aplikacije i koja je njihova funkcija:

Fail2Ban

To je analizator dnevnika koji traži neuspjele pokušaje registracije i blokira IP adrese s kojih ti pokušaji dolaze. Distribuira se pod GNU licencom i obično radi na svim sistemima koji se povezuju sa sistemom za kontrolu napada ili lokalnim vatrozidom.

Fail2Ban ima sjajnu konfiguraciju i može kreirati pravila za programe
vlastite ili treće strane.

DenyHOSTS

To je sigurnosni alat napisan na pythonu koji nadgleda zapise pristupnog servera kako bi se spriječili napadi grube sile na virtualni server. Program radi zabranom IP adresa koje premašuju određeni broj neuspjelih pokušaja povezivanja.

Ove Linux aplikacije - DenyHosts i Fail2ban - mogu se koristiti odvojeno ili zajedno. U mom slučaju, moram oboje raditi zajedno.

Instalacija i konfiguracija svake ovisi o distribuciji koju koristite. Ovaj post je orijentiran na CentOS 6.3, iako razlike između ostalih distro-a nisu jako izražene.

Pa onda na posao.

Instalacija i konfiguracija Fail2Ban

Ova aplikacija generira dinamička pravila u samom Linux zaštitnom zidu i odgovorna je za stvaranje živih pravila u IpTables.

Instalacija

Za instalaciju:

yum instalirajte fail2ban 

Ako se paket ne pojavi, moramo dodati potrebno spremište:

rpm -Uvh http://mirror.metrocast.net/fedora/epel/6/i386/epel-release-6-7.noarch.rpm

Ovim biste trebali početi instalirati aplikaciju zajedno sa njenim ovisnostima.

Sada moramo konfigurirati Fail2Ban da analizira dnevnike koje želimo i blokiramo
IP adrese, slanje obavijesti putem e-maila. Da bismo to učinili, moramo modificirati datoteku jail.conf koju pronađemo u / etc / fail2ban

cd / etc / fail2ban
nanojail.conf

U ovoj datoteci treba uraditi sljedeće:

  • Modify je bantime vrijednost, ta vrijednost određuje vrijeme u sekundama kada će IP napadača biti blokiran, po defaultu vrijednost dolazi za 600 sekundi.
  • Pronađite maxretry vrijednost koja će biti broj puta kada IP može imati neuspjelu provjeru autentičnosti prije nego što je blokiran.
  • Dodajte naše IP adrese u ignoreip parametar. Ovdje će aplikacija zanemariti naše provjerene IP adrese u tom parametru.
[ZADANO]
# "ignoreip" može biti IP adresa, CIDR maska ​​ili DNS domaćin. Fail2ban neće
# zabranite hostu koji se podudara s adresom na ovoj listi. Nekoliko adresa može biti
# definirano pomoću razdjelnika prostora.
ignoreip = 127.0.0.1

# "bantime" je broj sekundi u kojima je host zabranjen.
bantime = 600

# Host je zabranjen ako je generirao "maxretry" tokom posljednjeg "vremena pronalaska"
# sekunde.
vrijeme nalaza = 600

# "maxretry" je broj kvarova prije nego što host bude zabranjen.
maxretry = 3

Primjer kako to može biti je sljedeći:

ignoreip = 127.0.0.1 190.25.242.75 192.168.1.0/24
bantime = 800
maxretry = 2

Konfigurirajte Fail2Ban i SSH

Da bismo tražili neuspjele pokušaje SSH prijave, modificiramo datoteku dok ne izgleda ovako:

[ssh-iptables] 
omogućeno = tačno
filter = sshd
action = iptables [name = SSH, port = 22, protocol = tcp] sendmail-whois [name = SSH, dest=FredySnake@outlook.com, sender = fail2ban @ localhost] logpath = / var / log / secure # Ovo je dnevnik koji će analizirati fail2ban
maxretry = 3 # bilo koja IP adresa koja ima tri ili više neuspjelih pokušaja bit će blokirana.
bantime = 86400 # 24-satno vrijeme zabrane izraženo u sekundama

Ne zaboravite da ako promijenite port na kojem sluša SSH, morate izmijeniti i parametar porta.

Ova aplikacija ne samo da radi za neovlašteni pristup u SSH, već i za apache, za čitanje dnevnika Asterisk itd.

Instalacija i konfiguracija DenyHOSTS

Njegova se operacija temelji na korištenju datoteke /etc/hosts.deny, odnosno na blokiranju adresa "napadajućih" hostova, stvarajući listu odbijenih hostova.

Instalacija iz spremišta može se dobiti pomoću sljedeće naredbe:

njam instaliraj denyhosts 

Datoteka za konfiguraciju nalazi se u /etc/denyhosts.conf

Prije nastavka, budući da kao ljudi možemo griješiti i raditi tipični "sloj 8" kada pristupamo bilo kojoj od usluga i blokiramo se. Da bismo to izbjegli, uređujemo datoteku /etc/hosts.allow i dodajemo IP adrese računara s kojih ne želimo biti ograničeni zbog neuspjeha pristupa.

Izmijenite datoteku denyhosts.conf

Da ne bismo išli tako daleko u postavkama, u ovoj datoteci ćemo samo urediti i komentirati neke parametre. Ovo su:

SYNC_SERVER = http://xmlrpc.denyhosts.net:9911
SYNC_INTERVAL = 1h
SYNC_UPLOAD = da
SYNC_DOWNLOAD = da
SYNC_DOWNLOAD_THRESHOLD = 3
SYNC_DOWNLOAD_RESILIENCY = 5h

Stoga ćemo konfiguraciju ostaviti praktički prema zadanim postavkama, ali s velikom sigurnošću od SSH napada.

nano /etc/hosts.allow

Primjer:

sshd:127.0.0.1 
sshd:192.168.1.10
sshd: 192.168.0. *

Nakon ovoga, ponovo pokrećemo uslugu:

/etc/init.d/denyhosts ponovno pokretanje

Ovim dajemo dozvolu IP-u, opsegu IP-a i naravno našem povratnom sučelju. Nešto što nisam pokušao - stoga ne znam da li radi - je dodavanje DNS-ova ovoj datoteci; odnosno sa uslugama poput DynDNS. Ako jesam, reći ću vam kako je prošlo.

S određenim opcijama i postavkama, pobrinut ćemo se i da se nakon vremenskog razdoblja koje naznačimo u konfiguraciji DenyHOSTS, pohranjene adrese očiste i ažuriraju s ostalim listama koje su napravili drugi - ako to naznačimo, dajući dozvolu za pristupite serveru DenyHOSTS-a.

Da bi se s vremena na vrijeme očistile pohranjene adrese, kako je konfigurirano, demon mora biti pokrenut s parametrom –purge:

/etc/init.d/denyhosts start --purge

Uz ovo, moramo ga uključiti na početku sistema:

chkconfig denyhosts na

0 komentara, ostavi svoj

Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.