Preorder drugiego tomu książki sekuraka: Wprowadzenie do bezpieczeństwa IT. -15% z kodem: sekurak-book
OpenSSH oficjalnie zaczął wspierać logowanie z wykorzystaniem FIDO/U2F
Jeśli ktoś jeszcze nie miał styczności z U2F – polecam nadrobić zaległości. W skrócie – takie dwuczynnikowe uwierzytelnienie jest z jednej strony prostsze, z drugiej bezpieczniejsze od pewnych innych rozwiązań (np. Google Authenticatora): aby się uwierzytelnić nie potrzebujemy przepisywać kodu (który można ukraść), wystarczy tylko fizycznie kliknąć przycisk na odpowiednim urządzeniu, które jest podłączone do naszego komputera (np. poprzez USB czy Bluetootha).
W wersji 8.2 OpenSSH dostaliśmy oficjalne wsparcie dla tego mechanizmu. Czytamy tutaj:
The private key file should be useless to an attacker who does not have access to the physical token. After generation, this key may be used like any other supported key in OpenSSH and may be listed in authorized_keys, added to ssh-agent(1), etc. The only additional stipulation is that the FIDO token that the key belongs to must be attached when the key is used.
Zapewne trochę jeszcze potrwa zanim nowa wersja OpenSSH trafi do popularnych dystrybucji Linuksa, ale jest to na pewno bardzo ważny krok do bezpieczniejszego / wygodniejszego dwuczynnikowego uwierzytelnienia przez SSH.
–ms
Ciekawi mnie ten ich zupełnie bezkompromisowy sposób pojmowania bezpieczeństwa:
„this release removes the „ssh-rsa” (RSA/SHA1) algorithm from those accepted (…) OpenSSH releases prior to 7.2 do not support the newer RSA/SHA2 algorithms”
Wersja 7.2 wyszła 4 lata temu. Wydaje się, że to dużo, ale jeśli spojrzymy na wersje OpenSSH w wydaniach „stable” różnych serwerowych i embedded systemów operacyjnych (np. Debian), to zobaczymy, że ciągle mamy jeszcze sporo wersji <7.2 w użyciu. Podobna sytuacja miała miejsce niedawno, z kluczami DSA – jedynymi wspieranymi przez routery MikroTik.
Wydawało by się, że takie działania podwyższają bezpieczeństwo. Ale czy rzeczywiście? Otóż niekoniecznie, bo jeśli okno czasowe pomiędzy kolejnymi tak dużymi zmianami jest dostatecznie małe, to w użyciu są jeszcze starsze serwery, a przede wszystkim sprzęt sieciowy, z którym nie da się nic zrobić – efekt finalny jest taki, że trzeba po prostu zrobić downgrade klienta ssh i takiej starszej wersji używać do obsługi starszych systemów. Jednocześnie wystawiając się na ryzyka związane z błędami, które mogą wystąpić również po stronie klienta.
Przypomina mi to polskie podejście urzędnicze: my zabroniliśmy (w tym przypadku: wypuściliśmy nową wersję), więc nic nas dalej nie obchodzi i robisz to co potrzebujesz na własną odpowiedzialność.
A jaką widzę alternatywę? Ano dodanie warningów "deprecated" i przeczekanie jeszcze 2-3 lat przed usunięciem obsługi tych kluczy.
To co opisujesz to był jeden z powodów dla których Apple migrował z OpenSSL do CommonCrypto
To że jakieś algorytmy wylatują z defaultów to nie znaczy, że nie możesz sobie włączyć czegoś per serwer, tj.
~/.ssh/config
Host stary.glupi.serwer.com
HostKeyAlgorithms +ssh-dss
Cieszy fakt prostego wykorzystania sprzętowej ochrony klucza SSH.
Z drugiej strony to nie wiem czy to tak dobrze, biorąc pod uwagę jak łatwo zgubić „breloczek”. Albo zbliżyć się z anteną do kieszeni – wypasione modele kluczy U2F mają dostęp po NFC. Szczególnie niebezpieczna wydaje się opcja resident keys, bo wtedy U2F stać się może, wbrew nazwie, jedynym faktorem.
Pamietaj o tym ze jako drugi faktor uzywasz conajmniej 2 kluczy (zgubienie 1 nic nie znaczy). Uzywanie NFC to juz Twoja analiza ryzyka.
Być nie zadziała bez dotknięcie. Widać nigdy klucza w ręku nie miałeś. Pi drugie klucze kupuje się dwa. Lubisz jeden i masz zapas. Po co komentujesz coś I czym nie masz bladego pojęcia.
Kluczyk trzeba dotknąć palcem, żeby go aktywować. Więc motyw anteną obok kieszeni odpada. Zresztą jest dość duży limit czasu odpowiedzi. Najpierw musisz zdobyć login i hasło, następnie musisz przekonać użytkownika, żeby dotknął kluczyk no i szybko zeskanować kluczyk o ile ma NFC. Żeby nie było, że bronię, mam yubikey, ale nie jestem z niego zadowolony. Mało gdzie mogę go używać, a często implementacja tej technologii pozostawia wiele do życzenia…
Przy NFC chyba też trzeba wcisnąć guziczek na kluczu.
Klucze kupuje się parami, jak zgubisz jeden masz drugi. Programuje się też parami w serwisach. Noś se jeden drugi trzymaj w sejfie i nic Ci nie będzie. NFC przy kluczach trzeba dotknąć paluchem żeby zadziałało. Możesz sobie z antenkami latać ale to nie karta do bankomatu. Działa inaczej. Gdybyś kiedykolwiek miał taki klucz to byś wiedział, a nie bzdury pisał.
Może będę grammar nazi ale zamiast „dwuczynnikowe” mi osobiście lepiej pasuje „dwuskładnikowe”