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