"Secure shell" SSH és un protocol de xarxa per establir una connexió segura entre amfitrions, normalment a través del port 22 (que és millor canviar). Els clients SSH i els servidors SSH estan disponibles per a la majoria de sistemes operatius. Gairebé qualsevol altre protocol de xarxa funciona dins de SSH, és a dir, podeu treballar de forma remota en un altre ordinador, transmetre un flux d'àudio o vídeo a través d'un canal xifrat, etc. A més,
L'autenticació es produeix mitjançant una contrasenya, però els desenvolupadors i els administradors del sistema utilitzen tradicionalment claus SSH. El problema és que es pot robar la clau privada. Afegir una frase de contrasenya protegeix teòricament contra el robatori de la clau privada, però a la pràctica, quan s'envien i emmagatzemen claus a la memòria cau, aquestes
Com implementar l'autenticació de dos factors
Els desenvolupadors de Honeycomb han publicat recentment
Les instruccions assumeixen que teniu un host bàsic determinat obert a Internet (bastió). Voleu connectar-vos a aquest amfitrió des d'ordinadors portàtils o ordinadors a través d'Internet i accedir a tots els altres dispositius que hi ha darrere. 2FA garanteix que un atacant no pot fer el mateix encara que tingui accés al vostre ordinador portàtil, per exemple, instal·lant programari maliciós.
La primera opció és OTP
OTP: contrasenyes digitals d'un sol ús, que en aquest cas s'utilitzaran per a l'autenticació SSH juntament amb la clau. Els desenvolupadors escriuen que aquesta no és una opció ideal, perquè un atacant podria aixecar un bastió fals, interceptar el vostre OTP i utilitzar-lo. Però és millor que res.
En aquest cas, al costat del servidor, s'escriuen les línies següents a la configuració de Chef:
metadata.rb
attributes/default.rb
(deattributes.rb
)files/sshd
recipes/default.rb
(còpia derecipe.rb
)templates/default/users.oath.erb
Qualsevol aplicació OTP està instal·lada al costat del client: Google Authenticator, Authy, Duo, Lastpass, instal·lat brew install oath-toolkit
o apt install oathtool openssl
, aleshores es genera una cadena aleatòria base16 (clau). Es converteix al format Base32 que utilitzen els autenticadors mòbils i s'importen directament a l'aplicació.
Com a resultat, podeu connectar-vos a Bastion i veure que ara requereix no només una frase de contrasenya, sinó també un codi OTP per a l'autenticació:
➜ ssh -A bastion
Enter passphrase for key '[snip]':
One-time password (OATH) for '[user]':
Welcome to Ubuntu 18.04.1 LTS...
La segona opció és l'autenticació de maquinari
En aquest cas, l'usuari no està obligat a introduir el codi OTP cada vegada, ja que el segon factor es converteix en el dispositiu de maquinari o la biometria.
Aquí la configuració del xef és una mica més complicada i la configuració del client depèn del sistema operatiu. Però després de completar tots els passos, els clients de MacOS poden confirmar l'autenticació en SSH mitjançant una frase de contrasenya i posant un dit al sensor (segon factor).
Els propietaris d'iOS i Android confirmen l'inici de sessió
A Linux/ChromeOS hi ha una opció per treballar amb fitxes USB YubiKey. Per descomptat, un atacant pot robar el vostre testimoni, però encara no sap la contrasenya.
Font: www.habr.com