SSH Brute-Force giriş hüjümleriniň öňüni almak üçin 5 iň oňat tejribe


SSH işleýän serwerler, adatça zalym güýçli hüjümler üçin ýumşak nyşandyr. Hakerler çozuş howpuny hasam ýokarlandyrýan zalym güýçli hüjümleri awtomatlaşdyrmak üçin täzeçillik programma gurallary we botlar bilen yzygiderli çykyş edýärler.

Bu gollanmada, SSH serwerleriňizi Debian önümlerine gazaply hüjümlerden goramak üçin durmuşa geçirip boljak käbir maslahatlary öwrenýäris.

SSH paroly tanamaklygy öçüriň we SSH açary tanamaklygy işjeňleşdiriň

SSH üçin deslapky tanamak usuly ulanyjy ady/paroly tassyklamakdyr. Weöne görşümiz ýaly, paroly tassyklamak zalym güýçli hüjümlere ýykgyn edýär. Ygtybarly tarapda bolmak üçin, açar esasly SSH tassyklamasyny amala aşyrmak maslahat berilýär, bu ýerde döwlet we hususy SSH açar jübütleri bilen tassyklamak mümkin bolýar. Jemgyýetçilik açary serwere göçürilende şahsy açar müşderiniň kompýuterinde galýar.

SSH açary tassyklamak wagtynda serwer müşderi kompýuterinde şahsy açaryň bardygyny ýa-da ýokdugyny barlaýar. Barlag üstünlikli bolsa, gabyk sessiýasy döredilýär ýa-da uzakdaky serwere iberilen buýruk üstünlikli ýerine ýetirilýär. SSH açar esasly tanamaklygy nädip sazlamalydygy barada giňişleýin gollanmamyz bar.

Açar esasly tanamaklygy guranyňyzdan soň hem, serweriňiz paroly tassyklamagyň henizem işjeň bolmagynyň ýönekeý sebäbi sebäpli zalym güýçli hüjümlere sezewar bolýar. Bu ýapyk bolmaly.

Şonuň üçin SSH konfigurasiýa faýlyny redaktirläň.

$ sudo vim /etc/ssh/sshd_config

ParolAutifikasiýa parametrini görkezilişi ýaly ýok düzüň.

PasswordAuthentication no

Soňra faýly ýazdyryň we üýtgeşmeleri ulanmak üçin SSH-ni täzeden ýükläň.

$ sudo systemctl reload ssh

Fail2ban çozuşynyň öňüni alyş guralyny ýerine ýetiriň

Python-da ýazylan Fail2ban, açyk çeşmeli çozuşyň öňüni alyş çarçuwasy bolup, tassyklama näsazlyklary üçin hyzmatlaryň gündelik faýllaryny gözden geçirýär we belli bir wagtyň dowamynda paroly tassyklamak barlagyny birnäçe gezek şowsuzlaşdyrýan IP-leri gadagan edýär.

Fail2ban çozuş synanyşyklary we beýleki düýpgöter işjeňlik üçin serwer gündelik faýllaryna yzygiderli gözegçilik edýär, Öňünden kesgitlenen mukdarda tassyklamak şowsuzlygyndan - köp halatda 3 sany giriş synanyşygy - Fail2ban uzakdaky hostyň serwere girmegini awtomatiki usulda bloklaýar we öý eýesi saklanýar. Belli bir wagt üçin türme.

Şeýle etmek bilen, Fail2ban nädogry parol tassyklamak synanyşyklarynyň derejesini ep-esli azaldar. Serweriňizi Bruteforce hüjümlerinden goramak üçin Linux-da Fail2ban-y nädip gurup we sazlap boljakdygy baradaky gollanmamyza göz aýlaň.

SSH tanamak synanyşyklarynyň iň köp sanyny çäklendiriň

Serweriňizi zalym güýçli hüjümlerden goramagyň başga bir ýönekeý usuly, SSH giriş synanyşyklarynyň sanyny çäklendirmekdir. Düzgüne görä, bu 3-e düzüldi, ýöne her niçigem bolsa has ýokary baha düzülen bolsa, ony iň köp 3 baglanyşyk synanyşygyna düzüň.

Mysal üçin, iň ýokary birikme synanyşygyny 3-e bellemek üçin MaxAuthTries parametrini görkezilişi ýaly 3-e düzmek

MaxAuthTries = 3

Üýtgeşmeleri ýatda saklaň we SSH hyzmatyny täzeden ýükläň.

$ sudo systemctl reload ssh

Müşderilerden SSH girişini çäklendirmek üçin TCP ýazyjylaryny ýerine ýetiriň

TCP örtükleri, IP adresleri esasynda uzakdaky müşderiler tarapyndan TCP hyzmatlaryna girişi çäklendirýän, esasly giriş dolandyryş sanawyny (ACL) üpjün edýän kitaphanadyr.

Uzakdaky hostlar ulgamdaky hyzmatlara girmekden. TCP örtükleri uzakdaky müşderiniň belli bir hyzmata girmegine rugsat berilýändigini ýa-da ýokdugyny kesgitlemek üçin /etc/hosts.allow we /etc/hosts.deny konfigurasiýa faýllaryny ulanýar (şol tertipde).

Adatça, bu faýllar düşündirilýär we ähli öý eýelerine TCP örtük gatlagy arkaly rugsat berilýär. Berlen hyzmata girmäge rugsat bermegiň düzgünleri /etc/hosts.allow faýlynda ýerleşdirilýär we /etc/hosts.deny faýlyndaky düzgünlerden ileri tutulýar.

Iň oňat tejribe, gelýän ähli birikmeleri petiklemegi maslahat berýär. Şonuň üçin /etc/hosts.deny faýlyny açyň.

$ sudo vim /etc/hosts.deny

Aşakdaky setiri goşuň.

ALL: ALL

Üýtgeşmeleri ýazdyryň we faýldan çykyň.

Soňra /etc/hosts.allow faýlyna giriň.

$ sudo vim /etc/hosts.allow

Görkezilişi ýaly SSH arkaly serwere birigip bilýän hostlary ýa-da domenleri sazlaň. Bu mysalda, diňe iki uzakdaky hostyň serwere (173.82.227.89 we 173.82.255.55) birikmegine rugsat berýäris we galanlaryny inkär edýäris.

sshd: 173.82.227.89 173.82.255.55
sshd: ALL: DENY

Üýtgeşmeleri ýazdyryň we konfigurasiýa faýlyndan çykyň.

Synag üçin, girmäge rugsat berenleriň arasynda bolmadyk serwerden serwere birikmäge synanyşyň. Görkezilişi ýaly rugsat säwligi almaly.

$ ssh [email 

kex_exchange_identification: read: Connection reset by peer
Connection reset by 173.82.235.7 port 22
lost connection

SSH iki faktor tanamaklygy ýerine ýetiriň

Iki faktor tanamaklyk, paroly tassyklamak üçin goşmaça howpsuzlyk gatlagyny üpjün edýär we şeýlelik bilen serweriňizi zalym güýçli hüjümlerden has ygtybarly edýär. Giňden ulanylýan iki faktor tanamaklyk çözgüdi Google Authenticator programmasydyr we iki faktor autentifikasiýasyny nädip gurup boljakdygy barada gowy resminamalaşdyrylan gollanma bar.

Bu, SSH Brute Force giriş hüjümleriniň öňüni almak we serweriňiziň howpsuzlygyny üpjün etmek üçin durmuşa geçirip boljak 5 sany iň oňat tejribäniň gysgaça mazmunydy. Şeýle hem, OpenSSH Serwerini nädip goramaly we gatylaşdyrmalydygyny okap bilersiňiz.