Provided by: stunnel4_4.42-1_i386 bug

NAZWA

       stunnel - uniwersalny tunel protokolu SSL

SK/LADNIA

       Unix:
           stunnel [<plik>] | -fdn | -help | -version | -sockets

       WIN32:
           stunnel [ [-install | -uninstall | -start | -stop ] | -exit]
               [-quiet] [<plik>] ] | -help | -version | -sockets

OPIS

       Program stunnel zostal zaprojektowany do opakowywania w protokol SSL
       polcze pomidzy zdalnymi klientami a lokalnymi lub zdalnymi serwerami.
       Przez serwer lokalny rozumiana jest aplikacja przeznaczona do
       uruchamiania przy pomocy inetd.  Stunnel pozwala na proste zestawienie
       komunikacji serwerow nie posiadajcych funkcjonalnoci SSL poprzez
       bezpieczne kanaly SSL.

       stunnel pozwala doda funkcjonalno SSL do powszechnie stosowanych
       demonow inetd, np. pop3 lub imap, do samodzielnych demonow, np. nntp,
       smtp lub http, a nawet tunelowa ppp poprzez gniazda sieciowe bez zmian
       w kodzie rodlowym.

OPCJE

       <plik>
           uyj podanego pliku konfiguracyjnego

       -fd n (tylko Unix)
           wczytaj konfiguracj z podanego deskryptora pliku

       -help
           drukuj list wspieranych opcji

       -version
           drukuj wersj programu i domylne wartoci parametrow

       -sockets
           drukuj domylne opcje gniazd

       -install (tylko NT/2000/XP)
           instaluj serwis NT

       -uninstall (tylko NT/2000/XP)
           odinstaluj serwis NT

       -start (tylko NT/2000/XP)
           uruchom serwis NT

       -stop (tylko NT/2000/XP)
           zatrzymaj serwis NT

       -exit (tylko Win32)
           zatrzymaj uruchomiony program

       -quiet (tylko NT/2000/XP)
           nie wywietlaj okienka informujcego o pomylnym zainstalowaniu lub
           odinstalowaniu

PLIK KONFIGURACYJNY

       Linia w pliku konfiguracyjnym moe by:

       o   pusta (ignorowana)

       o   komentarzem rozpoczynajcym si znakiem ';' (ignorowana)

       o   par 'nazwa_opcji = warto_opcji'

       o   tekstem '[nazwa_uslugi]' wskazujcym pocztek definicji uslugi

   OPCJE GLOBALNE
       chroot = katalog (tylko Unix)
           katalog roboczego korzenia systemu plikow

           Opcja okrela katalog, w ktorym uwiziony zostanie proces programu
           stunnel tu po jego inicjalizacji, a przed rozpoczciem odbierania
           polcze.  cieki podane w opcjach CApath, CRLpath, pid oraz exec musz
           by umieszczone wewntrz katalogu podanego w opcji chroot i okrelone
           wzgldem tego katalogu.

       compression = zlib | rle
           wybor algorytmu kompresji przesylanych danych

           domylnie: bez kompresji

           Kompresja zlib zaimplementowana w OpenSSL 0.9.8 i nowszych nie jest
           kompatybilna implementacj OpenSSL 0.9.7.

           Kompresja rle nie jest zaimplementowana w aktualnych wersjach
           OpenSSL.

       debug = poziom[.podsystem]
           szczegolowo logowania

           Poziom logowania mona okreli 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 niszym
           (numerycznie) lub rownym podanemu.  Do uzyskania najwyszego poziomu
           szczegolowoci mona uy opcji debug = debug lub debug = 7.  Domylnym
           poziomem jest notice (5).

           O ile nie wyspecyfikowano podsystemu uyty bdzie domylny: daemon.
           Podsystemy nie s wspierane przez platform Win32.

           Wielko liter jest ignorowana zarowno dla poziomu jak podsystemu.

       EGD = cieka_do_EGD (tylko Unix)
           cieka do gniazda programu Entropy Gathering Daemon

           Opcja pozwala okreli ciek do gniazda programu Entropy Gathering
           Daemon uywanego do zainicjalizowania generatora cigow
           pseudolosowych biblioteki OpenSSL.  Opcja jest dostpna z bibliotek
           OpenSSL 0.9.5a lub nowsz.

       engine = auto | <identyfikator urzdzenia>
           wybor sprztowego urzdzenia kryptograficznego

           domylnie: bez wykorzystania urzdze kryptograficznych

           Przykladowa konfiguracja umoliwiajca odczytanie klucza prywatnego z
           urzdzenia 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

       engineCtrl = <command>[:<parameter>]
           konfiguracja urzdzenia kryptograficznego

           Specjalne komendy "LOAD" i "INIT" pozwalaj na zaladowanie i
           inicjalizacj modulu kryptograficznego urzdzenia.

       fips = yes | no
           Wlcz lub wylcz tryb FIPS 140-2.

           Opcja pozwala wylczy wejcie w tryb FIPS, jeli stunnel zostal
           skompilowany ze wsparciem dla FIPS 140-2.

           domylnie: yes (pracuj w trybie FIPS 140-2)

       foreground = yes | no (tylko Unix)
           tryb pierwszoplanowy

           Uycie tej opcji powoduje, e stunnel nie przechodzi w tlo logujc
           swoje komunikaty na konsol zamiast przez syslog (o ile nie uyto
           opcji output).

       output = plik
           plik, do ktorego dopisane zostan logi

           Uycie tej opcji zmienia domylne zachowanie programu polegajce na
           logowaniu swoich komunikatow poprzez syslog.

           Do przekierowania komunikatow na standardowe wyjcie (na przyklad po
           to, eby zalogowa je programem splogger z pakietu daemontools) mona
           poda jako parametr urzdzenie /dev/stdout.

       pid = plik (tylko Unix)
           poloenie pliku z numerem procesu

           Jeeli argument jest pusty plik nie zostanie stworzony.

           Jeeli zdefiniowano katalog chroot, to cieka do pid jest okrelona
           wzgldem tego katalogu.

       RNDbytes = liczba_bajtow
           liczba bajtow do zainicjowania generatora pseudolosowego

           W wersjach biblioteki OpenSSL starszych ni 0.9.5a opcja ta okrela
           rownie liczb bajtow wystarczajcych do zainicjowania PRNG.  Nowsze
           wersje biblioteki maj wbudowan funkcj okrelajc, czy dostarczona ilo
           losowoci jest wystarczajca do zainicjowania generatora.

       RNDfile = plik
           cieka do pliku zawierajcego losowe dane

           Biblioteka OpenSSL uyje danych z tego pliku do zainicjowania
           generatora pseudolosowego.

       RNDoverwrite = yes | no
           nadpisz plik nowymi wartociami pseudolosowymi

           domylnie: yes (nadpisz)

       service = nazwa_serwisu
           uyj parametru jako nazwy serwisu

           Unix: nazwa serwisu dla biblioteki TCP Wrapper w trybie inetd.

           domylnie: stunnel

       setgid = identyfikator_grupy (tylko Unix)
           grupa z ktorej prawami pracowal bdzie stunnel

       setuid = identyfikator_uytkownika (tylko Unix)
           uytkownik, z ktorego prawami pracowal bdzie stunnel

       socket = a|l|r:option=value[:value]
           ustaw opcj na akceptujcym/lokalnym/zdalnym gniedzie

           Dla opcji linger wartoci maj posta l_onof:l_linger.  Dla opcji time
           wartoci maj posta tv_sec:tv_usec.

           Przyklady:

               socket = l:SO_LINGER=1:60
                   ustaw jednominutowe przeterminowanie
                   przy zamykaniu lokalnego gniazda
               socket = r:SO_OOBINLINE=yes
                   umie dane pozapasmowe (out-of-band)
                   bezporednio w strumieniu danych
                   wejciowych dla zdalnych gniazd
               socket = a:SO_REUSEADDR=no
                   zablokuj ponowne uywanie portu
                   (domylnie wlczone)
               socket = a:SO_BINDTODEVICE=lo
                   przyjmuj polczenia wylcznie na
                   interfejsie zwrotnym (ang. loopback)

       syslog = yes | no (tylko Unix)
           wlcz logowanie poprzez mechanizm syslog

           domylnie: yes (wlcz)

       taskbar = yes | no (tylko WIN32)
           wlcz ikonk w prawym dolnym rogu ekranu

           domylnie: yes (wlcz)

   OPCJE US/LUG
       Kada sekcja konfiguracji uslugi zaczyna si jej nazw ujt w nawias
       kwadratowy.  Nazwa uslugi uywana jest do kontroli dostpu przez
       bibliotek libwrap (TCP wrappers) oraz pozwala rozroni poszczegolne
       uslugi w logach.

       Jeeli stunnel ma zosta uyty w trybie inetd, gdzie za odebranie
       polczenia odpowiada osobny program (zwykle inetd, xinetd lub
       tcpserver), naley przeczyta sekcj TRYB INETD poniej.

       accept = [adres:]port
           nasluchuje na polczenia na podanym adresie i porcie

           Jeeli nie zostal podany adres, stunnel domylnie nasluchuje na
           wszystkich adresach IP lokalnych interfejsow.

       CApath = katalog_CA
           katalog Centrum Certyfikacji

           Opcja okrela katalog, w ktorym stunnel bdzie szukal certyfikatow,
           jeeli uyta zostala opcja verify.  Pliki z certyfikatami musz
           posiada specjalne nazwy XXXXXXXX.0, gdzie XXXXXXXX jest skrotem
           kryptograficznym reprezentacji DER nazwy podmiotu certyfikatu.

           Funkcja skrotu zostala zmieniona w wersji 1.0.0 biblioteki OpenSSL.
           Naley wykona c_rehash przy zmianie OpenSSL 0.x.x na 1.x.x.

           Jeeli zdefiniowano katalog chroot, to cieka do CApath jest okrelona
           wzgldem tego katalogu.

       CAfile = plik_CA
           plik Centrum Certyfikacji

           Opcja pozwala okreli poloenie pliku zawierajcego certyfikaty uywane
           przez opcj verify.

       cert = plik_pem
           plik z lacuchem certyfikatow

           Opcja okrela poloenie pliku zawierajcego certyfikaty uywane przez
           program stunnel do uwierzytelnienia si przed drug stron polczenia.
           Certyfikat jest konieczny, aby uywa programu w trybie serwera.  W
           trybie klienta certyfikat jest opcjonalny.

       ciphers = lista_szyfrow
           lista dozwolonych szyfrow SSL

           Parametrem tej opcji jest lista szyfrow, ktore bd uyte przy
           otwieraniu nowych polcze SSL, np.:  DES-CBC3-SHA:IDEA-CBC-MD5

       client = yes | no
           tryb kliencki (zdalna usluga uywa SSL)

           domylnie: no (tryb serwerowy)

       connect = [adres:]port
           polcz si ze zdalnym serwerem na podany port

           Jeeli nie zostal podany adres, stunnel domylnie lczy si z lokalnym
           serwerem.

           Komenda moe byc uyta wielokrotnie w pojedynczej sekcji celem
           zapewnienia wysokiej niezawodnoci lub rozloenia ruchu pomidzy wiele
           serwerow.

       CRLpath = katalog_CRL
           katalog List Odwolanych Certyfikatow (CRL)

           Opcja okrela katalog, w ktorym stunnel bdzie szukal list CRL, jeeli
           uyta zostala opcja verify.  Pliki z listami CRL musz posiada
           specjalne nazwy XXXXXXXX.r0, gdzie XXXXXXXX jest skrotem listy CRL.

           Funkcja skrotu zostala zmieniona w wersji 1.0.0 biblioteki OpenSSL.
           Naley wykona c_rehash przy zmianie OpenSSL 0.x.x na 1.x.x.

           Jeeli zdefiniowano katalog chroot, to cieka do CRLpath jest
           okrelona wzgldem tego katalogu.

       CRLfile = plik_CRL
           plik List Odwolanych Certyfikatow (CRL)

           Opcja pozwala okreli poloenie pliku zawierajcego listy CRL uywane
           przez opcj verify.

       curve = nid
           krzywa dla ECDH

           List dostpnych krzywych mona uzyska poleceniem:

               openssl ecparam -list_curves

           domylnie: prime256v1

       delay = yes | no
           oponij rozwinicie adresu DNS podanego w opcji connect

           Opcja jest przydatna przy dynamicznym DNS, albo gdy usluga DNS nie
           jest dostpna przy starcie programu stunnel (klient VPN, polczenie
           wdzwaniane).

       engineNum = <numer urzdzenia>
           wybierz urzdzenie do odczyta klucza prywatnego

           Urzdzenia s numerowane od 1 w gor.

       exec = cieka_do_programu
           wykonaj lokalny program przystosowany do pracy z superdemonem inetd

           Jeeli zdefiniowano katalog chroot, to cieka do exec jest okrelona
           wzgldem tego katalogu.

       execargs = $0 $1 $2 ...
           argumenty do opcji exec wlcznie z nazw programu ($0)

           Cytowanie nie jest wspierane w obecnej wersji programu.  Argumenty
           s rozdzielone dowoln liczb bialych znakow.

       failover = rr | prio
           Strategia wybierania serwerow wyspecyfikowanych parametrami
           "connect".

               rr (round robin) - sprawiedliwe rozloenie obcienia
               prio (priority) - uyj kolejnoci opcji w pliku konfiguracyjnym

           domylnie: rr

       ident = nazwa_uytkownika
           weryfikuj nazw zdalnego uytkownika korzystajc z protokolu IDENT
           (RFC 1413)

       key = plik_klucza
           klucz prywatny do certyfikatu podanego w opcji cert

           Klucz prywatny jest potrzebny do uwierzytelnienia wlaciciela
           certyfikatu.  Poniewa powinien on by zachowany w tajemnicy, prawa
           do jego odczytu powinien mie wylcznie wlaciciel pliku.  W systemie
           Unix mona to osign komend:

               chmod 600 keyfile

           domylnie: warto opcji cert

       libwrap = yes | no
           wlcz lub wylcz korzystanie z /etc/hosts.allow i /etc/hosts.deny.

           domylnie: yes

       local = serwer
           IP rodla do nawizywania zdalnych polcze

           Domylnie uywane jest IP najbardziej zewntrznego interfejsu w stron
           serwera, do ktorego nawizywane jest polczenie.

       sni = nazwa_uslugi:nazwa_serwera
           Uyj uslugi jako podrzdnej (virtualnego serwera) dla rozszerzenia
           TLS Server Name Indication (RFC 3546).

           nazwa_us/lugi wskazuje uslug nadrzdn, ktora odbiera polczenia od
           klientow przy pomocy opcji accept.  nazwa_serwera wskazuje nazw
           serwera wirtualnego.  Z pojedycz uslug nadrzdn powizane jest zwykle
           wiele uslug podrzdnych.  Opcja sni moe by rownie uyta wielokrotnie
           w ramach jednej uslugi podrzdnej.

           Zarowno usluga nadrzdna jak i podrzdna nie moe by skonfigurowana w
           trybie klienckim.  Opcja connect uslugi podrzdnej jest ignorowana w
           polczeniu z opcj protocol, gdy polczenie do zdalnego serwera jest w
           tym wypadku nawizywane przed negocjacj TLS.  Uwierzytelnienie przy
           pomocy biblioteki libwrap jest realizowane dwukrotnie: najpierw dla
           uslugi nadrzdnej po odebraniu polczenia TCP, a nastpnie dla uslugi
           podrzdnej podczas negocjacji TLS.

           Opcja sni jest dostpna poczwszy od wersji 1.0.0 biblioteki OpenSSL.

       OCSP = URL
           serwer OCSP do weryfikacji certyfikatow

       OCSPflag = flaga
           flaga serwera OCSP

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

           Aby wyspecyfikowa kilka flag naley uy OCSPflag wielokrotnie.

       options = opcje_SSL
           opcje biblioteki OpenSSL

           Parametrem jest nazwa opcji zgodnie z opisem w
           SSL_CTX_set_options(3ssl), ale bez przedrostka SSL_OP_.  Aby
           wyspecyfikowa kilka opcji naley uy options wielokrotnie.

           Na przyklad dla zachowania kompatybilnoci z bldami implementacji
           SSL w programie Eudora mona uy opcji:

               options = DONT_INSERT_EMPTY_FRAGMENTS

       protocol = protokol
           negocjuj SSL podanym protokolem aplikacyjnym (np. starttls lub
           stls)

           Opcji protocol nie naley uywa z szyfrowaniem SSL na osobnym porcie.

           Aktualnie wspierane protokoly:

           cifs
               Unieudokumentowane rozszerzenie protokolu CIFS wspierane przez
               serwer Samba.  Wsparcie dla tego rozrzeczenia zostalo zarzucone
               w wersji 3.0.0 serwera Samba.

           connect
               Negocjacja RFC 2817 - Upgrading to TLS Within HTTP/1.1,
               rozdzial 5.2 - Requesting a Tunnel with CONNECT

               Ten protokol jest wspierany wylcznie w trybie klienckim.

           imap
               Negocjacja RFC 2595 - Using TLS with IMAP, POP3 and ACAP

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

               Ten protokol jest wspierany wylcznie w trybie klienckim.

           pop3
               Negocjacja RFC 2449 - POP3 Extension Mechanism

           smtp
               Negocjacja RFC 2487 - SMTP Service Extension for Secure SMTP
               over TLS

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

       protocolAuthentication = uwierzytelnienie
           rodzaj uwierzytelnienia do negocjacji protokolu

           aktualnie wspierane: basic, NTLM

           Obecnie typ uwierzytelnienia ma zastosowanie wylcznie w protokole
           'connect'.

           domylnie: basic

       protocolHost = adres:port
           adres docelowy do negocjacji protokolu

       protocolPassword = haslo
           haslo do negocjacji protokolu

       protocolUsername = uytkownik
           nazwa uytkownika do negocjacji protokolu

       pty = yes | no (tylko Unix)
           alokuj pseudoterminal dla programu uruchamianego w opcji 'exec'

       retry = yes | no (tylko Unix)
           polcz ponownie sekcj connect+exec po rozlczeniu

           domylnie: no

       session = przeterminowanie_pamici_podrcznej_sesji
           czas w sekundach, po ktorym sesja SSL zostanie usunita z pamici
           podrcznej

       sessiond = adres:port
           adres sessiond - servera cache sesji SSL

       sslVersion = wersja
           wersja protokolu SSL

           Dozwolone opcje: all, SSLv2, SSLv3, TLSv1

       stack = liczba_bajtow (z wyjtkiem modelu FORK)
           rozmiar stosu procesora wtku

       TIMEOUTbusy = liczba_sekund
           czas oczekiwania na spodziewane dane

       TIMEOUTclose = liczba_sekund
           czas oczekiwania na close_notify (ustaw na 0, jeeli klientem jest
           MSIE)

       TIMEOUTconnect = liczba_sekund
           czas oczekiwania na nawizanie polczenia

       TIMEOUTidle = liczba_sekund
           maksymalny czas utrzymywania bezczynnego polczenia

       transparent = none | source | destination | both (tylko Unix)
           tryb przezroczystego proxy na wspieranych platformach

           Wspierane opcje:

           none
               Zablokuj wsparcie dla przezroczystago proxy.  Jest to warto
               domylna.

           source
               Przepisz adres, aby nawizywane polczenie wydawalo si pochodzi
               bezporednio od klienta, a nie od programu stunnel.

               Opcja jest aktualnie obslugiwana w:

               Trybie zdalnym (opcja connect) w systemie Linux >=2.6.28
                   Konfiguracja wymaga nastpujcych ustawie iptables oraz
                   routingu (na przyklad 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 stunnel byl wykonywany jako
                   root i bez opcji setuid.

               Trybie zdalnym (opcja connect) w systemie Linux 2.2.x
                   Konfiguracja ta wymaga skompilowania jdra z opcj
                   transparent proxy.  Docelowa usluga musi by umieszczona na
                   osobnej maszynie, do ktorej routing kierowany jest poprzez
                   serwer stunnela.

                   Dodatkowo stunnel powinien by wykonywany jako root i bez
                   opcji setuid.

               Trybie zdalnym (opcja connect) w systemie FreeBSD >=8.0
                   Konfiguracja ta wymaga skonfigurowania firewalla i
                   routingu.  stunnel musi by wykonywany jako root i bez opcji
                   setuid.

               Trybie lokalnym (opcja exec)
                   Konfiguracja ta jest realizowana przy pomocy biblioteki
                   libstunnel.so.  Do zaladowania biblioteki wykorzystywana
                   jest zmienna rodowiskowa _RLD_LIST na platformie Tru64 lub
                   LD_PRELOAD na innych platformach.

           destination
               Oryginalny adres docelowy jest uywany zamiast opcji connect.

               Przykladowana konfiguracja przezroczystego adresu docelowego:

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

               Konfiguracja wymaga nastpujcych ustawie iptables (na przyklad w
               pliku /etc/rc.local lub analogicznym):

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

               Przezroczysty adres docelowy jest aktualnie wspierany wylcznie
               w systemie Linux.

           both
               Uyj przezroczystego proxy zarowno dla adresu rodlowego jak i
               docelowego.

           Dla zapewnienia kompatybilnoci z wczeniejszymim wersjami wspierane
           s dwie dodatkowe opcje:

           yes Opcja zostala przemianowana na source.

           no  Opcja zostala przemianowana na none.

       verify = poziom
           weryfikuj certyfikat drugiej strony polczenia

           poziom 0 - zarzdaj certyfikatu i zignoruj go
           poziom 1 - weryfikuj, jeeli zostal przedstawiony
           poziom 2 - weryfikuj z zainstalowanym certyfikatem Centrum
           Certyfikacji
           poziom 3 - weryfikuj z lokalnie zainstalowanym certyfikatem drugiej
           strony
           domylnie - nie weryfikuj

ZWRACANA WARTO

       stunnel zwraca zero w przypadku sukcesu, lub warto niezerow w przypadku
       bldu.

SIGNA/LY

       Nastpujce sygnaly mog by uyte do sterowania programem w systemie Unix:

       SIGHUP
           Zaladuj ponownie plik konfiguracyjny.

           Niektore globalne opcje nie bd przeladowane:

           o   chroot

           o   fips

           o   foreground

           o   pid

           o   setgid

           o   setuid

           Jeeli wykorzystywana jest opcja 'setuid' stunnel nie bdzie mogl
           zaladowa ponownie konfiguracji wykorzystujcej uprzywilejowane
           (<1024) porty.

           Jeeli wykorzystywana jest opcja 'chroot' stunnel bdzie szukal
           wszystkich potrzebnych plikow (lcznie z plikiem konfiguracyjnym,
           certyfikatami, logiem i plikiem pid) wewntrz katalogu wskazanego
           przez 'chroot'.

       SIGUSR1
           Zamknij i otworz ponownie log.  Funkcja ta moe zosta uyta w
           skrypcie rotujcym log programu stunnel.

       SIGTERM, SIGQUIT, SIGINT
           Zakocz dzialanie programu.

       Skutek wyslania innych sygnalow jest niezdefiniowany.

PRZYK/LADY

       Szyfrowanie polcze do lokalnego serwera imapd mona uy:

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

       albo w trybie zdalnym:

           [imapd]
           accept = 993
           connect = 143

       W polczeniu z programem pppd stunnel pozwala zestawi prosty VPN.  Po
       stronie serwera nasluchujcego na porcie 2020 jego konfiguracja moe
       wyglda nastpujco:

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

       Poniszy plik konfiguracyjny moe by wykorzystany do uruchomienia
       programu stunnel w trybie inetd.  Warto zauway, e w pliku
       konfiguracyjnym nie ma sekcji [nazwa_us/lugi].

           exec = /usr/sbin/imapd
           execargs = imapd

NOTKI

   OGRANICZENIA
       stunnel nie moe by uywany do szyfrowania protokolu FTP, poniewa do
       przesylania poszczegolnych plikow uywa on dodatkowych polcze
       otwieranych na portach o dynamicznie przydzielanych numerach.  Istniej
       jednak specjalne wersje klientow i serwerow FTP pozwalajce na
       szyfrowanie przesylanych danych przy pomocy protokolu SSL.

   TRYB INETD (tylko Unix)
       W wikszoci zastosowa stunnel samodzielnie nasluchuje na porcie podanym
       w pliku konfiguracyjnym i tworzy polczenie z innym portem podanym w
       opcji connect lub nowym programem podanym w opcji exec.  Niektorzy wol
       jednak wykorzystywa oddzielny program, ktory odbiera polczenia, po czym
       uruchamia program stunnel.  Przykladami takich programow s inetd,
       xinetd i tcpserver.

       Przykladowa linia pliku /etc/inetd.conf moe wyglda tak:

           imaps stream tcp nowait root /usr/bin/stunnel
               stunnel /etc/stunnel/imaps.conf

       Poniewa w takich przypadkach polczenie na zdefiniowanym porcie (tutaj
       imaps) nawizuje osobny program (tutaj inetd), stunnel nie moe uywa
       opcji accept.  W pliku konfiguracyjnym nie moe by rownie zdefiniowana
       adna usluga ([nazwa_us/lugi]), poniewa konfiguracja taka pozwala na
       nawizanie tylko jednego polczenia.  Wszystkie OPCJE US/LUG powinny by
       umieszczone razem z opcjami globalnymi.  Przyklad takiej konfiguracji
       znajduje si w sekcji PRZYK/LADY.

   CERTYFIKATY
       Protokol SSL wymaga, aby kady serwer przedstawial si nawizujcemu
       polczenie klientowi prawidlowym certyfikatem X.509.  Potwierdzenie
       tosamoci serwera polega na wykazaniu, e posiada on odpowiadajcy
       certyfikatowi klucz prywatny.  Najprostsz metod uzyskania certyfikatu
       jest wygenerowanie go przy pomocy wolnego pakietu OpenSSL.  Wicej
       informacji na temat generowania certyfikatow mona znale na
       umieszczonych poniej stronach.

       Istotn kwesti jest kolejno zawartoci pliku .pem.  W pierwszej kolejnoci
       powinien on zawiera klucz prywatny, a dopiero za nim podpisany
       certyfikat (nie danie certyfikatu).  Po certyfikacie i kluczu prywatnym
       powinny znajdowa si puste linie.  Jeeli przed certyfikatem znajduj si
       dodatkowe informacje tekstowe, to powinny one zosta usunite.  Otrzymany
       plik powinien mie nastpujc posta:

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

   LOSOWO
       stunnel potrzebuje zainicjowa PRNG (generator liczb pseudolosowych),
       gdy protokol SSL wymaga do bezpieczestwa kryptograficznego rodla dobrej
       losowoci.  Nastpujce rodla s kolejno odczytywane a do uzyskania
       wystarczajcej iloci entropii:

       o   Zawarto pliku podanego w opcji RNDfile.

       o   Zawarto pliku o nazwie okrelonej przez zmienn rodowiskow RANDFILE,
           o ile jest ona ustawiona.

       o   Plik .rnd umieszczony w katalogu domowym uytkownika, jeeli zmienna
           RANDFILE nie jest ustawiona.

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

       o   Zawarto ekranu w systemie Windows.

       o   Gniazdo egd, jeeli uyta zostala opcja EGD.

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

       o   Urzdzenie /dev/urandom.

       Wspolczesne (>=0.9.5a) wersje biblioteki OpenSSL automatycznie
       zaprzestaj ladowania kolejnych danych w momencie uzyskania
       wystarczajcej iloci entropii.  Wczeniejsze wersje biblioteki
       wykorzystaj wszystkie powysze rodla, gdy nie istnieje tam funkcja
       pozwalajca okreli, czy uzyskano ju wystarczajco duo danych.

       Warto zwroci uwag, e na maszynach z systemem Windows, na ktorych
       konsoli nie pracuje uytkownik, zawarto ekranu nie jest wystarczajco
       zmienna, aby zainicjowa PRNG.  W takim przypadku do zainicjowania
       generatora naley uy opcji RNDfile.

       Plik RNDfile powinien zawiera dane losowe -- rownie w tym sensie, e
       powinny by one inne przy kadym uruchomieniu programu stunnel.  O ile
       nie uyta zostala opcja RNDoverwrite jest to robione automatycznie.  Do
       rcznego uzyskania takiego pliku uyteczna moe by komenda openssl rand
       dostarczana ze wspolczesnymi wersjami pakietu OpenSSL.

       Jeszcze jedna istotna informacja -- jeeli dostpne jest urzdzenie
       /dev/urandom biblioteka OpenSSL ma zwyczaj zasilania nim PRNG w trakcie
       sprawdzania stanu generatora.  W systemach z /dev/urandom urzdzenie to
       bdzie najprawdopodobniej uyte, pomimo e znajduje si na samym kocu
       powyszej listy.  Jest to wlaciwo biblioteki OpenSSL, a nie programu
       stunnel.

   PARAMETRY DH
       Poczwszy od wersji 4.40 stunnel zawiera w kodzie programu 2048-bitowe
       parametry DH.

       Alternatywnie parametry DH mona umieci w pliku razem z certyfikatem:

           openssl dhparam 2048 >> stunnel.pem

       Wygenerowanie parametrow DH moe zaj nawet wiele minut.

PLIKI

       stunnel.conf
           plik konfiguracyjny programu

B/LDY

       Opcja execargs nie obsluguje cytowania.

ZOBACZ R'OWNIE

       tcpd(8)
           biblioteka kontroli dostpu do uslug internetowych

       inetd(8)
           'super-serwer' internetowy

       http://www.stunnel.org/
           strona domowa programu stunnel

       http://www.openssl.org/
           strona projektu OpenSSL

AUTOR

       Michal Trojnara
           <Michal.Trojnara@mirt.net>