stunnel4/doc/pl/faq.stunnel-2.html

144 lines
4.9 KiB
HTML
Raw Normal View History

2017-03-28 09:58:13 +02:00
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-2">
<TITLE>Gdy pojawiaj<61> si<73> k<>opoty</TITLE>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EF" VLINK="#51188E" ALINK="#FF0000">
<B>Q: </B>Pr<EFBFBD>buje kompilowa<77> stunnel jednak dostaje
nast<EFBFBD>puj<EFBFBD>ce komunikaty:
<BR>stunnel.c:69: ssl.h: No such file or directory
<BR>stunnel.c:71: bio.h: No such file or directory
<BR>stunnel.c:72: pem.h: No such file or directory
<BR>make: *** [stunnel.o] Error 1
<P><B>A:</B> S<> dwie prawdopodobne przyczyny: nie masz zainstalowanego
w systemie pakietu SSLeay lub pakiet nie znajduje sie w miejscu domy<6D>lnym
czyli<B> /usr/local/ssl. </B>Nale<EFBFBD>y zainstalowa<77> SSLeay lub te<74> poprawi<77>
Makefile tak by <20>cie<69>ka by<62>a prawid<69>owa.
<BR>
<HR WIDTH="100%">
<BR><B>Q:</B>&nbsp; Pr<50>buje uruchomi<6D> stunnel jako wrapper dla httpd. Po
wydaniu komendy: <B>stunnel 443 @localhost:80</B> demon si<73> nie uruchamia
a w syslogu pojawia si<73> komunikat "<B>stunnel[2481]: getpeername: Socket
operation on non-socket (88)"</B><B></B>
<P><B>A</B>: Jest to b<><62>d charakterystyczny dla Linuxa. Nale<6C>y w pliku
stunnel.c zmieni<6E> lini<6E><B> #define INET_SOCKET_PAIR 1</B> na
<BR><B>#define INET_SOCKET_PAIR 0</B> i zrekompilowa<77> program ponownie.
<BR>
<HR WIDTH="100%">
<BR><B>Q:</B> Stunnel nadal si<73> nie uruchamia a w syslogu pojawia si<73> komunikat
"<B>stunnel[2525]: /usr/local/ssl/certs/localhost:80.pem: No such file
or directory (2)</B>"<B></B>
<P><B>A:</B> Nie posiadasz odpowiedniego certyfikatu dla demona. Stunnel
w celu poprawnego dzia<69>ania <B>MUSI</B> posiada<64> certyfikat. W celu wygenerowania
odpowiedniego certyfikatu nale<6C>y wyda<64> komende: <B>/usr/local/ssl/bin/ssleay
req -new -x509 -nodes -out server.pem -days 365 -keyout server.pem</B>&nbsp;
b<EFBFBD>d<EFBFBD> te<74> u<>y<EFBFBD> <B>Makefile</B> do<64><6F>czonego do programu stunnel i przy pomocy
komendy <B>make cert </B>stworzy<EFBFBD> certyfikat. Tak utworzony certyfikat (server.pem)
nale<EFBFBD>y umie<69>ci<63> w katalogu <B>/usr/local/ssl/certs</B> i utworzy<7A> do<64> odpowiednie
linki lub zmie<69> nazw<7A> certyfikatu na wymagan<61> przez stunnel.
<BR>
<HR WIDTH="100%">
<BR><B>Q:</B> Wygenerowa<77>em odpowiedni certyfikat przy pomocy skryptu CA.sh,
a stunnel <B>przy starcie prosi o podanie has<61>a</B>. Jak mo<6D>na przekaza<7A>
has<EFBFBD>o zabezpieczaj<61>ce certyfikat do programu ?<B></B>
<P><B>A:</B> W chwili obecnej jest to niemo<6D>liwe. Certyfikaty kt<6B>rymi pos<6F>uguje
sie stunnel nie mog<6F> by<62> zabezpieczane has<61>em. Przy tworzeniu certyfikatu
nale<EFBFBD>y u<>y<EFBFBD> opcji -nodes (lub utworzy<7A> certyfikat przy pomocy makefile
odstarczonego z programem).
<BR>
<HR WIDTH="100%">
<BR><B>Q:</B> Po uruchomieniu programu stunnel w syslogu pojawia si<73> komunikat:
"<B>stunnel[2805]: WARNING: Wrong permissions on /usr/local/ssl/certs/localhost:80.pem</B>".
Co jest nie tak ?<B></B>
<P><B>A:</B> To tylko ostrze<7A>enie ! Certyfikat nie powien da<64> si<73> odczyta<74>
przez innych u<>ytkownik<69>w systemu. Prawid<69>owe prawa dost<73>pu powinny by<62>
nast<EFBFBD>puj<EFBFBD>ce: <B>-rw------&nbsp;&nbsp; 1 root&nbsp;&nbsp;&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1370 Nov 8 1997&nbsp; server.pem </B>(je<6A>li uruchamiaj<61>cym stunnel jest
root).
<BR>
<HR WIDTH="100%">
<BR><B>Q:</B> Probowa<77>em zrobi<62> tunelowanie po<70><6F>czenia do demona <B>pop3</B>.
Pomimo zrobienia prawid<69>owego wpisu do inetd.conf
<BR>"spop3&nbsp; stream&nbsp; tcp&nbsp; nowait&nbsp; root&nbsp; /usr/sbin/stunnel&nbsp;
qpopper -s" stunnel nie dzia<69>a a w syslogu pojawia si<73> komunikat:
<BR><B>inetd[2949]: spop3/tcp: unknown service.</B><B></B>
<P><B>A: </B>Nie zrobi<62>e<EFBFBD> dodatkowych wpis<69>w do pliku <B>/etc/services.</B>
Zgodnie z rfc???? prawid<69>owymi portami na kt<6B>rych dzia<69>aj<61> demony pos<6F>uguj<75>ce
si<EFBFBD> SSL s<>:
<TABLE>
<TR>
<TD>https</TD>
<TD>443/tcp</TD>
<TD># HTTP over SSL&nbsp;</TD>
</TR>
<TR>
<TD>ssmtp</TD>
<TD>465/tcp</TD>
<TD># SMTP over SSL&nbsp;</TD>
</TR>
<TR>
<TD>snews</TD>
<TD>563/tcp</TD>
<TD># NNTP over SSL&nbsp;</TD>
</TR>
<TR>
<TD>ssl-ldap</TD>
<TD>636/tcp</TD>
<TD># LDAP over SSL&nbsp;</TD>
</TR>
<TR>
<TD>simap</TD>
<TD>993/tcp</TD>
<TD># IMAP over SSL&nbsp;</TD>
</TR>
<TR>
<TD>spop3</TD>
<TD>995/tcp</TD>
<TD># POP-3 over SSL&nbsp;</TD>
</TR>
</TABLE>
Je<EFBFBD>li nie chesz robi<62> poprawek zamiast nazwy serwisu u<>yj numeru portu
na kt<6B>rym on dzia<69>a.
<BR>
<HR WIDTH="100%">
<BR><B>Q:</B> Dobrze, zrobi<62>em wymagany wpis lecz w dalszym ciagu stunnel
nie dzia<69>a, natomiast w syslogu pojawia sie wpis:
<BR>&nbsp;<B>stunnel[3015]: execvp: No such file or directory (2). </B>Co
jeszcze jest nie tak ?<B></B>
<P><B>A:</B>&nbsp; Prawdopodone s<> dwie przyczyny: pierwsza w twoim systemie
nie ma demona dla ktorego zrobi<62>e<EFBFBD> wpis w inetd.conf,
<BR>(spop3&nbsp; stream&nbsp; tcp&nbsp; nowait&nbsp; root&nbsp; /usr/sbin/stunnel&nbsp;
qpopper -s) lub te<74> dany program jest w systemie, jednak <20>cie<69>ka dost<73>pu
do niego nie jest wymieniona w zmiennej systemowej <B>$PATH</B>. Nale<6C>y
wi<EFBFBD>c poprawi<77> zapis w inetd.conf uzupe<70>niaj<61>c o pe<70>na <20>cie<69>ke dost<73>pu do
demona np.&nbsp; <B>spop3&nbsp; stream&nbsp; tcp&nbsp; nowait&nbsp; root&nbsp;
/usr/sbin/stunnel&nbsp; /usr/sbin/qpopper -s</B>
<BR>&nbsp;
<BR>&nbsp;
</BODY>
</HTML>