Návod ke zprovoznění stunnel-3.8p4, sslwrap

Tento daemon umožňuje zabezpečit různé služby pomocí SSL tunelu např.: IMAP, POP3, HTTP,.....
Oficiální stránky projektu najdete na http://www.stunnel.org/
Původně byla tato stránka určena pouze pro popis programu stunnel, ale jeho provozní vlastnosti mě donutili najít jiné řešení a to sslwrap, který najdete na http://www.rickk.com/sslwrap/

1. Předpoklad je mít nainstalované následující tři programy v tomto pořadí:
m4-1.4, dát slink do /usr/bin
autoconf-2.13
rsaref-2.0
2. Instalace OpenSSL-0.9.6:
Chceme zapnutou podporu multi-threadingu, takže ve FreeBSD musíme použít v config následující přepínače (v Linuxu nejsou potřeba):
./config threads -D_REENTRANT
make
make test
make install
3. Vygenerování certifikátu:
instalace proběhla do adresáře /usr/local/ssl (defaultní nastavení), kde se budeme nadále pohybovat
vygenerovat certifikát a případně nechat ověřit (do adresare ./private)
k tomu požijeme buď následující řádek:
/usr/local/ssl/bin/openssl req -new -x509 -days 365 -nodes -out stunnel.pem -keyout stunnel.pem
který vygeneruje self-signed certifikát, není potřeba ověřovat jede hned, readme na http://www.stunnel.org/faq/certs.html
nejlépe být v adresáři /usr/local/ssl/private
nebo následující řádek:
/usr/local/ssl/bin/openssl req -new -out key.csr -newkey rsa:1024
ten vygeneruje privkey a certrequest, který se nechá ověřit u CA, v našem případě readme na: http://ca.vutbr.cz/unix.html
soubory, které jsme obdrželi máme v /usr/local/ssl/private
pokud jsme použili druhý způsob, tak musíme ještě vyrobit soubor stunnel.pem, což se provede následovně:
cp ./privkey.pem ./stunnel.pem
cat ./cert.crt >> ./stunnel.pem
a z stunnel.pem vymažeme všecky zbytečnosti tak, aby zbylo jen to mezi:
-----BEGIN RSA PRIVATE KEY-----
.....
-----END RSA PRIVATE KEY-----
-----BEGIN CERTIFICATE-----
.....
-----END CERTIFICATE-----
	
přesuneme stunnel.pem z adresáře ./private do adresáře ./certs
pomocí následujícího příkazu vyrobíme v adr. ./certs slink na stunnel.pem
ln -s stunnel.pem `/usr/local/ssl/bin/openssl x509 -hash -noout -in stunnel.pem`.0
a slink server.pem ukazující rovněž na stunnel.pem:
ln -s ./stunnel.pem ./server.pem
4. nainstalovat stunnel v našem případě:
./configure --with-pem-dir=/usr/local/ssl/certs --with-ssl=/usr/local/ssl
vzniklý spustitelný soubor hodíme do /usr/local/sbin/
spustíme něco v následujícím stylu, to už záleží na platformě a zda to chceme rozjet při startu systemu, v našem případe (FreeBSD) je to v rc.local (poběží jako daemon, dá se i přes inetd viz. readme):
if [ -x /usr/local/sbin/stunnel ]
then
 echo 'starting stunnel '
 killall -9 stunnel
 rm -f /usr/local/var/stunnel/stunnel.imap.pid
 rm -f /usr/local/var/stunnel/stunnel.pop3.pid
 /usr/local/sbin/stunnel -d 993 -r imap -v 1
 /usr/local/sbin/stunnel -d 995 -r pop3 -v 1
fi	
	
5. nebo nainstalovat sslwrap:

make a program pak nakopírovat do /usr/local/sbin/

spouštět se bude přes inetd:
imaps   stream  tcp     nowait  root    /usr/local/sbin/sslwrap sslwrap \
-cert /usr/local/ssl/certs/server.pem   -port   143

pop3s   stream  tcp     nowait  root    /usr/local/sbin/sslwrap sslwrap \
-cert /usr/local/ssl/certs/server.pem   -port   110
Při spouštění přes inetd musíme samozřejmě zrušit ochranu privkeye pass frází, podle typu šifry buď RSA nebo DSA:
openssl rsa -in key.pem -out keyout.pem
nebo
openssl dsa -in key.pem -out keyout.pem


6. DŮLEŽITÉ POSTŘEHY:
7. AKTUALITY:
Tak to by bylo pro tentokát vše, přeju příjemnou zábavu.

Autor: Václav Musil
napsáno 14.01.2001 Zpět na hlavní stránku