| <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> 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> |
| 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------ 1 root root |
| 1370 Nov 8 1997 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 stream tcp nowait root /usr/sbin/stunnel |
| 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 </TD> |
| </TR> |
| |
| <TR> |
| <TD>ssmtp</TD> |
| |
| <TD>465/tcp</TD> |
| |
| <TD># SMTP over SSL </TD> |
| </TR> |
| |
| <TR> |
| <TD>snews</TD> |
| |
| <TD>563/tcp</TD> |
| |
| <TD># NNTP over SSL </TD> |
| </TR> |
| |
| <TR> |
| <TD>ssl-ldap</TD> |
| |
| <TD>636/tcp</TD> |
| |
| <TD># LDAP over SSL </TD> |
| </TR> |
| |
| <TR> |
| <TD>simap</TD> |
| |
| <TD>993/tcp</TD> |
| |
| <TD># IMAP over SSL </TD> |
| </TR> |
| |
| <TR> |
| <TD>spop3</TD> |
| |
| <TD>995/tcp</TD> |
| |
| <TD># POP-3 over SSL </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> <B>stunnel[3015]: execvp: No such file or directory (2). </B>Co |
| jeszcze jest nie tak ?<B></B> |
| |
| <P><B>A:</B> Prawdopodone s± dwie przyczyny: pierwsza w twoim systemie |
| nie ma demona dla ktorego zrobi³e¶ wpis w inetd.conf, |
| <BR>(spop3 stream tcp nowait root /usr/sbin/stunnel |
| 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. <B>spop3 stream tcp nowait root |
| /usr/sbin/stunnel /usr/sbin/qpopper -s</B> |
| <BR> |
| <BR> |
| </BODY> |
| </HTML> |