Fail2ban: Difference between revisions
No edit summary |
No edit summary |
||
Line 14: | Line 14: | ||
fail2ban'i jaoks on vajalik Python>=2.4, aga soovituslik 2.5 või uuem<ref>[http://www.fail2ban.org/wiki/index.php/MANUAL_0_8#Installation Ametlik dokumentatsioon]</ref> | fail2ban'i jaoks on vajalik Python>=2.4, aga soovituslik 2.5 või uuem<ref>[http://www.fail2ban.org/wiki/index.php/MANUAL_0_8#Installation Ametlik dokumentatsioon]</ref> | ||
<pre>apt-get install fail2ban</pre> | <pre>apt-get install fail2ban</pre> | ||
=Konfigureerimine= | =Konfigureerimine= | ||
Standartne konfiguratsioonifailide asukoht on /etc/fail2ban ja selle struktuur on:<br /> | |||
/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. | 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. | ||
<pre>cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local</pre> | <pre>cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local</pre> | ||
Line 34: | Line 59: | ||
enabled = true # kas selle teenuse jail on sisse või välja lülitatud | 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 | port = ssh # teenuse port kus kuulab, see võib olla ka mitte standartne port | ||
filter = sshd # filter mida rakendatakse logide parsimisel | 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 | 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. | maxretry = 6 # siin saab globaalse maxretry parameetri muuta ainult antud jail'i jaoks. |
Revision as of 13:49, 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
Standartne konfiguratsioonifailide asukoht on /etc/fail2ban ja selle struktuur on:
/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.