Instalacja agenta dla systemu Linux¶
Agent Linux jest używany przez CyberElements Bastion, aby ograniczyć możliwe dostępy sieciowe z serwerów SSH, do których użytkownicy uzyskują dostęp (zdefiniowane w politykach dostępu / kontraktach dostępu).
Wymagania wstępne¶
Aby agent działał prawidłowo, konieczne jest spełnienie kilku wymagań wstępnych:
- Zgodne systemy operacyjne: Red Hat 9 i Debian 12
- Obecność zapory
iptables - Logowanie na konto inne niż
root
Informacja
Agent dla systemu Linux nie działa na użytkownika root, ponieważ ten użytkownik zawsze ma wystarczające prawa, aby usunąć każde zastosowane wobec niego ograniczenie.
Ponadto, ponieważ niektóre usługi korzystają z uprawnień root, dodanie ograniczeń sieciowych mogłoby spowodować niestabilność tych usług.
Zasada działania¶
Agent dla systemu Linux składa się z kilku części:
- usługa systemd o nazwie
cleanroom-filter - moduł PAM o nazwie
pam_clr_filter - zasada SELinux dla systemu Red Hat, pozwalająca serwerowi SSH komunikować się z usługą
cleanroom-filter
Ogólny przebieg działania jest następujący:
sequenceDiagram
autonumber
participant MED as Mediation Controller
participant GW_SSH as Edge Gateway<br/>Rejestrator SSH
participant SSH as Cel SSH<br/>Serwer SSH
participant PAM as Cel SSH<br/>Moduł PAM pam_clr_filter
participant svc as Cel SSH<br/>Usługa cleanroom-filter
MED->>GW_SSH: Żądanie otwarcia<br/>aplikacji SSH
GW_SSH->>+MED: Pobranie informacji o filtrowaniu<br/>dla sesji
MED->>-GW_SSH: Wysłanie informacji o<br/>filtrowaniu sieciowym
GW_SSH->>+SSH: Połączenie SSH
SSH-->-PAM: Utworzenie sesji SSH
PAM->>+svc: Wysłanie nazwy użytkownika
Note right of svc: Utworzenie łańcucha <br/>iptables dla użytkownika o nazwie clr-LOGIN
svc->>-PAM: Wysłanie unikalnego tokena
Note over PAM: Dodanie do sesji użytkownika<br/> zmiennej środowiskowej CLR-ID<br/> zawierającej unikalny token
GW_SSH->>svc: Wysłanie listy sieci do autoryzacji
Note over svc: Utworzenie reguły iptables OUTPUT<br/> w celu przekierowania ruchu użytkownika do<br/> wcześniej utworzonego łańcucha iptables
Note over svc: Dodanie autoryzacji do łańcucha<br/> iptables utworzonego dla użytkownika
break Zakończenie sesji SSH
SSH->>+GW_SSH: Powiadomienie o zakończeniu sesji
SSH-->svc: Wykrycie zakończenia sesji SSH
Note over svc: Usunięcie reguły iptables<br/> OUTPUT utworzonej dla użytkownika
Note over svc: Usunięcie łańcucha iptables<br/> utworzonego dla użytkownika
GW_SSH->>-MED: Powiadomienie o zakończeniu<br/> sesji SSH użytkownika
end
- Serwer Mediation Controller przesyła do Edge Gateway informacje potrzebne do otwarcia nowej sesji SSH.
- Usługa nagrywania SSH pyta serwer Mediation Controller o informacje o filtrowaniu sieciowym, które należy zastosować do sesji SSH.
- Mediation Controller odpowiada listą dozwolonych sieci.
- Usługa nagrywania SSH ustanawia następnie połączenie z docelowym serwerem SSH.
- Połączenie z serwerem SSH uruchamia sekwencję tworzenia sesji, a więc przejście przez moduły PAM przypisane do
sshd. - Moduł PAM
pam_clr_filteragenta dla systemu Linux przesyła nazwę użytkownika do usługicleanroom-filter, która tworzy następnie nowy łańcuch iptables o nazwieclr-LOGIN, gdzie LOGIN jest zastępowany otrzymaną nazwą użytkownika. - Po utworzeniu łańcucha iptables usługa
cleanroom-filtertworzy losowy token i przesyła go do modułu PAMpam_clr_filter. Ten ostatni dodaje token do zmiennej środowiskowejCLR-IDużytkownika. - Usługa nagrywania SSH przesyła, za pośrednictwem pliku wykonywalnego
/usr/local/ipdiva/bin/cleanroom-netfiltersession.py, listę sieci, które mają zostać dozwolone, do usługicleanroom-filter. Usługa tworzy następnie regułę iptablesOUTPUT, aby przekierować cały ruch użytkownika, zidentyfikowanego przez jego UID, do łańcucha iptables utworzonego w kroku 6. Wszystkie przepływy, które mają być dozwolone dla użytkownika, są dodawane do łańcucha iptables. - Gdy zostaje wyzwolone zakończenie sesji SSH, informacja jest przesyłana do usługi nagrywania SSH serwera Edge Gateway.
- Usługa
cleanroom-filterwykrywa zakończenie sesji użytkownika i porządkuje dodane reguły iptables: usuwa dyrektywęOUTPUTprzekierowującą ruch użytkownika do łańcucha iptables oraz usuwa sam łańcuch. - Gdy Edge Gateway otrzyma informację o zakończeniu sesji SSH, przekazuje ją do Mediation Controller.
Instalacja¶
Wymagane uprawnienia root
Do instalacji agenta wymagane są uprawnienia root.
Pakiet .deb lub .rpm można pobrać z konsoli administracyjnej:
- Wejdź do obszaru roboczego „Configurations” za pomocą przycisku znajdującego się w lewym górnym rogu:

- Otwórz kafelek „Toolbox”

- Na pierwszej karcie „Integration Tools” wybierz instalator odpowiedni dla wybranego systemu operacyjnego

Po pobraniu pakietu przenieś go na serwer z systemem Linux, do katalogu /tmp/. Następnie wykonaj instrukcje instalacji właściwe dla Twojego systemu operacyjnego:
Wykonaj poniższe polecenia z odpowiednimi uprawnieniami root:
1 2 | |
Drugie polecenie automatycznie dodaje dwie linie do pliku /etc/pam.d/sshd, ale tę operację można również wykonać ręcznie:
27 28 29 30 31 32 33 34 35 36 37 | |
Wykonaj poniższe polecenia z uprawnieniami root:
1 2 | |
Drugie polecenie automatycznie dodaje dwie linie do pliku /etc/pam.d/sshd, ale tę operację można również wykonać ręcznie:
11 12 13 14 15 16 17 | |