Czy znasz zasady?

Słowa zacytowane w tytule są hasłem ogólnopolskiej kampanii powtarzanej co roku tuż przed wakacjami. Pytanie to, skierowane do młodych ludzi i dotyczące antykoncepcji, powinni zadać sobie także początkujący administratorzy w kontekście bezpieczeństwa serwerów i sieci.

Internet ewoluuje. Jeszcze 10 lat temu, kiedy dostęp do Sieci miały głównie ośrodki akademickie, poufność danych nie była sprawą priorytetową. Dziś zabezpieczenie poszczególnych maszyn jest często najistotniejszą powinnością administratora. Projektując system tak, aby nie miał do niego dostępu intruz z zewnątrz, powinno się także pamiętać o tym, by cała informacja wędrująca w sieci była szyfrowana. Nawet jeśli haker zdoła wtargnąć do systemu, szansa na to, że pozna hasło roota lub też hasła użytkowników logujących się na komputerach w innych domenach, będzie wtedy prawie równa zeru.

Strona domowa projektu OpenSSH. Początkujący użytkownik powinien przejrzeć FAQ.

Najczęściej wykorzystywane usługi w sieciach, pozwalające na zdalną pracę czy przesyłanie plików, nie są bezpieczne. Istnieje jednak wolne od opłat oprogramowanie wykorzystujące protokoły SSH. Potrafi ono zastąpić zarówno Telnet, jak i FTP, a przy okazji zapewnić poufność wymienianych informacji.

Jak się zaczęło

Pod nazwą SSH kryją się dwa niezgodne ze sobą protokoły: SSH1 i SSH2. Starszy – SSH1 – używa algorytmów szyfrowania, takich jak RSA (którego prawa patentowe niedawno wygasły), 3DES czy Blowfish. Gdy RSA był jeszcze chroniony patentem, powstał protokół SSH2. Jest on pozbawiony różnych technicznych niedociągnięć SSH1. SSH2 bazuje na dwóch algorytmach: DSA i DH, a sprawdzanie integralności danych realizowane jest poprzez algorytm HMAC.

OpenSSH jest pochodną oryginalnego wydania SSH1.2.12 Tatu Ylönena. Była to ostatnia wersja, z której twórcy oprogramowania mogli swobodnie korzystać – licencje późniejszych wydań już na to nie pozwalały. W OpenSSH zaimplementowano także część kodu OSSH – pakietu stworzonego przez Björna Grönvalla na podstawie SSH1.2.12.

Zespół pracujący nad OpenSSH dokonał bardzo poważnych zmian w zaadaptowanych pakietach. Przede wszystkim wyeliminował wszystkie znalezione błędy pierwowzoru i usunął komponenty podlegające patentom. Szyfrowanie transmisji oparto na algorytmach zawartych w bibliotece OpenSSL i tylko tutaj znajdują się składowe podlegające restrykcjom patentowym. Już w wersji 1.2.2 z 1999 roku OpenSSH potrafił wykorzystać pakiet skey (oferujący uwierzytelnianie poprzez system haseł jednorazowych), a także protokół Kerberos.

Od czerwca 2000 roku mamy możliwość wykorzystania drugiej wersji protokołu SSH (OpenSSH 2.0), a pięć miesięcy później po raz pierwszy pojawił się serwer SFTP. Można go określić mianem “bezpiecznego FTP”. Z usług oferowanych przez SFTP da się skorzystać dopiero od wersji 2.5.0 OpenSSH – dopiero wówczas właśnie udostępniono klienta SFTP.

OpenSSH został opracowany przez twórców systemu OpenBSD i po raz pierwszy pojawił się w OpenBSD 2.6. Od tego czasu oprogramowanie jest tworzone przez dwa zespoły. Pierwszy z nich zajmuje się wyłącznie przygotowywaniem kodu dla systemu OpenBSD, drugi natomiast przenosi go na inne platformy systemowe.

OpenSSH – a co z tego będę miał?

Pakiet OpenSSH jest oprogramowaniem dostępnym na licencji Open Source. Ponieważ nie podlega żadnej restrykcyjnej licencji, może być użyty do wszelkich celów – również komercyjnych. Twórcy pakietu zachęcają, by instalować go zawsze i wszędzie tam, gdzie to tylko możliwe. OpenSSH oferuje bowiem użytkownikowi komputera coś bardzo cennego: ochronę prywatności.

Używane przez OpenSSH algorytmy szyfrujące są trudne do złamania. Nie jest to niemożliwe, jednak nakłady pracy i środków, jakie musiałby ponieść haker czy grupa hakerów, czynią to przedsięwzięcie nieopłacalnym w stosunku do spodziewanego zysku. Listę użytkowników i ich haseł można zdobyć znacznie prościej i taniej, szukając słabych punktów sieci lokalnej.

Dane przesyłane protokołami SSH są kompresowane. “Pakowanie” informacji następuje jeszcze przed ich szyfrowaniem – dzięki temu w “wolnych” sieciach (np. przy połączeniu z Internetem przez modem) komunikacja ze zdalnym komputerem (hostem) nie jest spowolniona.

Uwierzytelnienie użytkownika może nastąpić na kilka sposobów: poprzez system haseł jednorazowych, klucze publiczne, protokół Kerberos i AFS, a także poprzez tradycyjne hasła dostępu (w przypadku systemów uniksowych).

Jednak OpenSSH oferuje coś więcej niż tylko bezpieczne odpowiedniki usług Telnet i FTP. Pakiet ten umożliwia także zestawianie tzw. tuneli. Pozwalają one przesyłać informacje z wykorzystaniem tradycyjnych, nieszyfrowanych protokołów, zabezpieczonych (tunelowanych) poprzez SSH. Przed ukazaniem się SFTP tunelowanie było jednym ze sposobów zabezpieczania transferu plików zwykłego FTP. Dziś bywa jeszcze stosowane przy tworzeniu tanich VPN-ów (wirtualnych sieci prywatnych) w oparciu o publiczne łącza internetowe. OpenSSH można także wykorzystać do szyfrowania (tunelowania) ruchu pomiędzy klientem a serwerem X Window.

Info
Strona domowa projektu OpenSSH
http://www.openssh.org
Dokumentacja online projektu
http://www.openssh.org/ manual.html
Najczęściej zadawane pytania
http://www.openssh.org/ faq.html
Najnowsze pakiety OpenSSH
http://www.openssh.org/ portable.html
Strona domowa OpenSSL
http://www.openssl.org
Strona domowa terminalu PuTTY
http://www.chiark.greenend.org.uk/ ~sgtatham/putty/
Strona domowa nakładki WinSCP
http://winscp.vse.cz/eng/
Na CHIP-CD w dziale Porady | Bezpieczeństwo sieci znajduje się klient oraz serwer SSH w wersjach dla Windows i Linuksa. Aplikacje te zostały także umieszczone w sekcji Download internetowego serwisu http://www.chip.pl
Więcej:bezcatnews