openVPN
OpenVPN | |
---|---|
Kuvaus | VPN yhteysohjelma |
Käyttöliittymä | CLI, GUI |
Lisenssi | |
Kotisivu | openvpn.net |
OpenVPN on suosittu VPN-ohjelmisto (Virtual Private Network) joka toimii useassa eri käyttöjärjestelmässä (Windows, Mac OSX, Linux jakelut). VPN-yhteyden asiakaspään tunnistamisen voi tehdä henkilövarmennetta käyttäen. Tästä on merkittäviä etuja tunnelipalvelun tarjoajalle ja käyttäjälle.
Sisällysluettelo
Asentaminen
Jos käyttäjä haluaa asentaa VPN-ohjelmiston itse ja käytettävä laite on tietokone ja hänellä on asennusoikeudet siihen, ohjelmiston voi ladata
sivustolta ja asentaa sen.
Jos laite on älypuhelin tai tabletti, ohjelma löytyy Googlen Android- ja Applen iOS -sovelluskaupoista.
Jos henkilökorttia ei ole aiemmin käytetty kyseisessä tietokoneessa, henkilökortin asetttaminen kortinlukijaan käynnistää sirukortin ATR-ajurin (smartcard driver) asentamisen. Nykyiset Windows-versiot etsivät ajuria verkosta ja lataavat ja asentavat sen automaattisesti, tämä edellyttää tietysti toimivan Internet-yhteyden.
Komentoja annettaessa istunnon tulee olla paikallinen, käytettävän tietokoneen omalta näppäimistöltä ja näytöltä - koska kortinlukijan käyttö ja kortin luku on estetty etänä (RDP, Remote Desktop Protocol ja vastaavat) turvallisuussyistä.
Windows
Asentamisen yhteydessä esitetyt kysymykset kannattaa hyväksyä oletuksilla. Henkilökorttia käytettäessä paketin mukana mahdollisesti tulevaa EasyRSA -vaihtoehtoa ei tarvita, koska sillä on tarkoitus luoda varmenteet itse.
Windows-käyttöjärjestelmässä on varmennesäiliö jonka varmenteita voi hallita certmgr-käyttöliittymällä. Varmennesäiliön varmenteita voi käyttää Microsoftin oman CryptoAPI-rajapinnan kautta jolloin myös salasana/PIN-kyselyt tapahtuvat käyttöjärjestelmän käyttöliittymillä.
OpenSC:n käyttämä PKCS#11-rajapinta on vaihtoehto CryptoAPI:lle jolloin sivutetaan koko Windowsin varmennesäiliö.
Kummassakaan ei valita käytettävää varmennetta sen CN:n mukaan jossa on käyttäjän nimi ja SATU vaan pkcs11-id:n (OpenSC) tai varmenteen sormenjäljen (CryptoAPI) avulla. Tästä seuraa, että asetus tulee uusia kun käyttäjän kortti vaihtuu katoamisen tai viiden vuoden vanhenemisen jälkeen uusittaessa.
Asetustiedosto .ovpn
Asetustiedoston saat palvelun tarjoajalta jossa on palvelun enimmät tiedot valmiina. Tulee huomioida, että normaali käyttäjä ei voi oletusarvoisesti kirjoittaa mitään asetustiedostojen kansioon.
OpenVPN ikoni työpöydän panelissa muuttaa valikkoaan kun ensimmäisen palvelun asetustiedosto löytyy kyseisestä hakemistosta. Valikko aukeaa klikkaamalla ikonia hiiren oikealla painikkeella. Uusia valintoja ovat mm Connect ja Edit Settings.
Asetustiedosto (*.ovpn) on henkilökohtainen henkilökorttia käytettäessä ja siten se kannattaa tallentaa käyttäjän kotihakemistossa olevaan asetushakemistoon:
C:\\Users\Juha Tuomala\OpenVPN\config
Palvelun oma CA juurivarmenne
Jos palvelun mukana tulee oma juurivarmenne, se ei ole henkilökohtainen ja sen voi hyvin tallentaa yhteisesti käyttäväksi hakemistoon:
C:\\Program Files\OpenVPN\config
jos sinne on kirjoitusoikeudet. Muussa tapauksessa se on laitettava henkilökohtaiseen hakemistoon.
Linux
Linuxissa:
/etc/openvpn/client/
Asetukset
Käyttäjän siis tulee valita kummalla tavalla varmennetta käytetään, varmennesäilön tai OpenSC-pkcs#11 avulla, tavat ovat toisilleen vaihtoehtoisia.
Varmennesäiliön asetukset
Varmennesäiliötä (CryptoAPI) käytettäessä käyttäjän asetustiedostoon tulee syöttää tunnistusvarmenteen (Key Usage: Digital Signature, Key Encipherment, Data Enchiphermenet) sormenjäljen arvo, ei allekirjoitusvarmenteen (Key Usage: Non-Repudiation) jota käytetään dokumenttien allekirjoittamiseen.
cryptoapicert 'THUMB:b8 82 51 f3 2a 50 d0 50 e2 c6 92 9b 4f d9 f9 a4 e3 13 78 d1'
Varmenteen sormenjäljen näkee tuplaklikkaamalla varmennetta ja valitsemalla Details välilehdeltä Thumbprint asetuksen.
Jos palvelun kanssa tulee käyttää palvelukohtaista juurivarmennetta palvelun oikeellisuuden varmistamiseksi, siihen tulee viitata ca asetuksella:
ca "C:\\Program Files\\OpenVPN\\config\\service.ca.cert.pem"
OpenSC asetukset
Varmennekortilta on luettava lista varmenteista joista selviää niiden Serialized id. Tämän kentän arvo on annettava asetustiedoston tekijälle.
Serialized id
Windowsissa:
Linuxissa:
# /usr/sbin/openvpn --show-pkcs11-ids /usr/lib64/pkcs11/onepin-opensc-pkcs11.so The following objects are available for use. Each object shown below may be used as parameter to --pkcs11-id option please remember to use single quote mark. Certificate DN: C=FI, serialNumber=10000350X, GN=JUHA, SN=TUOMALA, CN=TUOMALA JUHA 10000350X Serial: 3BC409C1 Serialized id: VRK\x2DFINEID/PKCS\x2315/4600015135155169/HENKILOKORTTI\x20\x28perustunnusluku\x29/45
Esimerkit on tehty saman henkilön eri korteilla. Huomaa, että kortin vaihtuessa serialized-id on vaihtunut
Käyttö
Käynnistys (Windows)
Ohjelma voidaan käynnistää käynnistämällä: - työpöydän ikonista klikkaamalla - palveluna (jatkuvasti taustalla valmiina)
Palvelun etu on korkeammat käyttöoikeudet. Ikonista käynnistettynä voi joutua valitsemaan oikealla hiiren nappulalla 'Run as Administrator' käynnistyksen. Palvelun käyttö vaatii myös TAP-modulin valitsemisen asennusvaiheessa, koska se on listattuna riippuvuutena eikä palvelu käynnisty ilman sitä.
Käynnistyksen jälkeen OpenVPN -ikoni ilmestyy työpyödän paneeliin.
Yhteyden muodostaminen (Windows)
Klikkaa hiiren oikealla napilla ikonia paneelista ja valitse Connect (tai yhteys, Connect jos niitä on useampia).
PIN1-tunnusluvun syöttö
Tunnusluvun voi syöttää joko graafisella käyttöliittymällä tai telnet-ohjelmalla.
telnet localhost 8888 password 'HENKILOKORTTI (perustunnusluku) token' 1234