2017-03-28 09:58:13 +02:00
|
|
|
|
.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07)
|
|
|
|
|
.\"
|
|
|
|
|
.\" 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" ''
|
|
|
|
|
'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.
|
|
|
|
|
.ie \nF \{\
|
|
|
|
|
. de IX
|
|
|
|
|
. tm Index:\\$1\t\\n%\t"\\$2"
|
|
|
|
|
..
|
|
|
|
|
. nr % 0
|
|
|
|
|
. rr F
|
|
|
|
|
.\}
|
|
|
|
|
.el \{\
|
|
|
|
|
. de IX
|
|
|
|
|
..
|
|
|
|
|
.\}
|
|
|
|
|
.\" ========================================================================
|
|
|
|
|
.\"
|
|
|
|
|
.IX Title "STUNNEL.PL 8"
|
2017-03-28 10:18:03 +02:00
|
|
|
|
.TH STUNNEL.PL 8 "2013.03.22" "4.56" "stunnel"
|
2017-03-28 09:58:13 +02:00
|
|
|
|
.\" 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 [<plik>] | \-fd n | \-help | \-version | \-sockets
|
|
|
|
|
.IP "\fB\s-1WIN32:\s0\fR" 4
|
|
|
|
|
.IX Item "WIN32:"
|
|
|
|
|
\&\fBstunnel\fR [ [\-install | \-uninstall | \-start | \-stop ] | \-exit]
|
|
|
|
|
[\-quiet] [<plik>] ] | \-help | \-version | \-sockets
|
|
|
|
|
.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 "<\fBplik\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\-install\fR (tylko \s-1NT/2000/XP\s0)" 4
|
|
|
|
|
.IX Item "-install (tylko NT/2000/XP)"
|
|
|
|
|
instaluj serwis \s-1NT\s0
|
|
|
|
|
.IP "\fB\-uninstall\fR (tylko \s-1NT/2000/XP\s0)" 4
|
|
|
|
|
.IX Item "-uninstall (tylko NT/2000/XP)"
|
|
|
|
|
odinstaluj serwis \s-1NT\s0
|
|
|
|
|
.IP "\fB\-start\fR (tylko \s-1NT/2000/XP\s0)" 4
|
|
|
|
|
.IX Item "-start (tylko NT/2000/XP)"
|
|
|
|
|
uruchom serwis \s-1NT\s0
|
|
|
|
|
.IP "\fB\-stop\fR (tylko \s-1NT/2000/XP\s0)" 4
|
|
|
|
|
.IX Item "-stop (tylko NT/2000/XP)"
|
|
|
|
|
zatrzymaj serwis \s-1NT\s0
|
|
|
|
|
.IP "\fB\-exit\fR (tylko Win32)" 4
|
|
|
|
|
.IX Item "-exit (tylko Win32)"
|
|
|
|
|
zatrzymaj uruchomiony program
|
|
|
|
|
.IP "\fB\-quiet\fR (tylko \s-1NT/2000/XP\s0)" 4
|
|
|
|
|
.IX Item "-quiet (tylko NT/2000/XP)"
|
|
|
|
|
nie wyświetlaj okienka informującego o pomyślnym zainstalowaniu lub
|
|
|
|
|
odinstalowaniu
|
|
|
|
|
.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\s0 \s-1GLOBALNE\s0"
|
|
|
|
|
.IX Subsection "OPCJE GLOBALNE"
|
|
|
|
|
.IP "\fBchroot\fR = katalog (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.
|
2017-03-28 10:18:03 +02:00
|
|
|
|
.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
|
2017-03-28 09:58:13 +02:00
|
|
|
|
.IP "\fBcompression\fR = deflate | zlib | rle" 4
|
|
|
|
|
.IX Item "compression = deflate | zlib | rle"
|
|
|
|
|
wybór algorytmu kompresji przesyłanych danych
|
|
|
|
|
.Sp
|
|
|
|
|
domyślnie: bez kompresji
|
|
|
|
|
.Sp
|
|
|
|
|
Algorytm deflate jest standardową metodą kompresji zgodnie z \s-1RFC\s0 1951.
|
|
|
|
|
.Sp
|
2017-03-28 10:18:03 +02:00
|
|
|
|
Kompresja zlib zaimplementowana w \fBOpenSSL 0.9.8\fR i nowszych nie jest
|
|
|
|
|
kompatybilna implementacją \fBOpenSSL 0.9.7\fR.
|
2017-03-28 09:58:13 +02:00
|
|
|
|
.Sp
|
2017-03-28 10:18:03 +02:00
|
|
|
|
Kompresja rle nie jest zaimplementowana w aktualnych wersjach \fBOpenSSL\fR.
|
2017-03-28 09:58:13 +02:00
|
|
|
|
.IP "\fBdebug\fR = poziom[.podsystem]" 4
|
|
|
|
|
.IX Item "debug = poziom[.podsystem]"
|
|
|
|
|
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
|
2017-03-28 10:18:03 +02:00
|
|
|
|
\&\fBOpenSSL\fR. Opcja jest dostępna z biblioteką \fBOpenSSL 0.9.5a\fR lub nowszą.
|
2017-03-28 09:58:13 +02:00
|
|
|
|
.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 = <command>[:<parameter>]" 4
|
|
|
|
|
.IX Item "engineCtrl = <command>[:<parameter>]"
|
|
|
|
|
konfiguracja urządzenia kryptograficznego
|
|
|
|
|
.Sp
|
|
|
|
|
Specjalne komendy \*(L"\s-1LOAD\s0\*(R" i \*(L"\s-1INIT\s0\*(R" pozwalają na załadowanie i inicjalizację
|
|
|
|
|
modułu kryptograficznego urządzenia.
|
|
|
|
|
.IP "\fBfips\fR = yes | no" 4
|
|
|
|
|
.IX Item "fips = yes | no"
|
|
|
|
|
Włącz lub wyłącz tryb \s-1FIPS\s0 140\-2.
|
|
|
|
|
.Sp
|
2017-03-28 10:18:03 +02:00
|
|
|
|
Opcja pozwala wyłączyć wejście w tryb \s-1FIPS\s0, jeśli \fBstunnel\fR został
|
|
|
|
|
skompilowany ze wsparciem dla \s-1FIPS\s0 140\-2.
|
2017-03-28 09:58:13 +02:00
|
|
|
|
.Sp
|
|
|
|
|
domyślnie: yes (pracuj w trybie \s-1FIPS\s0 140\-2)
|
|
|
|
|
.IP "\fBforeground\fR = yes | no (tylko Unix)" 4
|
|
|
|
|
.IX Item "foreground = yes | no (tylko Unix)"
|
|
|
|
|
tryb pierwszoplanowy
|
|
|
|
|
.Sp
|
2017-03-28 10:18:03 +02:00
|
|
|
|
Użycie tej opcji powoduje, że \fBstunnel\fR nie przechodzi w tło logując
|
2017-03-28 09:58:13 +02:00
|
|
|
|
swoje komunikaty na konsolę zamiast przez \fIsyslog\fR (o ile nie użyto
|
|
|
|
|
opcji \fIoutput\fR).
|
|
|
|
|
.IP "\fBoutput\fR = plik" 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 = plik (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
|
2017-03-28 10:18:03 +02:00
|
|
|
|
W wersjach biblioteki \fBOpenSSL\fR starszych niż \fB0.9.5a\fR opcja ta określa
|
2017-03-28 09:58:13 +02:00
|
|
|
|
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 = plik" 4
|
|
|
|
|
.IX Item "RNDfile = plik"
|
|
|
|
|
ścieżka do pliku zawierającego losowe dane
|
|
|
|
|
.Sp
|
2017-03-28 10:18:03 +02:00
|
|
|
|
Biblioteka \fBOpenSSL\fR użyje danych z tego pliku do zainicjowania
|
2017-03-28 09:58:13 +02:00
|
|
|
|
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 = nazwa_serwisu (tylko Unix)" 4
|
|
|
|
|
.IX Item "service = nazwa_serwisu (tylko Unix)"
|
|
|
|
|
użyj parametru jako nazwy serwisu dla biblioteki \s-1TCP\s0 Wrapper w trybie \fIinetd\fR
|
|
|
|
|
.Sp
|
|
|
|
|
domyślnie: stunnel
|
|
|
|
|
.IP "\fBsetgid\fR = identyfikator_grupy (tylko Unix)" 4
|
|
|
|
|
.IX Item "setgid = identyfikator_grupy (tylko Unix)"
|
2017-03-28 10:18:03 +02:00
|
|
|
|
grupa z której prawami pracował będzie \fBstunnel\fR
|
2017-03-28 09:58:13 +02:00
|
|
|
|
.IP "\fBsetuid\fR = identyfikator_użytkownika (tylko Unix)" 4
|
|
|
|
|
.IX Item "setuid = identyfikator_użytkownika (tylko Unix)"
|
2017-03-28 10:18:03 +02:00
|
|
|
|
użytkownik, z którego prawami pracował będzie \fBstunnel\fR
|
2017-03-28 09:58:13 +02:00
|
|
|
|
.IP "\fBsocket\fR = a|l|r:option=value[:value]" 4
|
|
|
|
|
.IX Item "socket = a|l|r:option=value[:value]"
|
|
|
|
|
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\s0 \s-1INETD\s0\fR poniżej.
|
|
|
|
|
.IP "\fBaccept\fR = [adres:]port" 4
|
|
|
|
|
.IX Item "accept = [adres:]port"
|
|
|
|
|
nasłuchuje na połączenia na podanym adresie i porcie
|
|
|
|
|
.Sp
|
2017-03-28 10:18:03 +02:00
|
|
|
|
Jeżeli nie został podany adres, \fBstunnel\fR domyślnie nasłuchuje
|
2017-03-28 09:58:13 +02:00
|
|
|
|
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 = katalog_CA" 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\s0.0, gdzie \s-1XXXXXXXX\s0 jest skrótem
|
|
|
|
|
kryptograficznym reprezentacji \s-1DER\s0 nazwy podmiotu certyfikatu.
|
|
|
|
|
.Sp
|
2017-03-28 10:18:03 +02:00
|
|
|
|
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.
|
2017-03-28 09:58:13 +02:00
|
|
|
|
.Sp
|
|
|
|
|
Jeżeli zdefiniowano katalog \fIchroot\fR, to ścieżka do \fICApath\fR jest określona
|
|
|
|
|
względem tego katalogu.
|
|
|
|
|
.IP "\fBCAfile\fR = plik_CA" 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 = plik_pem" 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 "\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 = [adres:]port" 4
|
|
|
|
|
.IX Item "connect = [adres:]port"
|
|
|
|
|
połącz się ze zdalnym serwerem na podany port
|
|
|
|
|
.Sp
|
2017-03-28 10:18:03 +02:00
|
|
|
|
Jeżeli nie został podany adres, \fBstunnel\fR domyślnie łączy się
|
2017-03-28 09:58:13 +02:00
|
|
|
|
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 = katalog_CRL" 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
|
2017-03-28 10:18:03 +02:00
|
|
|
|
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.
|
2017-03-28 09:58:13 +02:00
|
|
|
|
.Sp
|
|
|
|
|
Jeżeli zdefiniowano katalog \fIchroot\fR, to ścieżka do \fICRLpath\fR jest określona
|
|
|
|
|
względem tego katalogu.
|
|
|
|
|
.IP "\fBCRLfile\fR = plik_CRL" 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 = nid" 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 "\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
|
2017-03-28 10:18:03 +02:00
|
|
|
|
dostępna przy starcie programu \fBstunnel\fR (klient \s-1VPN\s0, połączenie wdzwaniane).
|
2017-03-28 09:58:13 +02:00
|
|
|
|
.IP "\fBengineNum\fR = <numer urządzenia>" 4
|
|
|
|
|
.IX Item "engineNum = <numer urządzenia>"
|
|
|
|
|
wybierz urządzenie do odczyta klucza prywatnego
|
|
|
|
|
.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.
|
|
|
|
|
.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\s0 1413)
|
|
|
|
|
.IP "\fBkey\fR = plik_klucza" 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: yes
|
|
|
|
|
.IP "\fBlocal\fR = serwer" 4
|
|
|
|
|
.IX Item "local = serwer"
|
|
|
|
|
\&\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.
|
2017-03-28 10:18:03 +02:00
|
|
|
|
.IP "\fBsni\fR = nazwa_usługi:wzorzec_nazwy_serwera (tryb serwera)" 4
|
|
|
|
|
.IX Item "sni = nazwa_usługi:wzorzec_nazwy_serwera (tryb serwera)"
|
2017-03-28 09:58:13 +02:00
|
|
|
|
Użyj usługi jako podrzędnej (virtualnego serwera) dla rozszerzenia \s-1TLS\s0 Server
|
|
|
|
|
Name Indication (\s-1RFC\s0 3546).
|
|
|
|
|
.Sp
|
|
|
|
|
\&\fInazwa_usługi\fR wskazuje usługę nadrzędną, która odbiera połączenia od klientów
|
2017-03-28 10:18:03 +02:00
|
|
|
|
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.
|
2017-03-28 09:58:13 +02:00
|
|
|
|
.Sp
|
|
|
|
|
Zarówno usługa nadrzędna jak i podrzędna nie może być skonfigurowana w trybie
|
2017-03-28 10:18:03 +02:00
|
|
|
|
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.
|
2017-03-28 09:58:13 +02:00
|
|
|
|
.IP "\fBsni\fR = nazwa_serwera (tryb klienta)" 4
|
|
|
|
|
.IX Item "sni = nazwa_serwera (tryb klienta)"
|
|
|
|
|
Użyj parametru jako wartości rozszerzenia \s-1TLS\s0 Server Name Indication
|
|
|
|
|
(\s-1RFC\s0 3546).
|
|
|
|
|
.Sp
|
2017-03-28 10:18:03 +02:00
|
|
|
|
Opcja \fIsni\fR jest dostępna począwszy od \fBOpenSSL 1.0.0\fR.
|
2017-03-28 09:58:13 +02:00
|
|
|
|
.IP "\fB\s-1OCSP\s0\fR = \s-1URL\s0" 4
|
|
|
|
|
.IX Item "OCSP = URL"
|
|
|
|
|
serwer \s-1OCSP\s0 do weryfikacji certyfikatów
|
|
|
|
|
.IP "\fBOCSPflag\fR = flaga" 4
|
|
|
|
|
.IX Item "OCSPflag = flaga"
|
|
|
|
|
flaga serwera \s-1OCSP\s0
|
|
|
|
|
.Sp
|
|
|
|
|
aktualnie wspierane flagi: \s-1NOCERTS\s0, \s-1NOINTERN\s0 \s-1NOSIGS\s0, \s-1NOCHAIN\s0, \s-1NOVERIFY\s0,
|
|
|
|
|
\&\s-1NOEXPLICIT\s0, \s-1NOCASIGN\s0, \s-1NODELEGATED\s0, \s-1NOCHECKS\s0, \s-1TRUSTOTHER\s0, \s-1RESPID_KEY\s0, \s-1NOTIME\s0
|
|
|
|
|
.Sp
|
|
|
|
|
Aby wyspecyfikować kilka flag należy użyć \fIOCSPflag\fR wielokrotnie.
|
|
|
|
|
.IP "\fBoptions\fR = opcje_SSL" 4
|
|
|
|
|
.IX Item "options = opcje_SSL"
|
2017-03-28 10:18:03 +02:00
|
|
|
|
opcje biblioteki \fBOpenSSL\fR
|
2017-03-28 09:58:13 +02:00
|
|
|
|
.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.
|
|
|
|
|
Aby wyspecyfikować kilka opcji należy użyć \fIoptions\fR wielokrotnie.
|
|
|
|
|
.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
|
|
|
|
|
.IP "\fBprotocol\fR = protokół" 4
|
|
|
|
|
.IX Item "protocol = protokół"
|
2017-03-28 10:18:03 +02:00
|
|
|
|
negocjuj \s-1SSL\s0 podanym protokołem aplikacyjnym
|
2017-03-28 09:58:13 +02:00
|
|
|
|
.Sp
|
2017-03-28 10:18:03 +02:00
|
|
|
|
Opcja ta włącza wstępną negocjację szyfrowania \s-1SSL\s0 dla wybranego protokołu
|
|
|
|
|
aplikacyjnego.
|
2017-03-28 09:58:13 +02:00
|
|
|
|
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\s0 2817 \- \fIUpgrading to \s-1TLS\s0 Within \s-1HTTP/1\s0.1\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\s0 2595 \- \fIUsing \s-1TLS\s0 with \s-1IMAP\s0, \s-1POP3\s0 and \s-1ACAP\s0\fR
|
|
|
|
|
.IP "\fInntp\fR" 4
|
|
|
|
|
.IX Item "nntp"
|
|
|
|
|
Negocjacja \s-1RFC\s0 4642 \- \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\s0 2449 \- \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\s0 2487 \- \fI\s-1SMTP\s0 Service Extension for Secure \s-1SMTP\s0 over \s-1TLS\s0\fR
|
|
|
|
|
.RE
|
|
|
|
|
.RS 4
|
|
|
|
|
.RE
|
|
|
|
|
.IP "\fBprotocolAuthentication\fR = uwierzytelnienie" 4
|
|
|
|
|
.IX Item "protocolAuthentication = uwierzytelnienie"
|
|
|
|
|
rodzaj uwierzytelnienia do negocjacji protokołu
|
|
|
|
|
.Sp
|
|
|
|
|
aktualnie wspierane: basic, \s-1NTLM\s0
|
|
|
|
|
.Sp
|
|
|
|
|
Obecnie typ uwierzytelnienia ma zastosowanie wyłącznie w protokole 'connect'.
|
|
|
|
|
.Sp
|
|
|
|
|
domyślnie: basic
|
|
|
|
|
.IP "\fBprotocolHost\fR = adres:port" 4
|
|
|
|
|
.IX Item "protocolHost = adres:port"
|
|
|
|
|
adres docelowy do negocjacji protokołu
|
2017-03-28 10:18:03 +02:00
|
|
|
|
.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'.
|
2017-03-28 09:58:13 +02:00
|
|
|
|
.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 "\fBpty\fR = yes | no (tylko Unix)" 4
|
|
|
|
|
.IX Item "pty = yes | no (tylko Unix)"
|
|
|
|
|
alokuj pseudoterminal dla programu uruchamianego w opcji 'exec'
|
2017-03-28 10:18:03 +02:00
|
|
|
|
.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\s0 \s-1RST\s0
|
|
|
|
|
.Sp
|
|
|
|
|
Ta opcja nie jest wspierana na niektórych platformach.
|
|
|
|
|
.Sp
|
|
|
|
|
domyślnie: yes
|
|
|
|
|
.IP "\fBretry\fR = yes | no" 4
|
|
|
|
|
.IX Item "retry = yes | no"
|
2017-03-28 09:58:13 +02:00
|
|
|
|
połącz ponownie sekcję connect+exec po rozłączeniu
|
|
|
|
|
.Sp
|
|
|
|
|
domyślnie: no
|
2017-03-28 10:18:03 +02:00
|
|
|
|
.IP "\fBsessionCacheSize\fR = rozmiar" 4
|
|
|
|
|
.IX Item "sessionCacheSize = rozmiar"
|
|
|
|
|
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 = czas" 4
|
|
|
|
|
.IX Item "sessionCacheTimeout = czas"
|
|
|
|
|
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.
|
2017-03-28 09:58:13 +02:00
|
|
|
|
.IP "\fBsessiond\fR = adres:port" 4
|
|
|
|
|
.IX Item "sessiond = adres:port"
|
|
|
|
|
adres sessiond \- servera cache sesji \s-1SSL\s0
|
|
|
|
|
.IP "\fBsslVersion\fR = wersja" 4
|
|
|
|
|
.IX Item "sslVersion = wersja"
|
|
|
|
|
wersja protokołu \s-1SSL\s0
|
|
|
|
|
.Sp
|
2017-03-28 10:18:03 +02:00
|
|
|
|
Dozwolone opcje: all, SSLv2, SSLv3, TLSv1, TLSv1.1, TLSv1.2
|
2017-03-28 09:58:13 +02:00
|
|
|
|
.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 = liczba_sekund" 4
|
|
|
|
|
.IX Item "TIMEOUTbusy = liczba_sekund"
|
|
|
|
|
czas oczekiwania na spodziewane dane
|
|
|
|
|
.IP "\fBTIMEOUTclose\fR = liczba_sekund" 4
|
|
|
|
|
.IX Item "TIMEOUTclose = liczba_sekund"
|
|
|
|
|
czas oczekiwania na close_notify (ustaw na 0, jeżeli klientem jest \s-1MSIE\s0)
|
|
|
|
|
.IP "\fBTIMEOUTconnect\fR = liczba_sekund" 4
|
|
|
|
|
.IX Item "TIMEOUTconnect = liczba_sekund"
|
|
|
|
|
czas oczekiwania na nawiązanie połączenia
|
|
|
|
|
.IP "\fBTIMEOUTidle\fR = liczba_sekund" 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ć
|
2017-03-28 10:18:03 +02:00
|
|
|
|
bezpośrednio od klienta, a nie od programu \fBstunnel\fR.
|
2017-03-28 09:58:13 +02:00
|
|
|
|
.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
|
2017-03-28 10:18:03 +02:00
|
|
|
|
kierowany jest poprzez serwer \fBstunnela\fR.
|
2017-03-28 09:58:13 +02:00
|
|
|
|
.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 następujących ustawień iptables
|
|
|
|
|
(na przykład w pliku /etc/rc.local lub analogicznym):
|
|
|
|
|
.Sp
|
|
|
|
|
.Vb 2
|
|
|
|
|
\& /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>
|
|
|
|
|
.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 = poziom" 4
|
|
|
|
|
.IX Item "verify = poziom"
|
|
|
|
|
weryfikuj certyfikat drugiej strony połączenia
|
|
|
|
|
.RS 4
|
2017-03-28 10:18:03 +02:00
|
|
|
|
.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
|
2017-03-28 09:58:13 +02:00
|
|
|
|
.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
|
2017-03-28 10:18:03 +02:00
|
|
|
|
Jeżeli wykorzystywana jest opcja 'setuid' \fBstunnel\fR nie będzie mógł załadować
|
2017-03-28 09:58:13 +02:00
|
|
|
|
ponownie konfiguracji wykorzystującej uprzywilejowane (<1024) porty.
|
|
|
|
|
.Sp
|
2017-03-28 10:18:03 +02:00
|
|
|
|
Jeżeli wykorzystywana jest opcja 'chroot' \fBstunnel\fR będzie szukał wszystkich
|
2017-03-28 09:58:13 +02:00
|
|
|
|
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.
|
2017-03-28 10:18:03 +02:00
|
|
|
|
Funkcja ta może zostać użyta w skrypcie rotującym log programu \fBstunnel\fR.
|
2017-03-28 09:58:13 +02:00
|
|
|
|
.IP "\s-1SIGTERM\s0, \s-1SIGQUIT\s0, \s-1SIGINT\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
|
|
|
|
|
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
|
|
|
|
|
.SH "NOTKI"
|
|
|
|
|
.IX Header "NOTKI"
|
|
|
|
|
.SS "\s-1OGRANICZENIA\s0"
|
|
|
|
|
.IX Subsection "OGRANICZENIA"
|
2017-03-28 10:18:03 +02:00
|
|
|
|
\&\fBstunnel\fR nie może być używany do szyfrowania protokołu \fI\s-1FTP\s0\fR,
|
2017-03-28 09:58:13 +02:00
|
|
|
|
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\s0 \s-1INETD\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 /usr/bin/stunnel
|
|
|
|
|
\& stunnel /etc/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.
|
2017-03-28 10:18:03 +02:00
|
|
|
|
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.
|
2017-03-28 09:58:13 +02:00
|
|
|
|
.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
|
2017-03-28 10:18:03 +02:00
|
|
|
|
Współczesne (\fB0.9.5a\fR lub nowsze) wersje biblioteki \fBOpenSSL\fR automatycznie
|
2017-03-28 09:58:13 +02:00
|
|
|
|
zaprzestają ładowania kolejnych danych w momencie uzyskania wystarczającej
|
|
|
|
|
ilości entropii. Wcześniejsze wersje biblioteki wykorzystają wszystkie
|
2017-03-28 10:18:03 +02:00
|
|
|
|
powyższe źródła, gdyż nie istnieje tam funkcja pozwalająca określić, czy
|
|
|
|
|
uzyskano już wystarczająco dużo danych.
|
2017-03-28 09:58:13 +02:00
|
|
|
|
.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\s0. W 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
|
2017-03-28 10:18:03 +02:00
|
|
|
|
wersjami pakietu \fBOpenSSL\fR.
|
2017-03-28 09:58:13 +02:00
|
|
|
|
.PP
|
|
|
|
|
Jeszcze jedna istotna informacja \*(-- jeżeli dostępne jest urządzenie
|
2017-03-28 10:18:03 +02:00
|
|
|
|
\&\fI/dev/urandom\fR biblioteka \fBOpenSSL\fR ma zwyczaj zasilania nim \s-1PRNG\s0 w trakcie
|
2017-03-28 09:58:13 +02:00
|
|
|
|
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
|
2017-03-28 10:18:03 +02:00
|
|
|
|
powyższej listy. Jest to właściwość biblioteki \fBOpenSSL\fR, a nie programu
|
|
|
|
|
\&\fBstunnel\fR.
|
2017-03-28 09:58:13 +02:00
|
|
|
|
.SS "\s-1PARAMETRY\s0 \s-1DH\s0"
|
|
|
|
|
.IX Subsection "PARAMETRY DH"
|
2017-03-28 10:18:03 +02:00
|
|
|
|
Począwszy od wersji 4.40 \fBstunnel\fR zawiera w kodzie programu 2048\-bitowe
|
2017-03-28 09:58:13 +02:00
|
|
|
|
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"
|
|
|
|
|
.IP "\fIstunnel.conf\fR" 4
|
|
|
|
|
.IX Item "stunnel.conf"
|
|
|
|
|
plik konfiguracyjny programu
|
|
|
|
|
.SH "BŁĘDY"
|
|
|
|
|
.IX Header "BŁĘDY"
|
2017-03-28 10:18:03 +02:00
|
|
|
|
Opcja \fIexecargs\fR oraz linia komend Win32 nie obsługuje cytowania.
|
2017-03-28 09:58:13 +02:00
|
|
|
|
.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/"
|
2017-03-28 10:18:03 +02:00
|
|
|
|
strona domowa programu \fBstunnel\fR
|
2017-03-28 09:58:13 +02:00
|
|
|
|
.IP "\fIhttp://www.openssl.org/\fR" 4
|
|
|
|
|
.IX Item "http://www.openssl.org/"
|
2017-03-28 10:18:03 +02:00
|
|
|
|
strona projektu \fBOpenSSL\fR
|
2017-03-28 09:58:13 +02:00
|
|
|
|
.SH "AUTOR"
|
|
|
|
|
.IX Header "AUTOR"
|
|
|
|
|
.IP "Michał Trojnara" 4
|
|
|
|
|
.IX Item "Michał Trojnara"
|
|
|
|
|
<\fIMichal.Trojnara@mirt.net\fR>
|