Mainos / Advertisement:

Ero sivun ”Fail2ban” versioiden välillä

Kohteesta Taisto
Siirry navigaatioon Siirry hakuun
(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

Muut kielet:
English • ‎suomi

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.


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ää

Iptables

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


Mainos / Advertisement: