Wykorzystanie OpenSSH w Linuksie

Do wymiany danych między centralą a oddziałem firmy lub małym biurem domowym nie zawsze jest potrzebna wirtualna sieć prywatna (VPN). Bezpłatne narzędzia, w rodzaju OpenSSH, spełniają większość wymagań, przy dużo mniejszych nakładach.

Do wymiany danych między centralą a oddziałem firmy lub małym biurem domowym nie zawsze jest potrzebna wirtualna sieć prywatna (VPN). Bezpłatne narzędzia, w rodzaju OpenSSH, spełniają większość wymagań, przy dużo mniejszych nakładach.

Coraz częściej administratorzy muszą rozwiązać problem wymiany danych między wieloma lokalizacjami. Wyobraźmy sobie firmę ubezpieczeniową, która musi stale przekazywać swoim współpracownikom najnowsze informacje i warunki zawierania umów ubezpieczeniowych lub redakcję czasopisma, która otrzymuje materiały od współpracowników rozproszonych w terenie. Coraz większą popularnością cieszy się również koncepcja telepracy - pracownik wykonuje całą pracę w domu, a do firmy wysyła tylko jej efekty.

Wszystkie te sytuacje mają wspólną cechę - istnieje potrzeba poufnego przekazania danych i zabezpieczenia ich przed modyfikacją, czy wręcz sfałszowaniem. Nikt nie chciałby otrzymywać sfabrykowanych danych od hakera czy konkurencji. Do tej pory problem rozwiązywano za pomocą narzędzi do zdalnej pracy, zaś dodatkowym zabezpieczeniem był mechanizm oddzwaniania zwrotnego (callback). Wymagało to jednak ogromnych inwestycji w sprzęt - należało udostępnić odpowiednią liczbę punktów dostępowych (linii telefonicznych z modemami), a koszty bieżącej eksploatacji oznaczały ogromne rachunki za połączenia telefoniczne, rozliczane przez operatorów według normalnych stawek.

Znacznie korzystniejszą alternatywę stanowi Internet. W końcu wiele firm już dysponuje stałym łączem. Połączenia internetowe są dostępne niemal wszędzie, zaś taryfy są znacznie korzystniejsze, niż w przypadku połączeń wdzwanianych. W szczególności, szerokie rozpowszechnienie dostępu DSL za stałą opłatą abonamentową sprawia, że sytuacja pracowników domowych staje się niemal idealna.

Wady VPN

Wielu administratorów sieci traktuje jednak Internet nie bez racji jako źródło wszelkiego zła. Dlatego większość sieci lokalnych jest oddzielona od Internetu zaporą. Bezpośrednia wymiana danych między lokalną siecią LAN a Internetem jest w tej sytuacji niemożliwa. Co gorsza, dane mogłyby być po drodze przechwycone lub zmodyfikowane.

Aby mimo wszystko móc wykorzystywać korzystną pod względem kosztów łączność internetową bez uszczerbku dla bezpieczeństwa, wielu administratorów stawia na technologię VPN i instaluje bramę bezpieczeństwa (security gateway). Jednak tak duże nakłady nie zawsze są potrzebne. Gdy chodzi jedynie o przesłanie najnowszych danych lub zdalny dostęp do komputera w miejscu pracy, problem można rozwiązać w większości przypadków za pomocą SSH. Podstawowa korzyść: filie lub domowe biura można zabezpieczyć za pomocą standardowych routerów DSL z wbudowaną zaporą NAT. Oddzielnie konfigurowana i zarządzana zapora w każdej filii nie jest w tym przypadku potrzebna. W rozwiązaniu VPN z protokołem IPSec trzeba by zastosować zaporę z bramą bezpieczeństwa lub specjalne, dużo droższe routery, gdyż IPSec nie działa w tej chwili z NAT.

Bezpieczna transmisja danych za pomocą OpenSSH

Technologia Secure Shell (SSH) zyskała dużą popularność w środowiskach uniksowych/linuksowych, gdy okazało się, że standardowe procedury zdalnej administracji nie są wystarczająco bezpieczne. W szczególności Telnet, w którym wszystkie dane, łącznie z logiem, przesyłane są otwartym tekstem, może stać ością w gardle administratorom świadomym zasad bezpieczeństwa. Jednak SSH ma do zaoferowania znacznie więcej, niż tylko bezpieczny wiersz poleceń. Program sftp (secure FTP) to bezpieczne łącze z serwerem FTP. Za pomocą scp (secure Copy) można bezpiecznie kopiować dane między zdalnym hostem a komputerem lokalnym, jeżeli na serwerze nie działa sftp. Jednak najcenniejszą funkcją SSH jest możliwość zabezpieczenia dowolnego protokołu za pomocą przekierowania portów - a więc również POP3 czy SMTP, które przesyłają dane otwartym tekstem. SSH pracuje przy tym jak serwer Proxy - po jednej stronie bezpiecznego łącza pobiera dane, a po drugiej stronie serwer kieruje dane do odpowiednich aplikacji.

Wiele dystrybucji Linuksa dysponuje gotowym pakietem, a w niektórych przypadkach jest on nawet automatycznie instalowany. Aktualna wersja oprogramowania z otwartym dostępem do kodu źródłowego to openssh-3.91p1-3.1.

Instalacja OpenSSH

Instalacja - pakiet ssh można zainstalować za pomocą YaST.

Instalacja - pakiet ssh można zainstalować za pomocą YaST.

Instalacja i konfiguracja OpenSSH za pomocą narzędzia YaST jest szybka - zaznaczasz sam pakiet plus ewentualnie kssh i po prostu zaczynasz instalację. Pakiet kssh to prosty interfejs graficzny ssh, w którym dostępne opcje można wybierać i zmieniać kliknięciem myszką. Konfigurację można nawet zapisać, a więc przy następnym uruchomieniu wystarczy załadować profil.

Pakiet openssh-3.91p1-3.1 zawiera zarówno komponent klienta, jak i serwera. Ten ostatni będzie nam potrzebny na komputerze z systemem Linux w naszym biurze domowym, jeżeli będziemy chcieli mieć do niego dostęp z zewnątrz.

Na komputerze w firmowej sieci LAN wystarczy komponent klienta. Konfiguracja domyślna serwera nie wymaga żadnych modyfikacji; jest on nawet skonfigurowany jako automatycznie uruchamiająca się usługa. Jeżeli chciałbyś zmienić poszczególne opcje, plik konfiguracyjny sshd_config znajdziesz w folderze /etc/ssh. Aby utworzyć własny klucz RSA dla hosta, otwórz wiersz polecenia i wpisz (Listing 1).

W odpowiedzi na pytanie o frazę nic nie wpisuj, gdyż w przeciwnym razie OpenSSH nie mógłby używać klucza. Podobnie utwórz klucz DSA (Listing 2).

Usługę OpenSSH trzeba potem ponownie uruchomić, by aktywować klucze:

/etc/init.d/sshd restart

Listing 1

ssh-keygen -b 2048 -t rsa -f /etc/ssh/ssh_host_rsa_key -C "Klucz hosta do hosta abc"

Listing 2

ssh-keygen -b 2048 -t dsa -f /etc/ssh/ssh_host_dsa_key -C "Klucz hosta do hosta abc"


Zobacz również