Logowanie po SSH

Posted by pawel in NETWORK, SECURITY IT, SYSTEM

Po pewnym czasie aktywnej administracji NETASQ-kiem dojdziemy do momentu gdy uznamy, że nawet w przypadku tak przyjaznego urządzenia jak NETASQ wiele czynności (głównie diagnostycznych) o wiele wygodniej, lub po prostu jest to jedyna metoda, trzeba wykonać z poziomu CLI. Jako administratorzy często musimy mieć dostęp do urządzenia z trudnych do przewidzenia lokalizacji lub np. z komputera z dostępem do Internetu z sieci komórkowej. Ograniczenie zatem dostępu do SSH z konkretnej puli adresów IP jest często praktycznie nie wykonalne. Otworzenie zaś dostępu do serwisu SSH autoryzowanego hasłem jest natomiast lekkomyślne (pamiętajmy, że mechanizm ochrony przed atakiem BruteForce dotyczy logowania jedynie do WebGUI). Właściwą metodą jest w takim przypadku autoryzacja SSH za pomocą certyfikatu. Opisze w jaki sposób wygenerować klucz i przystosować go do użycia za pomocą najpopularniejszych aplikacji czyli Putty i WinSCP.

Pierwszą rzeczą jaką musimy zrobić to pobranie klucza prywatnego konta Admin. Domyślnie klucz ten jest dodatkowo chroniony hasłem (passphrase) które jest tożsame z hasłem konta Admin.

ssh_privatekey_export

Po kliknięciu przycisku Export klucza prywatnego UTM zapisujemy lokalnie plik z kluczem (np. klucz_prywatny_netasq). Teraz musimy sobie odpowiedzieć na pytanie czy dostęp do komputera z którego będziemy dokonywać połączeń sesji SSH jest komputerem bezpiecznym. Jeżeli tak, to możemy, dla wygody używać klucza bez dodatkowego zabezpieczenia hasłem. W przeciwnym razie oczywiście lepiej hasło pozostawić. Dyskusja na temat kiedy komputer możemy uznać za bezpieczny wykracza poza ramy tego artykułu, w każdym razie  komputer przenośny którego używamy do różnych celów i w różnych miejscach takim komputerem nie jest w przeciwieństwie np. do komputera który jest dedykowany zarządzaniu bezpieczeństwem sieci i jest zainstalowany w chronionym pomieszczeniu.

Zdejmowanie hasła

Do ściagnięcia hasła z klucza prywatnego będziemy potrzebowali środowiska Open SSL. Najprościej, tak mi się wydaje, będzie wykorzystać Open SSL samego NETASQ-a. Passphrase możemy również, dużo prościej, ściągnąć programem puttygen. Dla celów edukacyjnych opisze metodę ściągnięcia hasła z klucza prywatnego z wykorzystaniem Open SSL NETASQ-a. Zanim jednak przeprowadzimy procedurę ściągnięcia hasła musimy uruchomić demona SSH (domyślnie SSH w NETASQ-u jest wyłączone). Na razie zezwalamy na autoryzację hasłem (pamiętajmy aby nie mylić hasła do autoryzacji, które jest hasłem użytkownika Admin z hasłem (passphrase) służącym do ochrony pliku klucza prywatnego):

ssh_dostep

Za pomocą programu WinSCP łączymy się z NETASQ-kiem i kopiujemy plik klucza prywatnego (klucz_prywatny_netasq) do katalogu /tmp:

winscp_1

Logujemy się do NETASQ-a za pomocą dowolnego klienta SSH (lub bezpośrednio z konsoli) i wydajemy polecenie w wyniku którego otrzymamy plik klucza prywatnego bez hasła:

cli_key

 

Ponownie za pomocą WinSCP pobieramy na dysk lokalny nowo utworzony plik klucza prywatnego bez hasła. Pliki kluczy z katalogu /tmp możemy usunąć:

winscp_2

Wyłączamy możliwość logowania po SSH z użyciem hasła:

ssh_certonly

Konwersja klucza

Pobrany plik klucza musimy prze konwertować do postaci zgodnej z aplikacjami Putty i WinSCP. Właściwym narzędziem będzie program puttygen. Aplikacja puttygen jest dostępna do pobrania z tej samej strony co program Putty.

Puttygen nie wymaga instalacji, uruchamiamy pobrany program i poprzez kliknięcie przycisku Load wczytujemy plik klucza pobrany z NETASQ-a (chroniony hasłem lub bez hasła):

puttygen1

(jeżeli klucz jest chroniony poprzez passphrase to aplikacja poprosi o podanie tego hasła, jeżeli wyczyścimy pola Key passphrase (i Confirm passphrase) to będziemy mieli możliwość zapisania pliku klucza bez ochrony hasłem passphrase)

Klikamy przycisk Save private key i zapisujemy klucz w nowym, zgodnym z Putty i WinSCP formacie (ppk). Teraz mając klucz prywatny we właściwym formacie możemy przystąpić do konfiguracji aplikacji.

Konfiguracja Putty

Wskazujemy plik klucza prywatnego:

putty_1_key

Definiujemy domyślną nazwę użytkownika:

putty_2_admin

Podajemy adres IP (FQDN) NETASQ-a oraz nazwę sesji i zachowujemy ustawienia:

putty_sesion_save

Konfiguracja WinSCP

winscp_1_sesja

winscp_other_1

 

Dobrą praktyką jest uruchamianie demona SSH na porcie innym niż domyślny. Pamiętajmy również aby utworzyć wpis na firewallu który zezwoli na połączenia SSH z Internetu, reguła domyślna (o ile w ogóle jest włączona) zezwala na takie połączenia ale tylko z sieci wewnętrznych.

- Paweł Grzelewski

 

24 Kwi 2014


Najnowszy firmware SNS: 3.8.1 (Release Note)
Najnowszy firmware SNSv2: 2.13 (Release Note)