openVPN

Kohteesta DigiWiki
Versio hetkellä 24. maaliskuuta 2020 kello 12.58 – tehnyt TUOMALA JUHA 10000350X (keskustelu | muokkaukset)
Siirry navigaatioon Siirry hakuun
OpenVPN
Ovpntech logo-s.png
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ökorttia 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ä.

 
Henkilökortin tunnistus ja allekirjoitus varmenteet näkyvät varmennesäiliössä.

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

 
Asetukset aukeavat klikkaamalla hiiren oikeanpuoleisella napilla paneelin OpenVPN-ikonia ja valitsemalla Edit Config.

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.

 
Sormenjälki-arvo varmenteen tiedoissa.

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

Katso myös

Aiheesta muualla