Wykorzystania usługi Barbican
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 instrukcji 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ędzia nslookup weryfikujemy
rekord A --> Na tą nazwę należy wygenerować certyfikat SSL.
Złożenie wniosku o certyfikat SSL:
Certyfikat należy wygenerować zgodnie z instrukcją -->https://wiki.man.poznan.pl/wiki/Pion_Us%C5%82ug_Sieciowych/TCS
Konfiguracja 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 obsługi certyfikatu należy utworzyć plik w formacie 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 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).
Dla regionu BST konfigurację należy przeprowadzić z panelu web: https://openstack.man.poznan.pl/horizon/auth/login/
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 dalszym kroku:
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.