Bloķējiet SSH servera uzbrukumus (Brute Force Attack), izmantojot DenyHosts
DenyHosts ir atvērtā koda un bezmaksas uz žurnāliem balstīta ielaušanās novēršanas drošības programma SSH serveriem, kuru Python valodā izstrādājis Fils Švarcs. Tas ir paredzēts, lai uzraudzītu un analizētu SSH servera žurnālus par nederīgiem pieteikšanās mēģinājumiem, vārdnīcu uzbrukumiem un brutālu spēku uzbrukumiem, bloķējot izcelsmes IP adreses, pievienojot ierakstu serverī esošajam /etc/hosts.deny failam un novēršot IP adreses izveidi jebkuri turpmāki šādi pieteikšanās mēģinājumi.
DenyHosts ir ļoti nepieciešams rīks visām Linux balstītajām sistēmām, it īpaši, ja mēs atļaujam pieteikties uz paroli. Šajā rakstā mēs parādīsim, kā instalēt un konfigurēt DenyHosts RHEL 6.3/6.2/6.1/6/5.8, CentOS 6.3/6.2/6.1/6/5.8 un Fedora 17,16,15,14,13,12 sistēmas, kas izmanto epeli krātuvi.
Skatīt arī :
- SS2 fail2ban (ielaušanās novēršanas) sistēma
- Atspējojiet vai iespējojiet SSH saknes pieteikšanos
- Linux Malware Detect (LMD)
DenyHosts instalēšana RHEL, CentOS un Fedora
Pēc noklusējuma DenyHosts rīks nav iekļauts Linux sistēmās, mums tas jāinstalē, izmantojot trešās puses EPEL krātuvi. Kad krātuve ir pievienota, instalējiet pakotni, izmantojot komandu YUM.
# yum --enablerepo=epel install denyhosts OR # yum install denyhosts
DenyHosts konfigurēšana baltajiem IP adresēm
Kad Denyhosts ir instalēts, noteikti iekļaujiet baltajā sarakstā savu IP adresi, lai jūs nekad netiktu bloķēts. Lai to izdarītu, atveriet failu /etc/hosts.allow.
# vi /etc/hosts.allow
Zem apraksta pievienojiet katru IP adresi pa vienam atsevišķā rindā, kuru nekad nevēlaties bloķēt. Formātam jābūt šādam.
# # 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 konfigurēšana e-pasta brīdinājumiem
Galvenais konfigurācijas fails atrodas zem /etc/denyhosts.conf. Šis fails tiek izmantots, lai nosūtītu e-pasta brīdinājumus par aizdomīgiem pieteikšanās gadījumiem un ierobežotiem saimniekiem. Atveriet šo failu, izmantojot VI redaktoru.
# vi /etc/denyhosts.conf
Meklējiet “ADMIN_EMAIL” un šeit pievienojiet savu e-pasta adresi, lai saņemtu e-pasta brīdinājumus par aizdomīgiem pieteikšanās gadījumiem (vairāku e-pasta brīdinājumu gadījumā atdaliet komatus). Lūdzu, apskatiet mana CentOS 6.3 servera konfigurācijas failu. Katrs mainīgais ir labi dokumentēts, tāpēc konfigurējiet to atbilstoši savām vēlmēm.
############ 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 pakalpojuma restartēšana
Kad esat pabeidzis konfigurāciju, restartējiet denyhosts pakalpojumu, lai veiktu jaunas izmaiņas. Sistēmas palaišanai mēs pievienojam arī denyhosts pakalpojumu.
# chkconfig denyhosts on # service denyhosts start
Skatīties DenyHosts žurnālus
Lai skatītos denyhosts ssh žurnālus, cik uzbrucēju un hakeru mēģina piekļūt jūsu serverim. Izmantojiet šo komandu, lai skatītu reāllaika žurnālus.
# 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
Noņemiet no DenyHosts aizliegto IP adresi
Ja esat kādreiz nejauši bloķējis un vēlaties noņemt aizliegto IP adresi no denyhosts. Jums jāpārtrauc pakalpojums.
# /etc/init.d/denyhosts stop
Lai pilnībā noņemtu vai izdzēstu aizliegto IP adresi. Jums ir jārediģē šie faili un jānoņem IP adrese.
# 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ēc aizliegtās IP adreses noņemšanas restartējiet pakalpojumu vēlreiz.
# /etc/init.d/denyhosts start
Pārkāpēja IP adrese tika pievienota visiem failiem, kas atrodas direktorijā/var/lib/denyhosts, tāpēc ir ļoti grūti noteikt, kuros failos ir pārkāpēja IP adrese. Viens no labākajiem veidiem, kā uzzināt IP adresi, izmantojot komandu grep. Piemēram, lai uzzinātu IP adresi 172.16.25.125, dariet.
cd /var/lib/denyhosts grep 172.16.25.125 *
Baltās saraksta IP adreses pastāvīgi atrodamas DenyHosts
Ja esat uzskaitījis statisko IP adresi, kuru vēlaties neatgriezeniski iekļaut baltajā sarakstā. Atveriet failu var/lib/denyhosts/atļauts-saimnieks. Neatkarīgi no šajā failā iekļautās IP adreses pēc noklusējuma netiks aizliegta (uzskatiet to par pilno sarakstu).
# vi /var/lib/denyhosts/allowed-hosts
Un pievienojiet katru IP adresi atsevišķā rindā. Saglabājiet un aizveriet failu.
# We mustn't block localhost 127.0.0.1 172.16.25.125 172.16.25.126 172.16.25.127