szyfrowane połączenie z usługą sieciową
Ostatnia zmiana: 2013-11-26 18:43
Istnieją programy które mogą nasłuchiwać na interfejsie wan (dołączonym do internetu) nie zapewniając dostępu szyfrowanym kanałem. Przykładem takiego programu może być np.
transmission lub
httpd. Jeżeli istnieje obawa co do możliwości podsłuchiwania łącza, lub korzystamy z niepewnego połączenia - np. hotelowego darmowego dostępu - można łatwo doinstalować wsparcie dla szyfrowanego połączenia wykorzystując popularny program
stunnel.
Instalacja
# opkg update
# opkg install stunnel
Generowanie certyfikatu
Przed uruchomieniem należy jeszcze wygenerować odpowiedni certyfikat. Będzie on nie niezaufany (tzn. podczas próby połączenia przeglądarka poinformuje nas o tym, ale ponieważ jest to nasz certyfikat - należy go zaakceptować).
# opkg install openssl-util
# cd /etc/stunnel
# openssl req -new -x509 -keyout stunnel.pem -out stunnel.pem -days 365 -nodes
# opkg remove openssl-util
Najpierw należy zainstalować dodatkowy pakiet a następnie wygenerować odpowiedni certyfikat (ważny będzie na okres 365 dni; na zadawane pytania należy odpowiedzieć lub po prostu potwierdzić enterem). Po wygenerowaniu ten pakiet jest już zbędny, więc można go odinstalować w celu oszczędności miejsca.
Konfiguracja
Znajduje się w pliku
/etc/stunnel/stunnel.conf. Należy tam podać na jakim porcie będzie nasłuchiwał
stunnel i na jaki przekazywał nie szyfrowaną już transmisję.
Dla demona
httpd odpowiednia sekcja powinna wyglądać następująco:
[https]
accept = 443
connect = 80
Dla
transmission
[https]
accept = 443
connect = 9091
Uruchomienie
# /etc/init.d/stunnel enable
# /etc/init.d/stunnel start
Zakończenie
Należy pamiętać, że nic nie może być już uruchomione jeżeli na tym porcie ma nasłuchiwać
stunnel. Dla przykładu, na porcie 443 (https) może nasłuchiwać program
uhttpd jeżeli jest zainstalowane środowisko LuCI. Należy więc to ew. zmienić w konfiguracji.
Dla w/w przykładu dla
transmission na interfejsie
wan należy otworzyć tylko port 443 (nie 9091), a do programu odwołujemy się podając po prostu https://nazwa_serwera. Uwaga: poprawnie działanie z programem
stunnel umożliwia
transmission od wersji 2.01.