Wéi sécheren an Harden OpenSSH Server


Wann et drëm geet fir Remote Geräter wéi Serveren, Router a Schalter ze zougräifen, ass SSH Protokoll héich recommandéiert wéinst senger Fäegkeet fir de Traffic ze verschlësselen an iergendeen ofzeschwätzen deen probéieren Är Verbindungen ze oflauschteren.

Wéi och ëmmer, d'Standardastellunge vum SSH sinn net onfehlbar an zousätzlech Tweaks sinn néideg fir de Protokoll méi sécher ze maachen. An dësem Guide entdecken mir verschidde Weeër déi Dir benotze kënnt fir OpenSSH Installatioun um Server ze sécheren an ze härten.

1. Ariichten SSH Passwuertlos Authentifikatioun

Par défaut erfuerdert d'SSH d'Benotzer fir hir Passwierder ze bidden wann se aloggen. Awer hei ass d'Saach: Hacker kënnen Passwierder roden oder souguer e brute Force Attack mat speziellen Hacking-Tools ausféieren an Zougang zu Ärem System kréien. Fir op der sécherer Säit ze sinn, ass d'Benotzung vun der SSH Passwuertloser Authentifikatioun héich encouragéiert.

Den éischte Schrëtt ass en SSH Schlësselpaar ze generéieren deen aus engem ëffentleche Schlëssel an engem private Schlëssel besteet. De private Schlëssel wunnt op Ärem Hostsystem, während den ëffentleche Schlëssel dann op de Fernserver kopéiert gëtt.

Wann den ëffentleche Schlëssel erfollegräich kopéiert ass, kënnt Dir elo SSH op de Fernserver nahtlos ouni e Passwuert ubidden.

De nächste Schrëtt ass d'Passwuert Authentifikatioun auszeschalten, Fir dëst z'erreechen, musst Dir d'SSH Konfiguratiounsdatei änneren.

$ sudo vim /etc/ssh/sshd_config

Bannen an der Konfiguratiounsdatei, scroll a lokaliséiert déi folgend Direktiv. Decommentéieren an änneren d'Optioun Jo op nee

PasswordAuthentication no

Da starten den SSH Daemon nei.

# sudo systemctl restart sshd

Zu dësem Zäitpunkt hutt Dir nëmmen Zougang zum Remote Server mat der SSH Schlëssel Authentifikatioun.

2. Desaktivéiere Benotzer SSH Passwuert Verbindung Ufroen

Eng aner recommandéiert Manéier fir d'Sécherheet vun Ärem Server ze verstäerken ass SSH Login vu Benotzer ouni Passwierder auszeschalten. Dëst kléngt e bësse komesch, awer heiansdo kënnen Systemadministrateuren Benotzerkonten erstellen a vergiessen Passwierder ze ginn - wat eng ganz schlecht Iddi ass.

Fir Ufroe vu Benotzer ouni Passwuert ze refuséieren, gitt erëm an d'Konfiguratiounsdatei op /etc/ssh/sshd_config a gitt sécher datt Dir d'Direktiv hei drënner hutt:

PermitEmptyPasswords no

Da starten de SSH Service nei fir d'Ännerung auszeféieren.

$ sudo systemctl restart sshd

3. SSH Root Logins auszeschalten

Et ass kee Sënn wat ka geschéien wann en Hacker et fäerdeg bréngt Äert Root Passwuert ze bruten. Remote Root Login erlaben ass ëmmer eng schlecht Iddi déi d'Sécherheet vun Ärem System a Gefor bréngen kann.

Aus dësem Grond ass et ëmmer recommandéiert datt Dir SSH Remote Root Login auszeschalten an amplaz un engem normale Net-root Benotzer bleift. Nach eng Kéier, gitt op d'Konfiguratiounsdatei a ännert dës Linn wéi gewisen.

PermitRootLogin no

Wann Dir fäerdeg sidd, starten den SSH Service nei fir d'Ännerung auszeféieren.

$ sudo systemctl restart sshd

Vun elo un gëtt Remote Root Login desaktivéiert.

4. Benotzt SSH Protokoll 2

SSH kënnt an zwou Versiounen: SSH Protokoll 1 a Protokoll 2. SSH Protokoll 2 gouf 2006 agefouert an ass méi sécher wéi Protokoll 1 duerch seng staark kryptographesch Kontrollen, Bulk Verschlësselung a robust Algorithmen.

Par défaut benotzt SSH Protokoll 1. Fir dëst op de méi séchere Protokoll 2 z'änneren, füügt d'Linn hei ënnen an d'Konfiguratiounsdatei:

Protocol 2

Wéi ëmmer, Restart SSH fir datt d'Ännerungen a Kraaft trieden.

$ sudo systemctl restart sshd

Am Viraus wäert SSH Protokoll 2 als Standard benotzen.

Fir ze testen ob SSH Protokoll 1 méi ënnerstëtzt gëtt, fuert de Kommando:

$ ssh -1 [email 

Dir kritt e Feeler deen liest SSH Protokoll v.1 gëtt net méi ënnerstëtzt.

An dësem Fall war de Kommando:

$ ssh -1 [email 

Zousätzlech kënnt Dir einfach den -2 Tag spezifizéieren just fir sécher ze sinn datt Protokoll 2 de Standardprotokoll ass am Gebrauch.

$ ssh -2 [email 

5. Set SSH Connection Timeout Idle Value

Äre PC fir verlängert Perioden ouni Iwwerwaachung mat enger Idle SSH Verbindung ze loossen kann e Sécherheetsrisiko stellen. Een kann einfach laanschtgoen an Är SSH Sessioun iwwerhuelen an alles maachen wat se wëllen. Fir dëst Thema unzegoen, ass et virsiichteg, dofir eng Idle Timeout Limit ze setzen, déi wann se iwwerschratt gëtt, d'SSH Sessioun zougemaach gëtt.

Nach eng Kéier, öffnen Är SSH Konfiguratiounsdatei a lokaliséiert d'Direktiv ClientAliveInterval. Gitt e raisonnabele Wäert, zum Beispill, ech hunn d'Limit op 180 Sekonnen gesat.

ClientAliveInterval 180

Dëst implizéiert datt d'SSH Sessioun erofgeet wann keng Aktivitéit no 3 Minutten registréiert ass, wat d'Äquivalent vun 180 Sekonnen ass.

Da starten den SSH-Daemon nei fir d'Ännerungen ze bewierken.

$ sudo systemctl restart sshd

6. Limitéiert SSH Zougang zu bestëmmte Benotzer

Fir eng zousätzlech Sécherheetsschicht, kënnt Dir d'Benotzer definéieren déi SSH Protokoll erfuerderen fir sech aloggen an Remote Aufgaben um System auszeféieren. Dëst hält all aner Benotzer aus, déi probéieren Zougang zu Ärem System ouni Är Zoustëmmung ze kréien.

Wéi ëmmer, öffnen d'Konfiguratiounsdatei an fügen d'Direktiv AllowUsers un, gefollegt vun den Nimm vun de Benotzer déi Dir wëllt zouginn. Am Beispill hei drënner hunn ech de Benotzer 'tecmint'an 'james' erlaabt Remote Zougang zum System iwwer SSH ze hunn. All anere Benotzer, dee probéiert Remote Zougang ze kréien, gëtt blockéiert.

AllowUsers tecmint james

Duerno restart SSH fir d'Ännerunge bestoe bleiwen.

$ sudo systemctl restart sshd

7. Configuréieren eng Limite fir Passwuert Versich

Eng aner Manéier wéi Dir eng Sécherheetsschicht derbäi kënnt ass andeems Dir d'Zuel vun den SSH Loginversuche limitéiert, sou datt no enger Zuel vu gescheitert Versich d'Verbindung fällt. Also gitt nach eng Kéier op d'Konfiguratiounsdatei a lokaliséiert d'MaxAuthTries Direktiv an definéiert e Wäert fir déi maximal Unzuel vun Versich.

An dësem Beispill ass d'Limite op 3 Versuche gesat wéi gewisen.

MaxAuthTries 3

A schliisslech, SSH Service nei starten wéi an de fréiere Szenarien.

Dir fannt och dës folgend SSH-relatéiert Artikelen nëtzlech:

  • Wéi installéiere ech den OpenSSH 8.0 Server vu Quell op Linux
  • Wéi installéiert ech Fail2Ban fir SSH op CentOS/RHEL 8 ze schützen
  • Wéi ännert ech den SSH Port am Linux
  • Wéi erstellen ech SSH Tunneling oder Port Forwarding am Linux
  • 4 Weeër fir SSH Verbindungen am Linux ze beschleunegen
  • Wéi fannt Dir all gescheitert SSH Login Versuche am Linux
  • Wéi trennt een Inaktiv oder Idle SSH Verbindungen op Linux

Dat war e Roundup vun e puer vun de Moossnamen déi Dir maache kënnt fir Är SSH Fernverbindungen ze sécheren. Et ass wichteg derbäi ze ginn datt Dir ëmmer staark Passwierder u Benotzer déi Fernzougang hunn fir Brute-Force Attacken ze verhënneren. Et ass eis Hoffnung datt Dir dëse Guide Asiicht fonnt hutt. Äre Feedback ass wëllkomm.