A „Secure shell” SSH egy hálózati protokoll a gazdagépek közötti biztonságos kapcsolat létrehozására, alapesetben a 22-es porton keresztül (ezt jobb megváltoztatni). SSH-kliensek és SSH-kiszolgálók állnak rendelkezésre a legtöbb operációs rendszerhez. Szinte minden más hálózati protokoll működik az SSH-n belül, vagyis távolról dolgozhat egy másik számítógépen, hang- vagy videofolyamot továbbíthat titkosított csatornán stb. Kívül,
A hitelesítés jelszó használatával történik, de a fejlesztők és a rendszergazdák hagyományosan SSH-kulcsokat használnak. A probléma az, hogy a privát kulcsot el lehet lopni. A jelszó hozzáadása elméletileg véd a privát kulcs ellopása ellen, de a gyakorlatban a kulcsok továbbításakor és gyorsítótárazásakor
A kéttényezős hitelesítés megvalósítása
A Honeycomb fejlesztői nemrég publikáltak
Az utasítások feltételezik, hogy van egy bizonyos alapszintű gazdagép, amely nyitott az internetre (bástya). Ehhez a gazdagéphez szeretne csatlakozni laptopokról vagy számítógépekről az interneten keresztül, és hozzá szeretne férni a mögötte található összes többi eszközhöz. A 2FA biztosítja, hogy a támadó ne tegye ugyanezt még akkor sem, ha hozzáfér a laptopjához, például rosszindulatú program telepítésével.
Az első lehetőség az OTP
OTP - egyszeri digitális jelszavak, amelyeket ebben az esetben a kulccsal együtt SSH-hitelesítéshez használnak. A fejlesztők azt írják, hogy ez nem ideális megoldás, mert a támadó felemelhet egy hamis bástyát, elkaphatja az OTP-t és felhasználhatja. De jobb a semminél.
Ebben az esetben a szerver oldalon a következő sorok vannak beírva a Chef konfigurációba:
metadata.rb
attributes/default.rb
(tól tőlattributes.rb
)files/sshd
recipes/default.rb
(másolat innenrecipe.rb
)templates/default/users.oath.erb
Bármely OTP alkalmazás telepítve van az ügyféloldalon: Google Authenticator, Authy, Duo, Lastpass, telepítve brew install oath-toolkit
vagy apt install oathtool openssl
, akkor egy véletlenszerű base16 karakterlánc (kulcs) jön létre. A mobil hitelesítők által használt Base32 formátumba konvertálják, és közvetlenül az alkalmazásba importálják.
Ennek eredményeként csatlakozhat a Bastionhoz, és láthatja, hogy immár nem csak jelszóra, hanem OTP-kódra is szüksége van a hitelesítéshez:
➜ ssh -A bastion
Enter passphrase for key '[snip]':
One-time password (OATH) for '[user]':
Welcome to Ubuntu 18.04.1 LTS...
A második lehetőség a hardveres hitelesítés
Ebben az esetben a felhasználónak nem kell minden alkalommal megadnia az OTP kódot, mivel a második tényező a hardvereszköz vagy a biometrikus adatok.
Itt a Chef konfiguráció egy kicsit bonyolultabb, és a kliens konfigurációja az operációs rendszertől függ. De az összes lépés végrehajtása után a MacOS kliensek megerősíthetik a hitelesítést SSH-ban egy jelszó használatával, és ujjukat az érzékelőre helyezik (második tényező).
Az iOS és Android tulajdonosok megerősítik a bejelentkezést
Linux/ChromeOS rendszeren lehetőség van YubiKey USB tokenekkel való együttműködésre. Természetesen a támadó ellophatja a tokenedet, de még mindig nem ismeri a jelszót.
Forrás: will.com