Padomi, kā aizsargāt Linux serveri no ārējiem uzbrukumiem

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.

Džons Fredijs Peress ir viens no uzvarētāji mūsu iknedēļas sacensībās: «Dalieties ar to, ko zināt par Linux«. Apsveicam! Nemierīgi par piedalīties un dod savu ieguldījumu sabiedrības labā, tāpat kā Jānis?

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

Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgais par datiem: Migels Ángels Gatóns
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.