Instalação do agente Linux¶
O agente Linux é utilizado por CyberElements para limitar os acessos de rede possíveis a partir dos servidores SSH a que os utilizadores acedem (definidos nas políticas ou contratos de acesso).
Pré-requisitos¶
São necessários alguns pré-requisitos para que o agente funcione corretamente:
- Sistemas operativos compatíveis: Red Hat 9 e Debian 12
- Presença do firewall
iptables - Início de sessão com uma conta diferente de
root
Informação
O agente Linux não atua sobre o utilizador root, dado que este dispõe sempre de direitos suficientes para remover qualquer restrição que lhe seja aplicada.
Além disso, como alguns serviços utilizam direitos root, a adição de restrições de rede pode torná-los instáveis.
Funcionamento¶
O agente Linux divide-se em várias partes:
- Um serviço systemd denominado
cleanroom-filter - Um módulo PAM denominado
pam_clr_filter - Uma política SELinux para Red Hat, que permite ao servidor SSH comunicar com o serviço
cleanroom-filter
O funcionamento geral segue esta sequência:
Contexto SaaS
No diagrama abaixo, «Mediation Controller» representa o serviço na nuvem CyberElements gerido pela Systancia. O fluxo de filtragem SSH é arquitetonicamente idêntico em modo SaaS.
sequenceDiagram
autonumber
participant MED as Mediation Controller
participant GW_SSH as Edge Gateway<br/>Gravador SSH
participant SSH as Destino SSH<br/>Servidor SSH
participant PAM as Destino SSH<br/>Módulo PAM pam_clr_filter
participant svc as Destino SSH<br/>Serviço cleanroom-filter
MED->>GW_SSH: Pedido de abertura de uma<br/>aplicação SSH
GW_SSH->>+MED: Recuperação das informações de<br/>filtragem para a sessão
MED->>-GW_SSH: Envio das informações de<br/>filtragem de rede
GW_SSH->>+SSH: Ligação SSH
SSH-->-PAM: Criação de uma sessão SSH
PAM->>+svc: Envio do nome de utilizador
Note right of svc: Criação de uma cadeia <br/>iptables para o utilizador com o nome clr-LOGIN
svc->>-PAM: Envio de um token único
Note over PAM: Adição à sessão do utilizador<br/> da variável de ambiente CLR-ID<br/> que contém o token único
GW_SSH->>svc: Envio da lista das redes a autorizar
Note over svc: Criação de uma regra iptables OUTPUT<br/> para redirecionar o tráfego do utilizador para a<br/> cadeia iptables criada anteriormente
Note over svc: Adição das autorizações à cadeia<br/> iptables criada para o utilizador
break Fim da sessão SSH
SSH->>+GW_SSH: Notificação do fim da sessão
SSH-->svc: Deteção do fim da sessão SSH
Note over svc: Eliminação da regra iptables<br/> OUTPUT criada para o utilizador
Note over svc: Eliminação da cadeia iptables<br/> criada para o utilizador
GW_SSH->>-MED: Notificação do fim da sessão<br/> SSH do utilizador
end
- O servidor Mediation Controller envia ao Edge Gateway a informação necessária para abrir uma nova sessão SSH.
- O serviço de gravação SSH solicita ao servidor Mediation Controller a informação de filtragem de rede a aplicar à sessão SSH.
- O Mediation Controller responde com uma lista de redes autorizadas.
- O serviço de gravação SSH estabelece então a ligação ao servidor SSH de destino.
- A ligação ao servidor SSH desencadeia a sequência de criação da sessão e, por conseguinte, a passagem pelos módulos PAM atribuídos a
sshd. - O módulo PAM
pam_clr_filterdo agente Linux envia o nome de utilizador ao serviçocleanroom-filter, que cria então uma nova cadeia iptables denominadaclr-LOGIN, em que LOGIN é substituído pelo nome de utilizador recebido. - Após criar a cadeia iptables, o serviço
cleanroom-filtergera e envia um token aleatório ao módulo PAMpam_clr_filter, que adiciona esse token à variável de ambienteCLR-IDdo utilizador. - O serviço de gravação SSH envia, através do executável
/usr/local/ipdiva/bin/cleanroom-netfiltersession.py, a lista de redes a autorizar ao serviçocleanroom-filter. Este cria então uma regra iptablesOUTPUTpara redirecionar todo o tráfego do utilizador, identificado pelo seu UID, para a cadeia iptables criada no passo 6. Todos os fluxos a autorizar ao utilizador são adicionados à cadeia iptables. - Quando é desencadeado o fim da sessão SSH, a informação é enviada ao serviço de gravação SSH do Edge Gateway.
- O serviço
cleanroom-filterdeteta o fim da sessão do utilizador e limpa as regras iptables adicionadas: elimina a diretivaOUTPUTque redireciona o tráfego do utilizador para uma cadeia iptables e elimina a própria cadeia. - Depois de o Edge Gateway ter recebido o fim da sessão SSH, transmite esta informação ao Mediation Controller.
Instalação¶
Permissões root necessárias
São necessários privilégios root para instalar o agente.
O pacote .deb ou .rpm pode ser transferido a partir da consola de administração:
- Aceda ao espaço de trabalho «Configurations» através do botão situado no canto superior esquerdo:

- Abra o mosaico «Toolbox»

- Selecione o instalador adequado ao sistema operativo desejado no primeiro separador, «Integration Tools»

Depois de obter o pacote, envie-o para o servidor Linux, para o diretório /tmp/. Em seguida, siga as instruções de instalação correspondentes ao seu sistema operativo:
Execute os comandos seguintes com as permissões root adequadas:
1 2 | |
O segundo comando automatiza a adição de duas linhas ao ficheiro /etc/pam.d/sshd, mas esta operação também pode ser realizada manualmente:
27 28 29 30 31 32 33 34 35 36 37 | |
Execute os comandos seguintes com permissões root:
1 2 | |
O segundo comando automatiza a adição de duas linhas ao ficheiro /etc/pam.d/sshd, mas esta operação também pode ser realizada manualmente:
11 12 13 14 15 16 17 | |