Linux Control Center Discover
Requisitos
Linux Control Center = 2.10.X ou superior
Client Requeriments = https://docs.linuxcontrolcenter.com.br/requirements/client-requirements
Objetivo
Este documento tem como objetivo explicar o funcionamento do Discover do LCC, passo a passo de como utiliza-lo, demonstrar casos de uso e soluĆ§Ć£o de alguns problemas comuns.
Overview
O Discover do LCC Ć© a primeira tarefa que deve ser executada apĆ³s a instalaĆ§Ć£o do Linux Control Center, Ć© atravĆ©s da execuĆ§Ć£o do Discover que serĆ” possĆvel importar os hosts da rede de forma automatizada. O Discover do LCC nĆ£o necessita de instalaĆ§Ć£o de nenhum Agent nos hosts, sendo necessĆ”rio somente conexĆ£o via SSH.
Para o melhor funcionamento do Discover, separamos o processo em 5 etapas, onde cada uma sĆ£o executadas separadamente, veja a desciĆ§Ć£o de cada uma delas nos tĆ³picos abaixo;
Host ping
Essa Ć© a primeira etapa para encontrar hosts ativos na rede, enviando pings para todos os endereƧos da CIDR cadastrada no Discover. Quando o LCC recebe uma resposta de ping, ele lĆŖ o valor do TTL (Time to Live) da resposta para identificar qual sistema operacional estĆ” associado ao endereƧo IP encontrado.
Todos os endereƧos IP que responderam o envio do Ping sĆ£o registrados em uma lista chamada IPs Alive durante a execuĆ§Ć£o do Discover, para serem processados nas prĆ³ximas etapas do Discover. Caso algum host tiver configuraƧƵes ou proteƧƵes que o impeƧam de responder ao ping, as etapas seguintes do Discover ainda poderĆ£o localizĆ”-lo.
Search SSH Port
O Search SSH Port serve para ajudar em casos em que o administrador nĆ£o sabe qual sĆ£o Ć© a porta SSH dos hosts que deseja importar, o Discover farĆ” uma varredura de todas as 65.535 portas TCP para analisar a resposta e definir qual delas que estĆ” rodando o serviƧo SSH. Caso habilite esta opĆ§Ć£o, o Discover levarĆ” consideravelmente mais tempo para executar as outras etapas, sendo necessĆ”rio ajustar as configuraƧƵes de Time Out no Config Execution do LCC conforme o link no tĆ³pico de nĆŗmero 13 deste manual.
Test Credentials
Ć de extrema importĆ¢ncia que as credenciais sejam inseridas corretamente de acordo com o seu nĆvel de privilĆ©gio, estas credenciais serĆ£o utilizadas na etapa de Test Credentials do Discover e caso utilize as credenciais e/ou configuraƧƵes incorretas, o LCC nĆ£o poderĆ” importar os Host.
Caso insira mais de uma credencial, o Discover irĆ” utilizar a primeira credencial que obter sucesso durante a Escalonamento privilĆ©gios no host e irĆ” retornar para a primeira credencial somente no prĆ³ximo Host, atĆ© que todos os hosts com credenciais validadas sejam direcionados para a lista de importaĆ§Ć£o.
Import Hosts
Esta Ć© a etapa onde o host jĆ” foi encontrado e as credenciais ja foram validadas. Nesta etapa o LCC conecta no Host e faz a enumeraĆ§Ć£o, obtendo vĆ”rias informaƧƵes como pacotes instalados, versĆ£o dos pacotes e demais imformaƧƵes para serem gerenciadas pela console Web do LCC.
Para o Discover ser realizado e os hosts remotos serem incluĆdos na console com sucesso, o usuĆ”rio fornecido ou usuĆ”rio privilegiado, devem possuir permissĆ£o para criar uma conta local no servidor remoto (lcc.local).
PAM
Etapa que utiliza a integraĆ§Ć£o com o Beyondtrust Password Safe para autenticaĆ§Ć£o com os hosts utilizando credenciais do cofre de senhas integrado com o LCC.
Escalonamento de PrivilƩgios
Ć essencial entender a etapa de escalonamento de privilĆ©gios para inserir as credenciais corretamente, por conta desta etapa ser muito importante durante o Discover, Ć© necessĆ”rio que seja configurado corretamente. Veja um resumo do funcionamento de cada tipo de escalonamento de privilĆ©gio.
sudo without password
Com este mĆ©todo de escalonamento de privilĆ©gio, o usuĆ”rio cadastrado no campo Username deve ter permissĆ£o para escalonar diretamente para o usuĆ”rio root, sendo necessĆ”rio preencher somente a senha do Username no campo Password.
sudo with password
Com este mĆ©todo de escalonamento de privilĆ©gio, o usuĆ”rio cadastrado no campo Username tambĆ©m deve possuir permissĆ£o para escalonar privilĆ©gio, porĆ©m, alĆ©m da senha do usuĆ”rio de login, tambĆ©m Ć© necessĆ”rio inserir a senha do usuĆ”rio privilegiado no campo Privilege Escalation Password para escalonar o privilĆ©gio.
None
OpĆ§Ć£o utilizada quando a credencial de conexĆ£o SSH tambĆ©m possui permissƵes suficientes para a criaĆ§Ć£o de conta local e configuraƧƵes de chave SSH da mesma (opĆ§Ć£o geralmente utilizada com o usuĆ”rio root).
su -
ApĆ³s realizar o login com o primeiro usuario fornecido (username), alterna diretamente para a credencial privilegiada em Privilege Escalation Username com a senha em Privilege Escalation Password.
ExecuĆ§Ć£o do Discover
Discover com credencial local
Clique em Discover no menu lateral esquerdo
Clique em ADD
Insira um nome para o Discover no campo Name
Clique no botĆ£o + da linha Credentials
Insira os dados nos campos abaixo;
Name: Nome para identificar a credencial. Auth Type: Escolha o mĆ©todo de autenticaĆ§Ć£o SSH, Password ou KEY. Username: UsuĆ”rio para autenticaĆ§Ć£o no SSH dos Hosts. Password: Senha do usuĆ”rio para autenticaĆ§Ć£o. Privilege Escalation: Escolha o mĆ©todo de escalonamento de privilĆ©gio de acordo com a permissĆ£o da credencial. Privigele Escalation Username: UsuĆ”rio para escalonar privilĆ©gio, com direitos para criar contas e editar arquivos do Sudoers, caso necessĆ”rio. Privigele Escalation Password: Senha do usuĆ”rio privilegiado, caso necessĆ”rio.
Clique em Save
Clique no botĆ£o + na linha CIDRs
Insira um nome para a faixa de endereƧos IP no campo Name
Insira a faixa de endereƧos IP com a mƔscara no campo CIDR
Clique em Save
Clique no botĆ£o + na linha Ports
Digite o nĆŗmero da porta SSH dos hosts na linha Port e clique em Save
Esta serĆ” a porta SSH que o Discover tentarĆ” autenticar via SSH
Marque a caixa Search SSH Port caso nĆ£o saiba qual a porta SSH dos hosts, lembrando que marcando esta opĆ§Ć£o, serĆ” necessĆ”rio realizar ajustes de TimeOut e nĆ£o preencher o campo Port. Veja como realizar os ajustes de time out no tĆ³pico Search SSH Port.
Verifique se todos os campos foram preenchidos corretamente e clique em Save
ApĆ³s salvar, clique em Actions e clique em Run Discover
Confirme a execuĆ§Ć£o clicando em YES
ApĆ³s conafirmar, Ć© possĆvel acompanhar o andamento do discover_lcc/discover_execution pela fila, clicando no botĆ£o Actions Working. Aguarde o Status ir para Processed, indicando que o Discover foi finalizado.
Discover com a integraĆ§Ć£o BeyondTrust Password Safe
Para executar o Discover utilizando credenciais do cofre de senhas BeyondTrust Password Safe, siga os passos do link abaixo;
https://docs.7dev.net.br/adding-hosts/beyondtrust-password-safe-api
Casos de uso de Credenciais
Nesta etapa desta documentaĆ§Ć£o, serĆ” demonstrado alguns casos de uso para exemplificar a configuraĆ§Ć£o de credenciais com diferentes nĆveis de privilĆ©gio.
Discover com o usuƔrio Root
ConfiguraĆ§Ć£o dos campos de credenciais para executar um Discover diretamente com o usuĆ”rio root. Nesta opĆ§Ć£o o usuĆ”rio Root farĆ” login no SSH e tambĆ©m executarĆ” as tarefas de importaĆ§Ć£o do Host para o LCC. Ć necessĆ”rio que a opĆ§Ć£o PermitRootLogin esteja habilitada no SSH dos Hosts.
Username: UsuĆ”rio Root Password: Senha do Root Privilege Escalation: OpĆ§Ć£o "none" para o Discover nĆ£o executar a etapa de escalar privilĆ©gio
Veja o exemplo na imagem abaixo:
Discover com usuƔrio sem privilƩgio
MƩtodo de escalonamento de privilƩgio para utilizar um usuƔrio sem nenhum privilƩgio administrativos e escalonando para o usuƔrio Root.
Com este mĆ©todo, as credenciais preenchidas nos campos Username e Password serĆ£o utilizadas apenas para realizar login no SSH dos Hosts enquanto as credenciais dos campos Privilege Escalation Username e Privilege Escalation Password serĆ£o responsĆ”veis pelo escalonamento de privilĆ©gio.
Username: UsuĆ”rio sem privilĆ©gio Password: Senha do usuĆ”rio sem privilĆ©gio Privilege Escalation: opĆ§Ć£o su - Privilege Escalation Username: usuĆ”rio root Privilege Escalation Password: senha do usuĆ”rio root
Veja o exemplo na imagem abaixo:
Discover com usuƔrio privilegiado
Este caso de uso utilazarĆ” o mĆ©todo "sudo without password", com este mĆ©todo de escalonamento de privilĆ©gio, o usuĆ”rio cadastrado no campo Username deve possuir permissĆ£o para escalonar diretamente para o usuĆ”rio root sem a necessidade de digitar a senha do Root.
Neste caso, a credencial utilizada possui permissƵes ALL=(ALL) NOPASSWD: ALL no Sudoers. Com este mĆ©todo nĆ£o serĆ” necessĆ”rio especificar credenciais para o escalonamento, conforme imagem abaixo;
Username: UsuĆ”rio sem privilĆ©gio Password: Senha do usuĆ”rio sem privilĆ©gio Privilege Escalation: opĆ§Ć£o sudo without password
Veja o exemplo na imagem abaixo:
Discover com usuĆ”rio nĆ£o privilegiado e senha do Root
Com este mĆ©todo de escalonamento de privilĆ©gio, o usuĆ”rio cadastrado no campo Username tambĆ©m deve possuir permissĆ£o para escalonar privilĆ©gio com permissĆ£o de execuĆ§Ć£o do, porĆ©m, alĆ©m da senha do Username, tambĆ©m Ć© necessĆ”rio inserir a senha do usuĆ”rio Root no campo Privilege Escalation Password para escalonar o privilĆ©gio.
OpĆ§Ć£o utilizada quando as permissƵes do usuĆ”rio em Username forem ALL=(ALL:ALL) ALL no Sudoers. Nesse caso, Ć© necessĆ”rio especificar a senha (Privilege Escalation Password) do usuĆ”rio privilegiado.
Username: UsuĆ”rio sem privilĆ©gio Password: Senha UsuĆ”rio sem privilĆ©gio Privilege Escalation: opĆ§Ć£o "sudo with password" Privilege Escalation Password: Senha do usuĆ”rio root
Veja o exemplo na imagem abaixo:
AutenticaĆ§Ć£o com Key SSH
Neste caso de uso, serĆ” demonstrada a utilizaĆ§Ć£o de chave SSH para realizar o login no SSH. Com este mĆ©todo de autenticaĆ§Ć£o, o campo Private Key torna-se obrigatĆ³rio conforme a aponta com a seta em vermelho.
Ao utilizar o mĆ©todo de autenticaĆ§Ć£o com chaves SSH, Ć© obrigatĆ³rio configurar a autenticaĆ§Ć£o baseada em chaves SSH em todos os hosts que vocĆŖ deseja importar para o LCC antes de executar o Discover.
O uso de chave SSH nĆ£o interfere no funcionamento de nenhum mĆ©todo de escalonamento de privilĆ©gio do Discover, permitindo combinar o mĆ©todo de escalonamento de privilĆ©gios com o mĆ©todo de autenticaĆ§Ć£o desejado.
Username: UsuĆ”rio com acesso via Key SSH Auth Type OpĆ§Ć£o Key Privilege Escalation: Escolha a opĆ§Ć£o que deseja utilizar Private Key: Chave privada do usuĆ”rio do campo "Username"
Veja o exemplo na imagem abaixo:
Casos de uso de identificaĆ§Ć£o de Hosts Linux
Discover CIDRs
A maneira de fornecer um escopo de alvos em uma rede para realizar uma descoberta Ć© por meio de objetos CIDR. Siga os passos abaixo para criar um CDIR a ser utilizado no Discover.
O Discover farĆ” a busca a partir do endereƧo cadastrado no campo CIDR atĆ© o Ćŗltimo endereƧo possĆvel de acordo com a mĆ”scara definida. TambĆ©m Ć© possĆvel realizar o Discover com mais de 1 CIDR simultaneamente.
CIDR's aceitos pelo LCC
Esta tabela auxilia a escolher a melhor mandeira de executar o Discover de acordo com a quantidade de Hosts da rede.
Para uma varredura de destino Ćŗnico, use o CIDR /32.
De /23 a /28 Ʃ aceitƔvel realizar uma varredura.
De /17 a /22 Ć© extremamente demorado e Ć© uma varredura bem pensada.
A partir de /16 Ć© altamente recomendado dividir as varreduras em outras partes para otimizar o desempenho e os resultados.
/16
255.255.0.0
65.536
/17
255.255.128.0
32.768
/18
255.255.192.0
16.384
/19
255.255.224.0
8.192
/20
255.255.240.0
4.096
/21
255.255.248.0
2.048
/22
255.255.252.0
1.024
/23
255.255.254.0
512
/24
255.255.255.0
256
/25
255.255.255.128
128
/26
255.255.255.192
64
/27
255.255.255.224
32
/28
255.255.255.240
16
/29
255.255.255.248
8
/30
255.255.255.252
4
/31
255.255.255.254
2
/32
255.255.255.255
1
Search SSH Port
Discover farĆ” uma varredura de todas as 65.535 portas TCP para analisar a resposta e definir qual delas que estĆ” rodando o serviƧo SSH. Caso habilite esta opĆ§Ć£o, o Discover levarĆ” consideravelmente mais tempo para executar as outras etapas, sendo necessĆ”rio ajustar as configuraƧƵes de Time Out no Config Execution do LCC conforme o link no tĆ³pico de nĆŗmero 13 deste manual.
Habilitando o Search SSH Port
Clique em Discover no menu lateral esquerdo do LCC
Escolha o Discover desejado e marque o botĆ£o "Search SSH Port"
Siga os passos abaixo para ajustar o Time Out das tarefas do Discover.
Clique em Config no menu lateral esquerdo do LCC
Clique em Config Execution
Ajuste os tempos de acordo com a sua necessidade;
General Action Timeout: Tempo geral de time out de todas as Actions do LCC. Ping Action Timeout: Tempo de espera ao enviar a Action de Ping no LCC. Discover Action Timeout: Tempo de espera de Actions durante a execuĆ§Ć£o do Discover. Discover Ping Timeout: Tempo de espera da etapa Host Ping durante a execuĆ§Ć£o do Discover. Discover SSH Timeout: Tempo de espera ao tentar se conectar em um Host via SSH durante o Discover SSH Control Persist Timeout: Tempo de "Keep Alive" na conexĆ£o com o Host.
Os valores padrƵes sĆ£o os que estĆ£o conforme a imagens abaixo.
Clique em Save
SoluĆ§Ć£o de problemas
Utilizaremos como exemplo alguns erros comuns para demonstraĆ§Ć£o da utilizaĆ§Ć£o da ferramenta de Log do LCC.
Como obter relatĆ³rio do Discover
O LCC possui a funcionalidade de Report de execuĆ§Ć£o do Discover, que inclui o resumo de Hosts que foram encontrados, importados e os que tiveram alguma falha durante o processo, informando um resumo do erro que ocorreu para facilitar a identificaĆ§Ć£o da falha.
Para obter um report de um Discover, clique em Discover no menu lateral esquerdo do LCC
Clique no Discover desejado
Clique na guia Reports e clique em cima do nome do Log desejado
Clique em Success ou em Failed para obter o resumo dos Hosts importados e os que tiveram falha durante alguma etapa do Discover
Veja um exemplo de um Discover com um Host com status Failed
TambĆ©m Ć© possĆvel realizar o download do Log completo, clique em Download do report desejado e serĆ” feito o download de um arquivo .zip com o report nos formatos pdf, csv, html e xlxs.
Host nĆ£o importado pelo Discover
Em algumas situaƧƵes pode ocorrer de algum Host nĆ£o ser importado para o LCC mesmo com as configuraƧƵes e credenciais corretas, este erro geralmente ocorre por conta do Time Out ter excedido em alguma das 5 etapas do Discover.
A primeira tentativa de correĆ§Ć£o Ć© aumentar os valores do TimeOut das etapas do Discover e executa-lo novamente. Veja como realizar os ajustes de time out no tĆ³pico Search SSH Port.
Para identificar se o host nĆ£o estĆ” sendo importando por conta de TimeOut, o campo "Message" do relatĆ³rio do Discover fica vazio, conforme imagem abaixo.
Credenciais invƔlidas no Discover
Clique em Logs no menu lateral esquerdo do LCC
Clique em Queue
SerĆ” exibida todas as tarefas que foram executadas nos Hosts que estĆ£o no LCC.
Clique em LOG do Discover LCC desejado.
Pesquise pela frase invalid credentials que serĆ” exibido todos os hosts que nĆ£o passaram da etapa de test credentials.
Veja algumas configuraƧƵes que podem ocasionar o Log de credencial invƔlida;
UsuƔrio root com interpretador de comandos (shell) /sbin/nologin, /bin/false ou interpretadores que gerem comportamento semelhantes.
Credenciais de login SSH ou escalonamento de privilƩgio incorretas.
UsuƔrio root sem senha cadastrada no Host, caso utilize o escalonamento de privilƩgio "su -"
Pesquisando por um endereƧo IP de um host desejado, serĆ” exibida todas as etapas do Discover com relaĆ§Ć£o ao endereƧo pesquisando, podendo obter detalhes de cada uma delas no botĆ£o Expand.
Para obter mais detalhes sobre qual credenticial estĆ” incorreta, abra o RelatĆ³rio do Discover conforme o passo a passo <#como-obter-relatorio-do-discover>. Este caso de uso foi realizado com o mĆ©todo de escalonamento de privilĆ©gio "su -"
Exemplo da credencial de Login do SSH incorreta. "invalid/incorrect password"
Exemplo de senha do Root incorreta. "incorrect su password"
InterpretaĆ§Ć£o de Logs
Analisando Logs da Fila (Queue)
O LCC oferece uma tela de logs intuitiva com funcionalidades que facilitam bastante a leitura e anƔlise, como a possibilidade de realizar buscas por palavras-chave.
Clique em Logs no menu lateral esquerdo do LCC
Clique em Queue
SerĆ” exibida todas as aƧƵes que foram executadas nos Hosts que estĆ£o no LCC.
Clique em "Log" da aĆ§Ć£o desejada.
Na janela do log, Ć© possĆvel obter detalhes de cada log clicando em Expand e baixa-lo cliando em Download.
Analisando as etapas do Discover
Cada uma das 5 etapas de execuĆ§Ć£o do Discover tambĆ©m sĆ£o registrada nos Logs, podendo ser lidas durante e apĆ³s a execuĆ§Ć£o do Discover.
Pesquise pela palavra progress no campo de pesquisa do Log
SerĆ£o exibido vĆ”rios Logs, cada um deles Ć© uma parte da execuĆ§Ć£o de cada etapa do Discover.
Clique em Expand para ler mais detalhes do log das etapas no momento em que o Discover estava executando.
Interprete as etapas do Discover;
Phase 1 - Ping: Esta etapa vai enviar um Ping para todos os hosts de acordo com a mƔscara definida no CIDR do Discover.
Pase 2 - Search SSH Port: Verifica se a porta definida no Discover estĆ” aberta ou realiza um Port Scan em todas as 65.535 portas TCP de todos os Hosts do CIDR para encontrar a porta SSH caso a opĆ§Ć£o Search SSH Port esteja habilitada no Discover.
Phase 3 - Test Credentials: Etapa em que serĆ” testada as credenciais em todos os Hosts.
Phase 4 - Import: Etapa em que o Host serĆ” importado para o LCC apĆ³s passar por todas as etapas.
Phase 5 - PAM: Esta etapa importa os Hosts sem passar pela etapa de Ping e Search SSH Port porque o Host serĆ” importado a partir de uma credencial do BeyondTrust Password Safe.
Last updated