08 sierpnia 2009

(Nie)bezpieczny Solaris 10


System operacyjny Sun Solaris uważany jest za jeden z najbezpieczniejszych systemów serwerowych. Komputery z systemem Solaris używane są ponoć na Międzynarodowej Stacji Kosmicznej oraz w amerykańskich wahadłowcach. Okazuje się jednak, że tak jak w przypadku wielu innych rozwiązań, Solaris jest systemem bezpiecznym dopiero po wykonaniu odpowiednich czynności konfiguracyjnych, wymagających wiedzy i doświadczenia. Przykładowo, domyślna instalacja tego systemu (przetestowałem najnowszą wersję: Solaris 10) jest w stanie zapamiętywać hasła o maksymalnej długości tylko 8 znaków! Co więcej, ustawiając użytkownikowi 10 znakowe hasło (np. 1234567890), system bez ostrzeżenia skróci je do 8 znaków (12345678). Użytkownik nieświadomy zagrożenia, może logować się do systemu, podając swe 10 znakowe hasło i nawet nie zauważy, że tak naprawdę wykorzystywane jest tylko 8 znaków, gdyż system ponownie bez jakiegokolwiek komunikatu automatycznie „wykorzysta” tylko początkowe znaki. Natomiast intruz znający dobrze specyfikę tego systemu, będzie na pewno wiedział, że testując wszystkie możliwości haseł, wystarczy prawdopodobnie, że ograniczy się tylko do 8 znaków (konfiguracja domyślna), co znacznie ułatwi mu zadanie!

Wszystkiemu winny jest domyślny algorytm haszowania haseł (crypt_unix), który bierze pod uwagę wyłącznie pierwsze osiem znaków hasła. Domyślną ilość znaków interpretowanych przez system Solaris w haśle można oczywiście zmienić. Wystarczy tylko zmienić wartość zmiennej CRYPT_DEFAULT=__unix__ na CRYPT_DEFAULT=2a w pliku konfiguracyjnym /etc/security/policy.conf. Spowoduje to, że system zacznie wykorzystywać do haszowania haseł nowocześniejszy algorytm blowfish. Następnie, za pomocą polecenia passwd nazwa_użytkownika będziemy już w stanie ustawić długie i w pełni interpretowane hasła wszystkim użytkownikom.


Artykuł autorski HCSL - Wojciech Smol