[lang_en]A lot of organisations have access to their network through OpenVPN and token authentication. There is guide how to connect to VPN network with OpenVPN and ikey 3000 token combination.
Content:
- Installation
- Configuration
- Connection
 |
Installation
|
Top |
Debian Leny, Ubuntu 8.10, 9.04
- Run command in concole:
sudo apt-get install openvpn openct opensc
Ubuntu 9.10
- Download packages opensc and libopensc2
- Run console, go to the folder where are downloaded packages and install them by command:
i386: sudo dpkg -i opensc_0.11.8-1ubuntu1_i386.deb libopensc2_0.11.8-1ubuntu1_i386.deb
x86_64: sudo dpkg -i opensc_0.11.8-1ubuntu1_amd64.deb libopensc2_0.11.8-1ubuntu1_amd64.deb
- Then install other required software form repositories by command:
sudo apt-get install openvpn openct
Note: You cannot upgrade libopensc2 and opensc package form now !!!
OpenSUSE 11, 11.1
- You have to download and install new RPM files to you openSUSE because version of opensc distributed in OpenSUSE 11.1 has bug. If you try read the certificates from your token and you have installed version of opensc from OpenSUSE 11.1 repository this opensc version give the CRK_COMMAND_FAILED.
Download and save these files:
- Install required packages from YAST.
Run console and run command
sudo /sbin/yast -i gcc gcc-c++ make lzo-devel openct libopenssl-devel pkcs11-helper-devel
- Uninstall opensc dilivered by OpenSUSE installation by command:
sudo rpm -e opensc libopensc2 openssh openssh-askpass
- Go to the directory where you have downloaded files and install them by command:
sudo rpm -ivh libopensc2-0.11.4-37.1.i586.rpm libltdl-3-1.5.26-23.1.i586.rpm opensc-0.11.4-37.1.i586.rpm
- Download latest version of OpenVPN-2.1 form project page http://www.openvpn.net (I use OpenVPN 2.1 rc15)
- Go to the directory where you have downloaded OpenVPN tar.gz file and unpack the file by command:
tar xvzf openvpn-2.1_rc15.tar.gz
- Go to direcotry where is unpacked OpenVPN files (e.g.
cd openvpn-2.1_rc15/
- Install OpenVPN by these commands (step by step):
./configure
make
sudo make install
 |
Configuration
|
Top |
We have all required software installed in the system and we can start configure OpenVPN connection.
- Create “openvpn” folder in “/etc” if doesn’t exist
Run console and run command
sudo mkdir /etc/openvpn
- I recieved from my company OpenVPN administrator these files:
- VPN.ovpn – configuration file for Windows OpenVPN
- gvpn_ca.cer – CA certificate
- ta.key – key file
You should have similar files too.
Copy these files to “/etc/openvpn” folder
- Now conect ikey 3000 token to your computer
- Restart openct daemon by command:
sudo /etc/init.d/openct restart
- We check now if ikey 3000 is working.
Run command:
sudo pkcs15-tool -c
You should see report like this one:
X.509 Certificate [Vladislav Korecky GVPN's VPN VPN CA ID]
Flags : 2
Authority: no
Path : 3f0050154300
ID : 61323133623665662d396631392d346530302d623734642d656436386436656462313537
- OK, we can configure OpenVPN configuration file now (I had only Windows OpenVPN configuration file)
Open your configuration file in your favorite editor.
I run command:
sudo gedit /etc/openvpn/VPN.ovpn
My OpenVPN configuration file for Windows look like this one:
client
dev tun
proto udp
remote 111.111.111.1 1111
resolv-retry infinite
persist-key
persist-tun
redirect-gateway
tls-remote ovpn.server.com
redirect-gateway
ca "C:\\Program Files\\OpenVPN\\config\\gvpn_ca.cer"
cryptoapicert "SUBJ:John Smith GVPN"
tls-auth ta.key 1
comp-lzo
verb 4
I modified these attributes because security restrictions:
remote
tls-remote
cryptoapicert
- We will modify this file to OpenVPN Linux version:
Delete these lines in the config file:
ca "C:\\Program Files\\OpenVPN\\config\\gvpn_ca.cer"
cryptoapicert "SUBJ:John Smith GVPN"
On their place put these lines:
pkcs11-providers /usr/lib/opensc-pkcs11.so
pkcs11-id ''
- Keep file opened and run another console.
In the console run command:
sudo /usr/local/sbin/openvpn --show-pkcs11-ids /usr/lib/opensc-pkcs11.so
You should see report like this:
[opensc-pkcs11] iso7816.c:99:iso7816_check_sw: File not found
[opensc-pkcs11] card-starcos.c:312:starcos_select_fid: returning with: File not found
[opensc-pkcs11] card.c:554:sc_select_file: returning with: File not found
[opensc-pkcs11] pkcs15-pubkey.c:404:sc_pkcs15_read_pubkey: Failed to read public key file.
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=CZ/L=Jihlava/O=VPN spol. s r. o./OU=Centrala/CN=Vladislav Korecky GVPN
Serial: 46341E5D000000000132
Serialized id: A\x2EE\x2ET\x2E\x20Europe\x20B\x2EV\x2E/PKCS\x20\x2315\x20SCard/9790623500140921/Vladislav\x20Korecky/61323133623665662D396631392D346530302D623734642D656436386436656462313537
- In section “Certificate” you can see line started sith “Serialized id:”. Copy this value to the configuration file to the line started “pkcs11-id”.
Your configuration file should be the similar as my:
client
dev tun
proto udp
remote 111.111.111.1 1111
resolv-retry infinite
persist-key
persist-tun
redirect-gateway
tls-remote ovpn.server.com
redirect-gateway
pkcs11-providers /usr/lib/opensc-pkcs11.so
pkcs11-id 'A\x2EE\x2ET\x2E\x20Europe\x20B\x2EV\x2E/PKCS\x20\x2315\x20SCard/9790623500140921/Vladislav\x20Korecky/61323133623665662D396631392D346530302D623734642D656436386436656462313537'
tls-auth /etc/openvpn/ta.key 1
comp-lzo
verb 4
- Save configuration file to “/etc/openvpn/” folder
- That’s all. You can try connect to your OpenVPN network now.
- Connvet your ikey 3000 token to the computer and restart openct daemon by command:
sudo /etc/ini.d/openct restart
- Connect to your OpenVPN network by command: (modify file names)
sudo /usr/local/sbin/openvpn --config /etc/openvpn/VPN.ovpn --ca /etc/openvpn/gvpn_ca.cer
- Computer will ask you on password.
These lines should see like:
...
Tue Apr 28 13:50:10 2009 us=681368 VERIFY OK: depth=1, /emailAddress=caadmi@VPN.cz/C=CZ/L=Jihlava/O=VPN_spol._s_r._o./OU=Centrala/CN=VPN_VPN_CA
Tue Apr 28 13:50:10 2009 us=682849 VERIFY X509NAME OK: /C=CZ/L=Jihlava/O=VPN_spol._s_r._o./OU=Centrala/CN=ovpn.VPN.cz
Tue Apr 28 13:50:10 2009 us=682944 VERIFY OK: depth=0, /C=CZ/L=Jihlava/O=VPN_spol._s_r._o./OU=Centrala/CN=ovpn.VPN.cz
Enter Vladislav Korecky token Password:
- When you see these lines:
...
[opensc-pkcs11] pkcs11-global.c:176:C_Initialize: C_Initialize(): Cryptoki already initialized
Tue Apr 28 13:50:46 2009 us=914449 /sbin/route add -net 10.20.8.1 netmask 255.255.255.255 gw 10.20.10.174
[opensc-pkcs11] pkcs11-global.c:176:C_Initialize: C_Initialize(): Cryptoki already initialized
Tue Apr 28 13:50:46 2009 us=916233 Initialization Sequence Completed
You are connected …
[/lang_en]
[lang_cs]Mnoho organizací používá k přístupu do své lokální sítě OpenVPN a tokenu ikey 3000. Tento návod vám pomůže právě s tímto druhem připojení.
Obsah:
- Instalace
- Konfigurace
- Připojení
Debian Leny, Ubuntu 8.10, 9.04
- Spusťte příkaz v kosnoli:
sudo apt-get install openvpn openct opensc
Ubuntu 9.10
- Stáhněte si balíčky opensc and libopensc2
- Spusťte konsoli, běžte do adresáře kde máte stažené balíčky a nainstalujte je příkazem:
i386: sudo dpkg -i opensc_0.11.8-1ubuntu1_i386.deb libopensc2_0.11.8-1ubuntu1_i386.deb
x86_64: sudo dpkg -i opensc_0.11.8-1ubuntu1_amd64.deb libopensc2_0.11.8-1ubuntu1_amd64.deb
- Poté nainstalujte i zbývající software příkazem:
sudo apt-get install openvpn openct
Poznámka: Od teď již nemůžete aktualizovat balíčky libopensc2 a opensc !!!
OpenSUSE 11, 11.1
- Nejdříve si musíte stáhnout nové RPM balíčky některých souborů, protože v openct v OpenSUSE 11.1 obsahuje chybu. Když se pokusíte získat certifikát z vašeho tokenu s originálním openct knihovna vyhodí výjimku CRK_COMMAND_FAILED.
Stáhněte so tyto soubory:
- Nainstalujte potřebné balíčky pomocí YAST.
Spusťte konsoli a zadejte příkaz
sudo /sbin/yast -i gcc gcc-c++ make lzo-devel openct libopenssl-devel pkcs11-helper-devel
- Odinstalujte opensc dodaný s OpenSUSE 11.1:
sudo rpm -e opensc libopensc2 openssh openssh-askpass
- Běžte do složky kde máte stažené RPM souboty (první krok v tomto návodu) a nainstalujte je příkazem:
sudo rpm -ivh libopensc2-0.11.4-37.1.i586.rpm libltdl-3-1.5.26-23.1.i586.rpm opensc-0.11.4-37.1.i586.rpm
- Stáhněte si ze stránek project http://www.openvpn.net poslední verzi OpenVPN 2.1 (Já používám OpenVPN 2.1 rc15)
- Bežte do složky kde se nachází stažený tar.gz soubor a rozbalte jej:
tar xvzf openvpn-2.1_rc15.tar.gz
- Přesuňte se do složky s rozpakovaným OpenVpn (např:
cd openvpn-2.1_rc15/
- Nainstalujte OpenVPN pomocí těchto příkazů (ve stejném pořadí, krok po kroku):
./configure
make
sudo make install
 |
Konfigurace
|
Top |
Veškerý potřebný software bychom měli mít nainstalovaný, takže se můžeme pustit do konfigurace OpenVPN.
- Vytvořte složku “openvpn” v “/etc” (pokud neexistuje)
Spusťte konsoli a zadejte příkaz
sudo mkdir /etc/openvpn
- Obdržel jsem tyto soubory:
- VPN.ovpn – konfigurační soubot pro Windows
- gvpn_ca.cer – CA certifikát
- ta.key – key soubor
Podobné soubory by jste měli mít i vy.
Zkopírujte je do složky “/etc/openvpn”
- Nyní připojte váš token do počítače
- Restartujte openct démona pomocí přikazu:
sudo /etc/init.d/openct restart
- Nyní zkontrolujeme jestli ikey 3000 klíčenka pracuje správně.
Spusťte příkaz:
sudo pkcs15-tool -c
Měli by jste vidět podobný výpis:
X.509 Certificate [Vladislav Korecky GVPN's VPN VPN CA ID]
Flags : 2
Authority: no
Path : 3f0050154300
ID : 61323133623665662d396631392d346530302d623734642d656436386436656462313537
- Nyní se můžeme pustit do samotné konfigurace
Otevřete konfigurační soubo ve vašem oblíbeném editoru.
Já jsem spustil gedit tímto příkazem:
sudo gedit /etc/openvpn/VPN.ovpn
Můj konfigurační soubor OpenVPN pro Windows vypadal takto:
client
dev tun
proto udp
remote 111.111.111.1 1111
resolv-retry infinite
persist-key
persist-tun
redirect-gateway
tls-remote ovpn.server.com
redirect-gateway
ca "C:\\Program Files\\OpenVPN\\config\\gvpn_ca.cer"
cryptoapicert "SUBJ:John Smith GVPN"
tls-auth ta.key 1
comp-lzo
verb 4
Následující atributy byly pozměněny kvůli bezpečnosti:
remote
tls-remote
cryptoapicert
- Tento soubor modifikujeme pro Linux verzi OpenVPN:
Smažte tyto řádky z konfiguračního souboru:
ca "C:\\Program Files\\OpenVPN\\config\\gvpn_ca.cer"
cryptoapicert "SUBJ:John Smith GVPN"
Na jejich místo vložte:
pkcs11-providers /usr/lib/opensc-pkcs11.so
pkcs11-id ''
- Soubor ponechte otevřený a spusťte si novou konsoli.
V novém okně spusťte příkaz:
sudo /usr/local/sbin/openvpn --show-pkcs11-ids /usr/lib/opensc-pkcs11.so
Měli by jste vidět následujíc report:
[opensc-pkcs11] iso7816.c:99:iso7816_check_sw: File not found
[opensc-pkcs11] card-starcos.c:312:starcos_select_fid: returning with: File not found
[opensc-pkcs11] card.c:554:sc_select_file: returning with: File not found
[opensc-pkcs11] pkcs15-pubkey.c:404:sc_pkcs15_read_pubkey: Failed to read public key file.
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=CZ/L=Jihlava/O=VPN spol. s r. o./OU=Centrala/CN=Vladislav Korecky GVPN
Serial: 46341E5D000000000132
Serialized id: A\x2EE\x2ET\x2E\x20Europe\x20B\x2EV\x2E/PKCS\x20\x2315\x20SCard/9790623500140921/Vladislav\x20Korecky/61323133623665662D396631392D346530302D623734642D656436386436656462313537
- V sekci “Certificate” můžete vidět řádek začínající “Serialized id:”. Zkopírujte tuto hodnotu do konfiguračního souboru do řádku “pkcs11-id”.
Nyní by měl náš konfigurační soubor vypadat takto:
client
dev tun
proto udp
remote 111.111.111.1 1111
resolv-retry infinite
persist-key
persist-tun
redirect-gateway
tls-remote ovpn.server.com
redirect-gateway
pkcs11-providers /usr/lib/opensc-pkcs11.so
pkcs11-id 'A\x2EE\x2ET\x2E\x20Europe\x20B\x2EV\x2E/PKCS\x20\x2315\x20SCard/9790623500140921/Vladislav\x20Korecky/61323133623665662D396631392D346530302D623734642D656436386436656462313537'
tls-auth /etc/openvpn/ta.key 1
comp-lzo
verb 4
- Uložte jej do adresáře “/etc/openvpn/”
- To je vše. Nyní se můžete připojit do OpenVPN sítě.
- Připojte ikey 3000 token do počítače a restartujte openct démona:
sudo /etc/ini.d/openct restart
- Nyní se můžete připojit do VPN sítě příkazem: (změňte si jména souborů)
sudo /usr/local/sbin/openvpn --config /etc/openvpn/VPN.ovpn --ca /etc/openvpn/gvpn_ca.cer
- Počítač se vás zeptá na heslo k tokenu.
...
Tue Apr 28 13:50:10 2009 us=681368 VERIFY OK: depth=1, /emailAddress=caadmi@VPN.cz/C=CZ/L=Jihlava/O=VPN_spol._s_r._o./OU=Centrala/CN=VPN_VPN_CA
Tue Apr 28 13:50:10 2009 us=682849 VERIFY X509NAME OK: /C=CZ/L=Jihlava/O=VPN_spol._s_r._o./OU=Centrala/CN=ovpn.VPN.cz
Tue Apr 28 13:50:10 2009 us=682944 VERIFY OK: depth=0, /C=CZ/L=Jihlava/O=VPN_spol._s_r._o./OU=Centrala/CN=ovpn.VPN.cz
Enter Vladislav Korecky token Password:
- Po zadání hesla by mělo připojování pokračovat. Pokud váš výpis končí stejným řádkem jako můj, měli by jste být připojeni:
...
[opensc-pkcs11] pkcs11-global.c:176:C_Initialize: C_Initialize(): Cryptoki already initialized
Tue Apr 28 13:50:46 2009 us=914449 /sbin/route add -net 10.20.8.1 netmask 255.255.255.255 gw 10.20.10.174
[opensc-pkcs11] pkcs11-global.c:176:C_Initialize: C_Initialize(): Cryptoki already initialized
Tue Apr 28 13:50:46 2009 us=916233 Initialization Sequence Completed
[/lang_cs]