Gdy pojawiają się kłopoty

Q: Próbuje kompilować stunnel jednak dostaje następujące komunikaty:
stunnel.c:69: ssl.h: No such file or directory
stunnel.c:71: bio.h: No such file or directory
stunnel.c:72: pem.h: No such file or directory
make: *** [stunnel.o] Error 1

A: Są dwie prawdopodobne przyczyny: nie masz zainstalowanego w systemie pakietu SSLeay lub pakiet nie znajduje sie w miejscu domyślnym czyli /usr/local/ssl. Należy zainstalować SSLeay lub też poprawić Makefile tak by ścieżka była prawidłowa.

Q: Próbuje uruchomić stunnel jako wrapper dla httpd. Po wydaniu komendy: stunnel 443 @localhost:80 demon się nie uruchamia a w syslogu pojawia się komunikat "stunnel[2481]: getpeername: Socket operation on non-socket (88)"

A: Jest to błąd charakterystyczny dla Linuxa. Należy w pliku stunnel.c zmienić linię #define INET_SOCKET_PAIR 1 na
#define INET_SOCKET_PAIR 0 i zrekompilować program ponownie.

Q: Stunnel nadal się nie uruchamia a w syslogu pojawia się komunikat "stunnel[2525]: /usr/local/ssl/certs/localhost:80.pem: No such file or directory (2)"

A: Nie posiadasz odpowiedniego certyfikatu dla demona. Stunnel w celu poprawnego działania MUSI posiadać certyfikat. W celu wygenerowania odpowiedniego certyfikatu należy wydać komende: /usr/local/ssl/bin/ssleay req -new -x509 -nodes -out server.pem -days 365 -keyout server.pem bądź też użyć Makefile dołączonego do programu stunnel i przy pomocy komendy make cert stworzyć certyfikat. Tak utworzony certyfikat (server.pem) należy umieścić w katalogu /usr/local/ssl/certs i utworzyć doń odpowiednie linki lub zmieć nazwę certyfikatu na wymaganą przez stunnel.

Q: Wygenerowałem odpowiedni certyfikat przy pomocy skryptu CA.sh, a stunnel przy starcie prosi o podanie hasła. Jak można przekazać hasło zabezpieczające certyfikat do programu ?

A: 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).

Q: Po uruchomieniu programu stunnel w syslogu pojawia się komunikat: "stunnel[2805]: WARNING: Wrong permissions on /usr/local/ssl/certs/localhost:80.pem". Co jest nie tak ?

A: 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: -rw------ 1 root root 1370 Nov 8 1997 server.pem (jeśli uruchamiającym stunnel jest root).

Q: Probowałem zrobić tunelowanie połączenia do demona pop3. Pomimo zrobienia prawidłowego wpisu do inetd.conf
"spop3 stream tcp nowait root /usr/sbin/stunnel qpopper -s" stunnel nie działa a w syslogu pojawia się komunikat:
inetd[2949]: spop3/tcp: unknown service.

A: Nie zrobiłeś dodatkowych wpisów do pliku /etc/services. Zgodnie z rfc???? prawidłowymi portami na których działają demony posługujące się SSL są:

https | 443/tcp | # HTTP over SSL
ssmtp | 465/tcp | # SMTP over SSL
snews | 563/tcp | # NNTP over SSL
ssl-ldap | 636/tcp | # LDAP over SSL
simap | 993/tcp | # IMAP over SSL
spop3 | 995/tcp | # POP-3 over SSL

Jeśli nie chesz robić poprawek zamiast nazwy serwisu użyj numeru portu na którym on działa.

Q: Dobrze, zrobiłem wymagany wpis lecz w dalszym ciagu stunnel nie działa, natomiast w syslogu pojawia sie wpis:
stunnel[3015]: execvp: No such file or directory (2). Co jeszcze jest nie tak ?

A: Prawdopodone są dwie przyczyny: pierwsza w twoim systemie nie ma demona dla ktorego zrobiłeś wpis w inetd.conf,
(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 $PATH. Należy więc poprawić zapis w inetd.conf uzupełniając o pełna ścieżke dostępu do demona np. spop3 stream tcp nowait root /usr/sbin/stunnel /usr/sbin/qpopper -s