Fail2ban: Difference between revisions

From ICO wiki
Jump to navigationJump to search
Alvolkov (talk | contribs)
No edit summary
Alvolkov (talk | contribs)
No edit summary
Line 17: Line 17:




=Konfigureerimine<ref>[https://www.digitalocean.com/community/tutorials/how-to-install-and-use-fail2ban-on-ubuntu-14-04 DigitalOcean'i fail2ban installatsiooni juhend]</ref>=
=Konfigureerimine<ref>[https://www.digitalocean.com/community/tutorials/how-to-install-and-use-fail2ban-on-ubuntu-14-04 DigitalOcean'i fail2ban installatsiooni juhend]</ref><ref>[http://www.fail2ban.org/wiki/index.php/MANUAL_0_8#Configuration Ametlik konfigureerimise juhend]</ref>=
Standartne konfiguratsioonifailide asukoht ja selle struktuur on<ref>[http://www.fail2ban.org/wiki/index.php/MANUAL_0_8#Configuration Ametlik konfigureerimise juhend]</ref> :<br />
Standartne konfiguratsioonifailide asukoht ja selle struktuur on<ref>[http://www.fail2ban.org/wiki/index.php/MANUAL_0_8#Configuration Ametlik konfigureerimise juhend]</ref> :<br />
/etc/fail2ban/
/etc/fail2ban/

Revision as of 14:06, 13 June 2015

Autor

Aleksei Volkov A11

2015

Sissejuhatus

Fail2ban on tarkvara, mis kaitseb arvuti/serveri brute-force rünnete eest. See on python keeles kirjutatud tarkvara, mis parsib logifailid ja vastavalt defineeritud reeglitele teeb otsused(nt teatud IP aadress tulemüüris blokeerida). See töörist on hea kasutada nende teenuste turvamiseks, millele tihti tehakse brute-force ründeid, nt ssh, veebiserver, postiteenused, PBXid jne.

Antud artiklis kasutatakse Ubuntu 14.04.2 x86_6, fail2ban v0.8.1, iptables v1.4.21 ja Python 2.7.6. Näidis konfiguratsioonis me kaitseme sshd mis kuulab pordil 22 brute force'i eest. Eeldus: kõik konfiguratsioniga ja installatsiooniga seotud tegevused peab tegema root kasutaja õigustega.

Installeerimine

fail2ban'i jaoks on vajalik Python>=2.4, aga soovituslik 2.5 või uuem[1]

apt-get install fail2ban


Konfigureerimine[2][3]

Standartne konfiguratsioonifailide asukoht ja selle struktuur on[4] :
/etc/fail2ban/

├── action.d
│   ├── dummy.conf
│   ├── hostsdeny.conf
│   ├── iptables.conf
│   ├── mail-whois.conf
│   ├── mail.conf
│   └── shorewall.conf
├── fail2ban.conf
├── fail2ban.local
├── filter.d
│   ├── apache-auth.conf
│   ├── apache-noscript.conf
│   ├── couriersmtp.conf
│   ├── postfix.conf
│   ├── proftpd.conf
│   ├── qmail.conf
│   ├── sasl.conf
│   ├── sshd.conf
│   └── vsftpd.conf
├── jail.conf
└── jail.local

Põhiline konfiguratsioonifail on /etc/fail2ban/jail.conf, aga kuna selle kirjutatakse ümber tarkvara uuendamisega, peab selle kopeerima jail.local'iks. Need mõlemad failid loetakse sisse, alguses .conf ja siis .local, seega .local on see õige kasutaja poolt defineeritud konfiguratsioon.

cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

failis /etc/fail2ban/jail.local põhilised parameetrid on:
aadressid, mida ei blokeerita, nt sisevõrk ja localhost.

ignoreip = 127.0.0.1/8

aeg, milleks blokeeritakse IP

bantime = 600

Aeg mille jooksul tuleb teha arv ebaõnnestunuid katseid ja katsete arv.

findtime = 600
maxretry = 3

Action on see tegevus, mida fail2ban teeb siis, kui mõni IP tahetakse blokeerida. action_ on vaikimisi valik, mis lihtsalt blokeerib IP.

action = $(action_)s

Peale üldiste parameetrite konfigurerimise saab konfigureerida individuaalsed Jail'id nende teenuste jaoks, mida me tahame kaitsta. Selleks lisame jail.local faili järgmine osa:

[ssh]
enabled  = true                     # kas selle teenuse jail on sisse või välja lülitatud
port     = ssh                         # teenuse port kus kuulab, see võib olla ka mitte standartne port
filter   = sshd                        # filter mida rakendatakse logide parsimisel, see asub /etc/fail2ban/filter.d kaustas .conf lõppuga.(antud juhul sshd.conf)
logpath  = /var/log/auth.log  # teenuse logi fail, mida on vaja parsida
maxretry = 6                         # siin saab globaalse maxretry parameetri muuta ainult antud jail'i jaoks.

Peale muudatuste salvestamise tuleb teha ka teenusele restart:

service fail2ban restart

Kokkuvõte

Fail2ban on üsna lihtne konfida ja sellele saab defineerida väga lihtsalt erinevaid isekirjutatud filtreid, konfiguratsioone jne. Samas on olemas mõned miinused selle kasutamise juures. Nt, see ei toeta ipv6. Samuti fail2ban parsib logifaile, seega enne kui sinna on midagi kirjutatud ei saa fail2ban midagi teha.[5]

Kasutatud kirjandus