blob: 275f400d2fcfdd225b2b041c6c32f46df1f0bfaa [file] [log] [blame]
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-2">
<TITLE>Gdy pojawiaj± siê k³opoty</TITLE>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EF" VLINK="#51188E" ALINK="#FF0000">
<B>Q: </B>Próbuje kompilowaæ stunnel jednak dostaje
nastêpuj±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¶lnym
czyli<B> /usr/local/ssl. </B>Nale¿y zainstalowaæ SSLeay lub te¿ poprawiæ
Makefile tak by ¶cie¿ka by³a prawid³owa.
<BR>
<HR WIDTH="100%">
<BR><B>Q:</B>&nbsp; Próbuje uruchomiæ stunnel jako wrapper dla httpd. Po
wydaniu komendy: <B>stunnel 443 @localhost:80</B> demon siê nie uruchamia
a w syslogu pojawia siê komunikat "<B>stunnel[2481]: getpeername: Socket
operation on non-socket (88)"</B><B></B>
<P><B>A</B>: Jest to b³±d charakterystyczny dla Linuxa. Nale¿y w pliku
stunnel.c zmieniæ liniê<B> #define INET_SOCKET_PAIR 1</B> na
<BR><B>#define INET_SOCKET_PAIR 0</B> i zrekompilowaæ program ponownie.
<BR>
<HR WIDTH="100%">
<BR><B>Q:</B> Stunnel nadal siê nie uruchamia a w syslogu pojawia siê 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³ania <B>MUSI</B> posiadaæ certyfikat. W celu wygenerowania
odpowiedniego certyfikatu nale¿y wydaæ komende: <B>/usr/local/ssl/bin/ssleay
req -new -x509 -nodes -out server.pem -days 365 -keyout server.pem</B>&nbsp;
b±d¼ te¿ u¿yæ <B>Makefile</B> do³±czonego do programu stunnel i przy pomocy
komendy <B>make cert </B>stworzyæ certyfikat. Tak utworzony certyfikat (server.pem)
nale¿y umie¶ciæ w katalogu <B>/usr/local/ssl/certs</B> i utworzyæ doñ odpowiednie
linki lub zmieæ nazwê certyfikatu na wymagan± przez stunnel.
<BR>
<HR WIDTH="100%">
<BR><B>Q:</B> Wygenerowa³em odpowiedni certyfikat przy pomocy skryptu CA.sh,
a stunnel <B>przy starcie prosi o podanie has³a</B>. Jak mo¿na przekazaæ
has³o zabezpieczaj±ce certyfikat do programu ?<B></B>
<P><B>A:</B> W chwili obecnej jest to niemo¿liwe. Certyfikaty którymi pos³uguje
sie stunnel nie mog± byæ zabezpieczane has³em. Przy tworzeniu certyfikatu
nale¿y u¿yæ opcji -nodes (lub utworzyæ certyfikat przy pomocy makefile
odstarczonego z programem).
<BR>
<HR WIDTH="100%">
<BR><B>Q:</B> Po uruchomieniu programu stunnel w syslogu pojawia siê 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¿enie ! Certyfikat nie powien daæ siê odczytaæ
przez innych u¿ytkowników systemu. Prawid³owe prawa dostêpu powinny byæ
nastêpuj±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¶li uruchamiaj±cym stunnel jest
root).
<BR>
<HR WIDTH="100%">
<BR><B>Q:</B> Probowa³em zrobiæ tunelowanie po³±czenia do demona <B>pop3</B>.
Pomimo zrobienia prawid³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³a a w syslogu pojawia siê komunikat:
<BR><B>inetd[2949]: spop3/tcp: unknown service.</B><B></B>
<P><B>A: </B>Nie zrobi³e¶ dodatkowych wpisów do pliku <B>/etc/services.</B>
Zgodnie z rfc???? prawid³owymi portami na których dzia³aj± demony pos³uguj±ce
siê 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¶li nie chesz robiæ poprawek zamiast nazwy serwisu u¿yj numeru portu
na którym on dzia³a.
<BR>
<HR WIDTH="100%">
<BR><B>Q:</B> Dobrze, zrobi³em wymagany wpis lecz w dalszym ciagu stunnel
nie dzia³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³e¶ wpis w inetd.conf,
<BR>(spop3&nbsp; stream&nbsp; tcp&nbsp; nowait&nbsp; root&nbsp; /usr/sbin/stunnel&nbsp;
qpopper -s) lub te¿ dany program jest w systemie, jednak ¶cie¿ka dostêpu
do niego nie jest wymieniona w zmiennej systemowej <B>$PATH</B>. Nale¿y
wiêc poprawiæ zapis w inetd.conf uzupe³niaj±c o pe³na ¶cie¿ke dostê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>