||

20T47 Clearpass Certyfikaty Testowe w 5 min.

OpenSSL stworzenie własnego CA do środowiska testowego

Więcej miejsc do posłuchania:

Spotify

1. Opis problemu

Clearpass od wersji 6.8 do zestawienia klastra wymaga zaufanych certyfikatów HTTPS, w tym również dodania użytych CA do listy zaufanych.

Dodatkowo do prawidłowego działania 802.1x, wymagane jest wpisanie adresów IP do pola SAN (Subject Alternative Name). W tym przykładzie generuję jeden certyfikat do użycia dla HTTPS oraz Radius.

Jeżeli używasz Clearpass Guest, to będziesz potrzebował osobny certyfikat dla 802.1x, opisany w tym artykule, a oprócz tego inny certyfikat z publicznego urzędu dla HTTPS.

Tutaj ciekawostka Clearpass tworząc klaster łączy się po IP i ten adres nie musi istnieć w certyfikacie HTTPS, weryfikowana jest natomiast ważność użytego certyfikatu oraz powiązanych urzędów.

Możesz zatem mieć certyfikat na nazwę domenową w CN = *.netadminpro.pl, ale klaster zawsze zestawiasz do adresu IP i zawartość CN nie ma tutaj znaczenia.

1. Generowanie CA

Urzad Certyfikacji
Urzad Certyfikacji

Całość konfiguracji wymaga dostępu do pakietu OpenSSL, pakiet ten możesz zainstalować zarówno na systemie Windows jaki Linux, ja użyłem Ubuntu 20.04 LTS.

Generowanie klucza prywatnego dla urzędu certyfikacji:

openssl genrsa -des3 -out ClearpassCA.key 2048

Zostaniesz poproszony o podanie hasła, którego nie polecam pomijać w celu zachowania bezpieczeństwa. Hasło uniemożliwi każdemu, kto uzyska Twój klucz prywatny, wygenerowanie własnego certyfikatu głównego. Wynik powinien wyglądać następująco:

Generating RSA private key, 2048 bit long modulus (2 primes)
.............+++++
.......................+++++
e is 65537 (0x10001)
Enter pass phrase for ClearpassCA.key:
Verifying - Enter pass phrase for ClearpassCA.key:

Następnie generujemy certyfikat główny:

openssl req -x509 -new -nodes -key ClearpassCA.key -sha256 -days 1825 -out ClearpassCA.pem

Zostaniesz poproszony o podanie hasła do klucza prywatnego (który właśnie wybrałeś) i odpowiedzi na kilka pytań.

Enter pass phrase for ClearpassCA.key:
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:PL
State or Province Name (full name) [Some-State]:Mazowieckie
Locality Name (eg, city) []:Warszawa
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Netadminpro.pl
Organizational Unit Name (eg, section) []:Netadminpro.pl
Common Name (e.g. server FQDN or YOUR name) []:clearpass.netadminpro.pl
Email Address []:clearpassCA@netadminpro.pl

Już masz wygenerowany certyfikat oraz klucz dla swojego wewnętrznego urzędu certyfikacji.

2. Generowanie Certyfikatów dla Clearpassa

Certyfikat Clearpass.Netadminpro.pl
Certyfikat Clearpass.Netadminpro.pl

Generowanie klucza prywatnego:

openssl genrsa -out clearpass.netadminpro.pl.key 2048

Tworzenie CSR (Certificate Signing Request – żądanie podpisania certyfikatu):

openssl req -new -key clearpass.netadminpro.pl.key -out clearpass.netadminpro.pl.csr

Otrzymasz te same pytania, co powyżej, ale tym razem dotyczą one certyfikatu dla Clearpass’a.

You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:PL
State or Province Name (full name) [Some-State]:Mazowieckie
Locality Name (eg, city) []:Warszawa
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Netadminpro.pl
Organizational Unit Name (eg, section) []:Netadminpro.pl
Common Name (e.g. server FQDN or YOUR name) []:clearpass.netadminpro.pl
Email Address []:clearpassCA@netadminpro.pl

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

Następnie utworzymy certyfikat przy użyciu naszego CSR, prywatnego klucza CA, certyfikatu CA i pliku konfiguracyjnego, ale najpierw musimy utworzyć plik konfiguracyjny.

Plik konfiguracyjny jest opcjonalny, ale chcę wypełnić pole SAN (Subject Alternative Name), który jest polem dodatkowym do certyfikatu podstawowego. Żeby to wykonać trzeba utworzyć specjalny plik konfiguracyjny:

Plik clearpass.ext będzie zawierał adresy DNS oraz IP poszczególnych interfejsów Clearpass’a:

authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names

[alt_names]
DNS.1 = clearpass1.netadminpro.pl
DNS.2 = clearpass2.netadminpro.pl
IP.1 = 10.253.253.130
IP.2 = 10.17.17.130

Tworzenie certyfikatu:

openssl x509 -req -in clearpass.netadminpro.pl.csr -CA ClearpassCA.pem -CAkey ClearpassCA.key -CAcreateserial -out clearpass.netadminpro.pl.crt -days 825 -sha256 -extfile clearpass.ext

Zostaniesz poproszony o podanie hasła do klucza prywatnego utworzonego na początku CA (ClearpassCA.key).

Jako wynik otrzymujemy:

  • clearpass.netadminpro.pl.key (klucz prywatny)
  • clearpass.netadminpro.pl.csr (żądanie podpisania certyfikatu)
  • clearpass.netadminpro.pl.crt (podpisany certyfikat).

Do importu certyfikatu do Clearpass’a będziemy potrzebować dodatkowo certyfikatu urzędu CA, czyli:

  • ClearpassCA.pem

3. Podsumowanie

Zabezpieczony dostęp
Zabezpieczony dostęp

Podany sposób generowania certyfikatów, jest wprawdzie manualny, ale mając powyżej spisany zestaw poleceń oraz opcji, możemy łatwo generować wymagane certyfikaty do potrzeb wewnętrznych.

W większości firm ten element jest realizowany z wykorzystaniem urzędu CA w wydaniu Microsoft w ramach zestawu narzędzi powiązanych z domeną AD.

Jeżeli jednak nie masz takiego narzędzia gotowego, lub do testów wolisz własnoręcznie generować certyfikat i nie prosić innych osób o zaangażowanie, to przedstawione rozwiązanie pozwoli wygenerować odpowiednie pliki w kilka minut.


Podobne wpisy

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *