Kuinka suojata palvelimesi Fail2Banilla Linuxissa

Kuinka suojata palvelimesi Fail2Banilla Linuxissa
Indeksi
  1. Mikä on Fail2Ban?
  2. Miksi käyttää Fail2Bania?
  3. Fail2Banin asentaminen
  4. Fail2Banin määrittäminen
    1. Jail.local-tiedoston tutkiminen
    2. Automaattisen eston ottaminen käyttöön
    3. Oletuskirjautumisikkunan pituuden muuttaminen
    4. Fail2Banin ilmoitusominaisuuden ottaminen käyttöön
    5. Mukautettujen estokomentojen luominen
    6. Otetaan käyttöön palvelukohtainen määritys
  5. Testaa kokoonpanoasi
    1. Fail2banin toimintojen tarkistaminen
  6. Usein Kysytyt Kysymykset
    1. Miksi saan tyhjän sähköposti-ilmoituksen, kun Fail2ban kieltää IP-osoitteen?
    2. Kuinka poistan IP-osoitteen eston?
    3. Kuinka näen fail2ban-lokitiedoston?
    4. Otin käyttöön useita suodatintiedostoja. Miksi ne kaikki eivät toimi?
    5. Suojaako Fail2ban palvelintani DoS-hyökkäyksiltä?

Palvelimen suojaaminen on kaikkien yritysten tai organisaatioiden tärkein prioriteetti. Yksi sysadminin työkalupakin tärkeimmistä työkaluista on Fail2Ban. Tämä opas selittää, mikä Fail2Ban on ja kuinka voit käyttää sitä suojaamaan Linux-palvelintasi hyökkäyksiltä.

Kärki: Fail2Banin lisäksi tutustu näihin avoimen lähdekoodin työkaluihin palvelimesi suojaamiseksi.

Mikä on Fail2Ban?

Fail2Ban on tunkeutumisen estotyökalu, joka valvoo lokitiedostoja ja estää IP-osoitteita, joissa on merkkejä haitallisesta toiminnasta. Se tekee tämän luomalla "suodattimia", jotka vastaavat tiettyjä lokitiedostojen kuvioita, ja suorittamalla toimintoja, kuten estämällä loukkaavan IP-osoitteen.

Miksi käyttää Fail2Bania?

Fail2banin käyttämiseen on muutamia syitä. Se voi:

  • säästää aikaasi estämällä haitalliset IP-osoitteet automaattisesti.
  • auttaa suojaamaan palvelimesi vähentämällä onnistuneen hyökkäyksen mahdollisuuksia.
  • antaa sinulle mielenrauhan, kun tiedät, että palvelintasi valvotaan ja suojataan.

Fail2Banin asentaminen

Fail2Ban on oletuksena saatavilla Ubuntun arkistoissa. Asenna se käyttämällä apt.

sudo add-apt-repository universe sudo apt päivitys && sudo apt install fail2ban -y

Fail2Ban asettaa palvelunsa taustalle, mutta systemd poistaa sen oletusarvoisesti käytöstä. Voit käynnistää ja ottaa sen käyttöön seuraavilla komennoilla:

sudo systemctl start fail2ban sudo systemctl enable fail2ban

Varmista, että Fail2Ban on käynnissä seuraavalla komennolla:

sudo systemctl status fail2ban

Näet alla olevan kuvan kaltaisen tulosteen.

Fail2Banin määrittäminen

Hakemisto "/etc/fail2ban" sisältää Fail2Banin määritystiedostot. Oletusarvoisesti Fail2Banin mukana tulee "jail.conf"-tiedosto, joka sisältää kaikkiin palveluihin sovellettavat asetukset.

On kuitenkin hyvä käytäntö luoda paikallinen "jail.local"-tiedosto ja ohittaa "jail.conf"-tiedoston asetukset, koska menetät kaikki tiedostoon "jail.conf" tekemäsi muutokset aina, kun ohjelma päivittyy.

Voit luoda "jail.local" -tiedoston seuraavilla komennoilla:

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

Avaa jail.local-tiedosto muokataksesi sitä:

sudo nano /etc/fail2ban/jail.local

Hyvä tietää: opi luomaan SSH-hunajapotti hakkereiden kiinni saamiseksi palvelimellesi.

Jail.local-tiedoston tutkiminen

Näet samanlaisen tulosteen kuin alla ja saatat olla yllättynyt käytettävissä olevien vaihtoehtojen määrästä. Mutta älä huoli, sillä opastamme sinua tärkeimpien vaihtoehtojen läpi.

Näet "#"-symbolin rivin alussa, mikä osoittaa, että se on kommentti. Fail2Ban käyttää näitä selittämään, mitä tietty asetus tekee. Voit ottaa jotkin asetukset käyttöön täällä poistamalla tämän symbolin.

"[DEFAULT]” -osio sisältää kaikkiin vankiloihin sovellettavat vaihtoehdot. Tämä on Fail2Banin yleinen määritys. Seuraava kuvakaappaus näyttää esimerkin tästä.

On myös muita osia, jotka alkavat palvelun nimellä. Tämä vankila koskee tiettyä palvelua maailmanlaajuisten vankiloiden yläpuolella.

Siellä on esimerkiksi osio "sshd" vankilaa varten. Tämä osio sisältää sshd-palvelukohtaiset asetukset.

Kärki: Voit myös oppia lisää palvelimen tiivistämisestä suojaamalla SSH-palvelimesi.

Automaattisen eston ottaminen käyttöön

Siirry asetukseen "bantime = 1h" ja ota se käyttöön poistamalla "#"-symboli rivin alusta. Tämä rivi määrittää keston, kuinka kauan Fail2Ban poistaa IP-osoitteen käytöstä. Oletusyksikkö on yksi tunti. Voit käyttää myös muita yksiköitä, kuten minuuttia (m), päivää (d) tai jopa viikkoja (w).

Voit lisätä tai pienentää tätä arvoa parhaaksi katsomallasi tavalla. Voit esimerkiksi muuttaa tämän arvon 30 metriksi lyhentääksesi kiellon kestoa 30 minuuttiin.

Oletuskirjautumisikkunan pituuden muuttaminen

Seuraavat asetukset ovat "maxretry" ja "findtime". Ne määrittävät kuinka monta kirjautumisyritystä hyökkääjä voi tehdä ennen kuin Fail2Ban kieltää hänen IP-osoitteensa.

“Maxretry”- ja “findtime”-oletusarvot ovat 5 ja 10m. Jos IP-osoite ei pysty todentamaan viisi kertaa kymmenen minuutin aikana, Fail2Ban estää sen bantime-asetuksen määrittämäksi ajaksi.

Voit muuttaa näitä arvoja haluamiksesi. Voit esimerkiksi asettaa "maxretry" arvoon 3 ja "findtime" arvoon 5 m: Fail2Ban poistaa IP:n käytöstä, jos se ei pysty todentamaan kolme kertaa viiden minuutin aikana.

Fail2Banin ilmoitusominaisuuden ottaminen käyttöön

Seuraavat asetukset ovat destemail, sendername ja mta. Näitä asetuksia Fail2Ban käyttää sähköposti-ilmoitusten määrittämiseen.

  • Destemail-asetus on sähköpostiosoite, johon ohjelma lähettää ilmoituksensa.
  • Lähettäjänimi on nimi, joka näkyy ilmoitussähköpostin Lähettäjä-kentässä.
  • MTA on postinsiirtoagentti, jota Fail2Ban käyttää sähköpostien lähettämiseen. Oletus-mta on sendmail, mutta voit muuttaa sen joksikin muuksi, kuten sähköpostiksi.

Jos haluat saada sähköposti-ilmoituksia, sinun on poistettava näiden rivien kommentit ja syötettävä asianmukaiset arvot kuvan mukaisesti.

Kun kielto tulee voimaan, saat sähköposti-ilmoituksen, jossa on tiedot kiellosta kuvan mukaisesti.

Mukautettujen estokomentojen luominen

Seuraava asetus on "action_ =." Tämä määrittää toiminnon, jonka Fail2ban tekee, kun se estää IP-osoitteen. Oletustoiminto on käyttää iptablesia IP-osoitteen estoon, kunnes "bantime" on ohitettu.

Voit myös käyttää muita toimintoja alla olevan kuvan mukaisesti. Tämä opetusohjelma pysyy oletusasetuksen kanssa yksinkertaisuuden vuoksi.

  • action_mw: lähettää sähköposti-ilmoituksen, kun IP-osoite on estetty, ja liitteenä on asiaankuuluvat WHOIS-tiedot.
  • action_mwl: lähettää sähköposti-ilmoituksen, kun IP-osoite on estetty, liitteenä asiaankuuluvat WHOIS-tiedot ja kiellon käynnistäneet lokitiedostot.
  • action_xarf: lähettää sähköposti-ilmoituksen X-ARF-muodossa, kun IP-osoite on estetty kiellon käynnistäneiden lokitiedostojen kanssa.

Saatavilla on monia muita toimintoja, mutta niitä kaikkia on mahdotonta käsitellä tässä opetusohjelmassa. Sinä pystyt lue kaikista käytettävissä olevista toiminnoista Fail2ban-dokumentaatiossa.

Otetaan käyttöön palvelukohtainen määritys

Fail2banin oletuskäyttäytymisen määrittämisen lisäksi on myös mahdollista käyttää valmiita "suodatintiedostoja" joihinkin yleisiin Internet-palveluihin. Nämä ovat pieniä tiedostoja, jotka kehittäjät kirjoittivat etsiäkseen tietyn palvelindaemonin lokitulosteita.

Esimerkiksi "apache-shellshock.conf"-tiedosto sisältää kaikki tarvittavat asetukset, jotta Fail2ban voi tarkistaa mahdolliset haitalliset yritykset luoda shellshock-virhe.

Löydät kaikki järjestelmällesi saatavilla olevat suodatintiedostot luettelosta "/etc/fail2ban/filter.d" -hakemistosta:

ls /etc/fail2ban/filter.d

Kun tiedät suodattimet, joita haluat käyttää, pyydä Fail2bania lataamaan ne käynnistyksen aikana avaamalla "jail.local" -tiedostosi:

sudo nano /etc/fail2ban/jail.local

Luo "jail.local" -kansioon tila, jossa voit aktivoida uudet suodattimesi. Luon omani kommentin otsikon ja väliin [INCLUDES] lohko.

Lisää suodattimet, jotka haluat aktivoida. Esimerkiksi seuraava on ote, jota käytän määrityksessäni:

# Kommentit: käytä '#' kommenttiriveille ja ';'  (välilyönnin jälkeen) upotetuille kommenteille

[sshd]
käytössä = tosi

[nginx-bad-request]
käytössä = tosi

[bitwarden]
käytössä = tosi

[INCLUDES]

Kun olet valmis, tallenna ja sulje tiedosto. Ota muutokset käyttöön käynnistämällä fail2ban uudelleen.

sudo systemctl käynnistä fail2ban uudelleen

Testaa kokoonpanoasi

Nyt kun olet määrittänyt fail2banin, on aika testata sitä.

Yksinkertaisin tapa testata määritystäsi on yrittää kirjautua sisään väärällä salasanalla useita kertoja nopeasti peräkkäin. Voit tehdä tämän käyttämällä SSH-yhteyttä.

Yritä hävityskoneessa SSH:ta Fail2ban-palvelimellesi käyttämällä "admin"-käyttäjänimeä. Korvaa "your_server_ip_address" Fail2ban-palvelimesi todellisella IP-osoitteella.

ssh admin@palvelimesi_ip_osoite

Anna satunnainen salasana pyydettäessä ja toista se muutaman kerran. Muutaman yrityksen jälkeen näet viestin, että palvelin kieltäytyi yhdistämisyrityksestäsi.

Ssh:n käytön lisäksi voit myös testata muita suodatintiedostoja Fail2banissa käynnistämällä niiden "epäonnistunut tila". Minun tapauksessani käytän "nginx-bad-request" -suodatinta, joka havaitsee, onko olemassa isäntä, joka täyttää palvelimen virheellisillä pyynnöillä.

Kun tiedät tämän, voit testata tätä ominaisuutta lähettämällä tietoisesti tyhjiä pyyntöjä verkkopalvelimellesi curlilla:

curl -H "User-Agent:" -H "Host:" https://sivustosi.com/ -v

Hyvä tietää: Vaikka Fail2ban toimii loistavasti Nginxin kanssa, voit myös käyttää tätä ohjelmaa Apache-palvelimesi suojaamiseen.

Fail2banin toimintojen tarkistaminen

Suorita lopuksi alla oleva komento Fail2ban-palvelimellasi varmistaaksesi, että fail2ban on lisännyt tarvittavat säännöt iptablesiin.

Grep-komento suodattaa iptables-komennon lähdön. Valinta -S käskee iptablesia tulostamaan säännöt helposti jäsennettävässä muodossa.

sudo iptables -S |  grep f2b

Näet alla olevan kuvan kaltaisen tulosteen. Argumentti "–reject-with icmp-port-unreachable" käskee iptablesia lähettämään ICMP-porttiin tavoittamaton -viestin takaisin asiakkaalle, kun se yrittää muodostaa yhteyden. Näet myös niiden koneiden IP-osoitteet, jotka palvelin on kieltänyt.

Kärki: sinun tulee myös käyttää SELinuxia Linux-palvelimesi suojaamiseen.

Usein Kysytyt Kysymykset

Miksi saan tyhjän sähköposti-ilmoituksen, kun Fail2ban kieltää IP-osoitteen?

Jos saat tyhjän sähköposti-ilmoituksen, et todennäköisesti ole määrittänyt sähköpostipalvelintasi oikein. Tarkista sähköpostipalvelimesi asetukset ja varmista, että se pystyy lähettämään sähköpostia.

Kuinka poistan IP-osoitteen eston?

Etsi ensin vankila, jossa IP-osoite on tällä hetkellä kielletty: sudo fail2ban-client status ja poista IP-osoitteen esto suorittamalla seuraava komento: sudo fail2ban-client set unbanip .

Kuinka näen fail2ban-lokitiedoston?

Haluat ehkä tarkastella fail2ban-lokitiedostoa ongelmien vianmäärityksessä tai selvittääksesi, miksi IP-osoite kiellettiin. Tiedosto “/var/log/fail2ban.log” sisältää kaikki fail2ban:n luomat lokit. Käytä cat-komentoa tarkastellaksesi fail2ban-lokitiedostoa: cat /var/log/fail2ban.log.

Otin käyttöön useita suodatintiedostoja. Miksi ne kaikki eivät toimi?

Tämä ongelma johtuu todennäköisimmin suodattimesta, joka korvaa sitä edeltävän tiedoston. Yksi tapa korjata tämä on luoda oma suodatintiedosto yhdistämällä useita suodattimia.

Suojaako Fail2ban palvelintani DoS-hyökkäyksiltä?

Kyllä ja ei. Suurimmaksi osaksi Fail2ban pystyy estämään kaikki IP-osoitteet, jotka lähettävät virheellisiä pyyntöjä palvelimellesi. Yksi tämän ohjelman suurimmista rajoituksista on kuitenkin se, että se ei voi toimia tapahtumissa, jotka eivät tuota lokimerkintää. Sellaisenaan on edelleen tärkeää suojata Linux-palvelimesi muilla työkaluilla tällaisia ​​hyökkäyksiä varten.

Nyt kun olet lukenut Kuinka suojata palvelimesi Fail2Banilla Linuxissa loppuun, kutsumme sinut tutustumaan lisää Linux-kategoriaan. Löydät sieltä muita mielenkiintoisia artikkeleita, jotka laajentavat tietojasi ja pitävät sinut ajan tasalla. Älä lopeta lukemista ja löytämistä!

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

Go up