Ero sivun ”Fail2ban” versioiden välillä
(Tämä versio merkittiin käännettäväksi) |
|||
Rivi 1: | Rivi 1: | ||
<languages/> | <languages/> | ||
<translate> | <translate> | ||
+ | <!--T:1--> | ||
Fail2ban auttaa suojaamaan yhdestä IP-osoitteesta tulevia [http://en.wikipedia.org/wiki/Brute-force_attack brute force] hyökkäyksiä seuraamalla lokitiedostoja palvelimella. Tällä voi estää mm. tietyn kirjautumisyritysten määrän jälkeiset kirjautumiset. | Fail2ban auttaa suojaamaan yhdestä IP-osoitteesta tulevia [http://en.wikipedia.org/wiki/Brute-force_attack brute force] hyökkäyksiä seuraamalla lokitiedostoja palvelimella. Tällä voi estää mm. tietyn kirjautumisyritysten määrän jälkeiset kirjautumiset. | ||
+ | <!--T:2--> | ||
Fail2baniin saa suodattimia mm. [[Apache2|Apache]], [[Dovecot]], [[Postfix]] ja [[Ssh|SSH]]. | Fail2baniin saa suodattimia mm. [[Apache2|Apache]], [[Dovecot]], [[Postfix]] ja [[Ssh|SSH]]. | ||
+ | <!--T:3--> | ||
Fail2banin ongelmana on ettei siinä ole tukea IPv6 osoitteille eikä jaetuille [http://en.wikipedia.org/wiki/Brute-force_attack brute force] hyökkäyksille. | Fail2banin ongelmana on ettei siinä ole tukea IPv6 osoitteille eikä jaetuille [http://en.wikipedia.org/wiki/Brute-force_attack brute force] hyökkäyksille. | ||
− | == Asentaminen == | + | == Asentaminen == <!--T:4--> |
− | === Debian / Ubuntu === | + | === Debian / Ubuntu === <!--T:5--> |
− | [[aptitude]] install fail2ban | + | <!--T:6--> |
+ | [[aptitude]] install fail2ban | ||
+ | <!--T:7--> | ||
TAI | TAI | ||
− | [[apt-get]] install fail2ban | + | <!--T:8--> |
+ | [[apt-get]] install fail2ban | ||
− | === Red Hat / CentOS / Fedora === | + | === Red Hat / CentOS / Fedora === <!--T:9--> |
+ | <!--T:10--> | ||
Lataa asennuspaketti | Lataa asennuspaketti | ||
+ | <!--T:11--> | ||
rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm | rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm | ||
+ | <!--T:12--> | ||
Asennetaan komennolla | Asennetaan komennolla | ||
− | yum install fail2ban | + | <!--T:13--> |
+ | yum install fail2ban | ||
− | == Konfigurointi == | + | == Konfigurointi == <!--T:14--> |
+ | <!--T:15--> | ||
Avataan /etc/fail2ban/jail.conf | Avataan /etc/fail2ban/jail.conf | ||
− | [[nano]] /etc/fail2ban/jail.conf | + | <!--T:16--> |
+ | [[nano]] /etc/fail2ban/jail.conf | ||
+ | <!--T:17--> | ||
Oletusasetuksia: | Oletusasetuksia: | ||
+ | <!--T:18--> | ||
'''ignoreip''' = IP-osoitteita jotka ohittavat suodattimet | '''ignoreip''' = IP-osoitteita jotka ohittavat suodattimet | ||
+ | <!--T:19--> | ||
'''bantime''' = Aika, kuinka kauan osoitetta säilytetään estolistalla, oletuksena 600 sekuntia | '''bantime''' = Aika, kuinka kauan osoitetta säilytetään estolistalla, oletuksena 600 sekuntia | ||
+ | <!--T:20--> | ||
'''findtime''' = Estää Ip-osoitteen jos tämän ajan sisällä on epäonnistunut kirjautumisessa kolme kertaa | '''findtime''' = Estää Ip-osoitteen jos tämän ajan sisällä on epäonnistunut kirjautumisessa kolme kertaa | ||
+ | <!--T:21--> | ||
'''maxretry''' = Kuinka monta yritystä, ennen kuin osoite estetään | '''maxretry''' = Kuinka monta yritystä, ennen kuin osoite estetään | ||
+ | <!--T:22--> | ||
Esimerkki konfiguroinnista: | Esimerkki konfiguroinnista: | ||
+ | <!--T:23--> | ||
[DEFAULT] | [DEFAULT] | ||
− | # "ignoreip" can be an IP address, a CIDR mask or a DNS host | + | <!--T:24--> |
+ | # "ignoreip" can be an IP address, a CIDR mask or a DNS host | ||
ignoreip = 127.0.0.1 192.168.1.1 | ignoreip = 127.0.0.1 192.168.1.1 | ||
bantime = 600 | bantime = 600 | ||
Rivi 59: | Rivi 79: | ||
+ | <!--T:25--> | ||
Eli jätetään estolistan ulkopuolelle IP-osoitteet 192.168.1.1 ja 172.0.0.1 (=localhost). Enintään 3 yritystä sallitaan ja jos ylittyy niin pistetään 600 sekunniksi estolistalle. | Eli jätetään estolistan ulkopuolelle IP-osoitteet 192.168.1.1 ja 172.0.0.1 (=localhost). Enintään 3 yritystä sallitaan ja jos ylittyy niin pistetään 600 sekunniksi estolistalle. | ||
+ | <!--T:26--> | ||
Ja lisäksi SSH:n konfiguraatiot: | Ja lisäksi SSH:n konfiguraatiot: | ||
− | [ssh] # fail2ban-ssh = Suodattimen nimi | + | <!--T:27--> |
+ | [ssh] # fail2ban-ssh = Suodattimen nimi | ||
enabled = true # Onko siis suodatin käytössä? Vaihtoehtona true ja false. | enabled = true # Onko siis suodatin käytössä? Vaihtoehtona true ja false. | ||
Rivi 71: | Rivi 94: | ||
maxretry = 6 # Kuinka monta yritystä sallitaan | maxretry = 6 # Kuinka monta yritystä sallitaan | ||
+ | <!--T:28--> | ||
Seuraavassa esimerkit konfiguraatiosta: | Seuraavassa esimerkit konfiguraatiosta: | ||
− | === Apache === | + | === Apache === <!--T:29--> |
− | [apache] | + | <!--T:30--> |
+ | [apache] | ||
enabled = true | enabled = true | ||
Rivi 83: | Rivi 108: | ||
maxretry = 6 | maxretry = 6 | ||
− | # default action is now multiport, so apache-multiport jail was left | + | <!--T:31--> |
+ | # default action is now multiport, so apache-multiport jail was left | ||
# for compatibility with previous (<0.7.6-2) releases | # for compatibility with previous (<0.7.6-2) releases | ||
[apache-multiport] | [apache-multiport] | ||
Rivi 93: | Rivi 119: | ||
maxretry = 6 | maxretry = 6 | ||
− | [apache-noscript] | + | <!--T:32--> |
+ | [apache-noscript] | ||
enabled = true | enabled = true | ||
Rivi 101: | Rivi 128: | ||
maxretry = 6 | maxretry = 6 | ||
− | [apache-overflows] | + | <!--T:33--> |
+ | [apache-overflows] | ||
enabled = true | enabled = true | ||
Rivi 110: | Rivi 138: | ||
− | === SSH === | + | === SSH === <!--T:34--> |
− | [ssh] | + | <!--T:35--> |
+ | [ssh] | ||
− | enabled = true | + | <!--T:36--> |
+ | enabled = true | ||
port = ssh | port = ssh | ||
filter = sshd | filter = sshd | ||
Rivi 120: | Rivi 150: | ||
maxretry = 6 | maxretry = 6 | ||
+ | <!--T:37--> | ||
Oletuksena SSH sallii 6 yritystä muodostaessa yhteyttä, suositus on 3 yritystä. | Oletuksena SSH sallii 6 yritystä muodostaessa yhteyttä, suositus on 3 yritystä. | ||
+ | <!--T:38--> | ||
'''port = ssh''' pitää muuttaa jos olet muuttanut SSH:n oletusporttia /etc/ssh/sshd.config tiedostosta. | '''port = ssh''' pitää muuttaa jos olet muuttanut SSH:n oletusporttia /etc/ssh/sshd.config tiedostosta. | ||
− | === Proftpd === | + | === Proftpd === <!--T:39--> |
− | [proftpd] | + | <!--T:40--> |
+ | [proftpd] | ||
− | enabled = true | + | <!--T:41--> |
+ | enabled = true | ||
port = ftp,ftp-data,ftps,ftps-data | port = ftp,ftp-data,ftps,ftps-data | ||
filter = proftpd | filter = proftpd | ||
Rivi 134: | Rivi 168: | ||
maxretry = 3 | maxretry = 3 | ||
− | === Postfix === | + | === Postfix === <!--T:42--> |
− | [postfix] | + | <!--T:43--> |
+ | [postfix] | ||
enabled = true | enabled = true | ||
Rivi 143: | Rivi 178: | ||
logpath = /var/log/mail.log | logpath = /var/log/mail.log | ||
− | [sasl] | + | <!--T:44--> |
+ | [sasl] | ||
enabled = true | enabled = true | ||
Rivi 153: | Rivi 189: | ||
logpath = /var/log/mail.log | logpath = /var/log/mail.log | ||
− | [dovecot] | + | <!--T:45--> |
+ | [dovecot] | ||
enabled = true | enabled = true | ||
Rivi 160: | Rivi 197: | ||
logpath = /var/log/mail.log | logpath = /var/log/mail.log | ||
− | == Lokitiedosto== | + | == Lokitiedosto== <!--T:46--> |
+ | <!--T:47--> | ||
Fail2ban tarkistaa estolistan fail2ban lokista, joka on polussa /var/log/fail2ban.log | Fail2ban tarkistaa estolistan fail2ban lokista, joka on polussa /var/log/fail2ban.log | ||
− | nano /var/log/fail2ban.log | + | <!--T:48--> |
+ | nano /var/log/fail2ban.log | ||
+ | <!--T:49--> | ||
Tiedostossa näkyy kaikki lokit ja yritykset muodostaessa yhteyttä palvelimeen. | Tiedostossa näkyy kaikki lokit ja yritykset muodostaessa yhteyttä palvelimeen. | ||
+ | <!--T:50--> | ||
Esimerkkiloki: | Esimerkkiloki: | ||
− | 2014-05-13 15:52:30,388 fail2ban.actions: WARNING [sendmail] Ban XXX.66.82.116 | + | <!--T:51--> |
+ | 2014-05-13 15:52:30,388 fail2ban.actions: WARNING [sendmail] Ban XXX.66.82.116 | ||
2014-05-13 15:59:29,295 fail2ban.actions: WARNING [sendmail] Ban XXX.27.118.100 | 2014-05-13 15:59:29,295 fail2ban.actions: WARNING [sendmail] Ban XXX.27.118.100 | ||
2014-05-13 16:07:31,183 fail2ban.actions: WARNING [sendmail] Unban XXX.66.82.116 | 2014-05-13 16:07:31,183 fail2ban.actions: WARNING [sendmail] Unban XXX.66.82.116 | ||
Rivi 180: | Rivi 222: | ||
2014-05-13 17:11:27,833 fail2ban.actions: WARNING [ssh] Unban XXX.136.60.164 | 2014-05-13 17:11:27,833 fail2ban.actions: WARNING [ssh] Unban XXX.136.60.164 | ||
− | == Aiheeseen liittyvää == | + | == Aiheeseen liittyvää == <!--T:52--> |
+ | <!--T:53--> | ||
[[Iptables]] | [[Iptables]] | ||
− | == Lisätietoa == | + | == Lisätietoa == <!--T:54--> |
+ | <!--T:55--> | ||
https://www.omaserveri.info/suojaa-ssh-yhteytesi-brute-force-hyokkayksilta/ | https://www.omaserveri.info/suojaa-ssh-yhteytesi-brute-force-hyokkayksilta/ | ||
− | == Lähteet == | + | == Lähteet == <!--T:56--> |
+ | <!--T:57--> | ||
https://www.digitalocean.com/community/tutorials/how-to-protect-ssh-with-fail2ban-on-centos-6 | https://www.digitalocean.com/community/tutorials/how-to-protect-ssh-with-fail2ban-on-centos-6 | ||
</translate> | </translate> |
Versio 21. tammikuuta 2015 kello 09.58
Fail2ban auttaa suojaamaan yhdestä IP-osoitteesta tulevia brute force hyökkäyksiä seuraamalla lokitiedostoja palvelimella. Tällä voi estää mm. tietyn kirjautumisyritysten määrän jälkeiset kirjautumiset.
Fail2baniin saa suodattimia mm. Apache, Dovecot, Postfix ja SSH.
Fail2banin ongelmana on ettei siinä ole tukea IPv6 osoitteille eikä jaetuille brute force hyökkäyksille.
Sisällysluettelo
Asentaminen
Debian / Ubuntu
aptitude install fail2ban
TAI
apt-get install fail2ban
Red Hat / CentOS / Fedora
Lataa asennuspaketti
rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
Asennetaan komennolla
yum install fail2ban
Konfigurointi
Avataan /etc/fail2ban/jail.conf
nano /etc/fail2ban/jail.conf
Oletusasetuksia:
ignoreip = IP-osoitteita jotka ohittavat suodattimet
bantime = Aika, kuinka kauan osoitetta säilytetään estolistalla, oletuksena 600 sekuntia
findtime = Estää Ip-osoitteen jos tämän ajan sisällä on epäonnistunut kirjautumisessa kolme kertaa
maxretry = Kuinka monta yritystä, ennen kuin osoite estetään
Esimerkki konfiguroinnista:
[DEFAULT]
# "ignoreip" can be an IP address, a CIDR mask or a DNS host ignoreip = 127.0.0.1 192.168.1.1 bantime = 600 maxretry = 3 # "backend" specifies the backend used to get files modification. Available # options are "gamin", "polling" and "auto
Eli jätetään estolistan ulkopuolelle IP-osoitteet 192.168.1.1 ja 172.0.0.1 (=localhost). Enintään 3 yritystä sallitaan ja jos ylittyy niin pistetään 600 sekunniksi estolistalle.
Ja lisäksi SSH:n konfiguraatiot:
[ssh] # fail2ban-ssh = Suodattimen nimi enabled = true # Onko siis suodatin käytössä? Vaihtoehtona true ja false. port = ssh # Portti missä on, voi olla siis ssh tai portti numero esim. 22 filter = sshd # Suodattimen tyyppi. Suodattimet löytyy /etc/fail2ban/filter.d/ hakemistosta. logpath = /var/log/auth.log # Lokien sijainti maxretry = 6 # Kuinka monta yritystä sallitaan
Seuraavassa esimerkit konfiguraatiosta:
Apache
[apache] enabled = true port = http,https filter = apache-auth logpath = /var/log/apache*/*error.log maxretry = 6
# default action is now multiport, so apache-multiport jail was left # for compatibility with previous (<0.7.6-2) releases [apache-multiport] enabled = true port = http,https filter = apache-auth logpath = /var/log/apache*/*error.log maxretry = 6
[apache-noscript] enabled = true port = http,https filter = apache-noscript logpath = /var/log/apache*/*error.log maxretry = 6
[apache-overflows] enabled = true port = http,https filter = apache-overflows logpath = /var/log/apache*/*error.log maxretry = 2
SSH
[ssh]
enabled = true port = ssh filter = sshd logpath = /var/log/auth.log maxretry = 6
Oletuksena SSH sallii 6 yritystä muodostaessa yhteyttä, suositus on 3 yritystä.
port = ssh pitää muuttaa jos olet muuttanut SSH:n oletusporttia /etc/ssh/sshd.config tiedostosta.
Proftpd
[proftpd]
enabled = true port = ftp,ftp-data,ftps,ftps-data filter = proftpd logpath = /var/log/proftpd/proftpd.log maxretry = 3
Postfix
[postfix] enabled = true port = smtp,ssmtp filter = postfix logpath = /var/log/mail.log
[sasl] enabled = true port = smtp,ssmtp,imap2,imap3,imaps,pop3,pop3s filter = sasl # You might consider monitoring /var/log/mail.warn instead if you are # running postfix since it would provide the same log lines at the # "warn" level but overall at the smaller filesize. logpath = /var/log/mail.log
[dovecot] enabled = true port = smtp,ssmtp,imap2,imap3,imaps,pop3,pop3s filter = dovecot logpath = /var/log/mail.log
Lokitiedosto
Fail2ban tarkistaa estolistan fail2ban lokista, joka on polussa /var/log/fail2ban.log
nano /var/log/fail2ban.log
Tiedostossa näkyy kaikki lokit ja yritykset muodostaessa yhteyttä palvelimeen.
Esimerkkiloki:
2014-05-13 15:52:30,388 fail2ban.actions: WARNING [sendmail] Ban XXX.66.82.116 2014-05-13 15:59:29,295 fail2ban.actions: WARNING [sendmail] Ban XXX.27.118.100 2014-05-13 16:07:31,183 fail2ban.actions: WARNING [sendmail] Unban XXX.66.82.116 2014-05-13 16:14:29,530 fail2ban.actions: WARNING [sendmail] Unban XXX.27.118.100 2014-05-13 16:56:27,086 fail2ban.actions: WARNING [ssh] Ban XXX.136.60.164 2014-05-13 17:11:27,833 fail2ban.actions: WARNING [ssh] Unban XXX.136.60.164
Aiheeseen liittyvää
Lisätietoa
https://www.omaserveri.info/suojaa-ssh-yhteytesi-brute-force-hyokkayksilta/
Lähteet
https://www.digitalocean.com/community/tutorials/how-to-protect-ssh-with-fail2ban-on-centos-6