Barbican to usługa OpenStack Key Manager. Zapewnia bezpieczne przechowywanie, udostępnianie i zarządzanie tajnymi danymi, takimi jak hasła, klucze szyfrujące, certyfikaty X.509.
Założenia: Certyfikat SSL jest przechowywany w usłudze Barbican. Połączenia szyfrowane https są przyjmowane przez load balancer (haproxy) a połączenia z haproxy do "prawdziwych serwerów" są realizowane w bezpiecznym środowisku w komunikacji nieszyfrowanej.
Do zrealizowania zadania wymagane jest wykupienie nazwy DNS w globalnym systemie DNS lub wykorzystanie nazwy w domenie man.poznan.pl, która jest automatycznie generowana dla każdego zewnętrznego adresu IP.
Na potrzeby tej intrukcji wykorzystamy certyfikat z domeny man.pozan.pl
Przygotowanie środowiska:
W panelu web-owym OpenStack utworzenie dwóch instancji które będę miały dodany zewnętrzny pływający adres IP. Do instancji należy utworzyć grupę zabezpieczeń która będzie pozwalała na ruch na portach 443 oraz 80.
Przykładowa konfiguracja:
W celu konfiguracji powyższych założeń pomoce będę instrukcje:
https://docs.psnc.pl/pages/viewpage.action?pageId=130287749
https://docs.psnc.pl/pages/viewpage.action?pageId=117372270
https://docs.psnc.pl/pages/viewpage.action?pageId=117372677
Jakiej nazwy mogę użyć w domenie man.poznan.pl?
Należy utworzyć zewnętrzny pływając adres IP, który będzie wykorzystany na potrzeby load balancera. Przy pomocy narzędzie nslookup weryfikujemy rekord A. Na tą nazwę należy wygenerować certyfikat SSL.
Złożenie wniosku o certyfikat SSL:
Tutaj instrukcja jak to zrobić.!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Konfiguracji systemów:
sudo su – apt update apt upgrade apt install mc apache2
Utworzenie katalogu oraz pliku index.html z zawartością witryny.
mkdir /var/www/mojastrona echo SerwerA > /var/www/mojastrona/index.html # Dla serwera A echo SerwerB > /var/www/mojastrona/index.html # Dla serwera B
Utworzenie pliku konfiguracyjnego witryny.
touch /etc/apache2/sites-enabled/strona.domena.pl.conf mcedit /etc/apache2/sites-enabled/strona.domena.pl.conf <VirtualHost *:80> DocumentRoot /var/www/mojastrona ServerName www.origanum-48.man.poznan.pl ServerAlias origanum-48.man.poznan.pl ServerAdmin admin@test.pl </VirtualHost>
Dodanie certyfikatu do usługi Barbican.
Przed przystąpieniem do procedury należy utworzyć zgłoszenie ServiceDesk w celu nadania odpowiednich uprawnień w Openstack (rola creator) https://support.pcss.pl/servicedesk/customer/portal/6
W celu prawidłowej obługi certyfikatu należy utworzyć plik w formacje PKCS12.
Składnia polecenia: openssl pkcs12 -export -inkey klucz_prywatny.key -in certyfikat.cer -certfile 'certyfikatCA.cer' -out nazwa_pliku.p12 Przykład: openssl pkcs12 -export -inkey origanum-48.man.poznan.pl.key -in origanum-48_man_poznan_pl_cert.cer -certfile 'origanum-48_man_poznan_pl_interm (1).cer' -out origanum48.man.poznan.pl.p12
Dodanie certyfikatu
Połączenie z projektem po SSH za pomocą pliku RC (Konfiguracja klienta CLI dla OpenStack - Dla systemu Linux (Ubuntu)
Składnia polecenia: openstack secret store --name='nazwa' -t 'application/octet-stream' -e 'base64' --payload="$(base64 < sciezka_do_certyfikau.p12)" Przykład: openstack secret store --name='origanum48.man.poznan.pl' -t 'application/octet-stream' -e 'base64' --payload="$(base64 < origanum48.man.poznan.pl.p12)"
Konfiguracja mechanizmu równoważenia obciążenia (load-balancer).
W panelu web-owym OpenStack Projekt -->Sieć-->Load Balancers -->Utwórz
- Wskazujemy podsieć wewnętrzną naszych serwerów i dodajemy nazwę
Kolejno
Następnie
- W kolejnym kroku wybieramy serwery oraz dodajmy port.
W ostatnim kroku należy dodać certyfikat SSL
- Czekamy aż status będzie na Online Aktywny i dodajemy pływający adres IP z sieci zewnętrznej.