Nasveti za zaščito strežnika Linux pred zunanjimi napadi

Mislim, da ljudje, ki vozijo Linux strežniki vedeti in vedeti o Zavrni HOSTS y Fail2ban. Za tiste, ki ga ne poznajo, ga bom razloži malo o teh dveh aplikacije.

John Fredy Perez je eden izmed zmagovalci našega tedenskega tekmovanja: «Povejte, kaj veste o Linuxu«. Čestitamo! Zaskrbljen zaradi sodelovanje in prispevali k skupnosti, tako kot Janez?

Ti dve aplikaciji bomo namestili in konfigurirali, da se izognemo nadaljnjim preglavicam. Najprej bomo razložili, kaj sta ti dve aplikaciji in kakšna je njihova funkcija:

Fail2Ban

Gre za analizator dnevnikov, ki išče neuspešne poskuse registracije in blokira naslove IP, s katerih ti poskusi prihajajo. Razdeljen je pod licenco GNU in običajno deluje v vseh sistemih, ki se povezujejo s sistemom za nadzor napadov ali lokalnim požarnim zidom.

Fail2Ban ima odlično konfiguracijo in lahko tudi ustvari pravila za programe
lastne ali tretje osebe.

Zavrni HOSTS

To je varnostno orodje, napisano v pythonu, ki nadzira dnevnike dostopnega strežnika, da prepreči napade surove sile na navidezni strežnik. Program deluje tako, da prepove IP naslove, ki presegajo določeno število neuspelih poskusov povezave.

Te aplikacije Linux - DenyHosts in Fail2ban - je mogoče uporabljati ločeno ali skupaj. V mojem primeru oba sodelujem.

Namestitev in konfiguracija vsakega je odvisna od distribucije, ki jo uporabljate. Ta objava je usmerjena v CentOS 6.3, čeprav razlike med ostalimi distro-ji niso zelo izrazite.

No, potem se loti dela.

Namestitev in konfiguracija Fail2Ban

Ta aplikacija generira dinamična pravila v samem požarnem zidu Linux in je odgovorna za ustvarjanje pravil v živo v IpTables.

Namestitev

Za namestitev:

yum namestite fail2ban 

Če se paket ne prikaže, moramo dodati potrebno repozitorij:

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

S tem bi morali začeti nameščati aplikacijo skupaj z njenimi odvisnostmi.

Zdaj moramo Fail2Ban konfigurirati tako, da analizira dnevnike, ki jih želimo, in jih blokiramo
IP-ji, pošiljanje obvestil po e-pošti. Za to moramo spremeniti datoteko jail.conf, ki jo najdemo v / etc / fail2ban

cd / etc / fail2ban
nano zapor.conf

V tej datoteki je treba storiti naslednje:

  • Modify je bantime vrednost, ta vrednost določa čas v sekundah, ko bo IP napadalca blokiran, privzeto pa vrednost v 600 sekundah.
  • Poiščite vrednost maxretry, ki bo števila, kolikokrat ima IP lahko neuspešno preverjanje pristnosti, preden je blokiran.
  • Dodajte naše ip-je v parameter ignoreip. Tu bo aplikacija prezrla naše overjene IP-je v tem parametru.
[PRIPOROČILO]
# "ignoreip" je lahko naslov IP, maska ​​CIDR ali gostitelj DNS. Fail2ban ne bo
# prepovedati gostitelja, ki se ujema z naslovom na tem seznamu. Lahko je več naslovov
# definirano z ločevalnikom presledka.
ignoreip = 127.0.0.1

# "bantime" je število sekund, ko je gostitelj prepovedan.
bantime = 600

# Gostitelj je prepovedan, če je v zadnjem "času iskanja" ustvaril "maxretry"
# sekunde.
findtime = 600

# "maxretry" je število napak, preden je gostitelj prepovedan.
maxretry = 3

Primer, kako je lahko videti, je naslednji:

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

Konfigurirajte Fail2Ban in SSH

Za iskanje neuspelih poskusov prijave SSH datoteko spreminjamo, dokler ni videti takole:

[ssh-iptables] 
omogočeno = res
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 # To je dnevnik, ki bo analiziral fail2ban
maxretry = 3 # blokiran bo kateri koli IP, ki ima tri ali več neuspelih poskusov.
bantime = 86400 # 24-urni čas prepovedi, izražen v sekundah

Ne pozabite, da če spremenite vrata, kjer posluša SSH, morate spremeniti tudi parameter vrat.

Ta aplikacija ne deluje samo za nepooblaščen dostop v SSH, temveč tudi za apache, branje dnevnikov Asterisk itd.

Namestitev in konfiguracija DenyHOSTS

Njeno delovanje temelji na uporabi datoteke /etc/hosts.deny, to je na blokiranju naslovov "napadalnih" gostiteljev in ustvarjanju seznama zavrnjenih gostiteljev.

Namestitev iz skladišč je mogoče dobiti z naslednjim ukazom:

yum namestite denyhosts 

Konfiguracijska datoteka se nahaja v /etc/denyhosts.conf

Preden nadaljujemo, saj kot ljudje lahko naredimo napako in naredimo tipičen "sloj 8", ko dostopamo do katere koli storitve in se blokiramo. Da bi se temu izognili, uredimo datoteko /etc/hosts.allow in dodamo IP-je računalnikov, s katerih ne želimo biti omejeni zaradi okvare dostopa.

Spremenite datoteko denyhosts.conf

Da ne bi šli tako daleč v nastavitvah, bomo v tej datoteki uredili in razkomentirali le nekatere parametre. To so:

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 ur

Tako bomo konfiguracijo zapustili praktično privzeto, vendar z veliko zaščito pred napadi SSH.

nano /etc/hosts.allow

Primer:

sshd:127.0.0.1 
sshd:192.168.1.10
sshd: 192.168.0. *

Po tem ponovno zaženemo storitev:

/etc/init.d/denyhosts se znova zažene

S tem dajemo dovoljenje IP-ju, obsegu IP-ja in seveda našemu povratnemu vmesniku. Nekaj, česar nisem poskusil - zato ne vem, ali deluje - je dodati datoteko DNS v to datoteko; torej s storitvami, kot je DynDNS. Če bom, vam bom povedal, kako je šlo.

Z določenimi možnostmi in nastavitvami bomo zagotovili tudi, da se po poteku obdobja, ki ga označimo v konfiguraciji DenyHOSTS, shranjeni naslovi očistijo in posodobijo z drugimi seznami, ki jih naredijo drugi - če to označimo, da dovoljenje za dostop do strežnika DenyHOSTS.

Če želite občasno očistiti shranjene naslove, kot je konfiguriran, je treba demon zagnati s parametrom –purge:

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

Poleg tega ga moramo vključiti na začetku sistema:

chkconfig denyhosts na

Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Za podatke odgovoren: Miguel Ángel Gatón
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.