Ważne jest aby swoje CA tworzyć na komputerze oddzielnym od internetu albo przynajmniej za bramą (firewall).
Instalacja :
#apt-get install ssh
Sprawdzenie działania
#openssh
========================================================================
Tworzymy własny Urząd Certyfikacji (CA)
Urząd Certyfikacji będzie zajmował się uwierzytelnianiem komputerów w sieci Marionet, nadając im certyfikaty.
Podstawą urzędu jest konfiguracja pliku openssl.conf oraz wygenerowanie klucza prywatnego i publicznego
Konfiguracja /etc/ssl/openssl.conf
=====================================
[CA_default]
dir = /etc/ssl #katalog główny, w którym zapisane są pliki
certs = $dir/certs #katalog, w którym zapisywane będą certyfikaty
new_certs_dir=$dir/newcerts #katalog z nowymi certyfikatami
clr_dir = $dir/crl #katalog z listą certyfikatów unieważnionych clr
private_key = $dir/private/cakey.pem #klucz prywatny
database=$dir/index.txt #informacje o wystawionych certyfikatach wraz ze statusem
certyfikate=$dir/private/cacert.pem #certyfikat do podpisu wniosków
serial = $dir/serial #plik z numerem kolejnego wystawienia certyfikatu
crl=$dir/clr.pem #bieżąca lista certyfikatów unieważnionych
=====================================
Następnie tworzymy wymagany katalog i pliki :
# mkdir /etc/ssl/crl
#mkdir /etc/ssl/newcerts
# touch /etc/ssl/index.txt
# echo 00 > /etc/ssl/serial
=====================================
Generujemy klucz prywatny (tajny) i certyfikat główny (publiczny), który będą służyły do podpisywania innych certyfikatów dla innych komputerów naszej wewnętrznej sieci VPN.
Klucz prywatny
#openssl genrsa -des3 -out /etc/ssl/private/cakey.pem 1024
Ustalamy hasło do klucza prywatnego. Klucz został zapisany w pliku /etc/ssl/private/cakey.pem. Hasło trzeba pamiętać bo będzie służyło do tworzenia innych certyfikatów.
Pliki z katalogu /etc/ssl należy zarchiwizować do bezpiecznego miejsca.
Klucz publiczny (certyfikat)
#openssl req -new -x509 -days 365 -key /etc/ssl/private/cakey.pem -out /etc/ssl/private/cacert.pem
Podajemy hasło do klucza prywatnego, aby podpisać certyfikat CA (główny). W polu Common Name podajemy nazwę firmy słownie lub nazwę domeny.
Podsumowanie:
Mamy plik cakey.pem (klucz prywatny) i cacert.pem (klucz publiczny CA), dzięki kluczom możemy wystawiać certyfikaty innym komputerom naszej sieci branżowej Marionet.
=======================================================================
Uwierzytelniamy serwer
1. Generujmy klucz prywatny dla serwera :
#openssl genrsa -des3 -out /etc/ssl/private/serverkey.pem 1024
2. Generujemy wniosek o wystawienie certyfikatu dla serwera:
# openssl req -new -key /etc/ssl/private/serverkey.pem -out /etc/ssl/private/serverreq.pem
Wypełniamy jak wyżej. Hasło do zatwierdzenia wniosku z klucza prywatnego serwera.
3. Wystawiamy certyfikat dla pierwszego podmiotu - serwera. Podpisujemy więc wniosek.
#openssl ca -notext -in /etc/ssl/private/serverreq.pem -out /etc/ssl/private/servercert.pem
Hasło podajemy klucz prywatny CA.
Po tej operacji zmienią się pliki :
/etc/ssh/serial - będzie zawierał liczbę 01
/etc/ssh/index.txt - zawiera informacje o serwerze i jego certyfikacie, jest niezbędny przy odwoływaniu certyfikatu.
Podobne operacje będziemy wykonywać dla poszczególnych komputerów w sieci przy rozbudowie sieci VPN o dodatkowe maszyny.
======================================================================
Unieważnienie certyfikatu
Stosujemy operację unieważnienia z powodu odejścia pracownika z firmy lub kradzieży laptopa.
#openssl ca -revoke jkowalskicert.pem
Podajemy hasło do klucza prywatnego CA.Generujemy listę CRL - unieważnionych certyfikatów :
openssl ca -gencrl -out crl.pem



Brak komentarzy:
Prześlij komentarz