Lokaðu SSH netþjónaárásum (Brute Force Attacks) með því að nota DenyHosts
DenyHosts er opinn uppspretta og ókeypis innbrotsvarnarforrit sem byggir á innbroti fyrir SSH netþjóna þróað á Python tungumáli af Phil Schwartz.
Það er ætlað að fylgjast með og greina SSH netþjónaskrár fyrir ógildar innskráningartilraunir, árásir sem byggjast á orðabókum og árásir á grimmdarkrafti með því að loka uppruna IP tölum með því að bæta færslu við /etc/hosts.deny skrána á þjóninum og koma í veg fyrir IP tölu. frá því að gera frekari slíkar innskráningartilraunir.
[Þér gæti líka líkað við: Hvernig á að tryggja og herða OpenSSH Server ]
DenyHosts er mjög þörf tól fyrir öll Linux byggð kerfi, sérstaklega þegar við leyfum lykilorð minna ssh innskráningu á ytri Linux netþjóna.
Í þessari grein ætlum við að sýna þér hvernig á að setja upp og stilla DenyHosts á RHEL-undirstaða Linux dreifingar eins og Fedora, CentOS, Rocky Linux og AlmaLinux.
Sjá einnig :
- Hvernig á að nota Fail2ban til að tryggja Linux netþjóninn þinn
- Hvernig á að slökkva á SSH rótarinnskráningu til að takmarka SSH aðgang í Linux
- Hvernig á að auka SSH-tengingartíma í Linux
Hvernig á að setja upp DenyHosts í Linux
Sjálfgefið er DenyHosts tólið ekki innifalið í Linux kerfunum, við þurfum að setja það upp með yum skipun þriðja aðila.
# yum install epel-release # yum install denyhosts
Stilla DenyHosts fyrir hvítlista IP tölur
Þegar Denyhosts hafa verið sett upp, vertu viss um að hvítlista þitt eigið IP tölu, svo þú munt aldrei læsast úti. Til að gera þetta skaltu opna skrána /etc/hosts.allow.
# vi /etc/hosts.allow
Fyrir neðan lýsinguna skaltu bæta við hverri IP tölu fyrir sig á sérstakri línu sem þú vilt aldrei loka fyrir. Snið ætti að vera sem hér segir.
# # 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
Stilla DenyHosts fyrir tölvupóstviðvaranir
Aðalstillingarskráin er staðsett undir /etc/denyhosts.conf. Þessi skrá er notuð til að senda viðvaranir í tölvupósti um grunsamlegar innskráningar og takmarkaða gestgjafa. Opnaðu þessa skrá með VI ritstjóra.
# vi /etc/denyhosts.conf
Leitaðu að „ADMIN_EMAIL“ og bættu netfanginu þínu við hér til að fá tilkynningar í tölvupósti um grunsamlegar innskráningar (fyrir margar tilkynningar í tölvupósti notaðu aðskilin með kommum). Vinsamlegast skoðaðu stillingarskrána á CentOS 6.3 þjóninum mínum. Hver breyta er vel skjalfest svo stilltu hana í samræmi við það sem þú vilt.
############ 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
Endurræsir DenyHosts þjónustuna
Þegar þú hefur lokið við stillingarnar þínar skaltu endurræsa denyhosts þjónustuna fyrir nýjar breytingar. Við bætum einnig denyhosts þjónustunni við ræsingu kerfisins.
# chkconfig denyhosts on # service denyhosts start
Horfðu á DenyHosts Logs
Til að horfa á denyhosts skráir ssh skrá yfir hversu margir árásarmenn og tölvusnápur er reynt að fá aðgang að netþjóninum þínum. Notaðu eftirfarandi skipun til að skoða rauntímaskrárnar.
# 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
Fjarlægðu bannaða IP tölu frá DenyHosts
Ef þú hefur einhvern tíma lokað fyrir slysni og vilt fjarlægja þá bönnuðu IP tölu frá afneitunarhýsingunum. Þú þarft að hætta þjónustunni.
# /etc/init.d/denyhosts stop
Til að fjarlægja eða eyða bannaðri IP tölu alveg. Þú þarft að breyta eftirfarandi skrám og fjarlægja IP töluna.
# 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
Eftir að hafa fjarlægt bannaða IP tölu skaltu endurræsa þjónustuna aftur.
# /etc/init.d/denyhosts start
Móðgandi IP tölunni bætt við allar skrárnar undir /var/lib/denyhosts skránni, svo það er mjög erfitt að ákvarða hvaða skrár innihalda móðgandi IP töluna. Ein besta leiðin til að finna út IP töluna með því að nota grep skipunina. Til dæmis til að finna út IP tölu 172.16.25.125, gerðu.
cd /var/lib/denyhosts grep 172.16.25.125 *
Hvítlisti IP-tölur varanlega í DenyHosts
Ef þú ert með lista yfir kyrrstæða IP tölu sem þú vilt hvítlista varanlega. Opnaðu skrána /var/lib/denyhosts/allowed-hosts skrána. Hvaða IP-tala sem er í þessari skrá verður ekki sjálfgefið bönnuð (litið á þetta sem tímalista).
# vi /var/lib/denyhosts/allowed-hosts
Og bættu við hverri IP tölu á sérstakri línu. Vistaðu og lokaðu skránni.
# We mustn't block localhost 127.0.0.1 172.16.25.125 172.16.25.126 172.16.25.127