Zasoby pobierane z sieci
Dokument zbiera wszystkie adresy, do których sięga instalacja i praca bieżąca platformy. Jest przeznaczony dla administratora sieci konfigurującego zaporę lub proxy.
Adresy są rozdzielone na trzy tabele, bo dotyczą różnych maszyn i różnych momentów:
| Tabela | Maszyna | Kiedy |
|---|---|---|
| A | stacja wdrożeniowa | jednorazowo, przy przygotowaniu narzędzi |
| B | serwer aplikacyjny | instalacja i każdy ponowny przebieg playbooka |
| C | serwer aplikacyjny | praca bieżąca, po instalacji |
Cały ruch wychodzący może być kierowany przez proxy HTTP - obowiązuje wtedy ta sama lista, tyle że dopuszczona po stronie proxy. Konfigurację opisuje Instalacja za proxy.
A. Stacja wdrożeniowa
Pobrania jednorazowe, przy przygotowaniu środowiska Ansible.
| Adres | Port | Po co |
|---|---|---|
pypi.org, files.pythonhosted.org |
443 | pip install ansible, psycopg2-binary, passlib |
galaxy.ansible.com (wraz z CDN, do którego przekierowuje) |
443 | ansible-galaxy collection install - kolekcje wymagane przez role |
| repozytoria systemu stacji | 443, 80 | python3.12, openssl, sshpass, unzip |
| serwer aplikacyjny | 22 | SSH - przez cały czas instalacji |
Gdy stacja wdrożeniowa nie ma dostępu do internetu
Cała tabela A odpada — pobierz paczkę środowiska offline na dowolnej maszynie z internetem i przenieś ją na stację wdrożeniową. Zawiera komplet pakietów i kolekcji; instalacja przebiega bez ani jednego połączenia z siecią.
Wtedy jedyny ruch wychodzący stacji to SSH do serwera aplikacyjnego. Szczegóły: Przygotowanie środowiska, sekcja 2.6.
B. Serwer aplikacyjny - instalacja
Ruch generowany przez playbook instalacyjny. Obowiązuje przy pierwszej instalacji i przy każdym kolejnym przebiegu, w tym przy aktualizacji platformy.
| Adres | Port | Po co |
|---|---|---|
quay.io oraz cdn01.quay.io i pozostałe cdn*.quay.io |
443 | wszystkie obrazy kontenerów - usług platformy i komponentów infrastruktury |
mirrors.rockylinux.org oraz serwery lustrzane (patrz uwaga) |
443, 80 | pakiety systemu operacyjnego |
download.docker.com |
443 | repozytorium i pakiety silnika Docker |
releases.hashicorp.com |
443 | HashiCorp Vault - magazyn sekretów platformy |
pypi.org, files.pythonhosted.org |
443 | biblioteki Pythona wymagane przez moduły instalatora na serwerze |
acme-v02.api.letsencrypt.org |
443 | wyłącznie przy certyfikacie Let's Encrypt |
| DNS | 53 | dopuszczalny wewnętrzny serwer nazw |
| NTP | 123 | synchronizacja czasu; istotna dla TLS i uwierzytelniania |
C. Serwer aplikacyjny - praca bieżąca
Ruch generowany przez działającą platformę, już po instalacji.
| Adres | Port | Po co |
|---|---|---|
quay.io oraz cdn*.quay.io |
443 | pobranie obrazu aplikacji wykonawczej robotów przy zmianie jej wersji |
pypi.org, files.pythonhosted.org |
443 | zależności Pythona instalowane w kontenerze robota przy każdym uruchomieniu procesu skryptowego |
cdn.playwright.dev |
443 | składniki automatyzacji przeglądarki; sporadycznie, przy nietypowych zależnościach robota |
| serwer poczty Odbiorcy | 25 / 465 / 587 | wyłącznie gdy poczta jest wykorzystywana |
acme-v02.api.letsencrypt.org |
443 | odnowienia certyfikatu, wyłącznie przy Let's Encrypt |
| systemy docelowe robotów | 443, 80 | strony i API automatyzowane przez procesy RPA |
Systemy docelowe robotów
Adresy, pod które sięgają roboty, wynikają z automatyzowanych procesów Odbiorcy i nie są znane zespołowi Testto. Należy je zebrać po stronie Odbiorcy i dopuścić razem z powyższymi.
Indeks bibliotek Pythona może być wewnętrzny
Jeżeli Odbiorca prowadzi wewnętrzne lustro PyPI, roboty mogą pobierać zależności stamtąd zamiast z internetu. Adres indeksu podaje się w konfiguracji instalacji.
Ruch, który nie idzie przez proxy
Zdecydowana większość komunikacji platformy odbywa się wewnątrz serwera, między kontenerami: baza danych, broker komunikatów, magazyn plików, uwierzytelnianie, interfejs użytkownika. Ten ruch nie opuszcza maszyny i nie wymaga żadnych reguł na zaporze.
Instalator automatycznie wyłącza z proxy adresy wewnętrzne - nie trzeba ich zgłaszać.
| Wyłączone z proxy | Dlaczego |
|---|---|
localhost, 127.0.0.1 |
ruch lokalny hosta |
| nazwy usług wewnętrznych (magazyn plików, broker, komponent zarządzający) | komunikacja między kontenerami |
<domena> instalacji wraz z subdomenami |
usługi platformy wołają się nawzajem po własnych nazwach publicznych |
Podsumowanie dla administratora sieci
Przychodzące na serwer aplikacyjny: 443/TCP (użytkownicy i API), 5671/TCP (agenci
RPA na odrębnych maszynach), 22/TCP (administracja), 80/TCP (przekierowanie na
HTTPS).
Można ograniczyć do sieci użytkowników (LAN / VPN).
Wychodzące ze stacji wdrożeniowej: tabela A - jednorazowo, przy przygotowaniu.
Wychodzące z serwera aplikacyjnego: tabela B na czas instalacji i aktualizacji, tabela C na stałe. W wariancie w pełni izolowanym (obrazy z wewnętrznego rejestru, certyfikat własny, wewnętrzny DNS i NTP, bez poczty, roboty wyłącznie w sieci wewnętrznej) serwer nie wymaga żadnego ruchu wychodzącego do internetu.