Blokeerige SSH-serveri rünnakud (jõhkrad rünnakud) DenyHosts'i abil
DenyHosts on avatud lähtekoodiga ja tasuta logipõhine sissetungi vältimise turbeprogramm SSH-serveritele, mille on välja töötanud Pythoni keeles Phil Schwartz. See on mõeldud SSH-serveri logide jälgimiseks ja analüüsimiseks kehtetute sisselogimiskatsete, sõnastikupõhiste rünnakute ja jõhkrate rünnakute eest, blokeerides päritolevad IP-aadressid, lisades serverisse faili /etc/hosts.deny kirje ja takistades IP-aadressi loomist kõik muud sellised sisselogimiskatsed.
DenyHosts on kõigi Linuxipõhiste süsteemide jaoks väga vajalik tööriist, eriti kui lubame paroolipõhiseid ssh-i sisselogimisi. Selles artiklis me näitame teile, kuidas installida ja konfigureerida DenyHosts RHEL 6.3/6.2/6.1/6/5.8, CentOS 6.3/6.2/6.1/6/5.8 ja Fedora 17,16,15,14,13,12 süsteemid, mis kasutavad epeli hoidlat.
Vaata ka :
- Fail2bani (sissetungimise vältimise) süsteem SSH-le
- Keelake või lubage SSH-i juur sisselogimine
- Linuxi pahavara tuvastamine (LMD)
DenyHosts'i installimine RHEL-i, CentOS-i ja Fedora
Vaikimisi pole tööriista DenyHosts Linuxi süsteemidesse lisatud, peame selle installima kolmanda osapoole EPEL-i hoidla abil. Kui hoidla on lisatud, installige pakett järgmise YUM-käsu abil.
# yum --enablerepo=epel install denyhosts OR # yum install denyhosts
DenyHosts'i konfigureerimine lubatud loendi IP-aadresside jaoks
Kui Denyhosts on installitud, lisage kindlasti oma IP-aadress loendisse, nii et te ei saa kunagi lukku minna. Selleks avage fail /etc/hosts.allow.
# vi /etc/hosts.allow
Lisage kirjelduse alla iga IP-aadress ükshaaval eraldi reale, mida te kunagi ei soovi blokeerida. Vorming peaks olema järgmine.
# # hosts.allow This file contains access rules which are used to # allow or deny connections to network services that # either use the tcp_wrappers library or that have been # started through a tcp_wrappers-enabled xinetd. # # See 'man 5 hosts_options' and 'man 5 hosts_access' # for information on rule syntax. # See 'man tcpd' for information on tcp_wrappers # sshd: 172.16.25.125 sshd: 172.16.25.126 sshd: 172.16.25.127
DenyHosts'i konfigureerimine e-posti märguannete jaoks
Peamine konfiguratsioonifail asub /etc/denyhosts.conf all. Seda faili kasutatakse meilisõnumite saatmiseks kahtlaste sisselogimiste ja piiratud hostide kohta. Avage see fail VI redaktori abil.
# vi /etc/denyhosts.conf
Otsige e-posti aadressi „ADMIN_EMAIL” ja lisage siia oma e-posti aadress, et saada kahtlaste sisselogimiste kohta meilisõnumeid (mitme e-posti märguande jaoks kasutage komaga eraldatud märke). Vaadake minu CentOS 6.3 serveri konfiguratsioonifaili. Iga muutuja on hästi dokumenteeritud, nii et seadistage see oma maitse järgi.
############ DENYHOSTS REQUIRED SETTINGS ############ SECURE_LOG = /var/log/secure HOSTS_DENY = /etc/hosts.deny BLOCK_SERVICE = sshd DENY_THRESHOLD_INVALID = 5 DENY_THRESHOLD_VALID = 10 DENY_THRESHOLD_ROOT = 1 DENY_THRESHOLD_RESTRICTED = 1 WORK_DIR = /var/lib/denyhosts SUSPICIOUS_LOGIN_REPORT_ALLOWED_HOSTS=YES HOSTNAME_LOOKUP=YES LOCK_FILE = /var/lock/subsys/denyhosts ############ DENYHOSTS OPTIONAL SETTINGS ############ ADMIN_EMAIL = [email SMTP_HOST = localhost SMTP_PORT = 25 SMTP_FROM = DenyHosts <[email > SMTP_SUBJECT = DenyHosts Daily Report ############ DENYHOSTS OPTIONAL SETTINGS ############ DAEMON_LOG = /var/log/denyhosts DAEMON_SLEEP = 30s DAEMON_PURGE = 1h
DenyHosts'i teenuse taaskäivitamine
Kui olete oma konfiguratsiooni teinud, taaskäivitage denyhosts-teenus uute muudatuste jaoks. Samuti lisame süsteemi käivitamisel teenuse denyhosts.
# chkconfig denyhosts on # service denyhosts start
Vaadake DenyHosts Logisid
Denyhostide ssh logide vaatamiseks, kui palju ründajaid ja häkkerid üritavad teie serverile juurde pääseda. Reaalajas logide kuvamiseks kasutage järgmist käsku.
# tail -f /var/log/secure
Nov 28 15:01:43 tecmint sshd[25474]: Accepted password for root from 172.16.25.125 port 4339 ssh2 Nov 28 15:01:43 tecmint sshd[25474]: pam_unix(sshd:session): session opened for user root by (uid=0) Nov 28 16:44:09 tecmint sshd[25474]: pam_unix(sshd:session): session closed for user root Nov 29 11:08:56 tecmint sshd[31669]: Accepted password for root from 172.16.25.125 port 2957 ssh2 Nov 29 11:08:56 tecmint sshd[31669]: pam_unix(sshd:session): session opened for user root by (uid=0) Nov 29 11:12:00 tecmint atd[3417]: pam_unix(atd:session): session opened for user root by (uid=0) Nov 29 11:12:00 tecmint atd[3417]: pam_unix(atd:session): session closed for user root Nov 29 11:26:42 tecmint sshd[31669]: pam_unix(sshd:session): session closed for user root Nov 29 12:54:17 tecmint sshd[7480]: Accepted password for root from 172.16.25.125 port 1787 ssh2
Eemaldage DenyHostsist keelatud IP-aadress
Kui olete kunagi kogemata blokeerinud ja soovite selle keelatud IP-aadressi denyhostide hulgast eemaldada. Peate teenuse peatama.
# /etc/init.d/denyhosts stop
Keelatud IP-aadressi täielik eemaldamine või kustutamine. Peate muutma järgmisi faile ja eemaldama IP-aadressi.
# vi /etc/hosts.deny # vi /var/lib/denyhosts/hosts # vi /var/lib/denyhosts/hosts-restricted # vi /var/lib/denyhosts/hosts-root # vi /var/lib/denyhosts/hosts-valid # vi /var/lib/denyhosts/users-hosts
Pärast keelatud IP-aadressi eemaldamist taaskäivitage teenus uuesti.
# /etc/init.d/denyhosts start
Rikkuv IP-aadress lisati kõikidele kataloogi/var/lib/denyhosts kataloogi kuuluvatele failidele, mistõttu on väga raske kindlaks teha, millised failid sisaldavad rikkuvat IP-aadressi. Üks parimaid viise IP-aadressi saamiseks grep-käsu abil. Näiteks IP-aadressi 172.16.25.125 väljaselgitamiseks tehke järgmist.
cd /var/lib/denyhosts grep 172.16.25.125 *
Lubatud loendisse IP-aadressid loendisse DenyHosts
Kui olete loendis staatilise IP-aadressi, mille soovite jäädavalt loendisse lisada. Avage fail/var/lib/denyhosts/lubatud-hosts. Ükskõik mis selles failis sisalduvat IP-aadressi ei keelata vaikimisi (pidage seda loendiks).
# vi /var/lib/denyhosts/allowed-hosts
Ja lisage iga IP-aadress eraldi reale. Salvestage ja sulgege fail.
# We mustn't block localhost 127.0.0.1 172.16.25.125 172.16.25.126 172.16.25.127