Recomendar configurações de segurança para o Azure API Management
A linha de base de segurança do Azure para Gerenciamento de API aplica diretrizes do Cloud Security Benchmark da Microsoft versão 1.0 ao Gerenciamento de API. O parâmetro de comparação de segurança da nuvem da Microsoft fornece recomendações sobre como você pode proteger suas soluções de nuvem no Azure. O conteúdo é agrupado pelos controles de segurança definidos pelo parâmetro de comparação de segurança de nuvem da Microsoft e pelas diretrizes relacionadas aplicáveis ao Gerenciamento de API.
Você pode monitorar essa linha de base de segurança e as recomendações usando o Microsoft Defender para Nuvem. As definições do Azure Policy serão listadas na seção Conformidade Regulatória da página do portal do Microsoft Defender para Nuvem.
Quando um recurso tem definições relevantes do Azure Policy, eles são listados nesta linha de base para ajudar você a medir a conformidade com as recomendações e controles de parâmetro de comparação de segurança de nuvem da Microsoft. Algumas recomendações podem exigir um plano pago do Microsoft Defender para habilitar determinados cenários de segurança.
Segurança de rede
NS-1: Estabelecer limites de segmentação de rede
Recurso: Integração de rede virtual
Descrição: O serviço dá suporte à implantação na rede virtual (VNet) privada do cliente.
Diretrizes de configuração: Implante o Gerenciamento de API do Azure dentro de uma Rede Virtual do Microsoft Azure para poder acessar serviços de back-end na rede. O portal do desenvolvedor e o gateway do Gerenciamento de API podem ser configurados para serem acessados pela Internet (externo) ou somente na rede virtual (interno).
- Externo: o portal de desenvolvedor e o gateway de Gerenciamento de API podem ser acessados pela Internet pública por meio de um balanceador de carga externo. O gateway pode acessar recursos na rede virtual.
- Configuração de rede virtual externa
- Interno: o portal de desenvolvedor e o gateway de Gerenciamento de API só podem ser acessados de dentro da rede virtual por meio de um balanceador de carga interno. O gateway pode acessar recursos na rede virtual.
- Configuração de rede virtual interna
Recurso: Suporte ao grupo de segurança de rede
Descrição: O tráfego de rede de serviço respeita a atribuição de regra de grupos de segurança de rede em suas sub-redes.
Diretrizes de configuração: Implante grupos de segurança de rede (NSGs) em suas sub-redes de Gerenciamento de API para restringir ou monitorar o tráfego por porta, protocolo, endereço IP de origem ou endereço IP de destino. Crie regras de NSG para restringir as portas abertas do serviço (como impedir que portas de gerenciamento sejam acessadas de redes não confiáveis). Lembre-se de que, por padrão, os NSGs negam todo o tráfego de entrada, mas permitem o tráfego da rede virtual e de Azure Load Balancers.
Cuidado
Ao configurar um NSG na sub-rede de Gerenciamento de API, há um conjunto de portas que precisam ser abertas. Se qualquer uma dessas portas estiver indisponível, o Gerenciamento de API poderá não operar corretamente e pode se tornar inacessível.
NS-2: Proteger serviços de nuvem com controles de rede
Recurso: Link Privado do Azure
Descrição: Funcionalidade de filtragem de IP nativa do serviço para filtrar o tráfego de rede (não confundir com o NSG ou o Firewall do Azure).
Orientação de configuração: nos casos em que não é possível implantar instâncias do Gerenciamento de API em uma rede virtual, você deve implantar um ponto de extremidade privado para estabelecer um ponto de acesso privado para esses recursos.
Observação
Para habilitar pontos de extremidade privados, a instância de Gerenciamento de API não pode já estar configurada com uma rede virtual interna ou externa. Uma conexão de ponto de extremidade privada dá suporte apenas ao tráfego de entrada para a instância de Gerenciamento de API.
Recurso: Desabilitar o acesso à rede pública
Descrição: O serviço dá suporte à desabilitação do acesso à rede pública por meio do uso da regra de filtragem de ACL de IP no nível do serviço (não do NSG ou do Firewall do Azure) ou do uso de um comutador de alternância "Desabilitar acesso à rede pública".
Diretrizes de configuração: Desabilite o acesso à rede pública usando a regra de filtragem de ACL IP nos NSGs atribuídos às sub-redes do serviço ou uma opção de alternância para acesso à rede pública.
Observação
O Gerenciamento de API dá suporte a implantações em uma rede virtual, além de bloquear implantações não baseadas em rede com um ponto de extremidade privado e desabilitar o acesso à rede pública.
Recurso: Monitoramento do Microsoft Defender para Nuvem
Definições internas do Azure Policy – Microsoft.ApiManagement:
Nome (Portal do Azure) |
Descrição | Efeito(s) | Versão (GitHub) |
---|---|---|---|
Os serviços do Gerenciamento de API devem usar uma rede virtual | A implantação da Rede Virtual do Azure fornece isolamento e segurança aprimorada e permite que você coloque o serviço de Gerenciamento de API em uma rede roteável não ligada à Internet para a qual você controla o acesso. Essas redes podem ser conectadas às suas redes locais usando várias tecnologias de VPN, o que permite o acesso aos seus serviços de back-end na rede e/ou locais. O portal do desenvolvedor e o gateway de API podem ser configurados para serem acessados pela Internet ou somente na rede virtual. | Audit, Deny, desabilitado | 1.0.2 |
O Gerenciamento de APIs deve desabilitar o acesso à rede pública nos pontos de extremidade de configuração do serviço | Para melhorar a segurança dos serviços de Gerenciamento de API, restrinja a conectividade com pontos de extremidade de configuração de serviço, como a API de gerenciamento de acesso direto, o ponto de extremidade de gerenciamento de configuração do Git ou o ponto de extremidade de configuração de gateways auto-hospedados. | AuditIfNotExists, desabilitado | 1.0.1 |
NS-6: Implantar o firewall do aplicativo Web
Outras diretrizes para NS-6: Para proteger APIs Web/HTTP críticas, configure o Gerenciamento de API em uma rede virtual (VNet) no modo interno e configure um Gateway de Aplicativo do Azure. O Gateway de Aplicativo é um serviço PaaS. Ele atua como um proxy reverso e fornece balanceamento de carga L7, roteamento, firewall do aplicativo Web (WAF) e outros serviços. Saiba mais.
Combinar o Gerenciamento de API provisionado em uma rede virtual interna com o front-end do Gateway de Aplicativo permite os seguintes cenários:
- Usar um único recurso de Gerenciamento de API para expor todas as APIs para clientes internos e externos.
- Use um único recurso de Gerenciamento de API para expor um subconjunto de APIs para consumidores externos.
- Fornecer uma maneira rápida de ativar e desativar o acesso ao Gerenciamento de API da Internet pública.
Gerenciamento de identidades
IM-1: usar um sistema centralizado de identidade e autenticação
Recurso: Autenticação do Azure AD necessária para acesso ao plano de dados
Descrição: O serviço dá suporte ao uso da autenticação do Azure AD para acesso ao plano de dados.
Diretrizes de configuração: Use o Azure Active Directory (Azure AD) como o método de autenticação padrão para o Gerenciamento de API sempre que possível.
- Configure o seu Portal do Desenvolvedor do Gerenciamento de API do Azure para autenticar contas de desenvolvedor usando o Azure AD.
- Configure a sua instância do Gerenciamento de API do Azure para proteger APIs usando o protocolo OAuth 2.0 com o Azure AD.
Recurso: Métodos de autenticação local para acesso ao plano de dados
Descrição: Métodos de autenticações locais compatíveis com o acesso ao plano de dados, como um nome de usuário local e senha.
Observações sobre o recurso: Evite o uso de métodos ou contas de autenticação local, elas devem ser desabilitadas sempre que possível. Em vez disso, use o Azure AD para autenticar sempre que possível.
Diretrizes de configuração: Restrinja o uso de métodos de autenticação local para acesso ao plano de dados, mantenha o inventário de contas de usuário do Gerenciamento de API e reconcilie o acesso conforme necessário. No Gerenciamento de API, os desenvolvedores são os consumidores das APIs que são expostas com o Gerenciamento de API. Por padrão, as contas de desenvolvedor criadas recentemente têm o estado “Ativa” e são associadas ao grupo Desenvolvedores. As contas de desenvolvedor que estão com estado “Ativa” podem ser utilizadas para acessar todas as APIs nas quais estão inscritas.
Além disso, as assinaturas do Gerenciamento de API do Azure são um meio de proteger o acesso às APIs e vêm com um par de chaves de assinatura geradas que dão suporte à rotação.
Em vez de usar outros métodos de autenticação, sempre que possível, use o Azure Active Directory (Azure AD) como o método de autenticação padrão para controlar o acesso ao plano de dados.
IM-3: gerenciar identidades de aplicativos de maneira segura e automática
Recurso: Identidades gerenciadas
Descrição: As ações do plano de dados dão suporte à autenticação usando identidades gerenciadas.
Diretrizes de configuração: Use uma Identidade de Serviço Gerenciada gerada pelo Azure Active Directory (Azure AD) para permitir que sua instância de Gerenciamento de API acesse com facilidade e segurança outros recursos protegidos pelo Azure AD, como o Azure Key Vault, em vez de usar entidades de serviço. As credenciais de identidades gerenciadas são completamente gerenciadas, giradas e protegidas pela plataforma, evitando credenciais codificadas no código-fonte ou arquivos de configuração.
Recurso: Entidades de Serviço
Descrição: O plano de dados dá suporte à autenticação usando entidades de serviço.
Orientação de configuração: não há diretrizes atuais da Microsoft para essa configuração de recursos. Examine e determine se sua organização deseja configurar esse recurso de segurança.
IM-5: usar o SSO (logon único) para acessar o aplicativo
Outras diretrizes para IM-5: O Gerenciamento de API do Azure pode ser configurado para aproveitar o Azure Active Directory (Azure AD) como um provedor de identidade para autenticar usuários no Portal do Desenvolvedor para se beneficiar dos recursos de SSO oferecidos pelo Azure AD. Uma vez configurados, os novos usuários do Portal do Desenvolvedor podem optar por seguir o processo de inscrição pronto para uso, em que primeiro autenticam pelo Azure Active Directory e, após a autenticação, concluem o processo de inscrição no portal.
Como alternativa, o processo de entrada/inscrição pode ser personalizado por meio de delegação. A delegação permite usar seu site existente para gerenciar a entrada/inscrição e assinatura de produtos feitas por desenvolvedores em vez de usar a funcionalidade integrada no portal do desenvolvedor. Ela permite que seu site tenha os dados dos usuários e realize a validação dessas etapas de forma personalizada.
IM-7: restringir o acesso aos recursos com base nas condições
Recursos: Acesso condicional para o plano de dados
Descrição: O acesso ao plano de dados pode ser controlado usando as políticas de acesso condicional do Azure AD.
Orientação de configuração: não há suporte nesse recurso para proteger esse serviço.
IM-8: restringir a exposição de credenciais e segredos
Recurso: Armazenamento e integração de suporte a segredos e credenciais de serviço no Azure Key Vault
Descrição: O plano de dados dá suporte ao uso nativo do Azure Key Vault para armazenamento de credenciais e segredos.
Diretrizes de configuração: Configurar a integração do Gerenciamento de API com o Azure Key Vault. Verifique se os segredos do Gerenciamento de API (valores nomeados) são armazenados em um Azure Key Vault para que possam ser acessados e atualizados com segurança.
Acesso privilegiado
PA-1: separar e limitar usuários administrativos/altamente privilegiados
Recurso: Contas de administrador local
Descrição: O serviço tem o conceito de uma conta administrativa local.
Observações sobre o recurso: Evite o uso de métodos ou contas de autenticação local, elas devem ser desabilitadas sempre que possível. Em vez disso, use o Azure AD para autenticar sempre que possível.
Diretrizes de configuração: Se não for necessário para operações administrativas de rotina, desabilite ou restrinja contas de administrador local somente para uso de emergência.
Observação
O Gerenciamento de API permite a criação de uma conta de usuário local. Em vez de criar essas contas locais, habilite apenas a autenticação do Azure Active Directory (Azure AD) e atribua permissões a essas contas do Azure AD.
PA-7: seguir a administração Just Enough (princípio de privilégios mínimos)
Recurso: RBAC do Azure para plano de dados
Descrição: O Controle de Acesso Baseado em Função (RBAC) do Azure pode ser usado para gerenciar o acesso às ações do plano de dados do serviço.
Orientação de configuração: use o RBAC (controle de acesso baseado em função) do Azure para controlar o acesso ao Gerenciamento de API do Azure. O Gerenciamento de API do Azure depende do RBAC (controle de acesso baseado em função) do Azure para habilitar o gerenciamento de acesso refinado de serviços e entidades de Gerenciamento de API (por exemplo, APIs e políticas).
PA-8: determinar o processo de acesso para suporte ao provedor de nuvem
Recurso: Sistema de Proteção de Dados do Cliente
Descrição: o Sistema de Proteção de Dados do Cliente pode ser usado para acesso de suporte da Microsoft.
Orientação de configuração: Em cenários de suporte em que a Microsoft precisa acessar seus dados, use o Sistema de Proteção de Dados do Cliente para revisar e aprovar ou rejeitar cada solicitação de acesso a dados da Microsoft.
Proteção de dados
DP-1: Descobrir, classificar e rotular dados confidenciais
Recurso: descoberta e classificação de dados confidenciais
Descrição: ferramentas (como o Azure Purview ou a Proteção de Informações do Azure) podem ser usadas para descoberta e classificação de dados no serviço.
Orientação de configuração: não há suporte nesse recurso para proteger esse serviço.
DP-2: monitorar anomalias e ameaças direcionadas a dados confidenciais
Recurso: Prevenção contra perda/vazamento de dados
Descrição: o serviço dá suporte à solução de DLP para monitorar a movimentação de dados confidenciais (no conteúdo do cliente).
Orientação de configuração: não há suporte nesse recurso para proteger esse serviço.
DP-3: criptografar dados confidenciais ativos
Recurso: Criptografia de dados em trânsito
Descrição: O serviço dá suporte à criptografia de dados em trânsito para o plano de dados.
Orientação de configuração: nenhuma configuração adicional é necessária, pois isso está habilitado em uma implantação padrão.
Outras diretrizes para DP-3: as chamadas do plano de gerenciamento são feitas com o Azure Resource Manager via TLS. Um JWT (token Web JSON) válido é necessário. As chamadas de plano de dados podem ser protegidas com TLS e um dos mecanismos de autenticação com suporte (por exemplo, certificado de cliente ou JWT).
DP-6: usar um processo de gerenciamento de chaves seguro
Recurso: Gerenciamento de chaves no Azure Key Vault
Descrição: o serviço dá suporte à integração do Azure Key Vault para chaves, segredos ou certificados do cliente.
Diretrizes de configuração: Configurar a integração do Gerenciamento de API com o Azure Key Vault. Verifique se as chaves usadas pelo Gerenciamento de API são armazenadas em um Azure Key Vault para que possam ser acessados e atualizados com segurança.
DP-7: usar um processo seguro de gerenciamento de certificados
Recurso: Gerenciamento de certificados no Azure Key Vault
Descrição: o serviço dá suporte à integração do Azure Key Vault para todos os certificados do cliente.
Diretrizes de configuração: Configurar a integração do Gerenciamento de API com o Azure Key Vault. Verifique se os segredos do Gerenciamento de API (valores nomeados) são armazenados em um Azure Key Vault para que possam ser acessados e atualizados com segurança.
Use o Azure Key Vault para criar e controlar o ciclo de vida do certificado, incluindo criação, importação, rotação, revogação, armazenamento e limpeza do certificado. Certifique-se de que a geração de certificado siga os padrões definidos sem usar nenhuma propriedade insegura, como: tamanho de chave insuficiente, período de validade excessivamente longo, criptografia insegura. Configure a rotação automática do certificado no Azure Key Vault e no serviço do Azure (se houver suporte) com base em um agendamento definido ou quando houver uma expiração de certificado. Se não houver suporte para rotação automática no aplicativo, garanta que o certificado ainda seja girado com métodos manuais no Azure Key Vault e no aplicativo.
Gerenciamento de ativos
AM-2: usar apenas serviços aprovados
Recurso: Suporte ao Azure Policy
Descrição: As configurações de serviço podem ser monitoradas e impostas por meio do Azure Policy.
Orientação de configuração: use o Azure Policy interno para monitorar e impor a configuração segura entre recursos do Gerenciamento de API. Use aliases do Azure Policy no namespace "Microsoft.ApiManagement" para criar definições de Azure Policy personalizadas quando necessário.
Registro em log e detecção de ameaças
LT-1: habilitar funcionalidades de detecção de ameaças
Recursos: Microsoft Defender para oferta de serviço/produto
Descrição: o serviço tem uma solução específica do Microsoft Defender para monitorar e alertar sobre problemas de segurança.
Orientação de configuração: não há suporte nesse recurso para proteger esse serviço.
LT-4: habilitar o registro em log para investigação de segurança
Recurso: Azure Resource Logs
Descrição: o serviço produz logs de recursos que podem fornecer métricas e logs avançados específicos do serviço. O cliente pode configurar esses logs de recursos e enviá-los para o seu próprio coletor de dados, como uma conta de armazenamento ou um workspace do Log Analytics.
Orientação de configuração: habilite logs de recursos do Gerenciamento de API. Os logs de recursos fornecem informações avançadas sobre operações e erros importantes para fins de auditoria e solução de problemas. As categorias de logs de recursos para o Gerenciamento de API incluem:
- GatewayLogs
- WebSocketConnectionLogs
Backup e recuperação
BR-1: garantir backups automatizados regulares
Recurso: Backup do Azure
Descrição: o backup do serviço pode ser feito pelo serviço de Backup do Azure.
Orientação de configuração: não há suporte nesse recurso para proteger esse serviço.
Recurso: Funcionalidade de backup nativo do serviço
Descrição: O serviço dá suporte a sua própria funcionalidade de backup nativo (se não estiver usando o Backup do Azure).
Diretrizes adicionais: Aproveite os recursos de backup e restauração no serviço de Gerenciamento de API do Azure. Ao aproveitar os recursos de backup, o Gerenciamento de API do Azure grava backups em contas de Armazenamento do Microsoft Azure de propriedade do cliente. As operações de backup e restauração são fornecidas pelo Gerenciamento de API do Azure para executar o backup e a restauração completos do sistema.