5 millors pràctiques de seguretat del servidor OpenSSH


SSH (Secure Shell) és un protocol de xarxa de codi obert que s'utilitza per connectar servidors Linux locals o remots per transferir fitxers, fer còpies de seguretat remotes, execució d'ordres remots i altres tasques relacionades amb la xarxa mitjançant l'ordre sftp entre dos servidors que es connecten en un canal segur a la xarxa.

En aquest article, us mostraré algunes eines i trucs senzills que us ajudaran a reforçar la seguretat del vostre servidor ssh. Aquí trobareu informació útil sobre com protegir i prevenir els servidors ssh de la força bruta i els atacs de diccionari.

1. DenyHosts

DenyHosts és un script de seguretat de prevenció d'intrusions basat en registres de codi obert per a servidors SSH que es va escriure en un llenguatge de programació Python que està pensat per ser executat pels administradors i usuaris del sistema Linux per supervisar i analitzar els registres d'accés al servidor SSH per als intents d'inici de sessió fallits. atacs basats en diccionaris i atacs de força bruta.

L'script funciona prohibint les adreces IP després d'un nombre determinat d'intents d'inici de sessió fallits i també evita que aquests atacs tinguin accés al servidor.

  • Fa un seguiment de /var/log/secure per trobar tots els intents d'inici de sessió correctes i fallits i els filtra.
  • Conserva tots els intents fallits d'inici de sessió de l'usuari i de l'amfitrió infractor.
  • Segueix mirant cada usuari existent i inexistent (p. ex., xyz) quan s'intenta iniciar una sessió fallida.
  • Fa un seguiment de cada usuari, amfitrió i intents d'inici de sessió sospitosos (si hi ha un nombre d'errors d'inici de sessió) prohibeix l'adreça IP de l'amfitrió afegint una entrada al fitxer /etc/hosts.deny.
  • Opcionalment, envia una notificació per correu electrònic d'amfitrions bloquejats recentment i d'inicis de sessió sospitosos.
  • També manté tots els intents fallits d'inici de sessió d'usuari vàlids i no vàlids en fitxers separats, de manera que sigui fàcil identificar quin usuari vàlid o no vàlid està sota atac. Per tant, podem suprimir aquest compte o canviar la contrasenya, o desactivar l'intèrpret d'ordres per a aquest usuari.

[També us pot agradar: Com bloquejar els atacs de força bruta SSH amb DenyHosts]

2. Fail2Ban

Fail2ban és un dels marcs de prevenció/detecció d'intrusions de codi obert més populars escrits en un llenguatge de programació Python. Funciona analitzant fitxers de registre com ara /var/log/secure, /var/log/auth.log, /var/log/pwdfail, etc. per a massa intents fallits d'inici de sessió.

Fail2ban s'utilitza per actualitzar el fitxer hosts.deny de Netfilter/iptables o TCP Wrapper, per rebutjar l'adreça IP d'un atacant durant un període de temps determinat. També té la capacitat de desbloquejar una adreça IP bloquejada durant un període de temps determinat establert pels administradors. Tanmateix, un cert minut de desbanatge és més que suficient per aturar aquests atacs maliciosos.

  • Multifil i altament configurable.
  • Suport per a la rotació de fitxers de registre i pot gestionar diversos serveis com (sshd, vsftpd, apache, etc.).
  • Supervisa els fitxers de registre i cerca patrons coneguts i desconeguts.
  • Utilitza la taula Netfilter/Iptables i TCP Wrapper (/etc/hosts.deny) per prohibir la IP dels atacants.
  • Executa scripts quan s'ha identificat un patró determinat per a la mateixa adreça IP més de X vegades.

[ També us pot agradar: Com utilitzar Fail2ban per protegir el vostre servidor Linux ]

3. Desactiveu l'inici de sessió arrel

De manera predeterminada, els sistemes Linux estan preconfigurats per permetre inicis de sessió remots ssh per a tothom, inclòs el propi usuari root, la qual cosa permet que tothom iniciï sessió directament al sistema i tingui accés root. Malgrat que el servidor ssh permet una manera més segura de desactivar o habilitar els inicis de sessió root, sempre és una bona idea desactivar l'accés root, mantenint els servidors una mica més segurs.

Hi ha tantes persones que intenten crear comptes arrel de força bruta mitjançant atacs SSH simplement proporcionant diferents noms de compte i contrasenyes, un darrere l'altre. Si sou un administrador del sistema, podeu comprovar els registres del servidor ssh, on trobareu una sèrie d'intents d'inici de sessió fallits. La raó principal darrere d'una sèrie d'intents d'inici de sessió fallits és tenir contrasenyes prou febles i això té sentit que els pirates informàtics/atacants ho intentin.

Si teniu contrasenyes fortes, probablement esteu segur, però, és millor desactivar l'inici de sessió d'arrel i tenir un compte normal separat per iniciar sessió, i després utilitzar sudo o su per obtenir accés root sempre que sigui necessari.

[També us pot agradar: Com desactivar l'inici de sessió arrel SSH i limitar l'accés SSH a Linux]

4. Mostra el bàner SSH

Aquesta és una de les funcions més antigues disponibles des de l'inici del projecte ssh, però gairebé no he vist que ningú l'utilitzi. De totes maneres, crec que és una característica important i molt útil que he utilitzat per a tots els meus servidors Linux.

Això no té cap finalitat de seguretat, però el major avantatge d'aquest banner és que s'utilitza per mostrar missatges d'advertència ssh a l'accés autoritzat per l'ONU i missatges de benvinguda als usuaris autoritzats abans de la sol·licitud de contrasenya i després que l'usuari hagi iniciat sessió.

[També us pot agradar: Com protegir els inicis de sessió SSH amb missatges de bàner SSH i MOTD]

5. Inici de sessió SSH sense contrasenya

Un inici de sessió SSH sense contrasenya amb un keygen SSH establirà una relació de confiança entre dos servidors Linux, cosa que facilitarà molt la transferència i la sincronització de fitxers.

Això és molt útil si esteu tractant amb còpies de seguretat automatitzades remotes, execució d'scripts remots, transferència de fitxers, gestió remota d'scripts, etc. sense introduir la contrasenya cada vegada.

[ També us pot agradar: Com configurar l'inici de sessió sense contrasenya SSH a Linux [3 passos senzills] ]

Per protegir encara més el vostre servidor SSH, llegiu el nostre article sobre Com protegir i endurir el servidor OpenSSH