=head1 NAZWA

=encoding utf8

stunnel - uniwersalny tunel protokołu SSL


=head1 SKŁADNIA

=over 4

=item B<Unix:>

B<stunnel> [S<PLIK>] | S<-fd N> | S<-help> | S<-version> | S<-sockets> | S<-options>

=item B<WIN32:>

B<stunnel> [ [ S<-install> | S<-uninstall> | S<-start> | S<-stop> |
    S<-reload> | S<-reopen> | S<-exit> ] [S<-quiet>] [S<PLIK>] ] |
    S<-help> | S<-version> | S<-sockets> | S<-options>

=back


=head1 OPIS

Program B<stunnel> został zaprojektowany do opakowywania w protokół I<SSL>
połączeń pomiędzy zdalnymi klientami a lokalnymi lub zdalnymi serwerami.
Przez serwer lokalny rozumiana jest aplikacja przeznaczona do uruchamiania
przy pomocy I<inetd>.
Stunnel pozwala na proste zestawienie komunikacji serwerów nie posiadających
funkcjonalności I<SSL> poprzez bezpieczne kanały I<SSL>.

B<stunnel> pozwala dodać funkcjonalność I<SSL> do powszechnie stosowanych
demonów I<inetd>, np. I<pop3> lub I<imap>, do samodzielnych demonów,
np. I<nntp>, I<smtp> lub I<http>, a nawet tunelować ppp poprzez gniazda sieciowe
bez zmian w kodzie źródłowym.


=head1 OPCJE

=over 4

=item B<PLIK>

użyj podanego pliku konfiguracyjnego

=item B<-fd N> (tylko Unix)

wczytaj konfigurację z podanego deskryptora pliku

=item B<-help>

drukuj listę wspieranych opcji

=item B<-version>

drukuj wersję programu i domyślne wartości parametrów

=item B<-sockets>

drukuj domyślne opcje gniazd

=item B<-options>

drukuj wspierane opcje SSL

=item B<-install> (tylko Windows NT lub nowszy)

instaluj serwis NT

=item B<-uninstall> (tylko Windows NT lub nowszy)

odinstaluj serwis NT

=item B<-start> (tylko Windows NT lub nowszy)

uruchom serwis NT

=item B<-stop> (tylko Windows NT lub nowszy)

zatrzymaj serwis NT

=item B<-reload> (tylko Windows NT lub nowszy)

przeładuj plik konfiguracyjny uruchomionego serwisu NT

=item B<-reopen> (tylko Windows NT lub nowszy)

otwórz ponownie log uruchomionego serwisu NT

=item B<-exit> (tylko Win32)

zatrzymaj uruchomiony program

=item B<-quiet> (tylko Win32)

nie wyświetlaj okienek z komunikatami

=back


=head1 PLIK KONFIGURACYJNY

Linia w pliku konfiguracyjnym może być:

=over 4

=item *

pusta (ignorowana)

=item *

komentarzem rozpoczynającym się znakiem ';' (ignorowana)

=item *

parą 'nazwa_opcji = wartość_opcji'

=item *

tekstem '[nazwa_usługi]' wskazującym początek definicji usługi

=back

Parametr adres może być:

=over 4

=item *

numerem portu

=item *

oddzieloną średnikiem parą adresu (IPv4, IPv6, lub nazwą domenową) i numeru portu

=item *

ścieżką do gniazda Unix (tylko Unix)

=back

=head2 OPCJE GLOBALNE

=over 4

=item B<chroot> = KATALOG (tylko Unix)

katalog roboczego korzenia systemu plików

Opcja określa katalog, w którym uwięziony zostanie proces programu
B<stunnel> tuż po jego inicjalizacji, a przed rozpoczęciem odbierania
połączeń.  Ścieżki podane w opcjach I<CApath>, I<CRLpath>, I<pid>
oraz I<exec> muszą być umieszczone wewnątrz katalogu podanego w opcji
I<chroot> i określone względem tego katalogu.

Niektóre funkcje systemu operacyjnego mogą wymagać dodatkowych plików umieszczonych w katalogu podanego w parametrze chroot:

=over 4

=item *

opóźnione rozwinięcie adresów DNS typowo wymaga /etc/nsswitch.conf i /etc/resolv.conf

=item *

lokalizacja strefy czasowej w logach wymaga pliku /etc/timezone

=item *

niektóre inne pliki mogą potrzebować plików urządzeń, np. /dev/zero lub /dev/null

=back

=item B<compression> = deflate | zlib

wybór algorytmu kompresji przesyłanych danych

domyślnie: bez kompresji

Algorytm deflate jest standardową metodą kompresji zgodnie z RFC 1951.

Kompresja zlib zaimplementowana w B<OpenSSL 0.9.8> i nowszych nie jest
kompatybilna implementacją B<OpenSSL 0.9.7>.

=item B<debug> = [PODSYSTEM].POZIOM

szczegółowość logowania

Poziom logowania można określić przy pomocy jednej z nazw lub liczb:
emerg (0), alert (1), crit (2), err (3), warning (4), notice (5),
info (6) lub debug (7).
Zapisywane są komunikaty o poziomie niższym (numerycznie) lub równym podanemu.
Do uzyskania najwyższego poziomu szczegółowości można użyć opcji
I<debug = debug> lub I<debug = 7>.  Domyślnym poziomem jest notice (5).

O ile nie wyspecyfikowano podsystemu użyty będzie domyślny: daemon.
Podsystemy nie są wspierane przez platformę Win32.

Wielkość liter jest ignorowana zarówno dla poziomu jak podsystemu.

=item B<EGD> = ŚCIEŻKA_DO_EGD (tylko Unix)

ścieżka do gniazda programu Entropy Gathering Daemon

Opcja pozwala określić ścieżkę do gniazda programu Entropy Gathering Daemon
używanego do zainicjalizowania generatora ciągów pseudolosowych biblioteki
B<OpenSSL>.  Opcja jest dostępna z biblioteką B<OpenSSL 0.9.5a> lub nowszą.

=item B<engine> = auto | IDENTYFIKATOR_URZĄDZENIA

wybór sprzętowego urządzenia kryptograficznego

domyślnie: bez wykorzystania urządzeń kryptograficznych

Przykładowa konfiguracja umożliwiająca odczytanie klucza prywatnego z
urządzenia zgodnego z OpenSC:

    engine=dynamic
    engineCtrl=SO_PATH:/usr/lib/opensc/engine_pkcs11.so
    engineCtrl=ID:pkcs11
    engineCtrl=LIST_ADD:1
    engineCtrl=LOAD
    engineCtrl=MODULE_PATH:/usr/lib/pkcs11/opensc-pkcs11.so
    engineCtrl=INIT

    [service]
    engineNum=1
    key=id_45

=item B<engineCtrl> = KOMENDA[:PARAMETR]

konfiguracja urządzenia kryptograficznego

Specjalne komendy "LOAD" i "INIT" pozwalają na załadowanie i inicjalizację
modułu kryptograficznego urządzenia.

=item B<engineDefault> = LISTA_ZADAŃ

lista zadań OpenSSL oddelegowanych do bieżącego urządzenia

Parametrem jest lista oddzielonych przecinkami zadań OpenSSL, które mają
zostać oddelegowane do bieżącego urządzenia kryptograficznego.

W zależności od konkretnego urządzenia dostępne mogą być następujące zadania:
ALL, RSA, DSA, ECDH, ECDSA, DH, RAND, CIPHERS, DIGESTS, PKEY, PKEY_CRYPTO,
PKEY_ASN1.

=item B<fips> = yes | no

tryb FIPS 140-2

Opcja pozwala wyłączyć wejście w tryb FIPS, jeśli B<stunnel> został
skompilowany ze wsparciem dla FIPS 140-2.

domyślnie: no (od wersji 5.00)

=item B<foreground> = yes | no (tylko Unix)

tryb pierwszoplanowy

Użycie tej opcji powoduje, że B<stunnel> nie przechodzi w tło logując
swoje komunikaty na konsolę zamiast przez I<syslog> (o ile nie użyto
opcji I<output>).

=item B<iconActive> = PLIK_Z_IKONKĄ (tylko GUI)

ikonka wyświetlana przy obecności aktywnych połączeń do usługi

W systemie Windows ikonka to plik .ico zawierający obrazek 16x16 pikseli.

=item B<iconError> = PLIK_Z_IKONKĄ (tylko GUI)

ikonka wyświetlana, jeżeli nie został załadowany poprawny plik konfiguracyjny

W systemie Windows ikonka to plik .ico zawierający obrazek 16x16 pikseli.

=item B<iconIdle> = PLIK_Z_IKONKĄ (tylko GUI)

ikonka wyświetlana przy braku aktywnych połączeń do usługi

W systemie Windows ikonka to plik .ico zawierający obrazek 16x16 pikseli.

=item B<log> = append | overwrite

log file handling

This option allows to choose whether the log file (specified with the I<output>
option) is appended or overwritten when opened or re-opened.

domyślnie: append

=item B<output> = PLIK

plik, do którego dopisane zostaną logi

Użycie tej opcji powoduje dopisanie logów do podanego pliku.

Do kierowaniakomunikatów na standardowe wyjście (na przykład po to, żeby
zalogować je programem splogger z pakietu daemontools) można podać jako
parametr urządzenie /dev/stdout.

=item B<pid> = PLIK (tylko Unix)

położenie pliku z numerem procesu

Jeżeli argument jest pusty plik nie zostanie stworzony.

Jeżeli zdefiniowano katalog I<chroot>, to ścieżka do I<pid> jest określona
względem tego katalogu.

=item B<RNDbytes> = LICZBA_BAJTÓW

liczba bajtów do zainicjowania generatora pseudolosowego

W wersjach biblioteki B<OpenSSL> starszych niż B<0.9.5a> opcja ta określa
również liczbę bajtów wystarczających do zainicjowania PRNG.
Nowsze wersje biblioteki mają wbudowaną funkcję określającą, czy
dostarczona ilość losowości jest wystarczająca do zainicjowania generatora.

=item B<RNDfile> = PLIK

ścieżka do pliku zawierającego losowe dane

Biblioteka B<OpenSSL> użyje danych z tego pliku do zainicjowania
generatora pseudolosowego.

=item B<RNDoverwrite> = yes | no

nadpisz plik nowymi wartościami pseudolosowymi

domyślnie: yes (nadpisz)

=item B<service> = SERWIS (tylko Unix)

nazwa usługi

Podana nazwa usługi będzie używana jako nazwa usługi dla inicjalizacji sysloga,
oraz dla biblioteki TCP Wrapper w trybie I<inetd>.  Chociaż technicznie można
użyć tej opcji w trybie w sekcji usług, to jest ona użyteczna jedynie w opcjach
globalnych.

domyślnie: stunnel

=item B<setgid> = IDENTYFIKATOR_GRUPY (tylko Unix)

grupa z której prawami pracował będzie B<stunnel>

=item B<setuid> = IDENTYFIKATOR_UŻYTKOWNIKA (tylko Unix)

użytkownik, z którego prawami pracował będzie B<stunnel>

=item B<socket> = a|l|r:OPCJA=WARTOŚĆ[:WARTOŚĆ]

ustaw opcję na akceptującym/lokalnym/zdalnym gnieździe

Dla opcji linger wartości mają postać l_onof:l_linger.
Dla opcji time wartości mają postać tv_sec:tv_usec.

Przykłady:

    socket = l:SO_LINGER=1:60
        ustaw jednominutowe przeterminowanie
        przy zamykaniu lokalnego gniazda
    socket = r:SO_OOBINLINE=yes
        umieść dane pozapasmowe (out-of-band)
        bezpośrednio w strumieniu danych
        wejściowych dla zdalnych gniazd
    socket = a:SO_REUSEADDR=no
        zablokuj ponowne używanie portu
        (domyślnie włączone)
    socket = a:SO_BINDTODEVICE=lo
        przyjmuj połączenia wyłącznie na
        interfejsie zwrotnym (ang. loopback)

=item B<syslog> = yes | no (tylko Unix)

włącz logowanie poprzez mechanizm syslog

domyślnie: yes (włącz)

=item B<taskbar> = yes | no (tylko WIN32)

włącz ikonkę w prawym dolnym rogu ekranu

domyślnie: yes (włącz)

=back


=head2 OPCJE USŁUG

Każda sekcja konfiguracji usługi zaczyna się jej nazwą ujętą w nawias
kwadratowy.  Nazwa usługi używana jest do kontroli dostępu przez
bibliotekę libwrap (TCP wrappers) oraz pozwala rozróżnić poszczególne
usługi w logach.

Jeżeli B<stunnel> ma zostać użyty w trybie I<inetd>, gdzie za odebranie
połączenia odpowiada osobny program (zwykle I<inetd>, I<xinetd>
lub I<tcpserver>), należy przeczytać sekcję I<TRYB INETD> poniżej.

=over 4

=item B<accept> = [HOST:]PORT

nasłuchuje na połączenia na podanym adresie i porcie

Jeżeli nie został podany adres, B<stunnel> domyślnie nasłuchuje
na wszystkich adresach IPv4 lokalnych interfejsów.

Aby nasłuchiwać na wszystkich adresach IPv6 należy użyć:

    accept = :::port

=item B<CApath> = KATALOG_CA

katalog Centrum Certyfikacji

Opcja określa katalog, w którym B<stunnel> będzie szukał certyfikatów,
jeżeli użyta została opcja I<verify>.  Pliki z certyfikatami muszą
posiadać specjalne nazwy XXXXXXXX.0, gdzie XXXXXXXX jest skrótem
kryptograficznym reprezentacji DER nazwy podmiotu certyfikatu.

Funkcja skrótu została zmieniona w B<OpenSSL 1.0.0>.
Należy wykonać c_rehash przy zmianie B<OpenSSL 0.x.x> na B<1.x.x>.

Jeżeli zdefiniowano katalog I<chroot>, to ścieżka do I<CApath> jest określona
względem tego katalogu.

=item B<CAfile> = PLIK_CA

plik Centrum Certyfikacji

Opcja pozwala określić położenie pliku zawierającego certyfikaty używane
przez opcję I<verify>.

=item B<cert> = PLIK_PEM

plik z łańcuchem certyfikatów

Opcja określa położenie pliku zawierającego certyfikaty używane przez
program B<stunnel> do uwierzytelnienia się przed drugą stroną połączenia.
Certyfikat jest konieczny, aby używać programu w trybie serwera.
W trybie klienta certyfikat jest opcjonalny.

=item B<checkEmail> = EMAIL

adres email przedstawionego certyfikatu

Pojedyncza sekcja może zawierać wiele wystąpień opcji B<checkEmail>.
Certyfikaty są akceptowane, jeżeli sekcja nie zawiera opcji B<checkEmail>,
albo adres email przedstawionego certyfikatu pasuje do jednego z adresów
email określonych przy pomocy B<checkEmail>.

=item B<checkHost> = NAZWA_SERWERA

nazwa serwera przedstawionego certyfikatu

Pojedyncza sekcja może zawierać wiele wystąpień opcji B<checkHost>.
Certyfikaty są akceptowane, jeżeli sekcja nie zawiera opcji B<checkHost>, albo
nazwa serwera przedstawionego certyfikatu pasuje do jednego nazw określonych
przy pomocy B<checkHost>.

=item B<checkIP> = IP

adres IP przedstawionego certyfikatu

Pojedyncza sekcja może zawierać wiele wystąpień opcji B<checkIP>.  Certyfikaty
są akceptowane, jeżeli sekcja nie zawiera opcji B<checkIP>, albo adres IP
przedstawionego certyfikatu pasuje do jednego z adresów IP określonych przy
pomocy B<checkIP>.

=item B<ciphers> = LISTA_SZYFRÓW

lista dozwolonych szyfrów SSL

Parametrem tej opcji jest lista szyfrów, które będą użyte przy
otwieraniu nowych połączeń SSL, np.:  DES-CBC3-SHA:IDEA-CBC-MD5

=item B<client> = yes | no

tryb kliencki (zdalna usługa używa SSL)

domyślnie: no (tryb serwerowy)

=item B<connect> = [HOST:]PORT

połącz się ze zdalnym serwerem na podany port

Jeżeli nie został podany adres, B<stunnel> domyślnie łączy się
z lokalnym serwerem.

Komenda może byc użyta wielokrotnie w pojedynczej sekcji
celem zapewnienia wysokiej niezawodności lub rozłożenia
ruchu pomiędzy wiele serwerów.

=item B<CRLpath> = KATALOG_CRL

katalog List Odwołanych Certyfikatów (CRL)

Opcja określa katalog, w którym B<stunnel> będzie szukał list CRL,
jeżeli użyta została opcja I<verify>.  Pliki z listami CRL muszą
posiadać specjalne nazwy XXXXXXXX.r0, gdzie XXXXXXXX jest skrótem
listy CRL.

Funkcja skrótu została zmieniona B<OpenSSL 1.0.0>.
Należy wykonać c_rehash przy zmianie B<OpenSSL 0.x.x> na B<1.x.x>.

Jeżeli zdefiniowano katalog I<chroot>, to ścieżka do I<CRLpath> jest określona
względem tego katalogu.

=item B<CRLfile> = PLIK_CRL

plik List Odwołanych Certyfikatów (CRL)

Opcja pozwala określić położenie pliku zawierającego listy CRL używane
przez opcję I<verify>.

=item B<curve> = NID

krzywa dla ECDH

Listę dostępnych krzywych można uzyskać poleceniem:

    openssl ecparam -list_curves

domyślnie: prime256v1

=item B<logId> = TYP

typ identyfikatora połączenia klienta

Identyfikator ten pozwala rozróżnić wpisy w logu wygenerowane dla
poszczególnych połączeń.

Aktualnie wspierane typy:

=over 4

=item I<sequential>

Kolejny numer połączenia jest unikalny jedynie w obrębie pojedynczej instancji
programu B<stunnel>, ale bardzo krótki.  Jest on szczególnie użytczny przy
ręcznej analizie logów.

=item I<unique>

Ten rodzaj identyfikatora jest globalnie unikalny, ale znacznie dłuższy, niż
kolejny numer połączenia.  Jest on szczególnie użyteczny przy zautomatyzowanej
analizie logów.

=item I<thread>

Identyfikator wątku systemu operacyjnego nie jest ani unikalny (nawet w obrębie
pojedynczej instancji programu B<stunnel>), ani krótki.  Jest on szczególnie
użyteczny przy diagnozowaniu problemów z oprogramowaniem lub konfiguracją.

=back

domyślnie: sequential

=item B<debug> = POZIOM

szczegółowość logowania

Poziom logowania można określić przy pomocy jednej z nazw lub liczb:
emerg (0), alert (1), crit (2), err (3), warning (4), notice (5),
info (6) lub debug (7).
Zapisywane są komunikaty o poziomie niższym (numerycznie) lub równym podanemu.
Do uzyskania najwyższego poziomu szczegółowości można użyć opcji
I<debug = debug> lub I<debug = 7>.  Domyślnym poziomem jest notice (5).

=item B<delay> = yes | no

opóźnij rozwinięcie adresu DNS podanego w opcji I<connect>

Opcja jest przydatna przy dynamicznym DNS, albo gdy usługa DNS nie jest
dostępna przy starcie programu B<stunnel> (klient VPN, połączenie wdzwaniane).

Opóźnione rozwijanie adresu DNS jest włączane automatycznie, jeżeli nie
powiedzie się rozwinięcie któregokolwiek z adresów I<connect> dla danej
usługi.

Opóźnione rozwijanie adresu automatycznie aktywuje I<failover = prio>.

default: no

=item B<engineId> = NUMER_URZĄDZENIA

wybierz urządzenie dla usługi

=item B<engineNum> = NUMER_URZĄDZENIA

wybierz urządzenie dla usługi

Urządzenia są numerowane od 1 w górę.

=item B<exec> = ŚCIEŻKA_DO_PROGRAMU

wykonaj lokalny program przystosowany do pracy z superdemonem inetd

Jeżeli zdefiniowano katalog I<chroot>, to ścieżka do I<exec> jest określona
względem tego katalogu.

Na platformach Unix ustawiane są następujące zmienne środowiskowe:
REMOTE_HOST, REMOTE_PORT, SSL_CLIENT_DN, SSL_CLIENT_I_DN.

=item B<execArgs> = $0 $1 $2 ...

argumenty do opcji I<exec> włącznie z nazwą programu ($0)

Cytowanie nie jest wspierane w obecnej wersji programu.
Argumenty są rozdzielone dowolną liczbą białych znaków.

=item B<failover> = rr | prio

Strategia wybierania serwerów wyspecyfikowanych parametrami "connect".

    rr (round robin) - sprawiedliwe rozłożenie obciążenia
    prio (priority) - użyj kolejności opcji w pliku konfiguracyjnym

domyślnie: rr

=item B<ident> = NAZWA_UŻYTKOWNIKA

weryfikuj nazwę zdalnego użytkownika korzystając z protokołu IDENT (RFC 1413)

=item B<include> = KATALOG

wczytaj fragmenty plików konfiguracyjnych z podanego katalogu

Pliki są wczytywane w rosnącej kolejności alfabetycznej ich nazw.

=item B<key> = PLIK_KLUCZA

klucz prywatny do certyfikatu podanego w opcji I<cert>

Klucz prywatny jest potrzebny do uwierzytelnienia właściciela certyfikatu.
Ponieważ powinien on być zachowany w tajemnicy, prawa do jego odczytu
powinien mieć wyłącznie właściciel pliku.  W systemie Unix można to osiągnąć
komendą:

    chmod 600 keyfile

domyślnie: wartość opcji I<cert>

=item B<libwrap> = yes | no

włącz lub wyłącz korzystanie z /etc/hosts.allow i /etc/hosts.deny.

domyślnie: no (od wersji 5.00)

=item B<local> = HOST

IP źródła do nawiązywania zdalnych połączeń

Domyślnie używane jest IP najbardziej zewnętrznego interfejsu w stronę
serwera, do którego nawiązywane jest połączenie.

=item B<sni> = USŁUGA:WZORZEC_NAZWY_SERWERA (tryb serwera)

Użyj usługi jako podrzędnej (virtualnego serwera) dla rozszerzenia TLS Server
Name Indication (RFC 3546).

I<nazwa_usługi> wskazuje usługę nadrzędną, która odbiera połączenia od klientów
przy pomocy opcji I<accept>.  I<wzorzec_nazwy_serwera> wskazuje nazwę serwera
wirtualnego.  Wzorzec może zaczynać się znakiem '*', np. '*.example.com".
Z pojedyńczą usługą nadrzędną powiązane jest zwykle wiele usług podrzędnych.
Opcja I<sni> może być rownież użyta wielokrotnie w ramach jednej usługi
podrzędnej.

Zarówno usługa nadrzędna jak i podrzędna nie może być skonfigurowana w trybie
klienckim.

Opcja I<connect> usługi podrzędnej jest ignorowana w połączeniu z opcją
I<protocol>, gdyż połączenie do zdalnego serwera jest w tym wypadku nawiązywane
przed negocjacją TLS.

Uwierzytelnienie przy pomocy biblioteki libwrap jest realizowane dwukrotnie:
najpierw dla usługi nadrzędnej po odebraniu połączenia TCP, a następnie dla
usługi podrzędnej podczas negocjacji TLS.

Opcja I<sni> jest dostępna począwszy od B<OpenSSL 1.0.0>.

=item B<sni> = HOST (tryb klienta)

Użyj parametru jako wartości rozszerzenia TLS Server Name Indication
(RFC 3546).

Opcja I<sni> jest dostępna począwszy od B<OpenSSL 1.0.0>.

=item B<OCSP> = URL

serwer OCSP do weryfikacji certyfikatów

=item B<OCSPaia> = yes | no

weryfikuj certyfikaty przy użyciu respondertów AIA

Opcja I<OCSPaia> pozwala na weryfikowanie certyfikatów przy pomocy listy URLi
serwerów OCSP przesłanych w rozszerzeniach AIA (Authority Information Access).

=item B<OCSPflag> = FLAGA_OCSP

flaga serwera OCSP

aktualnie wspierane flagi: NOCERTS, NOINTERN NOSIGS, NOCHAIN, NOVERIFY,
NOEXPLICIT, NOCASIGN, NODELEGATED, NOCHECKS, TRUSTOTHER, RESPID_KEY, NOTIME

Aby wyspecyfikować kilka flag należy użyć I<OCSPflag> wielokrotnie.

=item B<options> = OPCJE_SSL

opcje biblioteki B<OpenSSL>

Parametrem jest nazwa opcji zgodnie z opisem w I<SSL_CTX_set_options(3ssl)>,
ale bez przedrostka I<SSL_OP_>.
I<stunnel -options> wyświetla opcje dozwolone w aktualnej kombinacji
programu I<stunnel> i biblioteki I<OpenSSL>.

Aby wyspecyfikować kilka opcji należy użyć I<options> wielokrotnie.
Nazwa opcji może być poprzedzona myślnikiem ("-") celem wyłączenia opcji.

Na przykład, dla zachowania kompatybilności z błędami implementacji SSL
w programie Eudora, można użyć opcji:

    options = DONT_INSERT_EMPTY_FRAGMENTS

domyślnie:

    options = NO_SSLv2
    options = NO_SSLv3

=item B<protocol> = PROTOKÓŁ

negocjuj SSL podanym protokołem aplikacyjnym

Opcja ta włącza wstępną negocjację szyfrowania SSL dla wybranego protokołu
aplikacyjnego.
Opcji I<protocol> nie należy używać z szyfrowaniem SSL na osobnym porcie.

Aktualnie wspierane protokoły:

=over 4

=item I<cifs>

Unieudokumentowane rozszerzenie protokołu CIFS wspierane przez serwer Samba.
Wsparcie dla tego rozrzeczenia zostało zarzucone w wersji 3.0.0 serwera Samba.

=item I<connect>

Negocjacja RFC 2817 - I<Upgrading to TLS Within HTTP/1.1>, rozdział 5.2 - I<Requesting a Tunnel with CONNECT>

Ten protokół jest wspierany wyłącznie w trybie klienckim.

=item I<imap>

Negocjacja RFC 2595 - I<Using TLS with IMAP, POP3 and ACAP>

=item I<nntp>

Negocjacja RFC 4642 - I<Using Transport Layer Security (TLS) with Network News Transfer Protocol (NNTP)>

Ten protokół jest wspierany wyłącznie w trybie klienckim.

=item I<pgsql>

Negocjacja http://www.postgresql.org/docs/8.3/static/protocol-flow.html#AEN73982

=item I<pop3>

Negocjacja RFC 2449 - I<POP3 Extension Mechanism>

=item I<proxy>

Przekazywanie adresu IP haproxy http://haproxy.1wt.eu/download/1.5/doc/proxy-protocol.txt

=item I<smtp>

Negocjacja RFC 2487 - I<SMTP Service Extension for Secure SMTP over TLS>

=item I<socks>

Wspierany jest protokół SOCKS w wersjach 4, 4a i 5.
Protokół SOCKS enkapsulowany jest w protokole SSL/TLS, więc adres serwera
docelowego nie jest widoczny dla napastnika przechwytującego ruch sieciowy.

F<http://www.openssh.com/txt/socks4.protocol>

F<http://www.openssh.com/txt/socks4a.protocol>

Nie jest wspierana komenda BIND protokołu SOCKS.
Przesłana wartość parametru USERID jest ignorowana.

Sekcja PRZYKŁADY zawiera przykładowe pliki konfiguracyjne VPNa zbudowanego
w oparciu o szyfrowany protokół SOCKS.

=back

=item B<protocolAuthentication> = basic | ntlm

rodzaj uwierzytelnienia do negocjacji protokołu

Obecnie typ uwierzytelnienia ma zastosowanie wyłącznie w protokole 'connect'.

domyślnie: basic

=item B<protocolHost> = HOST:PORT

adres docelowy do negocjacji protokołu

I<protocolHost> określa docelowy serwer SSL, do którego połączyć ma się proxy.
Nie jest to adres serwera proxy, do którego połączenie zestawia B<stunnel>.
Adres serwera proxy powinien być określony przy pomocy opcji 'connect'.

W obecnej wersji adres docelowy protokołu ma zastosowanie wyłącznie w protokole
'connect'.

=item B<protocolPassword> = HASŁO

hasło do negocjacji protokołu

=item B<protocolUsername> = UŻYTKOWNIK

nazwa użytkownika do negocjacji protokołu

=item B<PSKidentity> = TOŻSAMOŚĆ

tożsamość klienta PSK

I<PSKidentity> może zostać użyte w sekcjach klienckich do wybrania
tożsamości użytej do uwierzytelnienia PSK.
Opcja jest ignorowana w sekcjach serwerowych.

domyślnie: pierwsza tożsamość zdefiniowana w pliku I<PSKsecrets>

=item B<PSKsecrets> = PLIK

plik z tożsamościami i kluczami PSK

Każda linia pliku jest w następującym formacie:

    TOŻSAMOŚĆ:KLUCZ

Klucz musi być mieć przynajmniej 20 znaków.
Należy ograniczyć dostęp do czytania lub pisania do tego pliku.

=item B<pty> = yes | no (tylko Unix)

alokuj pseudoterminal dla programu uruchamianego w opcji 'exec'

=item B<redirect> = [HOST:]PORT

przekieruj klienta, któremu nie udało się poprawnie uwierzytelnić przy pomocy certyfikatu

Opcja działa wyłącznie w trybie serwera.
Część negocjacji protokołów jest niekompatybilna z opcją I<redirect>.

=item B<renegotiation> = yes | no

pozwalaj na renegocjację SSL

Wśród zastosowań renegocjacji SSL są niektóre scenariusze uwierzytelnienia,
oraz renegocjacja kluczy dla długotrwałych połączeń.

Z drugiej strony własność na może ułatwić trywialny atak DoS poprzez
wygenerowanie obciążenia procesora:

http://vincent.bernat.im/en/blog/2011-ssl-dos-mitigation.html

Warto zauważyć, że zablokowanie renegocjacji SSL nie zebezpiecza w pełni
przed opisanym problemem.

domyślnie: yes (o ile wspierane przez B<OpenSSL>)

=item B<reset> = yes | no

sygnalizuj wystąpienie błędu przy pomocy flagi TCP RST

Opcja nie jest wspierana na niektórych platformach.

domyślnie: yes

=item B<retry> = yes | no

połącz ponownie sekcję connect+exec po rozłączeniu

domyślnie: no

=item B<sessionCacheSize> = LICZBA_POZYCJI_CACHE

rozmiar pamięci podręcznej sesji SSL

Parametr określa maksymalną liczbę pozycji wewnętrznej pamięci podręcznej
sesji.

Wartość 0 oznacza brak ograniczenia rozmiaru.  Nie jest to zalecane dla
systemów produkcyjnych z uwagi na ryzyko ataku DoS przez wyczerpanie pamięci
RAM.

=item B<sessionCacheTimeout> = LICZBA_SEKUND

przeterminowanie pamięci podręcznej sesji SSL

Parametr określa czas w sekundach, po którym sesja SSL zostanie usunięta z
pamięci podręcznej.

=item B<sessiond> = HOST:PORT

adres sessiond - servera cache sesji SSL

=item B<sslVersion> = WERSJA_SSL

wersja protokołu SSL

Wspierane opcje: all, SSLv2, SSLv3, TLSv1, TLSv1.1, TLSv1.2

Dostępność konkretnych protokołów zależy od użytej wersji OpenSSL.
Starsze wersje OpenSSL nie wspierają TLSv1.1 i TLSv1.2.
Nowsze wersje OpenSSL nie wspierają SSLv2.

Przestarzałe protokoły SSLv2 i SSLv3 są domyślnie wyłączone.
Szczegółowe informacje dostępne są w opisie opcji B<options>.

=item B<stack> = LICZBA_BAJTÓW (z wyjątkiem modelu FORK)

rozmiar stosu procesora wątku 

=item B<TIMEOUTbusy> = LICZBA_SEKUND

czas oczekiwania na spodziewane dane

=item B<TIMEOUTclose> = LICZBA_SEKUND

czas oczekiwania na close_notify (ustaw na 0, jeżeli klientem jest MSIE)

=item B<TIMEOUTconnect> = LICZBA_SEKUND

czas oczekiwania na nawiązanie połączenia

=item B<TIMEOUTidle> = LICZBA_SEKUND

maksymalny czas utrzymywania bezczynnego połączenia

=item B<transparent> = none | source | destination | both (tylko Unix)

tryb przezroczystego proxy na wspieranych platformach

Wspierane opcje:

=over 4

=item B<none>

Zablokuj wsparcie dla przezroczystago proxy.  Jest to wartość domyślna.

=item B<source>

Przepisz adres, aby nawiązywane połączenie wydawało się pochodzić
bezpośrednio od klienta, a nie od programu B<stunnel>.

Opcja jest aktualnie obsługiwana w:

=over 4

=item Trybie zdalnym (opcja I<connect>) w systemie I<Linux E<gt>=2.6.28>

Konfiguracja wymaga następujących ustawień iptables oraz routingu
(na przykład w pliku /etc/rc.local lub analogicznym):

    iptables -t mangle -N DIVERT
    iptables -t mangle -A PREROUTING -p tcp -m socket -j DIVERT
    iptables -t mangle -A DIVERT -j MARK --set-mark 1
    iptables -t mangle -A DIVERT -j ACCEPT
    ip rule add fwmark 1 lookup 100
    ip route add local 0.0.0.0/0 dev lo table 100
    echo 0 >/proc/sys/net/ipv4/conf/lo/rp_filter

Konfiguracja ta wymaga, aby B<stunnel> był wykonywany jako root i bez opcji I<setuid>.

=item Trybie zdalnym (opcja I<connect>) w systemie I<Linux 2.2.x>

Konfiguracja ta wymaga skompilowania jądra z opcją I<transparent proxy>.
Docelowa usługa musi być umieszczona na osobnej maszynie, do której routing
kierowany jest poprzez serwer B<stunnela>.

Dodatkowo B<stunnel> powinien być wykonywany jako root i bez opcji I<setuid>.

=item Trybie zdalnym (opcja I<connect>) w systemie I<FreeBSD E<gt>=8.0>

Konfiguracja ta wymaga skonfigurowania firewalla i routingu.
B<stunnel> musi być wykonywany jako root i bez opcji I<setuid>.

=item Trybie lokalnym (opcja I<exec>)

Konfiguracja ta jest realizowana przy pomocy biblioteki I<libstunnel.so>.
Do załadowania biblioteki wykorzystywana jest zmienna środowiskowa _RLD_LIST na
platformie Tru64 lub LD_PRELOAD na innych platformach.

=back

=item I<destination>

Oryginalny adres docelowy jest używany zamiast opcji I<connect>.

Przykładowana konfiguracja przezroczystego adresu docelowego:

    [transparent]
    client=yes
    accept=<port_stunnela>
    transparent=destination

Konfiguracja wymaga ustawień iptables, na przykład w pliku
/etc/rc.local lub analogicznym.

W przypadku docelowej usługi umieszczonej na tej samej maszynie:

    /sbin/iptables -t nat -I OUTPUT -p tcp --dport <port_przekierowany> \
        -m ! --uid-owner <identyfikator_użytkownika_stunnela> \
        -j DNAT --to-destination <lokalne_ip>:<lokalny_port>

W przypadku docelowej usługi umieszczonej na zdalnej maszynie:

    /sbin/iptables -I INPUT -i eth0 -p tcp --dport <port_stunnela> -j ACCEPT
    /sbin/iptables -t nat -I PREROUTING -p tcp --dport <port_przekierowany> \
        -i eth0 -j DNAT --to-destination <lokalne_ip>:<port_stunnela>

Przezroczysty adres docelowy jest aktualnie wspierany wyłącznie w systemie Linux.

=item I<both>

Użyj przezroczystego proxy zarówno dla adresu źródłowego jak i docelowego.

=back

Dla zapewnienia kompatybilności z wcześniejszymim wersjami wspierane są dwie
dodatkowe opcje:

=over 4

=item I<yes>

Opcja została przemianowana na I<source>.

=item I<no>

Opcja została przemianowana na I<none>.

=back

=item B<verify> = POZIOM

weryfikuj certyfikat drugiej strony połączenia

=over 4

=item I<poziom 0>

zarządaj certyfikatu i zignoruj go

=item I<poziom 1>

weryfikuj, jeżeli został przedstawiony

=item I<poziom 2>

weryfikuj z zainstalowanym certyfikatem Centrum Certyfikacji

=item I<poziom 3>

weryfikuj z lokalnie zainstalowanym certyfikatem drugiej strony

=item I<poziom 4>

weryfikuj z certyfikatem drugiej strony ignorując łańcuch CA

=item I<domyślnie>

nie weryfikuj

=back

=back


=head1 ZWRACANA WARTOŚĆ

B<stunnel> zwraca zero w przypadku sukcesu, lub wartość niezerową
w przypadku błędu.


=head1 SIGNAŁY

Następujące sygnały mogą być użyte do sterowania programem w systemie Unix:

=over 4

=item SIGHUP

Załaduj ponownie plik konfiguracyjny.

Niektóre globalne opcje nie będą przeładowane:

=over 4

=item *

chroot

=item *

foreground

=item *

pid

=item *

setgid

=item *

setuid

=back

Jeżeli wykorzystywana jest opcja 'setuid' B<stunnel> nie będzie mógł załadować
ponownie konfiguracji wykorzystującej uprzywilejowane (<1024) porty.

Jeżeli wykorzystywana jest opcja 'chroot' B<stunnel> będzie szukał wszystkich
potrzebnych plików (łącznie z plikiem konfiguracyjnym, certyfikatami, logiem i
plikiem pid) wewnątrz katalogu wskazanego przez 'chroot'.

=item SIGUSR1

Zamknij i otwórz ponownie log.
Funkcja ta może zostać użyta w skrypcie rotującym log programu B<stunnel>.

=item SIGTERM, SIGQUIT, SIGINT

Zakończ działanie programu.

=back

Skutek wysłania innych sygnałów jest niezdefiniowany.


=head1 PRZYKŁADY

Szyfrowanie połączeń do lokalnego serwera I<imapd> można użyć:

    [imapd]
    accept = 993
    exec = /usr/sbin/imapd
    execArgs = imapd

albo w trybie zdalnym:

    [imapd]
    accept = 993
    connect = 143

Aby umożliwić lokalnemu klientowi poczty elektronicznej korzystanie z serwera
I<imapd> przez SSL należy skonfigurować pobieranie poczty z adresu localhost i
portu 119, oraz użyć następującej konfiguracji:

    [imap]
    client = yes
    accept = 143
    connect = serwer:993

W połączeniu z programem I<pppd> B<stunnel> pozwala zestawić prosty VPN.
Po stronie serwera nasłuchującego na porcie 2020 jego konfiguracja
może wyglądać następująco:

    [vpn]
    accept = 2020
    exec = /usr/sbin/pppd
    execArgs = pppd local
    pty = yes

Poniższy plik konfiguracyjny może być wykorzystany do uruchomienia
programu B<stunnel> w trybie I<inetd>.  Warto zauważyć, że w pliku
konfiguracyjnym nie ma sekcji I<[nazwa_usługi]>.

    exec = /usr/sbin/imapd
    execArgs = imapd

Aby skonfigurować VPN można użyć następującej konfiguracji klienta:

    [socks_client]
    client = yes
    accept = 127.0.0.1:1080
    connect = vpn_server:9080
    verify = 4
    CAfile = stunnel.pem

Odpowiadająca jej konfiguracja serwera vpn_server:

    [socks_server]
    protocol = socks
    accept = 9080
    cert = stunnel.pem
    key = stunnel.key

Do przetestowania konfiguracji można wydać na maszynie klienckiej komendę:

    curl --socks4a localhost http://www.example.com/

=head1 NOTKI

=head2 OGRANICZENIA

B<stunnel> nie może być używany do szyfrowania protokołu I<FTP>,
ponieważ do przesyłania poszczególnych plików używa on dodatkowych
połączeń otwieranych na portach o dynamicznie przydzielanych numerach.
Istnieją jednak specjalne wersje klientów i serwerów FTP pozwalające
na szyfrowanie przesyłanych danych przy pomocy protokołu I<SSL>.

=head2 TRYB INETD (tylko Unix)

W większości zastosowań B<stunnel> samodzielnie nasłuchuje na porcie
podanym w pliku konfiguracyjnym i tworzy połączenie z innym portem
podanym w opcji I<connect> lub nowym programem podanym w opcji I<exec>.
Niektórzy wolą jednak wykorzystywać oddzielny program, który odbiera
połączenia, po czym uruchamia program B<stunnel>.  Przykładami takich
programów są inetd, xinetd i tcpserver.

Przykładowa linia pliku /etc/inetd.conf może wyglądać tak:

    imaps stream tcp nowait root @bindir@/stunnel
        stunnel @sysconfdir@/stunnel/imaps.conf

Ponieważ w takich przypadkach połączenie na zdefiniowanym porcie
(tutaj I<imaps>) nawiązuje osobny program (tutaj I<inetd>), B<stunnel>
nie może używać opcji I<accept>.  W pliku konfiguracyjnym nie może
być również zdefiniowana żadna usługa (I<[nazwa_usługi]>), ponieważ
konfiguracja taka pozwala na nawiązanie tylko jednego połączenia.
Wszystkie I<OPCJE USŁUG> powinny być umieszczone razem z opcjami
globalnymi.  Przykład takiej konfiguracji znajduje się w sekcji
I<PRZYKŁADY>.

=head2 CERTYFIKATY

Protokół SSL wymaga, aby każdy serwer przedstawiał się nawiązującemu
połączenie klientowi prawidłowym certyfikatem X.509.
Potwierdzenie tożsamości serwera polega na wykazaniu, że posiada on
odpowiadający certyfikatowi klucz prywatny.
Najprostszą metodą uzyskania certyfikatu jest wygenerowanie go przy pomocy
wolnego pakietu B<OpenSSL>.  Więcej informacji na temat generowania
certyfikatów można znaleźć na umieszczonych poniżej stronach.

Istotną kwestią jest kolejność zawartości pliku I<.pem>.
W pierwszej kolejności powinien on zawierać klucz prywatny,
a dopiero za nim podpisany certyfikat (nie żądanie certyfikatu).
Po certyfikacie i kluczu prywatnym powinny znajdować się puste linie.
Jeżeli przed certyfikatem znajdują się dodatkowe informacje tekstowe,
to powinny one zostać usunięte.  Otrzymany plik powinien mieć
następującą postać:

    -----BEGIN RSA PRIVATE KEY-----
    [zakodowany klucz]
    -----END RSA PRIVATE KEY-----
    [pusta linia]
    -----BEGIN CERTIFICATE-----
    [zakodowany certyfikat]
    -----END CERTIFICATE-----
    [pusta linia]

=head2 LOSOWOŚĆ

B<stunnel> potrzebuje zainicjować PRNG (generator liczb pseudolosowych),
gdyż protokół SSL wymaga do bezpieczeństwa kryptograficznego źródła
dobrej losowości.  Następujące źródła są kolejno odczytywane aż do
uzyskania  wystarczającej ilości entropii:

=over 4

=item *

Zawartość pliku podanego w opcji I<RNDfile>.

=item *

Zawartość pliku o nazwie określonej przez zmienną środowiskową
RANDFILE, o ile jest ona ustawiona.

=item *

Plik .rnd umieszczony w katalogu domowym użytkownika,
jeżeli zmienna RANDFILE nie jest ustawiona.

=item *

Plik podany w opcji '--with-random' w czasie konfiguracji programu.

=item *

Zawartość ekranu w systemie Windows.

=item *

Gniazdo egd, jeżeli użyta została opcja I<EGD>.

=item *

Gniazdo egd podane w opcji '--with-egd-socket' w czasie konfiguracji
programu.

=item *

Urządzenie /dev/urandom.

=back

Współczesne (B<0.9.5a> lub nowsze) wersje biblioteki B<OpenSSL> automatycznie
zaprzestają ładowania kolejnych danych w momencie uzyskania wystarczającej
ilości entropii.  Wcześniejsze wersje biblioteki wykorzystają wszystkie
powyższe źródła, gdyż nie istnieje tam funkcja pozwalająca określić, czy
uzyskano już wystarczająco dużo danych.

Warto zwrócić uwagę, że na maszynach z systemem Windows, na których
konsoli nie pracuje użytkownik, zawartość ekranu nie jest wystarczająco
zmienna, aby zainicjować PRNG.  W takim przypadku do zainicjowania
generatora należy użyć opcji I<RNDfile>.

Plik I<RNDfile> powinien zawierać dane losowe -- również w tym sensie,
że powinny być one inne przy każdym uruchomieniu programu B<stunnel>.
O ile nie użyta została opcja I<RNDoverwrite> jest to robione
automatycznie.  Do ręcznego uzyskania takiego pliku użyteczna
może być komenda I<openssl rand> dostarczana ze współczesnymi
wersjami pakietu B<OpenSSL>.

Jeszcze jedna istotna informacja -- jeżeli dostępne jest urządzenie
I</dev/urandom> biblioteka B<OpenSSL> ma zwyczaj zasilania nim PRNG w trakcie
sprawdzania stanu generatora.  W systemach z I</dev/urandom> urządzenie
to będzie najprawdopodobniej użyte, pomimo że znajduje się na samym końcu
powyższej listy.  Jest to właściwość biblioteki B<OpenSSL>, a nie programu
B<stunnel>.

=head2 PARAMETRY DH

Począwszy od wersji 4.40 B<stunnel> zawiera w kodzie programu 2048-bitowe
parametry DH.  Od wersji 5.18 te początkowe wartości parametrów DH są
wymieniane na autogenerowane parametry tymczasowe.
Wygenerowanie parametrów DH może zająć nawet wiele minut.

Alternatywnie parametry DH można umieścić w pliku razem z certyfikatem,
co wyłącza generowanie parametrów tymczasowych:

    openssl dhparam 2048 >> stunnel.pem


=head1 PLIKI

=over 4

=item F<@sysconfdir@/stunnel/stunnel.conf>

plik konfiguracyjny programu

=back


=head1 BŁĘDY

Opcja I<execArgs> oraz linia komend Win32 nie obsługuje cytowania.


=head1 ZOBACZ RÓWNIEŻ

=over 4

=item L<tcpd(8)>

biblioteka kontroli dostępu do usług internetowych

=item L<inetd(8)>

'super-serwer' internetowy

=item F<http://www.stunnel.org/>

strona domowa programu B<stunnel>

=item F<http://www.openssl.org/>

strona projektu B<OpenSSL>

=back


=head1 AUTOR

=over 4

=item Michał Trojnara

<F<Michal.Trojnara@mirt.net>>

=back

=for comment
vim:spelllang=pl:spell
