SSH-nin haker hücumundan qorunması üsulları. Fail2ban istifadə edərək SSH serverini kobud güc hücumlarından necə qorumaq olar Standart portun dəyişdirilməsi

Serverimizi parolun kobud gücündən qorumaq üçün siz sshguard və ya sshit utilitlərindən istifadə edə bilərsiniz.

Əməliyyat prinsipləri.

sshguard və sshit eyni prinsip üzərində işləyir. Yanlış autentifikasiya ilə bağlı sistem mesajlarını təhlil edirlər və müəyyən bir dəyər əldə edilərsə, hücum edən IP-ni bloklayan firewall qaydasına daxil edin. Müəyyən bir müddətdən sonra ip qaydadan çıxarılır.
Müvafiq olaraq, əməliyyat üçün konfiqurasiya edilmiş bir firewall tələb olunur.

SSHGuard

sshguard ilə işləyə bilər

  • AIX yerli təhlükəsizlik divarı- IBM AIX əməliyyat sistemləri üçün
  • netfilter/iptables- Linux əsaslı əməliyyat sistemləri üçün
  • Paket Filtri (PF)- BSD əməliyyat sistemləri üçün (Açıq, Pulsuz, Net, DragonFly -BSD)
  • IP Firewall (IPFW)- FreeBSD və Mac OS X üçün
  • IP Filtr (IPFILTER)- FreeBSD, NetBSD və Solaris üçün
  • tcpd-nin hosts_access (/etc/hosts.allow)- UNIX daxilində portativ
  • null- aşkarlama tətbiq etmək üçün heç bir şey etməyən portativ arxa plan, lakin qarşısının alınması üçün deyil

Mən PF-dən istifadə edirəm, buna görə də bu qeyddə PF-də nümunələr var.

Sshguard quraşdırılır.

FreeBSD:

Portlardan quraşdırın

Cd /usr/ports/security/sshguard-pf/&& quraşdırmanı təmiz edin

Əgər nədənsə portlardan istifadə etmirsinizsə, sshguard saytından ən son versiyanı yükləyin və onu əl ilə qurun

./configure --with-firewall=pf && et && quraşdırmaq

Debian:

apt-get quraşdırma sshguard

sshguard-ı işə salmaq üçün ƏS-nin konfiqurasiyası.

Qeydləri saxlamaq üçün fayl yaradın

# toxunun /var/log/sshguard

Debian (hırıltılı):

//etc/default/sshguard-da aşağıdakı sətri redaktə edin

#mcedit /etc/default/sshguard #ARGS="-a 40 -p 420 -s 1200" ARGS="-a 5 -p 420 -s 2400 -b 5:/etc/sshguard/blacklist"

və sshguard-ı yenidən başladın
xidmət sshguard yenidən başladın

FreeBSD:

PF konfiqurasiyasına iki sətir əlavə etməliyik

Cədvəl israr et

Sshguard-ın robotların ipinə daxil olduğu bir cədvəl elan edirik.

$if0 proto tcp-də tez bloklayın

Əslində, bloklama qaydasının özü PF konfiqurasiya faylının qaydalar blokunun ən yuxarı hissəsində qeyd edilməlidir. $if0 bütün interfeyslərdə bloklanacaq olan interfeysdir, onu istənilən ilə əvəz edin;
Konfiqurasiya faylını yenidən oxuyun

Auth.info;authpriv.info |exec/usr/local/sbin/sshguard

və syslog-u yenidən başladın

#/etc/rc.d/syslogd yenidən başladın

Əslində, bu manipulyasiyalardan sonra sshguard standart parametrlərlə hücumları bloklayacaq.
Hücum edərkən /var/log/auth.log aşağıdakı kimi bir şey görəcəyik

İyun1611:01:40 www sshd:61.172.251.183-dən etibarsız istifadəçi testi İyun1612:29:48 www sshd:85.114.130.168-dən etibarsız istifadəçi testi: 29:49 İyun1612:29:49 www sshd: Yanlış istifadəçi testi 61.172.251.14. İyun 1612:29:48 29: 49 www sshd, etibarsız istifadəçi testi saniyə.

Sshguard seçimlərinin konfiqurasiyası

sshguard bir sıra parametrlərə malikdir ki, biz onları ləğv edə bilərik
-a IP-nin bloklanacağı uğursuz autentifikasiya cəhdlərinin sayı. Defolt 4-dür.
-səh neçə saniyədən sonra ip blokdan çıxarılacaq. Defolt 420-dir.
-s sshguard ipi neçə saniyə xatırlayır. Defolt 1200-dür. Daha aydın olmaq üçün, əgər hər 30 dəqiqədən bir İP-dən bir hücum olarsa, o, heç vaxt standart parametrlə qadağan olunmayacaq.
-w ağ ip, şəbəkələr və ya ağ ünvanlar faylına gedən yol. Fayl formatı bir sətirdir - bir giriş, # şərhləri müəyyənləşdirir.
-b qara siyahıya neçə IP blokunun əlavə olunacağını və ona gedən yolu müəyyən edir. Qara siyahı sshguard işə salındıqda yüklənir və avtomatik olaraq silinmir.

sshguard-da konfiqurasiya faylı yoxdur, sshguard işə salındıqda parametrlər təyin olunur; Bizim vəziyyətimizdə sshguard syslog-u işə salır, ona görə də syslog.conf-u belə redaktə edək ki, sshguard 30 dəqiqə ərzində 3 uğursuz autentifikasiya cəhdindən sonra IP-ni blok etsin və 5 blokdan sonra onu qara siyahıya salsın.

Auth.info;authpriv.info |exec/usr/local/sbin/sshguard -a 3-p 1500-b 5:/usr/local/etc/sshguard.blacklist

ilk dəfə 420 saniyə bloklanır və 7 dəqiqədən sonra silinir
2*420 y-də ikinci dəfə 14 dəqiqədən sonra silinir
üçüncü dəfə 2*2*420 və 28 dəqiqədən sonra silindi və s...
2^(N-1)*420 N-ci dəfə.

Sşit

Sshit bir perl skriptidir, ona görə də sistemdə perl və həmçinin 2 modul olmalıdır

  • IPC::Paylaşıla bilər
  • Proc::PID::Fayl

Sshit yalnız pf və ipfw ilə işləyə bilər.

Sshit quraşdırılması

cd /usr/ports/security/sshit/&& quraşdırmanı təmiz edin

sshit konfiqurasiyaları.

Sshit-in /usr/local/etc/sshit.conf konfiqurasiya faylı var ki, orada defolt dəyərləri ləğv edə bilərsiniz.

FIREWALL_TYPE = "pf"; # Hansı firewalldan istifadə edirik MAX_COUNT =3; # İP-nin bloklandığı uğursuz autentifikasiya cəhdlərinin sayı WITHIN_TIME =60; # Müəyyən edilmiş uğursuz autentifikasiya sayı neçə saniyə ərzində baş verməlidir RESET_IP =300; # Neçə saniyədən sonra ip blokdan çıxarılacaq. PFCTL_CMD = "/sbin/pfctl"; PF_TABLE ="badhosts"#pis iplərin daxil edildiyi cədvəlin adı

Sshit-in işləməsi üçün ƏS-nin qurulması.

Sshguard parametrlərinə bənzətməklə, biz PF konfiqurasiya faylını redaktə edirik

Cədvəl $if0 proto tcp-dən tez bloklamağa davam edin $if0 portuna ssh etiketi "ssh brute"

konfiqurasiya faylını yenidən oxuyun

#pfctl -f /etc/pf.conf

syslog.conf redaktəsi

Auth.info;authpriv.info |exec/usr/local/sbin/sshit

və syslog-u yenidən başladın

SSH kompüterlər arasında məlumatların (əmrlər, fayllar, videolar və s.) ötürülməsi üçün təhlükəsiz protokoldur.

O, VPS-də və əksər hostinq provayderlərinin xüsusi serverlərində standart olaraq aktivdir, çünki o, uzaqdan bir maşını asanlıqla və təhlükəsiz idarə etməyə imkan verir. Yeri gəlmişkən, Well-Web xidmətində VPS serverini ucuz icarəyə götürə bilərsiniz. SSH bütün VPS-lərdə aktiv olduğundan, Secure Shell istifadə edərkən problemlərin qarşısını almaq üçün müvafiq SSH qorunması lazımdır.

Kökdən girişi söndürün

Hər şeydən əvvəl, superuser hesabı (kök) altında maşına uzaqdan qoşulma qabiliyyətini söndürmək tövsiyə olunur. Bunu etmək üçün, adətən (lakin həmişə deyil) /etc/ssh/ qovluğunda yerləşən sshd_config faylını tapmalı və onu açmalısınız.

Orada PermitRootLogin elementini tapmalı və dəyərini "yox" ilə əvəz etməli, yəni aşağıdakı girişi almalısınız:

PermitRootLogin nömrəsi

Təbii ki, bu, sındırmanın qarşısını almayacaq, amma yenə də onu bir qədər çətinləşdirəcək.

Hack ehtimalını minimuma endirmək üçün giriş və parol icazəsi əvəzinə açarlardan istifadə edərək avtorizasiyadan istifadə etmək tövsiyə olunur. Bu bir neçə yolla edilə bilər. Bu, yeri gəlmişkən, kobud gücə qarşı yaxşı bir SSH qorunmasıdır.

Standart portun dəyişdirilməsi

SSH vasitəsilə serverin sındırılması adətən parol axtarışı (brute force) vasitəsilə baş verdiyi üçün standart port 22-ni başqa birinə dəyişdirmək rasional olardı. Bunu etmək çox asandır. Əvvəlcə qeyd olunan sshd_config faylını açmalı və oraya bir sətir əlavə etməlisiniz:

Port port_nömrəsi

Giriş, məsələn, belə görünür:

Port 3048

Bu, serverə icazəsiz giriş əldə etmək istəyən insanların sayını əhəmiyyətli dərəcədə azaldacaq. Port nömrəsini dəyişdirməzdən əvvəl onun digər proqramlara müdaxilə etməyəcəyinə əmin olun. Siz həmçinin hələ istifadə olunmayan portu seçməlisiniz ki, proqramlar ona görə zidd olmasın.

IP giriş məhdudiyyəti

İcazəsiz qoşulma ehtimalını demək olar ki, sıfıra endirəcək başqa bir qorunma üsulu avtorizasiya məhdudiyyətlərinin qoyulmasıdır. SSH elə konfiqurasiya edilə bilər ki, yalnız xüsusi IP ünvanları olan uzaq maşınlar serverə daxil ola bilsin. Bunun üçün AllowUser sətirindəki sshd_config faylında hər bir istifadəçinin adına @IP_number əlavə etməlisiniz. Giriş, məsələn, belə görünə bilər:

İstifadəçilərə icazə verin [email protected], [email protected]

Bu metoddan istifadə etməzdən əvvəl, IP ünvanı konfiqurasiya tərəfindən təmin edilməyən bir maşından serverə daxil olmanız lazım ola biləcək heç bir vəziyyətin olmadığına əmin olmaq tövsiyə olunur.

Təhlükəsiz Şifrə

Və əlbəttə ki, kobud gücə davamlı bir parol istifadə etməlisiniz. Uzun və mümkün qədər müxtəlif simvollarla, tercihen krakozyabrlarla. Bu olmalıdır.

OpenSSH serverə uzaqdan qoşulmağa, faylları manipulyasiya etməyə və sistemi idarə etməyə imkan verir. Bu gün biz OpenSSH əsaslı sistemin təhlükəsizliyini artıracaq ən yaxşı üsullar haqqında danışmaq istəyirik.

Konfiqurasiya faylları

  • /etc/ssh/sshd_config- OpenSSH server konfiqurasiya faylı;
  • /etc/ssh/ssh_config- OpenSSH müştəri konfiqurasiya faylı;
  • ~/.ssh/- istifadəçi SSH parametrlərinin saxlandığı qovluq;
  • ~/.ssh/authorized_keys və ya ~/.ssh/authorized_keys- istifadəçi hesablarına qoşulmaq üçün istifadə olunan açarların siyahısı (RSA və ya DSA);
  • /etc/nologin- bu fayl sistemdə varsa, sshd kökdən başqa bütün istifadəçilərin sistemə qoşulmasını qadağan edəcək;
  • /etc/hosts.allow və /etc/hosts.deny- qadağa sistemi (təhlükəsizliyin bir hissəsi). ACL-ə bənzər işləyir;
  • Defolt SSH portu - 22

Lazım deyil - söndürün

Əgər serveriniz uzaqdan SSH bağlantıları tələb etmirsə, onu söndürməyi unutmayın. CentOS/RHEL kimi sistemlərdə bu belə edilir:

Chkconfig sshd yum silmək openssh-serverini söndürün

SSH versiyası 2 istifadə edin

SSH protokolunun birinci versiyasında ikinci versiyada həll olunan təhlükəsizlik problemləri var. Buna görə də ikinci versiyadan istifadə edin. Protokol 2 seçiminin /etc/ssh/sshd_config faylında göstərildiyinə əmin olun.

SSH girişini məhdudlaşdırın

Varsayılan olaraq, bütün sistem istifadəçiləri SSH vasitəsilə sistemə qoşulmaq imkanına malikdirlər. Təhlükəsizlik səbəbləri ilə SSH girişini məhdudlaşdırmağı tövsiyə edirik. Məsələn, kök, merion və şəbəkə istifadəçiləri üçün SSH-yə icazə vermək üçün:

AllowUsers kök merion şəbəkələri

Digər tərəfdən, göstərilənlərdən başqa bütün istifadəçilərə girişə icazə verə bilərsiniz:

DenyUsers kök merion şəbəkələri

Hərəkətsizlik vaxtı

Qeyri-aktiv sessiyanın dayandırılacağı (tamamlanacaq) vaxtı göstərmək vacibdir. Bu, aşağıdakı seçimlərlə edilə bilər:

ClientAliveInterval 300 ClientAliveCountMax 0

Bu parametrdə biz hərəkətsizlik vaxtını 300 saniyə (5 dəqiqə) olaraq təyin etdik.

.rhosts faylları haqqında

Fakt budur ki, bu fayl hostların və istifadəçilərin siyahısını ehtiva edir. Bu faylda host və istifadəçinin kombinasiyası varsa, bu istifadəçi parol istəmədən SSH vasitəsilə sistemə qoşula biləcək. Bu "gözəl" funksiyanı söndürməyi tövsiyə edirik:

IgnoreRhosts bəli

Host əsaslı identifikasiya yoxdur!

Sözdə Host Əsaslı Doğrulama Xüsusi hostdan istifadəçiyə serverə qoşulmağa imkan verir. Deaktiv edin:

Host-based Authentication No

Kök vasitəsilə birbaşa əlaqə

PermitRootLogin nömrəsi

Banner düzəldin

Hər bir əlaqə üçün icazəsiz giriş əldə etməyə çalışan təcavüzkarları təhdid edə biləcəyiniz bir pankart hazırlayın. Banner parametri bannerin qurulmasına cavabdehdir.

Port 22 yalnız içəridən!

22 nömrəli sistem portuna girişi yalnız firewall qaydaları zənciri vasitəsilə təmin edin. Girişi yalnız LAN daxilində tərk etmək yaxşıdır. Məsələn, in İptables 192.168.11.0/24-ə giriş verə bilərsiniz:

A RH-Firewall-1-INPUT -s 192.168.11.0/24 -m vəziyyət --vəziyyət YENİ -p tcp --dport 22 -j QƏBUL EDİN

Harada qulaq asmaq

Varsayılan olaraq, SSH bütün mövcud interfeyslərdə əlaqələri dinləyir. Defolt portu dəyişdirməyi və əlaqəni gözləmək üçün IP ünvanını göstərməyi tövsiyə edirik. Məsələn, biz 962 portunu və 192.168.11.24 IP ünvanını təyin edəcəyik.

Port 962 ListenAddress 192.168.11.24

Kriptoqrafik cəhətdən güclü parollar

Güclü parollardan istifadə edin. İnternetdə pulsuz və SMS olmadan onlayn olaraq kripto-güclü parol yaradacaq bir çox vasitə var :)

Boş parolları qadağan edin

Parolsuz istifadəçilər var. Onların SSH-ə girişi də seçimdən istifadə etməklə rədd edilməlidir:

Port 962 PermitEmptyPasswords nömrəsi

Qeydləri təhlil edin

Hadisə qeydini INFO və ya DEBUG rejiminə təyin edin - bu, sistem üzərində geniş nəzarətə malik olmağa imkan verəcək:

LogLevel MƏLUMATI

Bu məqalə sizin üçün faydalı oldu?

Zəhmət olmasa deyin niyə?

Məqalənin sizin üçün faydalı olmadığı üçün üzr istəyirik: (Zəhmət olmasa, çətin deyilsə, səbəbini göstərin? Ətraflı cavab üçün çox minnətdar olacağıq. Bizə daha yaxşı olmağımıza kömək etdiyiniz üçün təşəkkür edirik!

Bu yazıda SSH-dən qorunmağın əsas üsulunu nəzərdən keçirəcəyik kütlə Bruteforce hücumları. Bu halda, kütləvi bruteforce hücumu SSH üçün xüsusi olaraq hədəflənmiş parolun təxmin edilməsi demək deyil, təxminlərə davamlı olmayan giriş-parol cütlərinin sonrakı identifikasiyası üçün bir sıra serverlərin geniş şəkildə tutulması deməkdir.

Kütləvi SSH bruteforce hücumunun əsas xüsusiyyətləri açıq port 22-də IP diapazonlarının geniş skan edilməsi və çox istifadə olunan istifadəçi adı və şifrənin istifadəsidir (məsələn, root:passwd123, admin:server123 və s.).

Serverinizdə uğursuz SSH avtorizasiya cəhdlərinin jurnal fayllarından statistikaya baxmaq üçün əmri daxil edin:

Pişik /var/log/secure* | grep "Uğursuz parol" | grep sshd | awk "($1,2$ çap edin)" | sort -k 1,1M -k 2n | uniq -c

Bu ekran görüntüsü gün ərzində uğursuz icazələrin sayının statistikasını təqdim edir. Bənzər məlumatları oğurlasanız, SSH-nizi kütləvi zorakılıqdan qorumaq üçün addımlar atmalısınız.

1. Əgər siz istifadə etməyin avtorizasiya üçün kök, admin, administrator, istifadəçi və s. kimi tez-tez istifadə olunan istifadəçi adları. və avtorizasiya üçün mürəkkəb parol istifadə edin, sonra dərhal ikinci nöqtəyə keçə bilərsiniz. Şifrəni daha mürəkkəb birinə dəyişdirmək üçün əmri daxil edin:

#girişinizi# daxil edin

Harada #sizin_girişiniz#— İstifadəçi adınız.
Yeni parol daxil edərkən parol göstərilmir, kursor bir yerdə qalacaq.

SSH vasitəsilə serverə daxil olaq, yeni istifadəçi yaradaq və ona parol verək, bunun üçün əmrləri daxil edirik:

Adduser #newuser# passwd #newuser#

Harada #yeniistifadəçi#— Yeni istifadəçi adınız, tez-tez istifadə olunanları istifadəçi adı kimi istifadə etməyin, yaxşı seçimdir admininiz(məsələn, foxadmin, useralex, rootidler).

2. Bundan sonra SSH vasitəsilə yeni istifadəçi adı və şifrə ilə daxil olun. Və SSH daemon konfiqurasiyasını (sshd_config) əmrlə açın:

Vi /etc/ssh/sshd_config

Bundan sonra belə bir şey görməlisiniz:

ilə başlayan xətlər # şərh edilir.

Kimə SSH-ni kütləvi qəddar qüvvələrdən qoruyun, şərhi silin və aşağıdakı parametrləri dəyişdirin və ya əlavə edin fayl:
a) liman- üzərində olan liman SSHD bağlantıları qəbul edir və xidmət göstərir. Şərhdən çıxarın (sətir başlamazdan əvvəl silin # ) və standart dəyəri dəyişdirin 22 , qorunanlar istisna olmaqla, 1024-dən 65536-a qədər hər hansı digərinə - qorunan portların siyahısı, məsələn:

Liman 2022

Silmək üçün # və dəyəri dəyişdirin port 22, əvvəlcə klaviaturada basın i, tələb olunan sətri redaktə etdikdən sonra düyməni basın ESC

b) LoginGraceTime— istifadəçinin sistemdə qeydiyyatı üçün gözləmə müddəti. İstifadəçi bu direktivlə ayrılmış vaxt ərzində daxil ola bilməsə, sessiya dayandırılır. Bu dəyəri azaldaq:

LoginGraceTime 1m

c) PermitRootLogin- istifadəçiyə icazə verin kök SSH protokolu ilə daxil olun. -ə keçək yox.

PermitRootLogin nömrəsi

d) İstifadəçilərə icazə verin— boşluqla ayrılmış SSH protokolu ilə daxil olmaq üçün icazə verilən istifadəçi adları. Burada #sizin_girişiniz# əvəzinə yeni yaradılmış istifadəçi adını göstəririk.

İstifadəçilərə #girişinizə# icazə verin

e) MaxAuthTries— seans başına giriş cəhdlərinin sayı. Cəhdlərin icazə verilən maksimum sayına çatdıqda, sessiya dayandırılır.

MaxAuthTries 2

Nəticədə əldə edirik:

Port 2022 LoginGraceTime 1m icazə RootLogin İstifadəçilərə icazə verilmir #sizin_girişiniz# MaxAuthTries 2

Bu yazıda quraşdırmanı tamamlayacağıq SSH kütlədən qorunmaq üçün kobud güc. Redaktə etdikdən sonra , klaviaturada basın : , aşağıda bir xətt görünür və sonra onu daxil edin wq və düyməni basın Daxil edin. Bu halda edilən bütün dəyişikliklər yadda saxlanılacaq.

Səhv bir şey etmisinizsə (məsələn, təsadüfən bir şeyi silmisiniz), saxlamadan çıxmaq klaviatura qısayolu yerinə istifadə edin wq, açarlar q!

SSH quraşdırmasını tamamladıqdan sonra əmrlə demonu yenidən başladın:

Xidmət sshd yenidən başladın

İndi SSH vasitəsilə qoşulduqda yeni portdan istifadə edin 2022 (və ya parametrlərdə göstərdiyiniz) əvəzinə standart port 22.

SSH-nin qurulması ilə bağlı növbəti məqalədə sizə bildirmək istərdim ki, biz parolun autentifikasiyasını qadağan edəcəyik və yalnız şəxsi SSH açarından istifadə edərək avtorizasiyaya icazə verəcəyik və bununla da özümüzü parol təxminindən mümkün qədər qoruyacağıq.

Bu qısa qeyddə mən ssh serverinin təhlükəsizliyini artırmaq yollarını bir araya gətirdim. Ən sadə və yerinə yetirilməsi sadə üsullar təsvir edilir və daha mürəkkəb olanlar yalnız maraqlanan oxucular üçün göstərilir.

Əsas Texnikalar

Bütün hərəkətlər sshd daemon konfiqurasiya faylında yerinə yetirilir - /etc/ssh/sshd_config. Aşağıda konfiqurasiya faylımın bir hissəsini şərhlərlə təmin edəcəyəm.

### Şəbəkə ### # Biz qeyri-standart portdan (>1024) istifadə edirik 5679 # Biz yalnız IPv4 bağlantılarından istifadə edirik # inet = IPv4, inet6 = IPv6, hər hansı = hər ikisi ÜnvanFamily inet # Yalnız müəyyən IP-dən bağlantıları qəbul edə bilərsiniz. ünvanlar #ListenAddress 0.0 # Biz protokolun ikinci versiyasını istifadə edirik, çünki birincisi # məlum Protokol 2 boşluqlarına məruz qalır # Sizə açıq şəkildə ehtiyac duyana qədər qrafik yönləndirməni (X serveri) deaktiv edin X11Yönləndirmə yoxdur # Disable TCPKeepAlive-i söndürün və əvəzinə ClientAliveInterval-dan istifadə edin TCP Spoofing TCPKeepAlive kimi hücumların qarşısını almaq üçün # istifadə edin. 600 saniyə) fəaliyyətsizlik ClientAliveInterval 600 ClientAliveCountMax 3 ### Açar konfiqurasiya faylları ### # Protokol versiyası 2 üçün HostKeys HostKey /etc/ssh/ssh_host_rsa_key HostKey /etc/ssh/ssh_host_dsa_keycom prosesində #müştəridən çıxarılan prosesdən istifadə edin. trafik # sandbox - openSSH >= 5.9 ("bəli" - aşağı versiyalar üçün) UsePrivilegeSeparation sandbox # Bu dəyərləri dəyişdirərkən köhnə açarın silinməsini tələb edir # /etc/ssh/ssh_host_rsa_key(,.pub) və yenisinin yaradılması # sshd-ni yenidən başlatmaqla. # # Açar ömrü, yəni. Əvvəlki açar istifadə olunubsa, nə vaxtdan sonra # yeni açar yaradılacaq. KeyRegenerationInterval 1h # açar gücü ServerKeyBits 2048 # Açıq açardan istifadə edərək avtorizasiyaya icazə verin PubkeyAuthentication bəli # AuthorizedKeysFile .ssh/authorized_keys istifadəçi kataloqunda etibarlı açarların saxlanma yeri özü LogLevel INFO ### Doğrulama ### # icazə verilən istifadəçilərin siyahısı AllowUsers ivan # ssh açarı üçün parolun daxil edilməsi vaxtını məhdudlaşdırın LoginGraceTime 30s # kök hesabı ilə uzaqdan girişi qadağan edin PermitRootLogin no # Faylların hüquqlarının açıq şəkildə yoxlanılmasını təmin edin və ssh düymələri olan qovluqlar StrictModes bəli # Şifrəni səhv daxil etsəniz neçə dəfə soruşmalısınız MaxAuthTries 3 # Boş parolla girişi qadağan edin PermitEmptyPasswords no # Prinsipcə parol ilə girişi qadağan edin # (Əvəzində ictimai/özəl açardan istifadə edin) PasswordAuthentication no # "Çağırış-cavab" icazəsinin istifadəsini söndürün, çünki # . ChallengeResponseAuthentication açarlarından istifadə edərkən faydasızdır no # Paroldan istifadə etmədiyimiz üçün bizə ehtiyac yoxdur (PAM, login(1)) UsePAM no UseLogin no # Müştəriyə yalnız müəyyən mühit dəyişənləri dəstini ötürməyə icazə verin # RH BZ#CVE-2014-2532 # ShellShock istismarı AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_MELEASURENTIC LC_MESTELEPHONEIC LC_MESTELEFONİC_qəbul edin

Bunlar sshd konfiqurasiya faylında konfiqurasiya edilən parametrlərdir. Parametrləri dəyişdirdikdən sonra sshd xidmətini yenidən başlatmalısınız.

Şərhlər

  • Açar autentifikasiyasından istifadə edərkən açar tələb olunur əvvəl müştəri maşınında yaradın və açıq açarı serverə köçürün. Misal:
müştəri $ ssh-keygen müştəri $ cat ~/.ssh/id_rsa.pub | ssh -p 5679 [email protected]"pişik >> ~/.ssh/authorized_keys"
  • /var/log/auth.log faylında mesajlar olacaq sshd. Bu fayl yoxdursa, giriş sisteminizi konfiqurasiya etməlisiniz.
syslog və syslon-ng üçün nümunə. Mən syslog-ng istifadə edirəm və /etc/syslog-ng/syslog-ng.conf faylına aşağıdakı sətirləri əlavə etmək lazımdır:

təyinat authlog ( fayl("/var/log/auth.log"); ); log (mənbə(src); təyinat(authlog); );

  • və syslog-ng xidmətini yenidən başladın.
    Qeyri-standart portdan istifadə edirsinizsə, təhlükəsizlik duvarınızı konfiqurasiya etməlisiniz (iptables, firewalld və s.). Misal
iptables üçün parametrlər:

root# iptables -A INPUT -p tcp -m state --state YENİ, QURULANIŞ --dport 5679 -j QƏBUL EDİN kök# xidmət iptables root saxla# iptables -L -n Zəncir GİRİŞİ (siyasəti QƏBUL EDİN) hədəf prot opt-mənbə təyinatı QƏBUL EDİN icmp -- 0.0.0.0/0 0.0.0.0/0 QƏBUL ET tcp -- 0.0.0.0/0 0.0.0.0/0 vəziyyət YENİ tcp dpt:22 QƏBUL ET tcp -- 0.0.0.0/0 0.0.0.0/0 vəziyyət YENİ0. tcp dpt :80 QƏBUL EDİN tcp -- 0.0.0.0/0 0.0.0.0/0 vəziyyət YENİ, QURULAN tcp dpt:5679 ...

Bu kifayət deyilsə

  • Bunlar sadəcə əsas parametrlərdir. Əlavə olaraq konfiqurasiya edə bilərsiniz