Zuia Mashambulizi ya Seva ya SSH (Mashambulizi ya Nguvu ya Kinyama) Ukitumia DenyHosts
DenyHosts ni programu huria ya chanzo-wazi na isiyolipishwa ya kuzuia uvamizi kwa seva za SSH iliyotengenezwa kwa lugha ya Python na Phil Schwartz.
Inakusudiwa kufuatilia na kuchambua kumbukumbu za seva ya SSH kwa majaribio batili ya kuingia, mashambulizi kulingana na kamusi, na mashambulizi ya kinyama kwa kuzuia anwani za IP zinazotoka kwa kuongeza ingizo kwenye faili /etc/hosts.deny kwenye seva na kuzuia anwani ya IP. kutokana na kufanya majaribio zaidi ya kuingia kama hayo.
[ Unaweza pia kupenda: Jinsi ya Kulinda na Kuimarisha Seva ya OpenSSH ]
DenyHosts ni zana inayohitajika sana kwa mifumo yote inayotegemea Linux, haswa tunaporuhusu kuingia kwa nenosiri kidogo kwa seva za Linux za mbali.
Katika makala haya, tutakuonyesha jinsi ya kusakinisha na kusanidi DenyHosts kwenye usambazaji wa Linux unaotegemea RHEL kama vile Fedora, CentOS, Rocky Linux, na AlmaLinux.
Angalia pia :
- Jinsi ya Kutumia Fail2ban Kulinda Seva Yako ya Linux
- Jinsi ya Kuzima Kuingia kwa Mizizi ya SSH ili Kupunguza Ufikiaji wa SSH katika Linux
- Jinsi ya Kuongeza Muda wa Kuisha kwa Muunganisho wa SSH katika Linux
Jinsi ya kusakinisha DenyHosts kwenye Linux
Kwa chaguo-msingi zana ya DenyHosts haijajumuishwa kwenye mifumo ya Linux, tunahitaji kuisakinisha kwa kutumia amri ya yum ya wahusika wengine.
# yum install epel-release # yum install denyhosts
Inasanidi DenyHosts kwa Anwani za IP zilizoidhinishwa
Mara baada ya Denyhosts kusakinishwa, hakikisha kuwa umeidhinisha anwani yako ya IP, ili hutafungiwa nje. Ili kufanya hivyo, fungua faili /etc/hosts.allow.
# vi /etc/hosts.allow
Chini ya maelezo, ongeza kila anwani ya IP moja kwa moja kwenye mstari tofauti, ambayo hutaki kamwe kuzuia. Muundo unapaswa kuwa kama ifuatavyo.
# # 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
Inasanidi DenyHosts kwa Arifa za Barua pepe
Faili kuu ya usanidi iko chini ya /etc/denyhosts.conf. Faili hii hutumika kutuma arifa za barua pepe kuhusu kuingia kwa kutiliwa shaka na wapangishi waliowekewa vikwazo. Fungua faili hii kwa kutumia kihariri cha VI.
# vi /etc/denyhosts.conf
Tafuta ‘ADMIN_EMAIL’ na uongeze anwani yako ya barua pepe hapa ili kupokea arifa za barua pepe kuhusu kuingia kwa kutiliwa shaka (kwa arifa nyingi za barua pepe tumia koma iliyotenganishwa). Tafadhali angalia faili ya usanidi ya seva yangu ya CentOS 6.3. Kila kigezo kimeandikwa vizuri kwa hivyo kisanidi kulingana na unavyopenda.
############ 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
Inaanzisha tena Huduma ya DenyHosts
Mara tu unapomaliza usanidi wako, anzisha upya huduma ya vipangishi kwa mabadiliko mapya. Pia tunaongeza huduma ya kukanusha kwenye kuanzisha mfumo.
# chkconfig denyhosts on # service denyhosts start
Tazama Kumbukumbu za DenyHosts
Ili kutazama kumbukumbu za ssh za walionyima ni washambuliaji na wavamizi wangapi wanaojaribu kupata ufikiaji wa seva yako. Tumia amri ifuatayo kutazama kumbukumbu za wakati halisi.
# 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
Ondoa Anwani ya IP Iliyopigwa Marufuku kutoka kwa DenyHosts
Iwapo umewahi kuzuia kwa bahati mbaya na unataka kuondoa anwani hiyo ya IP iliyopigwa marufuku kutoka kwa walionyimwa. Unahitaji kusimamisha huduma.
# /etc/init.d/denyhosts stop
Kuondoa au kufuta kabisa anwani ya IP iliyopigwa marufuku. Unahitaji kuhariri faili zifuatazo na kuondoa anwani ya IP.
# 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
Baada ya kuondoa Anwani ya IP iliyopigwa marufuku, fungua upya huduma tena.
# /etc/init.d/denyhosts start
Anwani ya IP inayokera imeongezwa kwa faili zote zilizo chini ya saraka ya /var/lib/denyhosts, kwa hivyo ni vigumu sana kubainisha ni faili zipi zilizo na anwani ya IP isiyo sahihi. Njia moja bora ya kujua anwani ya IP kwa kutumia amri ya grep. Kwa mfano ili kujua anwani ya IP 172.16.25.125, fanya.
cd /var/lib/denyhosts grep 172.16.25.125 *
Anwani za IP zilizoidhinishwa Kabisa katika DenyHosts
Ikiwa unayo orodha ya anwani tuli ya IP ambayo ungependa kuidhinisha kabisa. Fungua faili /var/lib/denyhosts/allowed-hosts faili. Anwani yoyote ya IP iliyojumuishwa katika faili hii haitapigwa marufuku kwa chaguo-msingi (zingatia hii kama orodha ya wakati).
# vi /var/lib/denyhosts/allowed-hosts
Na ongeza kila anwani ya IP kwenye mstari tofauti. Hifadhi na funga faili.
# We mustn't block localhost 127.0.0.1 172.16.25.125 172.16.25.126 172.16.25.127