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