Tunelem przez sieć

Easy-rsa w praktyce

Zestaw skryptów easy-rsa znajdziemy w katalogu /usr/share/doc/openvpn/examples/easy-rsa (dostępne w wersji 1.0 i 2.0), skąd kopiujemy je do roboczego katalogu /etc/openvpn/easy-rsa/.

Plik /etc/openvpn/easy-rsa/vars zawiera ścieżki do plików wykonywalnych oraz plików konfiguracyjnych biblioteki OpenSSL, a także zmienne używane przez zestaw skryptów easy-rsa w trakcie generowania i unieważniania certyfikatów. Plik vars należy dostosować do własnej konfiguracji PKI. W wykonaniu tego zadania pomocne będą opisy poszczególnych opcji i zmiennych zawarte w treści pliku.

Tunelem przez sieć

Zarządzanie uprawnieniami użytkowników w zakresie dostępu do zasobów sieci korporacyjnej w panelu administratora OpenVPN Access Server

Zaczynamy od skopiowania skryptów easy-rsa do katalogu /etc/openvpn. Następnie tworzymy podkatalog keys, w którym przechowywane będą certyfikaty cyfrowe i klucze prywatne, oraz edytujemy zawartość pliku vars. W tym celu możemy posłużyć się programem vim:

# cp –r /usr/share/doc/openvpn/examples/easy-rsa/2.0 /etc/openvpn/easy-rsa

# mkdir /etc/openvpn/keys

# cd /etc/openvpn/easy-rsa

# vim vars

Polecenie source umożliwia wczytanie do zmiennych powłoki systemowej wartości parametrów określonych w pliku vars. W kolejnym kroku, za pomocą skryptu clean-all, oczyszczamy katalog keys ze starych kluczy:

# source vars

# ./clean-all

Tworzymy PKI

Następny etap polega na utworzeniu nowego centrum autoryzacji (CA) z wygenerowaniem nowych certyfikatów i kluczy dla CA oraz serwera, który w naszym przypadku jest jednocześnie serwerem usługi OpenVPN:

# ./build-ca

# ./build-key-server ovpn-server

# ./build-dh

Generujemy certyfikaty klientów

Tak przygotowane PKI posłuży nam do wystawiania oraz unieważniania certyfikatów użytkowników (klientów) uzyskujących dostęp do serwera OpenVPN. Polecenie ./build-key-pass wymusza wygenerowanie klucza prywatnego zabezpieczonego hasłem. Klucz musi zostać odblokowany hasłem przy każdej próbie nawiązania połączenia z siecią korporacyjną. Stanowi to dodatkowe zabezpieczenie w przypadku ujawnienia klucza.

# cd /etc/openvpn/easy-rsa

# source vars

# ./build-key-pass marekjankowski

Pliki kluczy (z rozszerzeniem .key) muszą być traktowane jako poufne. Należy je przenieść na inny komputer w sposób bezpieczny, np. w połączeniu szyfrowanym SCP/SSH lub za pomocą pamięci przenośnej. Pliki certyfikatów (.crt) oraz żądania podpisania certyfikatu (.csr) są jawne i mogą być przekazywane również w komunikacji niezabezpieczonej, np. w formie załącznika do wiadomości e-mail.

Skrypt revoke-full umożliwia unieważnienie certyfikatu klienta:

# ./revoke-full marekjankowski

Klient dla Windows

Aplikacja klienta OpenVPN dla Windows dostępna jest ze stronyhttp://openvpn.net/index.php/download/community-downloads.html. Pakiet instalatora, w wersji dla systemu 32- i 64-bitowego zawiera oprogramowanie OpenVPN, sterownik wirtualnego interfejsu TAP, aplikację graficznego klienta (GUI) oraz inne wymagane biblioteki OpenSSL, LZO oraz PKCS#11.


TOP 200