Stunnel
Eesmärk
Stunnel tarkvara võimaldab programmidel, mis iseenesest ei sisalda krüptimise tuge pidada üle võrgu krüptitud andmevahetust.
Ettevalmistused
Stunneli kasutamisel üldiselt läheb tarvis lisaks stunneli programmile endale võimalust tekitada sertifikaate. Tõenäoliselt kõige otsekohesem on kasutada isesigneeritud (ingl. k. self-signed) sertifikaate, mille valmistamine toimub tarkvara OpenSSL abil näiteks selliselt
bash$ openssl req -nodes -new -newkey rsa:1024 -keyout sertifikaat.key -out sertifikaat.csr bash$ openssl x509 -in sertifikaat.csr -out sertifikaat.crt -req -signkey sertifikaat.key -days 3650
Tulemusena on tekkinud kolm faili
sertifikaat.csr - nn sertifikaadi gereneerimise taotlus ehk avalik võti sertifikaat.key - vastav salajane võti sertifikaat.crt - isesigneeritud sertifikaat, mis tähendab praktiliselt seda, et sertifikaadi Issuer ja Subjekt langevad kokku
openssl x509 -in sertifikaat.crt -text -noout
Lisaks on OpenSSL programmiga hea pöörduda krüptitud teenuse poole selliselt
openssl s_client -connect ssl.loomaaed.tartu.ee:993
millele vastuseks näidatakse krüptitud ühenduse moodustamisel kasutatud parameetreid ning jääb ootama konsoolilt sisendit. Praktiliselt saab siit edasi tegutseda nagu krüptimata serveri poole telnet programmiga pöördumisel.
Krüptitud teenuse kasutamine krüptimise mitte toetava kliendiga
Eeldame, et krüptitud teenus asub aadressil ssl.loomaaed.tartu.ee:993 ning eesmärgiks on korraldada, et krüptimata andmevahetuseks saab pöörduda kohaliku arvuti localhost:143 pordi poole.
bash$ stunnel -f -c -d localhost:143 -r imap.loomaaed.tartu.ee:993
Võti -f tähendab, et stunnel jääb ees tööle, ilma -f kasutamiseta käivitatakse ta deemonina. Lisaks on -f kasutamisel hea näha stunneli logi. Muude kasutatud võtmete tähendus on ilmne
-c - stunnel töötab kliendina ja teine pool on krüptitud -r - kauge arvuti soket -d - stunnel töötab deemon rezhiimis kuulates näidatud soketil
SSL teenuse un-ssl'imine
bash$ stunnel -c -d 1111 -r ip.aadress.eem.al:443