diff options
author | Peter Pentchev <roam@ringlet.net> | 2015-11-12 18:30:34 +0200 |
---|---|---|
committer | Peter Pentchev <roam@ringlet.net> | 2015-11-12 18:30:34 +0200 |
commit | 1fbaeb296e4fab1d85884367b3344efe0180b7e8 (patch) | |
tree | acd4be6f473905884460b9e4e1a7af7309f646d4 /doc/stunnel.pl.8.in | |
parent | 7fed6c8f10dd2c3697442316f00516775b3f7c1d (diff) |
Imported Upstream version 5.19
Diffstat (limited to 'doc/stunnel.pl.8.in')
-rw-r--r-- | doc/stunnel.pl.8.in | 1275 |
1 files changed, 1275 insertions, 0 deletions
diff --git a/doc/stunnel.pl.8.in b/doc/stunnel.pl.8.in new file mode 100644 index 0000000..c345e96 --- /dev/null +++ b/doc/stunnel.pl.8.in @@ -0,0 +1,1275 @@ +.\" Automatically generated by Pod::Man 2.28 (Pod::Simple 3.28) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +. ds C` +. ds C' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.\" +.\" Avoid warning from groff about undefined register 'F'. +.de IX +.. +.nr rF 0 +.if \n(.g .if rF .nr rF 1 +.if (\n(rF:(\n(.g==0)) \{ +. if \nF \{ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. if !\nF==2 \{ +. nr % 0 +. nr F 2 +. \} +. \} +.\} +.rr rF +.\" ======================================================================== +.\" +.IX Title "STUNNEL.PL.POD.IN 8" +.TH STUNNEL.PL.POD.IN 8 "2015.06.12" "5.19" "stunnel" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAZWA" +.IX Header "NAZWA" +stunnel \- uniwersalny tunel protokołu \s-1SSL\s0 +.SH "SKŁADNIA" +.IX Header "SKŁADNIA" +.IP "\fBUnix:\fR" 4 +.IX Item "Unix:" +\&\fBstunnel\fR [\s-1PLIK\s0] | \-fd N | \-help | \-version | \-sockets | \-options +.IP "\fB\s-1WIN32:\s0\fR" 4 +.IX Item "WIN32:" +\&\fBstunnel\fR [ [ \-install | \-uninstall | \-start | \-stop | + \-reload | \-reopen | \-exit ] [\-quiet] [\s-1PLIK\s0] ] | + \-help | \-version | \-sockets | \-options +.SH "OPIS" +.IX Header "OPIS" +Program \fBstunnel\fR został zaprojektowany do opakowywania w protokół \fI\s-1SSL\s0\fR +połączeń pomiędzy zdalnymi klientami a lokalnymi lub zdalnymi serwerami. +Przez serwer lokalny rozumiana jest aplikacja przeznaczona do uruchamiania +przy pomocy \fIinetd\fR. +Stunnel pozwala na proste zestawienie komunikacji serwerów nie posiadających +funkcjonalności \fI\s-1SSL\s0\fR poprzez bezpieczne kanały \fI\s-1SSL\s0\fR. +.PP +\&\fBstunnel\fR pozwala dodać funkcjonalność \fI\s-1SSL\s0\fR do powszechnie stosowanych +demonów \fIinetd\fR, np. \fIpop3\fR lub \fIimap\fR, do samodzielnych demonów, +np. \fInntp\fR, \fIsmtp\fR lub \fIhttp\fR, a nawet tunelować ppp poprzez gniazda sieciowe +bez zmian w kodzie źródłowym. +.SH "OPCJE" +.IX Header "OPCJE" +.IP "\fB\s-1PLIK\s0\fR" 4 +.IX Item "PLIK" +użyj podanego pliku konfiguracyjnego +.IP "\fB\-fd N\fR (tylko Unix)" 4 +.IX Item "-fd N (tylko Unix)" +wczytaj konfigurację z podanego deskryptora pliku +.IP "\fB\-help\fR" 4 +.IX Item "-help" +drukuj listę wspieranych opcji +.IP "\fB\-version\fR" 4 +.IX Item "-version" +drukuj wersję programu i domyślne wartości parametrów +.IP "\fB\-sockets\fR" 4 +.IX Item "-sockets" +drukuj domyślne opcje gniazd +.IP "\fB\-options\fR" 4 +.IX Item "-options" +drukuj wspierane opcje \s-1SSL\s0 +.IP "\fB\-install\fR (tylko Windows \s-1NT\s0 lub nowszy)" 4 +.IX Item "-install (tylko Windows NT lub nowszy)" +instaluj serwis \s-1NT\s0 +.IP "\fB\-uninstall\fR (tylko Windows \s-1NT\s0 lub nowszy)" 4 +.IX Item "-uninstall (tylko Windows NT lub nowszy)" +odinstaluj serwis \s-1NT\s0 +.IP "\fB\-start\fR (tylko Windows \s-1NT\s0 lub nowszy)" 4 +.IX Item "-start (tylko Windows NT lub nowszy)" +uruchom serwis \s-1NT\s0 +.IP "\fB\-stop\fR (tylko Windows \s-1NT\s0 lub nowszy)" 4 +.IX Item "-stop (tylko Windows NT lub nowszy)" +zatrzymaj serwis \s-1NT\s0 +.IP "\fB\-reload\fR (tylko Windows \s-1NT\s0 lub nowszy)" 4 +.IX Item "-reload (tylko Windows NT lub nowszy)" +przeładuj plik konfiguracyjny uruchomionego serwisu \s-1NT\s0 +.IP "\fB\-reopen\fR (tylko Windows \s-1NT\s0 lub nowszy)" 4 +.IX Item "-reopen (tylko Windows NT lub nowszy)" +otwórz ponownie log uruchomionego serwisu \s-1NT\s0 +.IP "\fB\-exit\fR (tylko Win32)" 4 +.IX Item "-exit (tylko Win32)" +zatrzymaj uruchomiony program +.IP "\fB\-quiet\fR (tylko Win32)" 4 +.IX Item "-quiet (tylko Win32)" +nie wyświetlaj okienek z komunikatami +.SH "PLIK KONFIGURACYJNY" +.IX Header "PLIK KONFIGURACYJNY" +Linia w pliku konfiguracyjnym może być: +.IP "\(bu" 4 +pusta (ignorowana) +.IP "\(bu" 4 +komentarzem rozpoczynającym się znakiem ';' (ignorowana) +.IP "\(bu" 4 +parą 'nazwa_opcji = wartość_opcji' +.IP "\(bu" 4 +tekstem '[nazwa_usługi]' wskazującym początek definicji usługi +.PP +Parametr adres może być: +.IP "\(bu" 4 +numerem portu +.IP "\(bu" 4 +oddzieloną średnikiem parą adresu (IPv4, IPv6, lub nazwą domenową) i numeru portu +.IP "\(bu" 4 +ścieżką do gniazda Unix (tylko Unix) +.SS "\s-1OPCJE GLOBALNE\s0" +.IX Subsection "OPCJE GLOBALNE" +.IP "\fBchroot\fR = \s-1KATALOG \s0(tylko Unix)" 4 +.IX Item "chroot = KATALOG (tylko Unix)" +katalog roboczego korzenia systemu plików +.Sp +Opcja określa katalog, w którym uwięziony zostanie proces programu +\&\fBstunnel\fR tuż po jego inicjalizacji, a przed rozpoczęciem odbierania +połączeń. Ścieżki podane w opcjach \fICApath\fR, \fICRLpath\fR, \fIpid\fR +oraz \fIexec\fR muszą być umieszczone wewnątrz katalogu podanego w opcji +\&\fIchroot\fR i określone względem tego katalogu. +.Sp +Niektóre funkcje systemu operacyjnego mogą wymagać dodatkowych plików umieszczonych w katalogu podanego w parametrze chroot: +.RS 4 +.IP "\(bu" 4 +opóźnione rozwinięcie adresów \s-1DNS\s0 typowo wymaga /etc/nsswitch.conf i /etc/resolv.conf +.IP "\(bu" 4 +lokalizacja strefy czasowej w logach wymaga pliku /etc/timezone +.IP "\(bu" 4 +niektóre inne pliki mogą potrzebować plików urządzeń, np. /dev/zero lub /dev/null +.RE +.RS 4 +.RE +.IP "\fBcompression\fR = deflate | zlib" 4 +.IX Item "compression = deflate | zlib" +wybór algorytmu kompresji przesyłanych danych +.Sp +domyślnie: bez kompresji +.Sp +Algorytm deflate jest standardową metodą kompresji zgodnie z \s-1RFC 1951.\s0 +.Sp +Kompresja zlib zaimplementowana w \fBOpenSSL 0.9.8\fR i nowszych nie jest +kompatybilna implementacją \fBOpenSSL 0.9.7\fR. +.IP "\fBdebug\fR = [\s-1PODSYSTEM\s0].POZIOM" 4 +.IX Item "debug = [PODSYSTEM].POZIOM" +szczegółowość logowania +.Sp +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 +\&\fIdebug = debug\fR lub \fIdebug = 7\fR. Domyślnym poziomem jest notice (5). +.Sp +O ile nie wyspecyfikowano podsystemu użyty będzie domyślny: daemon. +Podsystemy nie są wspierane przez platformę Win32. +.Sp +Wielkość liter jest ignorowana zarówno dla poziomu jak podsystemu. +.IP "\fB\s-1EGD\s0\fR = ŚCIEŻKA_DO_EGD (tylko Unix)" 4 +.IX Item "EGD = ŚCIEŻKA_DO_EGD (tylko Unix)" +ścieżka do gniazda programu Entropy Gathering Daemon +.Sp +Opcja pozwala określić ścieżkę do gniazda programu Entropy Gathering Daemon +używanego do zainicjalizowania generatora ciągów pseudolosowych biblioteki +\&\fBOpenSSL\fR. Opcja jest dostępna z biblioteką \fBOpenSSL 0.9.5a\fR lub nowszą. +.IP "\fBengine\fR = auto | IDENTYFIKATOR_URZĄDZENIA" 4 +.IX Item "engine = auto | IDENTYFIKATOR_URZĄDZENIA" +wybór sprzętowego urządzenia kryptograficznego +.Sp +domyślnie: bez wykorzystania urządzeń kryptograficznych +.Sp +Przykładowa konfiguracja umożliwiająca odczytanie klucza prywatnego z +urządzenia zgodnego z OpenSC: +.Sp +.Vb 7 +\& 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 +.Ve +.IP "\fBengineCtrl\fR = KOMENDA[:PARAMETR]" 4 +.IX Item "engineCtrl = KOMENDA[:PARAMETR]" +konfiguracja urządzenia kryptograficznego +.Sp +Specjalne komendy \*(L"\s-1LOAD\*(R"\s0 i \*(L"\s-1INIT\*(R"\s0 pozwalają na załadowanie i inicjalizację +modułu kryptograficznego urządzenia. +.IP "\fBengineDefault\fR = LISTA_ZADAŃ" 4 +.IX Item "engineDefault = LISTA_ZADAŃ" +lista zadań OpenSSL oddelegowanych do bieżącego urządzenia +.Sp +Parametrem jest lista oddzielonych przecinkami zadań OpenSSL, które mają +zostać oddelegowane do bieżącego urządzenia kryptograficznego. +.Sp +W zależności od konkretnego urządzenia dostępne mogą być następujące zadania: +\&\s-1ALL, RSA, DSA, ECDH, ECDSA, DH, RAND, CIPHERS, DIGESTS, PKEY, PKEY_CRYPTO, +PKEY_ASN1.\s0 +.IP "\fBfips\fR = yes | no" 4 +.IX Item "fips = yes | no" +tryb \s-1FIPS 140\-2\s0 +.Sp +Opcja pozwala wyłączyć wejście w tryb \s-1FIPS,\s0 jeśli \fBstunnel\fR został +skompilowany ze wsparciem dla \s-1FIPS 140\-2.\s0 +.Sp +domyślnie: no (od wersji 5.00) +.IP "\fBforeground\fR = yes | no (tylko Unix)" 4 +.IX Item "foreground = yes | no (tylko Unix)" +tryb pierwszoplanowy +.Sp +Użycie tej opcji powoduje, że \fBstunnel\fR nie przechodzi w tło logując +swoje komunikaty na konsolę zamiast przez \fIsyslog\fR (o ile nie użyto +opcji \fIoutput\fR). +.IP "\fBiconActive\fR = PLIK_Z_IKONKĄ (tylko \s-1GUI\s0)" 4 +.IX Item "iconActive = PLIK_Z_IKONKĄ (tylko GUI)" +ikonka wyświetlana przy obecności aktywnych połączeń do usługi +.Sp +W systemie Windows ikonka to plik .ico zawierający obrazek 16x16 pikseli. +.IP "\fBiconError\fR = PLIK_Z_IKONKĄ (tylko \s-1GUI\s0)" 4 +.IX Item "iconError = PLIK_Z_IKONKĄ (tylko GUI)" +ikonka wyświetlana, jeżeli nie został załadowany poprawny plik konfiguracyjny +.Sp +W systemie Windows ikonka to plik .ico zawierający obrazek 16x16 pikseli. +.IP "\fBiconIdle\fR = PLIK_Z_IKONKĄ (tylko \s-1GUI\s0)" 4 +.IX Item "iconIdle = PLIK_Z_IKONKĄ (tylko GUI)" +ikonka wyświetlana przy braku aktywnych połączeń do usługi +.Sp +W systemie Windows ikonka to plik .ico zawierający obrazek 16x16 pikseli. +.IP "\fBlog\fR = append | overwrite" 4 +.IX Item "log = append | overwrite" +log file handling +.Sp +This option allows to choose whether the log file (specified with the \fIoutput\fR +option) is appended or overwritten when opened or re-opened. +.Sp +domyślnie: append +.IP "\fBoutput\fR = \s-1PLIK\s0" 4 +.IX Item "output = PLIK" +plik, do którego dopisane zostaną logi +.Sp +Użycie tej opcji powoduje dopisanie logów do podanego pliku. +.Sp +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. +.IP "\fBpid\fR = \s-1PLIK \s0(tylko Unix)" 4 +.IX Item "pid = PLIK (tylko Unix)" +położenie pliku z numerem procesu +.Sp +Jeżeli argument jest pusty plik nie zostanie stworzony. +.Sp +Jeżeli zdefiniowano katalog \fIchroot\fR, to ścieżka do \fIpid\fR jest określona +względem tego katalogu. +.IP "\fBRNDbytes\fR = LICZBA_BAJTÓW" 4 +.IX Item "RNDbytes = LICZBA_BAJTÓW" +liczba bajtów do zainicjowania generatora pseudolosowego +.Sp +W wersjach biblioteki \fBOpenSSL\fR starszych niż \fB0.9.5a\fR opcja ta określa +również liczbę bajtów wystarczających do zainicjowania \s-1PRNG.\s0 +Nowsze wersje biblioteki mają wbudowaną funkcję określającą, czy +dostarczona ilość losowości jest wystarczająca do zainicjowania generatora. +.IP "\fBRNDfile\fR = \s-1PLIK\s0" 4 +.IX Item "RNDfile = PLIK" +ścieżka do pliku zawierającego losowe dane +.Sp +Biblioteka \fBOpenSSL\fR użyje danych z tego pliku do zainicjowania +generatora pseudolosowego. +.IP "\fBRNDoverwrite\fR = yes | no" 4 +.IX Item "RNDoverwrite = yes | no" +nadpisz plik nowymi wartościami pseudolosowymi +.Sp +domyślnie: yes (nadpisz) +.IP "\fBservice\fR = \s-1SERWIS \s0(tylko Unix)" 4 +.IX Item "service = SERWIS (tylko Unix)" +nazwa usługi +.Sp +Podana nazwa usługi będzie używana jako nazwa usługi dla inicjalizacji sysloga, +oraz dla biblioteki \s-1TCP\s0 Wrapper w trybie \fIinetd\fR. Chociaż technicznie można +użyć tej opcji w trybie w sekcji usług, to jest ona użyteczna jedynie w opcjach +globalnych. +.Sp +domyślnie: stunnel +.IP "\fBsetgid\fR = \s-1IDENTYFIKATOR_GRUPY \s0(tylko Unix)" 4 +.IX Item "setgid = IDENTYFIKATOR_GRUPY (tylko Unix)" +grupa z której prawami pracował będzie \fBstunnel\fR +.IP "\fBsetuid\fR = IDENTYFIKATOR_UŻYTKOWNIKA (tylko Unix)" 4 +.IX Item "setuid = IDENTYFIKATOR_UŻYTKOWNIKA (tylko Unix)" +użytkownik, z którego prawami pracował będzie \fBstunnel\fR +.IP "\fBsocket\fR = a|l|r:OPCJA=WARTOŚĆ[:WARTOŚĆ]" 4 +.IX Item "socket = a|l|r:OPCJA=WARTOŚĆ[:WARTOŚĆ]" +ustaw opcję na akceptującym/lokalnym/zdalnym gnieździe +.Sp +Dla opcji linger wartości mają postać l_onof:l_linger. +Dla opcji time wartości mają postać tv_sec:tv_usec. +.Sp +Przykłady: +.Sp +.Vb 10 +\& 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) +.Ve +.IP "\fBsyslog\fR = yes | no (tylko Unix)" 4 +.IX Item "syslog = yes | no (tylko Unix)" +włącz logowanie poprzez mechanizm syslog +.Sp +domyślnie: yes (włącz) +.IP "\fBtaskbar\fR = yes | no (tylko \s-1WIN32\s0)" 4 +.IX Item "taskbar = yes | no (tylko WIN32)" +włącz ikonkę w prawym dolnym rogu ekranu +.Sp +domyślnie: yes (włącz) +.SS "\s-1OPCJE\s0 USŁUG" +.IX Subsection "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 (\s-1TCP\s0 wrappers) oraz pozwala rozróżnić poszczególne +usługi w logach. +.PP +Jeżeli \fBstunnel\fR ma zostać użyty w trybie \fIinetd\fR, gdzie za odebranie +połączenia odpowiada osobny program (zwykle \fIinetd\fR, \fIxinetd\fR +lub \fItcpserver\fR), należy przeczytać sekcję \fI\s-1TRYB INETD\s0\fR poniżej. +.IP "\fBaccept\fR = [\s-1HOST:\s0]PORT" 4 +.IX Item "accept = [HOST:]PORT" +nasłuchuje na połączenia na podanym adresie i porcie +.Sp +Jeżeli nie został podany adres, \fBstunnel\fR domyślnie nasłuchuje +na wszystkich adresach IPv4 lokalnych interfejsów. +.Sp +Aby nasłuchiwać na wszystkich adresach IPv6 należy użyć: +.Sp +.Vb 1 +\& accept = :::port +.Ve +.IP "\fBCApath\fR = \s-1KATALOG_CA\s0" 4 +.IX Item "CApath = KATALOG_CA" +katalog Centrum Certyfikacji +.Sp +Opcja określa katalog, w którym \fBstunnel\fR będzie szukał certyfikatów, +jeżeli użyta została opcja \fIverify\fR. Pliki z certyfikatami muszą +posiadać specjalne nazwy \s-1XXXXXXXX.0,\s0 gdzie \s-1XXXXXXXX\s0 jest skrótem +kryptograficznym reprezentacji \s-1DER\s0 nazwy podmiotu certyfikatu. +.Sp +Funkcja skrótu została zmieniona w \fBOpenSSL 1.0.0\fR. +Należy wykonać c_rehash przy zmianie \fBOpenSSL 0.x.x\fR na \fB1.x.x\fR. +.Sp +Jeżeli zdefiniowano katalog \fIchroot\fR, to ścieżka do \fICApath\fR jest określona +względem tego katalogu. +.IP "\fBCAfile\fR = \s-1PLIK_CA\s0" 4 +.IX Item "CAfile = PLIK_CA" +plik Centrum Certyfikacji +.Sp +Opcja pozwala określić położenie pliku zawierającego certyfikaty używane +przez opcję \fIverify\fR. +.IP "\fBcert\fR = \s-1PLIK_PEM\s0" 4 +.IX Item "cert = PLIK_PEM" +plik z łańcuchem certyfikatów +.Sp +Opcja określa położenie pliku zawierającego certyfikaty używane przez +program \fBstunnel\fR do uwierzytelnienia się przed drugą stroną połączenia. +Certyfikat jest konieczny, aby używać programu w trybie serwera. +W trybie klienta certyfikat jest opcjonalny. +.IP "\fBcheckEmail\fR = \s-1EMAIL\s0" 4 +.IX Item "checkEmail = EMAIL" +adres email przedstawionego certyfikatu +.Sp +Pojedyncza sekcja może zawierać wiele wystąpień opcji \fBcheckEmail\fR. +Certyfikaty są akceptowane, jeżeli sekcja nie zawiera opcji \fBcheckEmail\fR, +albo adres email przedstawionego certyfikatu pasuje do jednego z adresów +email określonych przy pomocy \fBcheckEmail\fR. +.IP "\fBcheckHost\fR = \s-1NAZWA_SERWERA\s0" 4 +.IX Item "checkHost = NAZWA_SERWERA" +nazwa serwera przedstawionego certyfikatu +.Sp +Pojedyncza sekcja może zawierać wiele wystąpień opcji \fBcheckHost\fR. +Certyfikaty są akceptowane, jeżeli sekcja nie zawiera opcji \fBcheckHost\fR, albo +nazwa serwera przedstawionego certyfikatu pasuje do jednego nazw określonych +przy pomocy \fBcheckHost\fR. +.IP "\fBcheckIP\fR = \s-1IP\s0" 4 +.IX Item "checkIP = IP" +adres \s-1IP\s0 przedstawionego certyfikatu +.Sp +Pojedyncza sekcja może zawierać wiele wystąpień opcji \fBcheckIP\fR. Certyfikaty +są akceptowane, jeżeli sekcja nie zawiera opcji \fBcheckIP\fR, albo adres \s-1IP\s0 +przedstawionego certyfikatu pasuje do jednego z adresów \s-1IP\s0 określonych przy +pomocy \fBcheckIP\fR. +.IP "\fBciphers\fR = LISTA_SZYFRÓW" 4 +.IX Item "ciphers = LISTA_SZYFRÓW" +lista dozwolonych szyfrów \s-1SSL\s0 +.Sp +Parametrem tej opcji jest lista szyfrów, które będą użyte przy +otwieraniu nowych połączeń \s-1SSL,\s0 np.: \s-1DES\-CBC3\-SHA:IDEA\-CBC\-MD5\s0 +.IP "\fBclient\fR = yes | no" 4 +.IX Item "client = yes | no" +tryb kliencki (zdalna usługa używa \s-1SSL\s0) +.Sp +domyślnie: no (tryb serwerowy) +.IP "\fBconnect\fR = [\s-1HOST:\s0]PORT" 4 +.IX Item "connect = [HOST:]PORT" +połącz się ze zdalnym serwerem na podany port +.Sp +Jeżeli nie został podany adres, \fBstunnel\fR domyślnie łączy się +z lokalnym serwerem. +.Sp +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. +.IP "\fBCRLpath\fR = \s-1KATALOG_CRL\s0" 4 +.IX Item "CRLpath = KATALOG_CRL" +katalog List Odwołanych Certyfikatów (\s-1CRL\s0) +.Sp +Opcja określa katalog, w którym \fBstunnel\fR będzie szukał list \s-1CRL,\s0 +jeżeli użyta została opcja \fIverify\fR. Pliki z listami \s-1CRL\s0 muszą +posiadać specjalne nazwy \s-1XXXXXXXX\s0.r0, gdzie \s-1XXXXXXXX\s0 jest skrótem +listy \s-1CRL.\s0 +.Sp +Funkcja skrótu została zmieniona \fBOpenSSL 1.0.0\fR. +Należy wykonać c_rehash przy zmianie \fBOpenSSL 0.x.x\fR na \fB1.x.x\fR. +.Sp +Jeżeli zdefiniowano katalog \fIchroot\fR, to ścieżka do \fICRLpath\fR jest określona +względem tego katalogu. +.IP "\fBCRLfile\fR = \s-1PLIK_CRL\s0" 4 +.IX Item "CRLfile = PLIK_CRL" +plik List Odwołanych Certyfikatów (\s-1CRL\s0) +.Sp +Opcja pozwala określić położenie pliku zawierającego listy \s-1CRL\s0 używane +przez opcję \fIverify\fR. +.IP "\fBcurve\fR = \s-1NID\s0" 4 +.IX Item "curve = NID" +krzywa dla \s-1ECDH\s0 +.Sp +Listę dostępnych krzywych można uzyskać poleceniem: +.Sp +.Vb 1 +\& openssl ecparam \-list_curves +.Ve +.Sp +domyślnie: prime256v1 +.IP "\fBlogId\fR = \s-1TYP\s0" 4 +.IX Item "logId = TYP" +typ identyfikatora połączenia klienta +.Sp +Identyfikator ten pozwala rozróżnić wpisy w logu wygenerowane dla +poszczególnych połączeń. +.Sp +Aktualnie wspierane typy: +.RS 4 +.IP "\fIsequential\fR" 4 +.IX Item "sequential" +Kolejny numer połączenia jest unikalny jedynie w obrębie pojedynczej instancji +programu \fBstunnel\fR, ale bardzo krótki. Jest on szczególnie użytczny przy +ręcznej analizie logów. +.IP "\fIunique\fR" 4 +.IX Item "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. +.IP "\fIthread\fR" 4 +.IX Item "thread" +Identyfikator wątku systemu operacyjnego nie jest ani unikalny (nawet w obrębie +pojedynczej instancji programu \fBstunnel\fR), ani krótki. Jest on szczególnie +użyteczny przy diagnozowaniu problemów z oprogramowaniem lub konfiguracją. +.RE +.RS 4 +.Sp +domyślnie: sequential +.RE +.IP "\fBdebug\fR = \s-1POZIOM\s0" 4 +.IX Item "debug = POZIOM" +szczegółowość logowania +.Sp +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 +\&\fIdebug = debug\fR lub \fIdebug = 7\fR. Domyślnym poziomem jest notice (5). +.IP "\fBdelay\fR = yes | no" 4 +.IX Item "delay = yes | no" +opóźnij rozwinięcie adresu \s-1DNS\s0 podanego w opcji \fIconnect\fR +.Sp +Opcja jest przydatna przy dynamicznym \s-1DNS,\s0 albo gdy usługa \s-1DNS\s0 nie jest +dostępna przy starcie programu \fBstunnel\fR (klient \s-1VPN,\s0 połączenie wdzwaniane). +.Sp +Opóźnione rozwijanie adresu \s-1DNS\s0 jest włączane automatycznie, jeżeli nie +powiedzie się rozwinięcie któregokolwiek z adresów \fIconnect\fR dla danej +usługi. +.Sp +Opóźnione rozwijanie adresu automatycznie aktywuje \fIfailover = prio\fR. +.Sp +default: no +.IP "\fBengineId\fR = NUMER_URZĄDZENIA" 4 +.IX Item "engineId = NUMER_URZĄDZENIA" +wybierz urządzenie dla usługi +.IP "\fBengineNum\fR = NUMER_URZĄDZENIA" 4 +.IX Item "engineNum = NUMER_URZĄDZENIA" +wybierz urządzenie dla usługi +.Sp +Urządzenia są numerowane od 1 w górę. +.IP "\fBexec\fR = ŚCIEŻKA_DO_PROGRAMU" 4 +.IX Item "exec = ŚCIEŻKA_DO_PROGRAMU" +wykonaj lokalny program przystosowany do pracy z superdemonem inetd +.Sp +Jeżeli zdefiniowano katalog \fIchroot\fR, to ścieżka do \fIexec\fR jest określona +względem tego katalogu. +.Sp +Na platformach Unix ustawiane są następujące zmienne środowiskowe: +\&\s-1REMOTE_HOST, REMOTE_PORT, SSL_CLIENT_DN, SSL_CLIENT_I_DN.\s0 +.ie n .IP "\fBexecArgs\fR = $0 $1 $2 ..." 4 +.el .IP "\fBexecArgs\fR = \f(CW$0\fR \f(CW$1\fR \f(CW$2\fR ..." 4 +.IX Item "execArgs = $0 $1 $2 ..." +argumenty do opcji \fIexec\fR włącznie z nazwą programu ($0) +.Sp +Cytowanie nie jest wspierane w obecnej wersji programu. +Argumenty są rozdzielone dowolną liczbą białych znaków. +.IP "\fBfailover\fR = rr | prio" 4 +.IX Item "failover = rr | prio" +Strategia wybierania serwerów wyspecyfikowanych parametrami \*(L"connect\*(R". +.Sp +.Vb 2 +\& rr (round robin) \- sprawiedliwe rozłożenie obciążenia +\& prio (priority) \- użyj kolejności opcji w pliku konfiguracyjnym +.Ve +.Sp +domyślnie: rr +.IP "\fBident\fR = NAZWA_UŻYTKOWNIKA" 4 +.IX Item "ident = NAZWA_UŻYTKOWNIKA" +weryfikuj nazwę zdalnego użytkownika korzystając z protokołu \s-1IDENT \s0(\s-1RFC 1413\s0) +.IP "\fBinclude\fR = \s-1KATALOG\s0" 4 +.IX Item "include = KATALOG" +wczytaj fragmenty plików konfiguracyjnych z podanego katalogu +.Sp +Pliki są wczytywane w rosnącej kolejności alfabetycznej ich nazw. +.IP "\fBkey\fR = \s-1PLIK_KLUCZA\s0" 4 +.IX Item "key = PLIK_KLUCZA" +klucz prywatny do certyfikatu podanego w opcji \fIcert\fR +.Sp +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ą: +.Sp +.Vb 1 +\& chmod 600 keyfile +.Ve +.Sp +domyślnie: wartość opcji \fIcert\fR +.IP "\fBlibwrap\fR = yes | no" 4 +.IX Item "libwrap = yes | no" +włącz lub wyłącz korzystanie z /etc/hosts.allow i /etc/hosts.deny. +.Sp +domyślnie: no (od wersji 5.00) +.IP "\fBlocal\fR = \s-1HOST\s0" 4 +.IX Item "local = HOST" +\&\s-1IP\s0 źródła do nawiązywania zdalnych połączeń +.Sp +Domyślnie używane jest \s-1IP\s0 najbardziej zewnętrznego interfejsu w stronę +serwera, do którego nawiązywane jest połączenie. +.IP "\fBsni\fR = USŁUGA:WZORZEC_NAZWY_SERWERA (tryb serwera)" 4 +.IX Item "sni = USŁUGA:WZORZEC_NAZWY_SERWERA (tryb serwera)" +Użyj usługi jako podrzędnej (virtualnego serwera) dla rozszerzenia \s-1TLS\s0 Server +Name Indication (\s-1RFC 3546\s0). +.Sp +\&\fInazwa_usługi\fR wskazuje usługę nadrzędną, która odbiera połączenia od klientów +przy pomocy opcji \fIaccept\fR. \fIwzorzec_nazwy_serwera\fR 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 \fIsni\fR może być rownież użyta wielokrotnie w ramach jednej usługi +podrzędnej. +.Sp +Zarówno usługa nadrzędna jak i podrzędna nie może być skonfigurowana w trybie +klienckim. +.Sp +Opcja \fIconnect\fR usługi podrzędnej jest ignorowana w połączeniu z opcją +\&\fIprotocol\fR, gdyż połączenie do zdalnego serwera jest w tym wypadku nawiązywane +przed negocjacją \s-1TLS.\s0 +.Sp +Uwierzytelnienie przy pomocy biblioteki libwrap jest realizowane dwukrotnie: +najpierw dla usługi nadrzędnej po odebraniu połączenia \s-1TCP,\s0 a następnie dla +usługi podrzędnej podczas negocjacji \s-1TLS.\s0 +.Sp +Opcja \fIsni\fR jest dostępna począwszy od \fBOpenSSL 1.0.0\fR. +.IP "\fBsni\fR = \s-1HOST \s0(tryb klienta)" 4 +.IX Item "sni = HOST (tryb klienta)" +Użyj parametru jako wartości rozszerzenia \s-1TLS\s0 Server Name Indication +(\s-1RFC 3546\s0). +.Sp +Opcja \fIsni\fR jest dostępna począwszy od \fBOpenSSL 1.0.0\fR. +.IP "\fB\s-1OCSP\s0\fR = \s-1URL\s0" 4 +.IX Item "OCSP = URL" +serwer \s-1OCSP\s0 do weryfikacji certyfikatów +.IP "\fBOCSPaia\fR = yes | no" 4 +.IX Item "OCSPaia = yes | no" +weryfikuj certyfikaty przy użyciu respondertów \s-1AIA\s0 +.Sp +Opcja \fIOCSPaia\fR pozwala na weryfikowanie certyfikatów przy pomocy listy URLi +serwerów \s-1OCSP\s0 przesłanych w rozszerzeniach \s-1AIA \s0(Authority Information Access). +.IP "\fBOCSPflag\fR = \s-1FLAGA_OCSP\s0" 4 +.IX Item "OCSPflag = FLAGA_OCSP" +flaga serwera \s-1OCSP\s0 +.Sp +aktualnie wspierane flagi: \s-1NOCERTS, NOINTERN NOSIGS, NOCHAIN, NOVERIFY, +NOEXPLICIT, NOCASIGN, NODELEGATED, NOCHECKS, TRUSTOTHER, RESPID_KEY, NOTIME\s0 +.Sp +Aby wyspecyfikować kilka flag należy użyć \fIOCSPflag\fR wielokrotnie. +.IP "\fBoptions\fR = \s-1OPCJE_SSL\s0" 4 +.IX Item "options = OPCJE_SSL" +opcje biblioteki \fBOpenSSL\fR +.Sp +Parametrem jest nazwa opcji zgodnie z opisem w \fI\fISSL_CTX_set_options\fI\|(3ssl)\fR, +ale bez przedrostka \fI\s-1SSL_OP_\s0\fR. +\&\fIstunnel \-options\fR wyświetla opcje dozwolone w aktualnej kombinacji +programu \fIstunnel\fR i biblioteki \fIOpenSSL\fR. +.Sp +Aby wyspecyfikować kilka opcji należy użyć \fIoptions\fR wielokrotnie. +Nazwa opcji może być poprzedzona myślnikiem (\*(L"\-\*(R") celem wyłączenia opcji. +.Sp +Na przykład, dla zachowania kompatybilności z błędami implementacji \s-1SSL\s0 +w programie Eudora, można użyć opcji: +.Sp +.Vb 1 +\& options = DONT_INSERT_EMPTY_FRAGMENTS +.Ve +.Sp +domyślnie: +.Sp +.Vb 2 +\& options = NO_SSLv2 +\& options = NO_SSLv3 +.Ve +.IP "\fBprotocol\fR = PROTOKÓŁ" 4 +.IX Item "protocol = PROTOKÓŁ" +negocjuj \s-1SSL\s0 podanym protokołem aplikacyjnym +.Sp +Opcja ta włącza wstępną negocjację szyfrowania \s-1SSL\s0 dla wybranego protokołu +aplikacyjnego. +Opcji \fIprotocol\fR nie należy używać z szyfrowaniem \s-1SSL\s0 na osobnym porcie. +.Sp +Aktualnie wspierane protokoły: +.RS 4 +.IP "\fIcifs\fR" 4 +.IX Item "cifs" +Unieudokumentowane rozszerzenie protokołu \s-1CIFS\s0 wspierane przez serwer Samba. +Wsparcie dla tego rozrzeczenia zostało zarzucone w wersji 3.0.0 serwera Samba. +.IP "\fIconnect\fR" 4 +.IX Item "connect" +Negocjacja \s-1RFC 2817 \- \s0\fIUpgrading to \s-1TLS\s0 Within \s-1HTTP/1.1\s0\fR, rozdział 5.2 \- \fIRequesting a Tunnel with \s-1CONNECT\s0\fR +.Sp +Ten protokół jest wspierany wyłącznie w trybie klienckim. +.IP "\fIimap\fR" 4 +.IX Item "imap" +Negocjacja \s-1RFC 2595 \- \s0\fIUsing \s-1TLS\s0 with \s-1IMAP, POP3\s0 and \s-1ACAP\s0\fR +.IP "\fInntp\fR" 4 +.IX Item "nntp" +Negocjacja \s-1RFC 4642 \- \s0\fIUsing Transport Layer Security (\s-1TLS\s0) with Network News Transfer Protocol (\s-1NNTP\s0)\fR +.Sp +Ten protokół jest wspierany wyłącznie w trybie klienckim. +.IP "\fIpgsql\fR" 4 +.IX Item "pgsql" +Negocjacja http://www.postgresql.org/docs/8.3/static/protocol\-flow.html#AEN73982 +.IP "\fIpop3\fR" 4 +.IX Item "pop3" +Negocjacja \s-1RFC 2449 \- \s0\fI\s-1POP3\s0 Extension Mechanism\fR +.IP "\fIproxy\fR" 4 +.IX Item "proxy" +Przekazywanie adresu \s-1IP\s0 haproxy http://haproxy.1wt.eu/download/1.5/doc/proxy\-protocol.txt +.IP "\fIsmtp\fR" 4 +.IX Item "smtp" +Negocjacja \s-1RFC 2487 \- \s0\fI\s-1SMTP\s0 Service Extension for Secure \s-1SMTP\s0 over \s-1TLS\s0\fR +.IP "\fIsocks\fR" 4 +.IX Item "socks" +Wspierany jest protokół \s-1SOCKS\s0 w wersjach 4, 4a i 5. +Protokół \s-1SOCKS\s0 enkapsulowany jest w protokole \s-1SSL/TLS,\s0 więc adres serwera +docelowego nie jest widoczny dla napastnika przechwytującego ruch sieciowy. +.Sp +\&\fIhttp://www.openssh.com/txt/socks4.protocol\fR +.Sp +\&\fIhttp://www.openssh.com/txt/socks4a.protocol\fR +.Sp +Nie jest wspierana komenda \s-1BIND\s0 protokołu \s-1SOCKS.\s0 +Przesłana wartość parametru \s-1USERID\s0 jest ignorowana. +.Sp +Sekcja PRZYKŁADY zawiera przykładowe pliki konfiguracyjne VPNa zbudowanego +w oparciu o szyfrowany protokół \s-1SOCKS.\s0 +.RE +.RS 4 +.RE +.IP "\fBprotocolAuthentication\fR = basic | ntlm" 4 +.IX Item "protocolAuthentication = basic | ntlm" +rodzaj uwierzytelnienia do negocjacji protokołu +.Sp +Obecnie typ uwierzytelnienia ma zastosowanie wyłącznie w protokole 'connect'. +.Sp +domyślnie: basic +.IP "\fBprotocolHost\fR = \s-1HOST:PORT\s0" 4 +.IX Item "protocolHost = HOST:PORT" +adres docelowy do negocjacji protokołu +.Sp +\&\fIprotocolHost\fR określa docelowy serwer \s-1SSL,\s0 do którego połączyć ma się proxy. +Nie jest to adres serwera proxy, do którego połączenie zestawia \fBstunnel\fR. +Adres serwera proxy powinien być określony przy pomocy opcji 'connect'. +.Sp +W obecnej wersji adres docelowy protokołu ma zastosowanie wyłącznie w protokole +\&'connect'. +.IP "\fBprotocolPassword\fR = HASŁO" 4 +.IX Item "protocolPassword = HASŁO" +hasło do negocjacji protokołu +.IP "\fBprotocolUsername\fR = UŻYTKOWNIK" 4 +.IX Item "protocolUsername = UŻYTKOWNIK" +nazwa użytkownika do negocjacji protokołu +.IP "\fBPSKidentity\fR = TOŻSAMOŚĆ" 4 +.IX Item "PSKidentity = TOŻSAMOŚĆ" +tożsamość klienta \s-1PSK\s0 +.Sp +\&\fIPSKidentity\fR może zostać użyte w sekcjach klienckich do wybrania +tożsamości użytej do uwierzytelnienia \s-1PSK.\s0 +Opcja jest ignorowana w sekcjach serwerowych. +.Sp +domyślnie: pierwsza tożsamość zdefiniowana w pliku \fIPSKsecrets\fR +.IP "\fBPSKsecrets\fR = \s-1PLIK\s0" 4 +.IX Item "PSKsecrets = PLIK" +plik z tożsamościami i kluczami \s-1PSK\s0 +.Sp +Każda linia pliku jest w następującym formacie: +.Sp +.Vb 1 +\& TOŻSAMOŚĆ:KLUCZ +.Ve +.Sp +Klucz musi być mieć przynajmniej 20 znaków. +Należy ograniczyć dostęp do czytania lub pisania do tego pliku. +.IP "\fBpty\fR = yes | no (tylko Unix)" 4 +.IX Item "pty = yes | no (tylko Unix)" +alokuj pseudoterminal dla programu uruchamianego w opcji 'exec' +.IP "\fBredirect\fR = [\s-1HOST:\s0]PORT" 4 +.IX Item "redirect = [HOST:]PORT" +przekieruj klienta, któremu nie udało się poprawnie uwierzytelnić przy pomocy certyfikatu +.Sp +Opcja działa wyłącznie w trybie serwera. +Część negocjacji protokołów jest niekompatybilna z opcją \fIredirect\fR. +.IP "\fBrenegotiation\fR = yes | no" 4 +.IX Item "renegotiation = yes | no" +pozwalaj na renegocjację \s-1SSL\s0 +.Sp +Wśród zastosowań renegocjacji \s-1SSL\s0 są niektóre scenariusze uwierzytelnienia, +oraz renegocjacja kluczy dla długotrwałych połączeń. +.Sp +Z drugiej strony własność na może ułatwić trywialny atak DoS poprzez +wygenerowanie obciążenia procesora: +.Sp +http://vincent.bernat.im/en/blog/2011\-ssl\-dos\-mitigation.html +.Sp +Warto zauważyć, że zablokowanie renegocjacji \s-1SSL\s0 nie zebezpiecza w pełni +przed opisanym problemem. +.Sp +domyślnie: yes (o ile wspierane przez \fBOpenSSL\fR) +.IP "\fBreset\fR = yes | no" 4 +.IX Item "reset = yes | no" +sygnalizuj wystąpienie błędu przy pomocy flagi \s-1TCP RST\s0 +.Sp +Opcja nie jest wspierana na niektórych platformach. +.Sp +domyślnie: yes +.IP "\fBretry\fR = yes | no" 4 +.IX Item "retry = yes | no" +połącz ponownie sekcję connect+exec po rozłączeniu +.Sp +domyślnie: no +.IP "\fBsessionCacheSize\fR = \s-1LICZBA_POZYCJI_CACHE\s0" 4 +.IX Item "sessionCacheSize = LICZBA_POZYCJI_CACHE" +rozmiar pamięci podręcznej sesji \s-1SSL\s0 +.Sp +Parametr określa maksymalną liczbę pozycji wewnętrznej pamięci podręcznej +sesji. +.Sp +Wartość 0 oznacza brak ograniczenia rozmiaru. Nie jest to zalecane dla +systemów produkcyjnych z uwagi na ryzyko ataku DoS przez wyczerpanie pamięci +\&\s-1RAM.\s0 +.IP "\fBsessionCacheTimeout\fR = \s-1LICZBA_SEKUND\s0" 4 +.IX Item "sessionCacheTimeout = LICZBA_SEKUND" +przeterminowanie pamięci podręcznej sesji \s-1SSL\s0 +.Sp +Parametr określa czas w sekundach, po którym sesja \s-1SSL\s0 zostanie usunięta z +pamięci podręcznej. +.IP "\fBsessiond\fR = \s-1HOST:PORT\s0" 4 +.IX Item "sessiond = HOST:PORT" +adres sessiond \- servera cache sesji \s-1SSL\s0 +.IP "\fBsslVersion\fR = \s-1WERSJA_SSL\s0" 4 +.IX Item "sslVersion = WERSJA_SSL" +wersja protokołu \s-1SSL\s0 +.Sp +Dozwolone opcje: all, SSLv2, SSLv3, TLSv1, TLSv1.1, TLSv1.2 +.IP "\fBstack\fR = LICZBA_BAJTÓW (z wyjątkiem modelu \s-1FORK\s0)" 4 +.IX Item "stack = LICZBA_BAJTÓW (z wyjątkiem modelu FORK)" +rozmiar stosu procesora wątku +.IP "\fBTIMEOUTbusy\fR = \s-1LICZBA_SEKUND\s0" 4 +.IX Item "TIMEOUTbusy = LICZBA_SEKUND" +czas oczekiwania na spodziewane dane +.IP "\fBTIMEOUTclose\fR = \s-1LICZBA_SEKUND\s0" 4 +.IX Item "TIMEOUTclose = LICZBA_SEKUND" +czas oczekiwania na close_notify (ustaw na 0, jeżeli klientem jest \s-1MSIE\s0) +.IP "\fBTIMEOUTconnect\fR = \s-1LICZBA_SEKUND\s0" 4 +.IX Item "TIMEOUTconnect = LICZBA_SEKUND" +czas oczekiwania na nawiązanie połączenia +.IP "\fBTIMEOUTidle\fR = \s-1LICZBA_SEKUND\s0" 4 +.IX Item "TIMEOUTidle = LICZBA_SEKUND" +maksymalny czas utrzymywania bezczynnego połączenia +.IP "\fBtransparent\fR = none | source | destination | both (tylko Unix)" 4 +.IX Item "transparent = none | source | destination | both (tylko Unix)" +tryb przezroczystego proxy na wspieranych platformach +.Sp +Wspierane opcje: +.RS 4 +.IP "\fBnone\fR" 4 +.IX Item "none" +Zablokuj wsparcie dla przezroczystago proxy. Jest to wartość domyślna. +.IP "\fBsource\fR" 4 +.IX Item "source" +Przepisz adres, aby nawiązywane połączenie wydawało się pochodzić +bezpośrednio od klienta, a nie od programu \fBstunnel\fR. +.Sp +Opcja jest aktualnie obsługiwana w: +.RS 4 +.IP "Trybie zdalnym (opcja \fIconnect\fR) w systemie \fILinux >=2.6.28\fR" 4 +.IX Item "Trybie zdalnym (opcja connect) w systemie Linux >=2.6.28" +Konfiguracja wymaga następujących ustawień iptables oraz routingu +(na przykład w pliku /etc/rc.local lub analogicznym): +.Sp +.Vb 7 +\& 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 +.Ve +.Sp +Konfiguracja ta wymaga, aby \fBstunnel\fR był wykonywany jako root i bez opcji \fIsetuid\fR. +.IP "Trybie zdalnym (opcja \fIconnect\fR) w systemie \fILinux 2.2.x\fR" 4 +.IX Item "Trybie zdalnym (opcja connect) w systemie Linux 2.2.x" +Konfiguracja ta wymaga skompilowania jądra z opcją \fItransparent proxy\fR. +Docelowa usługa musi być umieszczona na osobnej maszynie, do której routing +kierowany jest poprzez serwer \fBstunnela\fR. +.Sp +Dodatkowo \fBstunnel\fR powinien być wykonywany jako root i bez opcji \fIsetuid\fR. +.IP "Trybie zdalnym (opcja \fIconnect\fR) w systemie \fIFreeBSD >=8.0\fR" 4 +.IX Item "Trybie zdalnym (opcja connect) w systemie FreeBSD >=8.0" +Konfiguracja ta wymaga skonfigurowania firewalla i routingu. +\&\fBstunnel\fR musi być wykonywany jako root i bez opcji \fIsetuid\fR. +.IP "Trybie lokalnym (opcja \fIexec\fR)" 4 +.IX Item "Trybie lokalnym (opcja exec)" +Konfiguracja ta jest realizowana przy pomocy biblioteki \fIlibstunnel.so\fR. +Do załadowania biblioteki wykorzystywana jest zmienna środowiskowa _RLD_LIST na +platformie Tru64 lub \s-1LD_PRELOAD\s0 na innych platformach. +.RE +.RS 4 +.RE +.IP "\fIdestination\fR" 4 +.IX Item "destination" +Oryginalny adres docelowy jest używany zamiast opcji \fIconnect\fR. +.Sp +Przykładowana konfiguracja przezroczystego adresu docelowego: +.Sp +.Vb 4 +\& [transparent] +\& client=yes +\& accept=<port_stunnela> +\& transparent=destination +.Ve +.Sp +Konfiguracja wymaga ustawień iptables, na przykład w pliku +/etc/rc.local lub analogicznym. +.Sp +W przypadku docelowej usługi umieszczonej na tej samej maszynie: +.Sp +.Vb 3 +\& /sbin/iptables \-t nat \-I OUTPUT \-p tcp \-\-dport <port_przekierowany> \e +\& \-m ! \-\-uid\-owner <identyfikator_użytkownika_stunnela> \e +\& \-j DNAT \-\-to\-destination <lokalne_ip>:<lokalny_port> +.Ve +.Sp +W przypadku docelowej usługi umieszczonej na zdalnej maszynie: +.Sp +.Vb 3 +\& /sbin/iptables \-I INPUT \-i eth0 \-p tcp \-\-dport <port_stunnela> \-j ACCEPT +\& /sbin/iptables \-t nat \-I PREROUTING \-p tcp \-\-dport <port_przekierowany> \e +\& \-i eth0 \-j DNAT \-\-to\-destination <lokalne_ip>:<port_stunnela> +.Ve +.Sp +Przezroczysty adres docelowy jest aktualnie wspierany wyłącznie w systemie Linux. +.IP "\fIboth\fR" 4 +.IX Item "both" +Użyj przezroczystego proxy zarówno dla adresu źródłowego jak i docelowego. +.RE +.RS 4 +.Sp +Dla zapewnienia kompatybilności z wcześniejszymim wersjami wspierane są dwie +dodatkowe opcje: +.IP "\fIyes\fR" 4 +.IX Item "yes" +Opcja została przemianowana na \fIsource\fR. +.IP "\fIno\fR" 4 +.IX Item "no" +Opcja została przemianowana na \fInone\fR. +.RE +.RS 4 +.RE +.IP "\fBverify\fR = \s-1POZIOM\s0" 4 +.IX Item "verify = POZIOM" +weryfikuj certyfikat drugiej strony połączenia +.RS 4 +.IP "\fIpoziom 0\fR" 4 +.IX Item "poziom 0" +zarządaj certyfikatu i zignoruj go +.IP "\fIpoziom 1\fR" 4 +.IX Item "poziom 1" +weryfikuj, jeżeli został przedstawiony +.IP "\fIpoziom 2\fR" 4 +.IX Item "poziom 2" +weryfikuj z zainstalowanym certyfikatem Centrum Certyfikacji +.IP "\fIpoziom 3\fR" 4 +.IX Item "poziom 3" +weryfikuj z lokalnie zainstalowanym certyfikatem drugiej strony +.IP "\fIpoziom 4\fR" 4 +.IX Item "poziom 4" +weryfikuj z certyfikatem drugiej strony ignorując łańcuch \s-1CA\s0 +.IP "\fIdomyślnie\fR" 4 +.IX Item "domyślnie" +nie weryfikuj +.RE +.RS 4 +.RE +.SH "ZWRACANA WARTOŚĆ" +.IX Header "ZWRACANA WARTOŚĆ" +\&\fBstunnel\fR zwraca zero w przypadku sukcesu, lub wartość niezerową +w przypadku błędu. +.SH "SIGNAŁY" +.IX Header "SIGNAŁY" +Następujące sygnały mogą być użyte do sterowania programem w systemie Unix: +.IP "\s-1SIGHUP\s0" 4 +.IX Item "SIGHUP" +Załaduj ponownie plik konfiguracyjny. +.Sp +Niektóre globalne opcje nie będą przeładowane: +.RS 4 +.IP "\(bu" 4 +chroot +.IP "\(bu" 4 +foreground +.IP "\(bu" 4 +pid +.IP "\(bu" 4 +setgid +.IP "\(bu" 4 +setuid +.RE +.RS 4 +.Sp +Jeżeli wykorzystywana jest opcja 'setuid' \fBstunnel\fR nie będzie mógł załadować +ponownie konfiguracji wykorzystującej uprzywilejowane (<1024) porty. +.Sp +Jeżeli wykorzystywana jest opcja 'chroot' \fBstunnel\fR będzie szukał wszystkich +potrzebnych plików (łącznie z plikiem konfiguracyjnym, certyfikatami, logiem i +plikiem pid) wewnątrz katalogu wskazanego przez 'chroot'. +.RE +.IP "\s-1SIGUSR1\s0" 4 +.IX Item "SIGUSR1" +Zamknij i otwórz ponownie log. +Funkcja ta może zostać użyta w skrypcie rotującym log programu \fBstunnel\fR. +.IP "\s-1SIGTERM, SIGQUIT, SIGINT\s0" 4 +.IX Item "SIGTERM, SIGQUIT, SIGINT" +Zakończ działanie programu. +.PP +Skutek wysłania innych sygnałów jest niezdefiniowany. +.SH "PRZYKŁADY" +.IX Header "PRZYKŁADY" +Szyfrowanie połączeń do lokalnego serwera \fIimapd\fR można użyć: +.PP +.Vb 4 +\& [imapd] +\& accept = 993 +\& exec = /usr/sbin/imapd +\& execArgs = imapd +.Ve +.PP +albo w trybie zdalnym: +.PP +.Vb 3 +\& [imapd] +\& accept = 993 +\& connect = 143 +.Ve +.PP +Aby umożliwić lokalnemu klientowi poczty elektronicznej korzystanie z serwera +\&\fIimapd\fR przez \s-1SSL\s0 należy skonfigurować pobieranie poczty z adresu localhost i +portu 119, oraz użyć następującej konfiguracji: +.PP +.Vb 4 +\& [imap] +\& client = yes +\& accept = 143 +\& connect = serwer:993 +.Ve +.PP +W połączeniu z programem \fIpppd\fR \fBstunnel\fR pozwala zestawić prosty \s-1VPN.\s0 +Po stronie serwera nasłuchującego na porcie 2020 jego konfiguracja +może wyglądać następująco: +.PP +.Vb 5 +\& [vpn] +\& accept = 2020 +\& exec = /usr/sbin/pppd +\& execArgs = pppd local +\& pty = yes +.Ve +.PP +Poniższy plik konfiguracyjny może być wykorzystany do uruchomienia +programu \fBstunnel\fR w trybie \fIinetd\fR. Warto zauważyć, że w pliku +konfiguracyjnym nie ma sekcji \fI[nazwa_usługi]\fR. +.PP +.Vb 2 +\& exec = /usr/sbin/imapd +\& execArgs = imapd +.Ve +.PP +Aby skonfigurować \s-1VPN\s0 można użyć następującej konfiguracji klienta: +.PP +.Vb 6 +\& [socks_client] +\& client = yes +\& accept = 127.0.0.1:1080 +\& connect = vpn_server:9080 +\& verify = 4 +\& CAfile = stunnel.pem +.Ve +.PP +Odpowiadająca jej konfiguracja serwera vpn_server: +.PP +.Vb 5 +\& [socks_server] +\& protocol = socks +\& accept = 9080 +\& cert = stunnel.pem +\& key = stunnel.key +.Ve +.PP +Do przetestowania konfiguracji można wydać na maszynie klienckiej komendę: +.PP +.Vb 1 +\& curl \-\-socks4a localhost http://www.example.com/ +.Ve +.SH "NOTKI" +.IX Header "NOTKI" +.SS "\s-1OGRANICZENIA\s0" +.IX Subsection "OGRANICZENIA" +\&\fBstunnel\fR nie może być używany do szyfrowania protokołu \fI\s-1FTP\s0\fR, +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 \s-1FTP\s0 pozwalające +na szyfrowanie przesyłanych danych przy pomocy protokołu \fI\s-1SSL\s0\fR. +.SS "\s-1TRYB INETD \s0(tylko Unix)" +.IX Subsection "TRYB INETD (tylko Unix)" +W większości zastosowań \fBstunnel\fR samodzielnie nasłuchuje na porcie +podanym w pliku konfiguracyjnym i tworzy połączenie z innym portem +podanym w opcji \fIconnect\fR lub nowym programem podanym w opcji \fIexec\fR. +Niektórzy wolą jednak wykorzystywać oddzielny program, który odbiera +połączenia, po czym uruchamia program \fBstunnel\fR. Przykładami takich +programów są inetd, xinetd i tcpserver. +.PP +Przykładowa linia pliku /etc/inetd.conf może wyglądać tak: +.PP +.Vb 2 +\& imaps stream tcp nowait root @bindir@/stunnel +\& stunnel @sysconfdir@/stunnel/imaps.conf +.Ve +.PP +Ponieważ w takich przypadkach połączenie na zdefiniowanym porcie +(tutaj \fIimaps\fR) nawiązuje osobny program (tutaj \fIinetd\fR), \fBstunnel\fR +nie może używać opcji \fIaccept\fR. W pliku konfiguracyjnym nie może +być również zdefiniowana żadna usługa (\fI[nazwa_usługi]\fR), ponieważ +konfiguracja taka pozwala na nawiązanie tylko jednego połączenia. +Wszystkie \fI\s-1OPCJE\s0 USŁUG\fR powinny być umieszczone razem z opcjami +globalnymi. Przykład takiej konfiguracji znajduje się w sekcji +\&\fIPRZYKŁADY\fR. +.SS "\s-1CERTYFIKATY\s0" +.IX Subsection "CERTYFIKATY" +Protokół \s-1SSL\s0 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 \fBOpenSSL\fR. Więcej informacji na temat generowania +certyfikatów można znaleźć na umieszczonych poniżej stronach. +.PP +Istotną kwestią jest kolejność zawartości pliku \fI.pem\fR. +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ć: +.PP +.Vb 8 +\& \-\-\-\-\-BEGIN RSA PRIVATE KEY\-\-\-\-\- +\& [zakodowany klucz] +\& \-\-\-\-\-END RSA PRIVATE KEY\-\-\-\-\- +\& [pusta linia] +\& \-\-\-\-\-BEGIN CERTIFICATE\-\-\-\-\- +\& [zakodowany certyfikat] +\& \-\-\-\-\-END CERTIFICATE\-\-\-\-\- +\& [pusta linia] +.Ve +.SS "LOSOWOŚĆ" +.IX Subsection "LOSOWOŚĆ" +\&\fBstunnel\fR potrzebuje zainicjować \s-1PRNG \s0(generator liczb pseudolosowych), +gdyż protokół \s-1SSL\s0 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: +.IP "\(bu" 4 +Zawartość pliku podanego w opcji \fIRNDfile\fR. +.IP "\(bu" 4 +Zawartość pliku o nazwie określonej przez zmienną środowiskową +\&\s-1RANDFILE,\s0 o ile jest ona ustawiona. +.IP "\(bu" 4 +Plik .rnd umieszczony w katalogu domowym użytkownika, +jeżeli zmienna \s-1RANDFILE\s0 nie jest ustawiona. +.IP "\(bu" 4 +Plik podany w opcji '\-\-with\-random' w czasie konfiguracji programu. +.IP "\(bu" 4 +Zawartość ekranu w systemie Windows. +.IP "\(bu" 4 +Gniazdo egd, jeżeli użyta została opcja \fI\s-1EGD\s0\fR. +.IP "\(bu" 4 +Gniazdo egd podane w opcji '\-\-with\-egd\-socket' w czasie konfiguracji +programu. +.IP "\(bu" 4 +Urządzenie /dev/urandom. +.PP +Współczesne (\fB0.9.5a\fR lub nowsze) wersje biblioteki \fBOpenSSL\fR 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. +.PP +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ć \s-1PRNG. W\s0 takim przypadku do zainicjowania +generatora należy użyć opcji \fIRNDfile\fR. +.PP +Plik \fIRNDfile\fR powinien zawierać dane losowe \*(-- również w tym sensie, +że powinny być one inne przy każdym uruchomieniu programu \fBstunnel\fR. +O ile nie użyta została opcja \fIRNDoverwrite\fR jest to robione +automatycznie. Do ręcznego uzyskania takiego pliku użyteczna +może być komenda \fIopenssl rand\fR dostarczana ze współczesnymi +wersjami pakietu \fBOpenSSL\fR. +.PP +Jeszcze jedna istotna informacja \*(-- jeżeli dostępne jest urządzenie +\&\fI/dev/urandom\fR biblioteka \fBOpenSSL\fR ma zwyczaj zasilania nim \s-1PRNG\s0 w trakcie +sprawdzania stanu generatora. W systemach z \fI/dev/urandom\fR 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 \fBOpenSSL\fR, a nie programu +\&\fBstunnel\fR. +.SS "\s-1PARAMETRY DH\s0" +.IX Subsection "PARAMETRY DH" +Począwszy od wersji 4.40 \fBstunnel\fR zawiera w kodzie programu 2048\-bitowe +parametry \s-1DH.\s0 +.PP +Alternatywnie parametry \s-1DH\s0 można umieścić w pliku razem z certyfikatem: +.PP +.Vb 1 +\& openssl dhparam 2048 >> stunnel.pem +.Ve +.PP +Wygenerowanie parametrów \s-1DH\s0 może zająć nawet wiele minut. +.SH "PLIKI" +.IX Header "PLIKI" +.ie n .IP "\fI\fI@sysconfdir\fI@/stunnel/stunnel.conf\fR" 4 +.el .IP "\fI\f(CI@sysconfdir\fI@/stunnel/stunnel.conf\fR" 4 +.IX Item "@sysconfdir@/stunnel/stunnel.conf" +plik konfiguracyjny programu +.SH "BŁĘDY" +.IX Header "BŁĘDY" +Opcja \fIexecArgs\fR oraz linia komend Win32 nie obsługuje cytowania. +.SH "ZOBACZ RÓWNIEŻ" +.IX Header "ZOBACZ RÓWNIEŻ" +.IP "\fItcpd\fR\|(8)" 4 +.IX Item "tcpd" +biblioteka kontroli dostępu do usług internetowych +.IP "\fIinetd\fR\|(8)" 4 +.IX Item "inetd" +\&'super\-serwer' internetowy +.IP "\fIhttp://www.stunnel.org/\fR" 4 +.IX Item "http://www.stunnel.org/" +strona domowa programu \fBstunnel\fR +.IP "\fIhttp://www.openssl.org/\fR" 4 +.IX Item "http://www.openssl.org/" +strona projektu \fBOpenSSL\fR +.SH "AUTOR" +.IX Header "AUTOR" +.IP "Michał Trojnara" 4 +.IX Item "Michał Trojnara" +<\fIMichal.Trojnara@mirt.net\fR> |