# 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

1. Clique em **Discover** no menu lateral esquerdo

   ![](https://3122590582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FytotrgCSM7abU2RFWBCP%2Fuploads%2Fgit-blob-21bb326d248deb72da73eeb3e6c0db2766f81d0e%2Fdiscover_dashboard.png?alt=media)
2. Clique em **ADD**

   ![](https://3122590582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FytotrgCSM7abU2RFWBCP%2Fuploads%2Fgit-blob-35ed26e6f8bf1af20703c3aa18a02bbb388e237b%2Fadd_discover.png?alt=media)
3. Insira um nome para o Discover no campo **Name**

   ![](https://3122590582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FytotrgCSM7abU2RFWBCP%2Fuploads%2Fgit-blob-fdbd62c6143ec006bfb339a503a4a64f69bfbf2b%2Fname_discover.png?alt=media)
4. Clique no botão **+** da linha **Credentials**

   ![](https://3122590582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FytotrgCSM7abU2RFWBCP%2Fuploads%2Fgit-blob-886e8cb4507576142799c1990b82cd2fa721f610%2Fadd_credentials.png?alt=media)
5. 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.
6. Clique em **Save**

   ![](https://3122590582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FytotrgCSM7abU2RFWBCP%2Fuploads%2Fgit-blob-a4d83565300a3a508ce7a0456a790630f15aae4b%2Fsave_credential.png?alt=media)
7. Clique no botão **+** na linha **CIDRs**

   ![](https://3122590582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FytotrgCSM7abU2RFWBCP%2Fuploads%2Fgit-blob-17a71e141ae29f94ab5e9a32ff0e9f972c224dbe%2Fadd_cidr.png?alt=media)
8. Insira um nome para a faixa de endereços IP no campo **Name**
9. Insira a faixa de endereços IP com a máscara no campo **CIDR**
10. Clique em **Save**

    ![](https://3122590582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FytotrgCSM7abU2RFWBCP%2Fuploads%2Fgit-blob-c4368ce80a480a810b86306144cc855432439c44%2Fcird_name.png?alt=media)
11. Clique no botão **+** na linha **Ports**

    ![](https://3122590582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FytotrgCSM7abU2RFWBCP%2Fuploads%2Fgit-blob-c478c9f67edf27641679ff0db647aafc0bc16744%2Fadd_port.png?alt=media)
12. 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

    ![](https://3122590582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FytotrgCSM7abU2RFWBCP%2Fuploads%2Fgit-blob-b8b824fede22cbe80064a4e93534b303780ea2d7%2Fports.png?alt=media)
13. 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](#search-ssh-port).

    ![](https://3122590582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FytotrgCSM7abU2RFWBCP%2Fuploads%2Fgit-blob-b3abc11c21a3348d97bc4d729981ca6ab4a959cd%2Fsearch_ssh_port.png?alt=media)
14. Verifique se todos os campos foram preenchidos corretamente e clique em **Save**

    ![](https://3122590582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FytotrgCSM7abU2RFWBCP%2Fuploads%2Fgit-blob-9f220f83202f4753a302c6cbf69e749518192659%2Fsave_discover.png?alt=media)
15. Após salvar, clique em **Actions** e clique em **Run Discover**

    ![](https://3122590582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FytotrgCSM7abU2RFWBCP%2Fuploads%2Fgit-blob-22a84793355cb6097ef7f4f7ad3ef103f7202d1d%2Frun_discover.png?alt=media)
16. Confirme a execução clicando em **YES**

    ![](https://3122590582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FytotrgCSM7abU2RFWBCP%2Fuploads%2Fgit-blob-411325fa89762cb2b8125927f6564782a84feeef%2Fconfirmar_execucao.png?alt=media)
17. 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.

    ![](https://3122590582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FytotrgCSM7abU2RFWBCP%2Fuploads%2Fgit-blob-883096556e2212cf752bad52e4b2b6d813233c34%2Factions%20working.png?alt=media)

### 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:

  ![](https://3122590582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FytotrgCSM7abU2RFWBCP%2Fuploads%2Fgit-blob-9355c66463c4704a74c7d5e17cf53cd9bd0a3a67%2Froot_user.png?alt=media)

### 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:

  ![](https://3122590582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FytotrgCSM7abU2RFWBCP%2Fuploads%2Fgit-blob-5effe11a42b380991194448ff37a8b9b3db75be5%2Fsu_escalonation.png?alt=media)

### 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**<br>

* Veja o exemplo na imagem abaixo:

  ![](https://3122590582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FytotrgCSM7abU2RFWBCP%2Fuploads%2Fgit-blob-19716150fc0978640c28741984e0312ff8600ae7%2Fsudo_without_password.png?alt=media)

### 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:

  ![](https://3122590582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FytotrgCSM7abU2RFWBCP%2Fuploads%2Fgit-blob-1b0f5ad4f4668631f1882dd6722e8d9df43b2ef7%2Fsudo_with_password.png?alt=media)

### 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.

{% hint style="warning" %}
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.
{% endhint %}

**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:

  ![](https://3122590582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FytotrgCSM7abU2RFWBCP%2Fuploads%2Fgit-blob-3ef83903c0427c02fe897c89af2ba2c3919ae050%2Fcredential_key.png?alt=media)

## 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.

  ![](https://3122590582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FytotrgCSM7abU2RFWBCP%2Fuploads%2Fgit-blob-691dc86da59daa9e9005379ca567f17369f83fc8%2Fcidr_example.png?alt=media)
* 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.

  ![](https://3122590582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FytotrgCSM7abU2RFWBCP%2Fuploads%2Fgit-blob-d3ada3593925fec7ff8b0f6355b410200534f23d%2F2_cidr.png?alt=media)

### 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.

* Use o sufixo /32 para executar a varredura de apenas um Host. *Exemplo: 10.30.52.125/32*.
* Para redes /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.

| CIDR | Subnet Mask     | Available Address |
| ---- | --------------- | ----------------- |
| /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                 |

### Upload de CIDR via CSV

* Também é possível realizar o Upload de um arquivo CSV. O arquivo deve seguir a seguinte estrutura: a primeira linha deve conter obrigatoriamente **name,target** e as linhas seguintes devem apresentar os valores correspondentes, separados por vírgula.

  ![](https://3122590582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FytotrgCSM7abU2RFWBCP%2Fuploads%2Fgit-blob-e0fab67d32e62f3daa2322defea876795e5f2dc0%2Fexemplo_upload_cidr.png?alt=media)

1. Clique em **Upload**.

   ![](https://3122590582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FytotrgCSM7abU2RFWBCP%2Fuploads%2Fgit-blob-e266a0e9b9704c9d2c7c910c1acf6e632b42fd95%2Fbotao_upload.png?alt=media)
2. Clique em **Select File**.

   ![](https://3122590582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FytotrgCSM7abU2RFWBCP%2Fuploads%2Fgit-blob-86d405ef84a6d4acb150dce65ef035bf0ca30898%2Fbotao_select_file.png?alt=media)
3. Faça upload do arquivo e clique em **Confirm**.

   ![](https://3122590582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FytotrgCSM7abU2RFWBCP%2Fuploads%2Fgit-blob-9f253f877fb7ad95bf351381e509819dd42b4984%2Fbotao_confirm_upload.png?alt=media)

### 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.

1. Clique em Discover no menu lateral esquerdo do LCC
2. Escolha o Discover desejado e marque o botão "Search SSH Port"

   ![](https://3122590582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FytotrgCSM7abU2RFWBCP%2Fuploads%2Fgit-blob-165589a40b47d17581e9b448e434e5a98729cb38%2Fsearch_ssh_casosde_uso.png?alt=media)

* Siga os passos abaixo para ajustar o Time Out das tarefas do Discover.

1. Clique em **Config** no menu lateral esquerdo do LCC

   ![](https://3122590582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FytotrgCSM7abU2RFWBCP%2Fuploads%2Fgit-blob-c2ecd830666fdc24d2c3a23b4dea0eee70a58c82%2Fconfig_dashboard.png?alt=media)
2. Clique em **Parameters**

   ![](https://3122590582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FytotrgCSM7abU2RFWBCP%2Fuploads%2Fgit-blob-825b81ca437236f43fec5d1d645eaf523e699658%2Fparameters.png?alt=media)
3. Clique em **Discover**

   ![](https://3122590582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FytotrgCSM7abU2RFWBCP%2Fuploads%2Fgit-blob-06ce4c357ee55213ed6e00a4d8e18ea571b5302b%2Fdiscover_parameters.png?alt=media)
4. Ajuste os tempos de acordo com a sua necessidade;

* A imagem abaixo exibe os valores padrões do Discover do LCC.

  ![](https://3122590582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FytotrgCSM7abU2RFWBCP%2Fuploads%2Fgit-blob-e3f856cd48bd70408a84577ff9b8c3cc9418ee93%2Fcampos_timeout.png?alt=media)

## 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.

1. Para obter um report de um Discover, clique em **Discover** no menu lateral esquerdo do LCC

   ![](https://3122590582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FytotrgCSM7abU2RFWBCP%2Fuploads%2Fgit-blob-6064bbe817750fce6ba49f51cb2cfdd450056438%2Fdiscover_dashboard.png?alt=media)
2. Clique no Discover desejado

   ![](https://3122590582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FytotrgCSM7abU2RFWBCP%2Fuploads%2Fgit-blob-208dd5622ab9138194c06aa5a47473a3e52be6ba%2Fescolha_discover.png?alt=media)
3. Clique na guia **Reports** e clique em cima do nome do Log desejado

   ![](https://3122590582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FytotrgCSM7abU2RFWBCP%2Fuploads%2Fgit-blob-3c739d97006f0b479b3e5045f829ad5ea6db98f0%2Freport_log.png?alt=media)
4. Clique em **Success** ou em **Failed** para obter o resumo dos Hosts importados e os que tiveram falha durante alguma etapa do Discover

   ![](https://3122590582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FytotrgCSM7abU2RFWBCP%2Fuploads%2Fgit-blob-bb85cd971234e3ff446880742e0da2c9d6fa227b%2Fhost_success_failed.png?alt=media)
5. Veja um exemplo de um Discover com um Host com status **Failed**

   ![](https://3122590582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FytotrgCSM7abU2RFWBCP%2Fuploads%2Fgit-blob-4b98016d331538df25f67438f4ac873b2d4ecfca%2Fresult_failed.png?alt=media)
6. 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.

   ![](https://3122590582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FytotrgCSM7abU2RFWBCP%2Fuploads%2Fgit-blob-046f4821a81fcc06eebc8a9928151bea905db04b%2Freport_discover.png?alt=media)

### 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](#search-ssh-port).

1. 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.

   ![](https://3122590582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FytotrgCSM7abU2RFWBCP%2Fuploads%2Fgit-blob-c29e2b3a1cf5195f241be6f7bbca2780f71669f2%2Fdiscover_report.png?alt=media)

   ![](https://3122590582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FytotrgCSM7abU2RFWBCP%2Fuploads%2Fgit-blob-4a5ae7b438417bce4c7ebd9144d7194db25abe2e%2Fdiscover_report2.png?alt=media)

### Credenciais inválidas no Discover

1. Clique em **Logs** no menu lateral esquerdo do LCC

   ![](https://3122590582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FytotrgCSM7abU2RFWBCP%2Fuploads%2Fgit-blob-d3d542788d38a9551a8ce046d4a28be5dc9dd12f%2Flogs_dashboard.png?alt=media)
2. Clique em **Queue**

   ![](https://3122590582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FytotrgCSM7abU2RFWBCP%2Fuploads%2Fgit-blob-998fc31d275589aa97a664e79b4207dcc49769e7%2Fqueue.png?alt=media)
3. Será exibida todas as tarefas que foram executadas nos Hosts que estão no LCC.
4. Clique em **LOG** do **Discover LCC** desejado.

   ![](https://3122590582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FytotrgCSM7abU2RFWBCP%2Fuploads%2Fgit-blob-7f9efee6ddcbe51318160c1a58e9edfcde0cc462%2Flog_discover_queue.png?alt=media)
5. 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 -"

  ![](https://3122590582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FytotrgCSM7abU2RFWBCP%2Fuploads%2Fgit-blob-167f31181c596b15895d366d1018f0a0456f78a4%2Finvalid_credentials.png?alt=media)

1. 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**.

   ![](https://3122590582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FytotrgCSM7abU2RFWBCP%2Fuploads%2Fgit-blob-c0ecfa9561ab0549059fe106a92531964bcd3c11%2Finvalid_credentials_ip.png?alt=media)
2. 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"

  ![](https://3122590582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FytotrgCSM7abU2RFWBCP%2Fuploads%2Fgit-blob-040ae4fe397a669b52afd87c2ad6ec86f2972f53%2Fsenha_loginssh_errada.png?alt=media)
* Exemplo de senha do Root incorreta. "incorrect su password"

  ![](https://3122590582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FytotrgCSM7abU2RFWBCP%2Fuploads%2Fgit-blob-e8d13d6dc40527a59565077f21aa41493de80ee9%2Fsenha_root_errada.png?alt=media)

## Interpretação de Logs

### Análise de 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.

1. Clique em **Logs** no menu lateral esquerdo do LCC

   ![](https://3122590582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FytotrgCSM7abU2RFWBCP%2Fuploads%2Fgit-blob-d3d542788d38a9551a8ce046d4a28be5dc9dd12f%2Flogs_dashboard.png?alt=media)
2. Clique em **Queue**

   ![](https://3122590582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FytotrgCSM7abU2RFWBCP%2Fuploads%2Fgit-blob-998fc31d275589aa97a664e79b4207dcc49769e7%2Fqueue.png?alt=media)
3. Será exibida todas as ações que foram executadas nos Hosts que estão no LCC.
4. Clique em "Log" da ação desejada.

   ![](https://3122590582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FytotrgCSM7abU2RFWBCP%2Fuploads%2Fgit-blob-7f9efee6ddcbe51318160c1a58e9edfcde0cc462%2Flog_discover_queue.png?alt=media)
5. Na janela do log, é possível obter detalhes de cada log clicando em **Expand** e baixa-lo cliando em **Download**.

   ![](https://3122590582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FytotrgCSM7abU2RFWBCP%2Fuploads%2Fgit-blob-3322a13b93a3879fe548dcfd474696ae3da0a2f9%2Flog_discover_janela.png?alt=media)

### Análise das 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.

1. Pesquise pela palavra **progress** no campo de pesquisa do Log
2. Serão exibido vários Logs, cada um deles é uma parte da execução de cada etapa do Discover.

   ![](https://3122590582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FytotrgCSM7abU2RFWBCP%2Fuploads%2Fgit-blob-f635ca498d49a007e3c8365532f4504e5927b7e1%2Fphase_logs.png?alt=media)
3. Clique em **Expand** para ler mais detalhes do log das etapas no momento em que o Discover estava executando.
4. 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.

   ![](https://3122590582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FytotrgCSM7abU2RFWBCP%2Fuploads%2Fgit-blob-296828f1b0ab6f263b0e66d464df6ad431b7a7b9%2Fphase_detalhes.png?alt=media)
