Es domāju, ka cilvēki, kas brauc Linux serveri zināt un zināt par DenyHOSTS y Fail2ban. Tiem, kas viņu nepazīst, es to darīšu paskaidrot mazliet par šiem diviem pieteikumi. |
Lai izvairītos no turpmākām galvassāpēm, mēs instalēsim un konfigurēsim šīs abas programmas. Vispirms mēs izskaidrosim, kas ir šie divi lietojumi un kāda ir to funkcija:
Fail2Ban
Tas ir žurnālu analizators, kas meklē neveiksmīgus reģistrācijas mēģinājumus un bloķē IP, no kuriem šie mēģinājumi nāk. Tas tiek izplatīts saskaņā ar GNU licenci un parasti darbojas visās sistēmās, kas mijiedarbojas ar uzbrukuma vadības sistēmu vai vietējo ugunsmūri.
Fail2Ban ir lieliska konfigurācija, un tā var arī izveidot noteikumus programmām
pašas vai trešās personas.
DenyHOSTS
Tas ir pitonā rakstīts drošības rīks, kas uzrauga piekļuves servera žurnālus, lai novērstu brutālu spēku uzbrukumus virtuālajam serverim. Programma darbojas, aizliedzot IP adreses, kas pārsniedz noteiktu skaitu neveiksmīgu savienojuma mēģinājumu.
Šīs Linux lietojumprogrammas - DenyHosts un Fail2ban - var izmantot atsevišķi vai kopā. Manā gadījumā viņi abi strādā kopā.
Katra no tām instalēšana un konfigurēšana ir atkarīga no izplatīšanas, kuru izmantojat. Šis ziņojums ir orientēts uz CentOS 6.3, lai gan atšķirības starp pārējiem rajoniem nav ļoti izteiktas.
Nu tad ķeries pie darba.
Fail2Ban instalēšana un konfigurēšana
Šī lietojumprogramma ģenerē dinamiskos noteikumus pašā Linux ugunsmūrī un ir atbildīga par aktīvu kārtulu izveidošanu IpTables.
Uzstādīšana
Instalācijai:
yum instalēt fail2ban
Ja pakete neparādās, mums jāpievieno nepieciešamais repozitorijs:
rpm -Uvh http://mirror.metrocast.net/fedora/epel/6/i386/epel-release-6-7.noarch.rpm
Ar to jums jāsāk instalēt lietojumprogramma kopā ar tās atkarībām.
Tagad mums ir jākonfigurē Fail2Ban, lai analizētu vēlamos un bloķētos žurnālus
IP, paziņojumu sūtīšana pa e-pastu. Lai to izdarītu, mums ir jāpārveido fails jail.conf, kuru atrodam mapē / etc / fail2ban
cd / etc / fail2ban
nano cietumā.conf
Šajā failā ir jāveic šādas darbības:
- Modify ir bantime vērtība, šī vērtība nosaka laiku sekundēs, kad uzbrucēja IP tiks bloķēts, pēc noklusējuma vērtība nāk 600 sekundēs.
- Atrodiet maksimālo mēģinājumu vērtību, kas būs to reižu skaits, kad IP var būt neveiksmīga autentifikācija pirms bloķēšanas.
- Ignoreip parametrā pievienojiet mūsu ip. Šeit lietojumprogramma ignorēs mūsu autentificētos IP šajā parametrā.
[DEFAULT]
# "ignoreip" var būt IP adrese, CIDR maska vai DNS resursdators. Fail2ban nebūs
# aizliegt resursdatoru, kas atbilst adresei šajā sarakstā. Var būt vairākas adreses
# definēts, izmantojot atstarpi.
ignorēt = 127.0.0.1
# "bantime" ir sekundes, kurās resursdators ir aizliegts.
bantime = 600
# Saimnieks ir aizliegts, ja pēdējā “atradīšanas laikā” tas ir radījis “maxretry”
# sekundes.
atrašanas laiks = 600
# "maxretry" ir kļūmju skaits, pirms resursdators tiek aizliegts.
maksimāli atkārtota = 3
Piemērs tam, kā tas var izskatīties, ir šāds:
ignoreip = 127.0.0.1 190.25.242.75 192.168.1.0/24
bantime = 800
maksimāli atkārtota = 2
Konfigurējiet Fail2Ban un SSH
Lai meklētu neveiksmīgus SSH pieteikšanās mēģinājumus, mēs modificējam failu, līdz tas izskatās šādi:
[ssh-iptables]
iespējots = patiess
filtrs = sshd
action = iptables [nosaukums = SSH, ports = 22, protokols = tcp] sendmail-whois [nosaukums = SSH, dest=FredySnake@outlook.com, sender = fail2ban @ localhost] logpath = / var / log / drošs # Šis ir žurnāls, kas parsēs fail2ban
maxretry = 3 # tiks bloķēts jebkurš IP, kuram ir trīs vai vairāk neveiksmīgi mēģinājumi.
bantime = 86400 # 24 stundu aizlieguma laiks, kas izteikts sekundēs
Neaizmirstiet, ka, modificējot portu, kurā klausās SSH, ir jāpārveido arī porta parametrs.
Šī lietojumprogramma darbojas ne tikai nesankcionēti piekļūstot SSH, bet arī apache, lasīt Asterisk žurnālus utt.
DenyHOSTS instalēšana un konfigurēšana
Tās darbība ir balstīta uz faila /etc/hosts.deny izmantošanu, tas ir, uz "uzbrūkošo" resursdatoru adrešu bloķēšanu, izveidojot noraidīto saimnieku sarakstu.
Instalāciju no krātuvēm var iegūt ar šādu komandu:
yum instalēt denyhosts
Konfigurācijas fails atrodas mapē /etc/denyhosts.conf
Pirms turpināt, jo kā cilvēki mēs varam pieļaut kļūdas un izdarīt tipisko 8. slāni, piekļūstot jebkuram no pakalpojumiem un bloķējot sevi. Lai no tā izvairītos, mēs rediģējam failu /etc/hosts.allow un pievienojam to mašīnu IP, no kurām mēs nevēlamies tikt ierobežoti piekļuves kļūmes dēļ.
Modificēt failu denyhosts.conf
Lai iestatījumos netiktu tik tālu, šajā failā mēs rediģēsim un komentēsim tikai dažus parametrus. Šie ir:
SYNC_SERVER = http://xmlrpc.denyhosts.net:9911
SYNC_INTERVAL = 1 st
SYNC_UPLOAD = jā
SYNC_DOWNLOAD = jā
SYNC_DOWNLOAD_THRESHOLD = 3
SYNC_DOWNLOAD_RESILIENCY = 5 stundas
Tādējādi mēs praktiski pēc noklusējuma atstāsim konfigurāciju, taču ar lielu drošību pret SSH uzbrukumiem.
nano /etc/hosts.allow
piemērs:
SSD: 127.0.0.1
SSD: 192.168.1.10
SSD: 192.168.0. *
Pēc tam mēs restartējam pakalpojumu:
/etc/init.d/denyhosts restartējiet
Ar to mēs dodam atļauju IP, IP diapazonam un, protams, mūsu loopback interfeisam. Kaut ko neesmu izmēģinājis - tāpēc nezinu, vai tas darbojas - ir pievienot šim failam DNS; tas ir, ar tādiem pakalpojumiem kā DynDNS. Ja darīšu, pastāstīšu, kā gāja.
Izmantojot noteiktas opcijas un pielāgojumus, mēs arī pārliecināsimies, ka pēc laika, kas norādīts DenyHOSTS konfigurācijā, saglabātās adreses tiek notīrītas un tās tiek atjauninātas ar citiem citu sastādītiem sarakstiem - ja mēs to norādām - dodot atļauju piekļūt DenyHOSTS.
Lai laiku pa laikam notīrītu saglabātās adreses, kā konfigurēts, dēmons ir jāpalaiž ar parametru –purge:
/etc/init.d/denyhosts start --purge
Papildus tam mums tas jāiekļauj sistēmas sākumā:
chkconfig denyhosts ieslēgts