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 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ędzie narzędzia 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:
...
Certyfikat należy wygenerować zgodnie z instrukcją -->https://wiki.man.poznan.pl/wiki/Pion_Us%C5%82ug_Sieciowych/TCS
Konfiguracji systemów
...
:
Code Block | ||
---|---|---|
| ||
sudo su – apt update apt upgrade apt install mc apache2 |
Utworzenie katalogu oraz pliku index.html z zawartością witryny.
Code Block |
---|
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.
Code Block |
---|
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.
Code Block |
---|
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)
Code Block |
---|
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.