Tworzenie infrastruktury klucza publicznego Za pomocą łatwych RSA Skrypty

Pierwszym krokiem podczas konfigurowania OpenVPN jest stworzenie Public Key Infrastructure (PKI). PKI składa się z:

  • Mistrz publicznego Certificate Authority (CA) Certyfikat i klucz prywatny.
  • Osobny certyfikat publiczny i klucz prywatny pary (określanego dalej jako certyfikat) dla każdego serwera i każdego klienta.

Aby ułatwić proces tworzenia certyfikatów, OpenVPN pochodzi z kolekcji RSA Główne skrypty manangement (w oparciu o narzędzia wiersza polecenia openssl) znany jako easy-rsa.

Uwaga: Tylko pliki .key muszą być utrzymywane w tajemnicy, .CRT i .csr pliki mogą być przesyłane przez niezabezpieczone kanały, takie jak e-mail zwykłego tekstu.

W tym artykule przedstawiono niezbędne certyfikaty są tworzone przez administratora w katalogu domowym roota. To gwarantuje, że wygenerowane pliki mają prawa własności i uprawnień, i są bezpieczne od innych użytkowników.

Uwaga: Certyfikaty mogą być tworzone na dowolnym komputerze. Dla najwyższego bezpieczeństwa, generowanie certyfikatów na fizycznie zabezpieczonym komputerze odłączony od każdej sieci, i upewnij się, że wygenerowany ca.key klucz prywatny jest w kopii zapasowej i nigdy dostępne dla każdego.
Ostrzeżenie: Upewnij się, że wygenerowane pliki są kopiowane, w szczególności pliki ca.key i ca.crt, ponieważ jeśli stracił nie będzie w stanie stworzyć każdy nowy, ani cofnąć żadnych skompromitowanych certyfikatów, wymagając w ten sposób wytworzenie nowego Certificate Authority (CA) certyfikat, unieważnienia całej infrastruktury PKI.

Instalacja easy-rsa skrypty

Instalowanie skryptów w następujący sposób:

Tworzenie certyfikatów

Przejdź do katalogu, w którym zainstalowano skrypty.

Aby zapewnić spójne stosowanie wartości podczas generowania PKI, Wartości domyślny zestaw do wykorzystania przez skrypty generujące PKI. Edycja / root / easy-rsa / Vars i przynajmniej ustawić KEY_COUNTRY, KEY_PROVINCE, KEY_CITY, KEY_ORG, i parametry KEY_EMAIL (nie pozostawiają żadnego z tych parametrów pusty). Zmiana parametru KEY_SIZE do 2048 dla SSL / TLS do korzystania 2048bit kluczy RSA do uwierzytelniania.

Wyeksportować zmienne środowiskowe.

Usuń wszystkie wcześniej utworzone certyfikatów.

Uwaga: Wprowadzanie . (kropka) Gdy pojawi się monit o wartości, wygasza się parametr.

Skrypt build-ca generuje Certificate Authority (CA) certyfikat.

Skrypt build-key-serwer # ./build-key-server <server name> generuje certyfikat serwera. Upewnij się, że nazwa serwera (Nazwa zwyczajowa podczas uruchamiania skryptu) jest unikalny.

Uwaga: Nie należy wprowadzać hasło wyzwaniem lub nazwę firmy, gdy skrypt monituje o jeden.

Skrypt build-dh generuje Parametry Diffie-Hellman .plik PEM potrzebne przez serwer.

Uwaga: Byłoby lepiej, aby wygenerować nowy dla każdego serwera, ale można użyć tego samego, jeśli chcesz.

Skrypt build-key # ./build-key <client name> generuje certyfikat klienta. Upewnij się, że nazwa klienta (Nazwa zwyczajowa podczas uruchamiania skryptu) jest unikalny.

Uwaga: Nie należy wprowadzać hasło wyzwaniem lub nazwę firmy, gdy skrypt monituje o jeden.

Generowanie tajemnicy Hash oparte kod uwierzytelnienia wiadomości (HMAC) uruchamiając: # openvpn --genkey --secret /root/easy-rsa/keys/ta.key

Będzie on służył dodać dodatkowy HMAC podpis do wszystkich pakietów / TLS SSL handshake. Oprócz wszystkich pakietów UDP nie mają prawidłowego HMAC podpis zostanie natychmiast spadła, ochrony przed:

  • Portscanning.
  • DOS atakuje na porcie UDP OpenVPN.
  • SSL / TLS Handshake inicjacje z nieautoryzowanych urządzeń.
  • Ewentualne luki przepełnienie bufora w implementacji SSL / TLS.

Wszystkie utworzone klucze i certyfikaty były przechowywane w / root / easy-klucze RSA /. Jeśli się pomylisz, można zacząć od nowa, ponownie uruchamiając oczyszczenia cały skrypt.

Ostrzeżenie: Spowoduje to usunięcie wszystkich wcześniej wygenerowanych certyfikatów przechowywanych w / root / easy-kluczy RSA /, włączając Certificate Authority (CA) certyfikat.

Konwersja certyfikaty zaszyfrowanej .p12

niektóre programy (takich jak Android) będzie tylko do odczytu certyfikaty VPN, które są przechowywane w zaszyfrowane hasłem pliku .p12. Te mogą być generowane za pomocą następującego polecenia:

Sprawdzanie Korzystanie OpenSSL

Jeśli chcesz zapoznać się z informacjami w certyfikacie, CSR lub klucza prywatnego, używać tych poleceń. Możesz również sprawdzić CSRs oraz sprawdzić certyfikaty Korzystając z naszych narzędzi online.

  • Sprawdź żądania podpisania certyfikatu (CSR)
  • Sprawdź klucz prywatny
  • Sprawdź certyfikat
  • Sprawdź pliku PKCS # 12 (.pfx lub .p12)

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *