Vinkkejä Linux-palvelimesi suojaamiseen ulkoisilta hyökkäyksiltä

Kai ihmiset, jotka ajavat Linux-palvelimet he tietävät ja tietävät DenyHOSTS y Fail2ban. Niille, jotka eivät tunne häntä, aion selittää vähän näistä kahdesta sovellukset.

John Fredy Perez on yksi voittajat viikoittaisesta kilpailustamme: «Jaa mitä tiedät Linuxista«. Onnittelut! Ahdistunut osallistua ja tehdä panoksesi yhteisöön, kuten John teki?

Asennamme ja konfiguroimme nämä kaksi sovellusta välttääksemme myöhemmät päänsäryt. Ensinnäkin selitämme, mitkä nämä kaksi sovellusta ovat ja mikä niiden tehtävä on:

Fail2Ban

Se on lokianalysaattori, joka etsii epäonnistuneita rekisteröintiyrityksiä ja estää IP-osoitteet, joista nämä yritykset tulevat. Se jaetaan GNU-lisenssillä ja toimii tyypillisesti kaikissa järjestelmissä, jotka ovat yhteydessä hyökkäyksenohjausjärjestelmään tai paikalliseen palomuuriin.

Fail2Ban on loistava kokoonpano ja voi myös luoda sääntöjä ohjelmille
omat tai kolmannet osapuolet.

DenyHOSTS

Se on pythoniin kirjoitettu suojaustyökalu, joka valvoo pääsypalvelimen lokeja estääkseen virtuaalipalvelimen raa'at hyökkäykset. Ohjelma toimii kieltämällä IP-osoitteet, jotka ylittävät tietyn määrän epäonnistuneita yhteysyrityksiä.

Näitä Linux-sovelluksia - DenyHosts ja Fail2ban - voidaan käyttää erikseen tai yhdessä. Minun tapauksessani ne molemmat työskentelevät yhdessä.

Jokaisen asennus ja kokoonpano riippuu käyttämästäsi jakelusta. Tämä viesti on suunnattu CentOS 6.3: een, vaikka erot muiden distrojen välillä eivät ole kovin merkittäviä.

No, lähde sitten töihin.

Fail2Ban-asennus ja -määritykset

Tämä sovellus luo dynaamiset säännöt itse Linux-palomuuriin ja on vastuussa live-sääntöjen luomisesta IpTable-tiedostoihin.

Asennus

Asennusta varten a:

yum asenna fail2ban 

Jos paketti ei tule näkyviin, meidän on lisättävä tarvittava arkisto:

rpm -Uvh http://mirror.metrocast.net/fedora/epel/6/i386/epel-release-6-7.noarch.rpm

Tämän jälkeen sinun on aloitettava sovelluksen ja sen riippuvuuksien asentaminen.

Nyt meidän on määritettävä Fail2Ban analysoimaan haluamamme ja estettävät lokit
IP-osoitteet, ilmoitusten lähettäminen sähköpostitse. Tätä varten meidän on muokattava tiedostoa jail.conf, jonka löydämme tiedostosta / etc / fail2ban

cd / etc / fail2ban
nano vankilassa

Tässä tiedostossa on tehtävä seuraava:

  • Muuta on bantime-arvo, tämä arvo määrittää ajan sekunteina, jolloin hyökkääjän IP estetään, arvo tulee oletusarvoisesti 600 sekunnissa.
  • Etsi maxretry-arvo, joka kertoo, kuinka monta kertaa IP: llä voi olla epäonnistunut todennus ennen estämistä.
  • Lisää ip: t ignoreip-parametriin. Tässä sovellus ohittaa todennetut IP-osoitteet kyseisessä parametrissa.
[DEFAULT]
# "ignoreip" voi olla IP-osoite, CIDR-peite tai DNS-isäntä. Fail2ban ei
# kieltää isäntä, joka vastaa tässä luettelossa olevaa osoitetta. Useita osoitteita voi olla
# määritelty välilyönnillä.
ignoreip = 127.0.0.1

# "bantime" on sekuntien määrä, jonka isäntä on kielletty.
bantime = 600

# Isäntä on kielletty, jos se on synnyttänyt "maxretry" -toiminnon viimeisen "löytöajan" aikana
# sekuntia.
etsintäaika = 600

# "maxretry" on epäonnistumisten määrä ennen kuin isäntä kielletään.
maxpaperi = 3

Seuraava esimerkki siitä, miten se voi olla:

ignoreip = 127.0.0.1 190.25.242.75 192.168.1.0/24
bantime = 800
maxpaperi = 2

Määritä Fail2Ban ja SSH

Etsimään epäonnistuneita SSH-kirjautumisyrityksiä muokkaamme tiedostoa, kunnes se näyttää seuraavalta:

[ssh-iptables] 
käytössä = totta
suodatin = sshd
action = iptables [nimi = SSH, portti = 22, protokolla = tcp] sendmail-whois [nimi = SSH, dest=FredySnake@outlook.com, lähettäjä = Fail2ban @ localhost] lokitie = / var / log / secure # Tämä on loki, joka analysoi fail2ban
maxretry = 3 # kaikki IP-osoitteet, joilla on vähintään kolme epäonnistunutta yritystä, estetään.
bantime = 86400 # 24 tunnin kieltoaika sekunteina ilmaistuna

Älä unohda, että jos muokkaat porttia, jossa SSH kuuntelee, sinun on myös muutettava porttiparametriä.

Tämä sovellus toimii paitsi SSH: n luvattomalle käytölle myös apache-ohjelmalle, Asterisk-lokien jne. Lukemiseen.

DenyHOSTSin asennus ja konfigurointi

Sen toiminta perustuu /etc/hosts.deny -tiedoston käyttöön, toisin sanoen "hyökkäävien" isäntien osoitteiden estämiseen, luettelon luomiseen hylätyistä isännistä.

Asennus arkistoista voidaan saada seuraavalla komennolla:

asenna denyhosts 

Määritystiedosto sijaitsee tiedostossa /etc/denyhosts.conf

Ennen kuin jatkamme, koska ihmisinä voimme tehdä virheitä ja tehdä tyypillisen "Kerros 8", kun käytämme mitä tahansa palvelua ja estämme itsemme. Tämän välttämiseksi muokkaamme tiedostoa /etc/hosts.allow ja lisäämme niiden koneiden IP-osoitteet, joita emme halua rajoittaa pääsyvian vuoksi.

Muokkaa denyhosts.conf-tiedostoa

Jotta emme menisi niin pitkälle asetuksissa, tässä tiedostossa aiomme muokata ja poistaa kommentteja joistakin parametreista. Nämä ovat:

SYNC_SERVER = http://xmlrpc.denyhosts.net:9911
SYNC_INTERVAL = 1 h
SYNC_UPLOAD = kyllä
SYNC_DOWNLOAD = kyllä
SYNC_DOWNLOAD_THRESHOLD = 3
SYNC_DOWNLOAD_RESILIENCY = 5 h

Siksi jätämme kokoonpanon käytännössä oletusarvoisesti, mutta erittäin turvallisesti SSH-hyökkäyksiä vastaan.

nano /etc/hosts.allow

esimerkiksi:

SSD: 127.0.0.1 
SSD: 192.168.1.10
SSD: 192.168.0. *

Tämän jälkeen käynnistämme palvelun uudelleen:

/etc/init.d/denyhosts käynnistyy uudelleen

Tämän avulla annamme luvan IP: lle, IP-alueelle ja tietysti loopback-käyttöliittymällemme. Jotain, mitä en ole kokeillut - enkä tiedä, toimiiko se - on lisätä DNS: t tähän tiedostoon. eli DynDNS: n kaltaisilla palveluilla. Jos teen, kerron kuinka meni.

Tietyillä vaihtoehdoilla ja asetuksilla varmistamme myös, että DenyHOSTS-kokoonpanossa ilmoitetun ajanjakson jälkeen tallennetut osoitteet puhdistetaan ja päivitetään muilla muiden tekemillä luetteloilla - jos ilmoitamme sen - luvan antaa käyttää DenyHOSTS-palvelinta.

Jos haluat tyhjentää tallennetut osoitteet aika ajoin, kuten määritetty, demoni on suoritettava parametrilla –purge:

/etc/init.d/denyhosts start --purge

Tämän lisäksi meidän on sisällytettävä se järjestelmän alkuun:

chkconfig denyhosts päällä

Jätä kommentti

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

*

*

  1. Vastuussa tiedoista: Miguel Ángel Gatón
  2. Tietojen tarkoitus: Roskapostin hallinta, kommenttien hallinta.
  3. Laillistaminen: Suostumuksesi
  4. Tietojen välittäminen: Tietoja ei luovuteta kolmansille osapuolille muutoin kuin lain nojalla.
  5. Tietojen varastointi: Occentus Networks (EU) isännöi tietokantaa
  6. Oikeudet: Voit milloin tahansa rajoittaa, palauttaa ja poistaa tietojasi.