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

Konfiguracji systemów:

apt
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.