Guia de Configuração do Gateway PKIGuardian

Visão Geral

O Gateway PKIGuardian é responsável por descobrir certificados em dispositivos de rede, servidores e appliances. Este guia aborda as opções de configuração disponíveis no appsettings.json.

Configuração dos Serviços de Conexão

Serviço de Conexão HTTP API

Configuração para conexões HTTPS REST API com appliances de rede (F5 BIG-IP, Palo Alto, Fortinet, etc.).

"ConnectionServices": {
  "HttpApi": {
    "TimeoutSeconds": 30,
    "MaxRetries": 3,
    "CircuitBreakerMinimumThroughput": 5,
    "CircuitBreakerSamplingDurationSeconds": 30,
    "CircuitBreakerBreakDurationSeconds": 30,
    "RateLimitRequestsPerMinute": 60,
    "MaxConcurrentConnections": 10
  }
}

Parâmetros:

  • TimeoutSeconds: Tempo máximo de espera pela resposta da API (padrão: 30)
  • MaxRetries: Número de tentativas em caso de falha (padrão: 3)
  • CircuitBreakerMinimumThroughput: Mínimo de requisições antes de ativar o circuit breaker (padrão: 5)
  • CircuitBreakerSamplingDurationSeconds: Janela de tempo para medir falhas (padrão: 30)
  • CircuitBreakerBreakDurationSeconds: Duração do circuito aberto após disparo (padrão: 30)
  • RateLimitRequestsPerMinute: Máximo de requisições por minuto (padrão: 60)
  • MaxConcurrentConnections: Máximo de conexões HTTP simultâneas (padrão: 10)

Serviço de Conexão SNMP

Configuração para conexões SNMP v2c e v3 com dispositivos de rede.

"Snmp": {
  "TimeoutMilliseconds": 5000,
  "MaxRetries": 2,
  "DefaultPort": 161,
  "RateLimitRequestsPerMinute": 120,
  "MaxConcurrentConnections": 10
}

Parâmetros:

  • TimeoutMilliseconds: Timeout da requisição SNMP em milissegundos (padrão: 5000ms = 5 segundos)
  • MaxRetries: Número de tentativas (padrão: 2)
  • DefaultPort: Porta SNMP padrão (padrão: 161)
  • RateLimitRequestsPerMinute: Máximo de consultas SNMP por minuto (padrão: 120)
  • MaxConcurrentConnections: Máximo de conexões SNMP simultâneas (padrão: 10)

Serviço de Conexão SSH

Configuração para conexões SSH CLI com dispositivos de rede (Cisco, Juniper, etc.).

"SSH": {
  "TimeoutSeconds": 60,
  "MaxRetries": 2,
  "RateLimitRequestsPerMinute": 30,
  "MaxConcurrentConnections": 5
}

Parâmetros:

  • TimeoutSeconds: Timeout de comando SSH (padrão: 60)
  • MaxRetries: Número de tentativas (padrão: 2)
  • RateLimitRequestsPerMinute: Máximo de comandos SSH por minuto (padrão: 30)
  • MaxConcurrentConnections: Máximo de sessões SSH simultâneas (padrão: 5)

Nota: Conexões SSH são mais exigentes em recursos; mantenha MaxConcurrentConnections em 5 ou menos para não sobrecarregar os dispositivos.

Serviço de Conexão WinRM

Configuração para conexões Windows Remote Management com servidores Windows.

"WinRM": {
  "TimeoutSeconds": 60,
  "MaxRetries": 2,
  "RateLimitRequestsPerMinute": 30,
  "MaxConcurrentConnections": 5
}

Parâmetros:

  • TimeoutSeconds: Timeout de comando WinRM (padrão: 60)
  • MaxRetries: Número de tentativas (padrão: 2)
  • RateLimitRequestsPerMinute: Máximo de comandos WinRM por minuto (padrão: 30)
  • MaxConcurrentConnections: Máximo de sessões WinRM simultâneas (padrão: 5)

Configuração de Adaptadores de Fornecedor

Configurações específicas por fabricante de dispositivo de rede.

"VendorAdapters": {
  "Cisco": {
    "RateLimitRequestsPerMinute": 30,
    "MaxConcurrentConnections": 5,
    "ConnectionPreference": [ "SSH", "HttpsApi", "Snmp" ]
  },
  "F5Networks": {
    "RateLimitRequestsPerMinute": 60,
    "MaxConcurrentConnections": 10,
    "ConnectionPreference": [ "HttpsApi", "SSH" ]
  }
}

Fornecedores Suportados

Cisco

  • Dispositivos: IOS, IOS-XE, ASA, WLC (Wireless LAN Controller)
  • Protocolo Preferido: SSH
  • Limite de Taxa: 30 requisições/minuto (conservador para dispositivos mais antigos)
  • Máx. Concorrentes: 5 conexões

F5 Networks

  • Dispositivos: BIG-IP (LTM, GTM, ASM)
  • Protocolo Preferido: iControl REST API
  • Limite de Taxa: 60 requisições/minuto
  • Máx. Concorrentes: 10 conexões

Palo Alto

  • Dispositivos: Firewalls PA-Series, Panorama
  • Protocolo Preferido: XML API
  • Limite de Taxa: 60 requisições/minuto
  • Máx. Concorrentes: 10 conexões

Fortinet

  • Dispositivos: Firewalls FortiGate, FortiManager
  • Protocolo Preferido: REST API
  • Limite de Taxa: 60 requisições/minuto
  • Máx. Concorrentes: 10 conexões

Juniper

  • Dispositivos: Roteadores e switches JunOS
  • Protocolo Preferido: SSH (NETCONF opcional)
  • Limite de Taxa: 30 requisições/minuto
  • Máx. Concorrentes: 5 conexões

Genérico

  • Dispositivos: Dispositivos não suportados ou genéricos
  • Protocolo Preferido: SNMP (fallback)
  • Limite de Taxa: 30 requisições/minuto
  • Máx. Concorrentes: 5 conexões

Preferência de Conexão

O array ConnectionPreference define a ordem em que os métodos de conexão são tentados:

  1. Primeira preferência: Tentar protocolo primário (geralmente o mais eficiente)
  2. Segunda preferência: Fallback se o primário falhar
  3. Terceira preferência: Último recurso

Exemplo: Para dispositivos Cisco, o Gateway tenta SSH primeiro, depois HTTPS API, depois SNMP.

Configuração de Caminhos de Certificados

Localizações padrão de certificados para diferentes tipos de dispositivo. O Gateway usa esses caminhos durante a descoberta.

"DeviceCertificatePaths": {
  "Router": {
    "DefaultPaths": [
      "/etc/ssl/certs",
      "/flash/certs"
    ],
    "DefaultStores": [ "trustpoint", "ca-certificates" ]
  }
}

Tipos de Dispositivo

Roteador

  • Caminhos/etc/ssl/certs/flash/certs
  • Storestrustpointca-certificates
  • Notas: Cisco IOS usa trustpoints; roteadores baseados em Linux usam caminhos padrão

Switch

  • Caminhos/etc/ssl/certs/flash/certs
  • Storestrustpointca-certificates
  • Notas: Semelhante a roteadores; pode ter menos certificados

Firewall

  • Caminhos/config/ssl/etc/ssl/certs
  • Storesdevice-certificatestrusted-ca
  • Notas: Firewalls frequentemente armazenam certs em partições /config

Balanceador de Carga

  • Caminhos/config/ssl/etc/ssl
  • Storesssl-profilesclient-sslserver-ssl
  • Notas: F5 usa perfis SSL; HAProxy usa arquivos PEM

Ponto de Acesso

  • Caminhos/etc/ssl/certs
  • Storescertificates
  • Notas: Controllers wireless gerenciam certificados de AP

Servidor

  • Caminhos/etc/ssl/certs/etc/pki/tls/certs
  • StoresMyRootCA
  • Notas: Windows usa stores de certificado; Linux usa caminhos no sistema de arquivos

Ajuste de Desempenho

Ajustando Limites de Concorrência

Dispositivos de Baixa Potência (IoT, equipamentos mais antigos):

"MaxConcurrentConnections": 2
"RateLimitRequestsPerMinute": 10

Dispositivos de Alta Performance (firewalls modernos, balanceadores de carga):

"MaxConcurrentConnections": 20
"RateLimitRequestsPerMinute": 120

Recomendações de Timeout

Tipo de Dispositivo Timeout Justificativa
REST APIs 30s Respostas rápidas e estruturadas
SSH CLI 60s Processamento e análise de comandos
SNMP 5000ms (5s) Deve ser imediato; tentar novamente se lento
WinRM 60s Semelhante ao SSH

Boas Práticas de Limitação de Taxa

  1. Comece de forma conservadora: Use os limites padrão inicialmente
  2. Monitore o desempenho: Verifique CPU/memória do dispositivo durante a descoberta
  3. Aumente gradualmente: Eleve os limites em 20% se não houver problemas
  4. Limites do fornecedor: Respeite os limites de API (consulte a documentação do fornecedor)
  5. Horário de produção: Considere reduzir os limites durante picos de uso

Exemplos de Configuração

Ambiente de Alto Volume (1000+ dispositivos)

"ConnectionServices": {
  "HttpApi": {
    "MaxConcurrentConnections": 20,
    "RateLimitRequestsPerMinute": 120
  },
  "SSH": {
    "MaxConcurrentConnections": 10,
    "RateLimitRequestsPerMinute": 60
  }
}

Ambiente Conservador/Legado

"ConnectionServices": {
  "HttpApi": {
    "MaxConcurrentConnections": 5,
    "RateLimitRequestsPerMinute": 30
  },
  "SSH": {
    "MaxConcurrentConnections": 3,
    "RateLimitRequestsPerMinute": 15
  }
}

Solução de Problemas

Timeouts de Conexão

Sintoma: Dispositivos falham com erros de timeout

Soluções:

  1. Aumente TimeoutSeconds para o tipo de conexão
  2. Reduza MaxConcurrentConnections
  3. Verifique a latência de rede para os dispositivos
  4. Verifique se o dispositivo não está sobrecarregado

Erros de Limitação de Taxa

Sintoma: Erros “429 Too Many Requests” ou semelhantes

Soluções:

  1. Reduza RateLimitRequestsPerMinute
  2. Reduza MaxConcurrentConnections
  3. Consulte a documentação da API do fornecedor para conhecer os limites
  4. Implemente agendamentos escalonados de descoberta

Ativação do Circuit Breaker

Sintoma: Erros “Circuit breaker is open”

Soluções:

  1. Aumente CircuitBreakerThreshold
  2. Estenda CircuitBreakerBreakDurationSeconds
  3. Resolva os problemas de conexão subjacentes primeiro
  4. Revise os logs do dispositivo para identificar falhas

Considerações de Segurança

  1. Armazenamento de Credenciais: Use HashiCorp Vault para armazenar chaves de API e community strings SNMP
  2. Conexões Criptografadas: Sempre use HTTPS, SSH ou SNMPv3 (nunca Telnet ou SNMPv2c em produção)
  3. Privilégio Mínimo: Crie contas somente leitura nos dispositivos para descoberta de certificados
  4. Log de Auditoria: Todas as tentativas de conexão são registradas nos logs do Gateway
  5. Limitação de Taxa: Previne DoS acidental de dispositivos de rede

Consulte Também

  • Descoberta em Appliances de Rede — Guia completo de descoberta em dispositivos de rede
  • Solução de Problemas — Problemas comuns e soluções

Relacionados

Guia de Criptografia Quântica Segura

Visão Geral O PKIGuardian suporta criptografia pós-quântica (PQC) baseada nos algoritmos padronizados pelo NIST. Este recurso permite

Guia de Cadastro de Dispositivos IoT via CoAP

Visão Geral O PKIGuardian fornece um servidor CoAP (Constrained Application Protocol) nativo para cadastrar dispositivos IoT com

Guia de Analises e Relatórios

Guia completo para usar as capacidades de análise e aprendizado de máquina do PKIGuardian. Índice Visão Geral