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. |
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