Savjeti za zaštitu Linux poslužitelja od vanjskih napada

Valjda ljudi koji voze Linux poslužitelji oni znaju i znaju za OdbijHOSTI y Fail2ban. Za one koji ga ne poznaju, hoću objasniti malo o ovo dvoje aplikacije.

John Fredy Perez jedan je od pobjednici iz našeg tjednog natjecanja: «Podijelite što znate o Linuxu«. Čestitamo! Zabrinut zbog sudjelovati i dati svoj doprinos zajednici, kao što je to učinio 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 sustavima koji se povezuju sa sustavom za kontrolu napada ili lokalnim vatrozidom.

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

OdbijHOSTI

To je sigurnosni alat napisan na pythonu koji nadgleda zapise pristupnog poslužitelja kako bi spriječio grube napade na virtualni poslužitelj. Program radi zabranom IP adresa koje premašuju određeni broj neuspjelih pokušaja povezivanja.

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

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

Pa, krenimo na posao.

Instalacija i konfiguracija Fail2Ban

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

Instalacija

Za instalaciju:

njam instalirati 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

S tim biste trebali započeti instalaciju aplikacije zajedno s njezinim ovisnostima.

Sada moramo konfigurirati Fail2Ban da analizira zapisnike koje želimo i blokiramo
IP adrese, slanje obavijesti e-poštom. Za to moramo izmijeniti datoteku jail.conf koju pronađemo u / etc / fail2ban

cd / etc / fail2ban
nano zatvor.conf

U ovoj datoteci treba učiniti sljedeće:

  • Modify je bantime vrijednost, ta vrijednost određuje vrijeme u sekundama kada će IP napadača biti blokiran, prema zadanim postavkama vrijednost dolazi za 600 sekundi.
  • Pronađite vrijednost maxretry koja će biti broj puta kada IP može imati neuspjelu provjeru autentičnosti prije nego što je blokiran.
  • Dodajte naše ip-ove u parametar ignoreip. 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
# zabraniti hostu koji se podudara s adresom na ovom popisu. 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" tijekom zadnjeg "vremena pronalaska"
# sekunde.
vrijeme pronalaska = 600

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

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

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

Konfigurirajte Fail2Ban i SSH

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

[ssh-iptables] 
omogućeno = istinito
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 zapisnik 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 izmijenite port na kojem sluša SSH, morate izmijeniti i parametar porta.

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

Instalacija i konfiguracija DenyHOSTS-a

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

Instalaciju iz spremišta možete dobiti pomoću sljedeće naredbe:

njam instaliraj denyhosts 

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

Prije nego što nastavimo, 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čunala 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 ćemo datoteci samo urediti i komentirati neke parametre. Ovi su:

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

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

nano /etc/hosts.dopusti

primjer:

sshd:127.0.0.1 
sshd:192.168.1.10
sshd: 192.168.0. *

Nakon toga ponovno pokrećemo uslugu:

/etc/init.d/denyhosts ponovno pokretanje

Ovim dajemo dopuštenje za IP, IP raspon i naravno za naše povratno sučelje. Nešto što nisam pokušao - stoga ne znam da li djeluje - je dodavanje DNS-ova u ovu datoteku; odnosno uslugama poput DynDNS-a. Ako jesam, reći ću vam kako je prošlo.

Određenim opcijama i prilagodbama također ćemo osigurati da se nakon vremenskog razdoblja koje naznačimo u konfiguraciji DenyHOSTS, pohranjene adrese očiste i ažuriraju s ostalim popisima koje su napravili drugi - ako to naznačimo - davanje dozvole za pristup poslužitelj DenyHOSTS.

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 početak --purge

Uz to, moramo ga uključiti na početku sustava:

chkconfig denyhosts na

Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  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 obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.