Use NAT Gateway, SLB ou gerenciamento de sessões em vez de atribuir endereços IP públicos diretamente às instâncias ECS.
Riscos de segurança
Atribuir um endereço IP público, como um EIP ou um endereço IP público estático, diretamente a uma instância ECS amplia a superfície de ataque e introduz os seguintes riscos:
Varredura e descoberta passivas: Scanners identificam portas de service expostas, o que pode resultar em ataques DDoS ou na exploração de vulnerabilidades remotas capazes de comprometer o host.
Ataques a portas vulneráveis: Grupos de segurança mal configurados podem expor portas de gerenciamento, como SSH (porta 22), RDP (porta 3389) e SMB (porta 445), à Internet. Essas portas são altamente suscetíveis a ataques de força bruta, adivinhação de senhas e roubo de credenciais, levando ao comprometimento de hosts e vazamento de dados.
Maior complexidade de gerenciamento: Gerenciar endereços IP públicos e políticas de controle de acesso por instância aumenta a complexidade de O&M, eleva o risco de erros de configuração e cria pontos únicos de falha.
Não conformidade com requisitos de proteção classificada: Padrões como MLPS 2.0 exigem que todo acesso à rede pública seja seguro, controlável e auditável. Use SLB, NAT Gateway ou Bastionhost para centralizar o controle de acesso à rede pública em vez de expor instâncias diretamente.
Melhores práticas
Configure grupos de segurança
Um grupo de segurança é um firewall virtual que controla o tráfego de entrada e saída das instâncias ECS. Uma configuração adequada do grupo de segurança constitui a base da defesa de rede do ECS.
Princípio fundamental: Menor privilégio. Siga o princípio do menor privilégio para todas as regras de entrada e saída:
Especifique objetos de autorização: Use endereços IP específicos ou blocos CIDR, como o IP de saída da sua empresa ou endereços IP privados de outros recursos da cloud. Evite 0.0.0.0/0, a menos que o service precise ser acessível publicamente, como serviços web nas portas 80/443.
Especifique portas autorizadas: Abra apenas as portas necessárias. Nunca exponha portas de gerenciamento remoto ou de banco de dados à Internet.
Exemplo negativo:
Um usuário associou um endereço IP público a uma instância ECS e definiu o endereço de source para SSH (22) e Redis (6379) como 0.0.0.0/0 no grupo de segurança. O usuário root tinha uma senha fraca e o Redis não possuía senha. Em 5 minutos, um scanner automatizado comprometeu o servidor e roubou dados.
Restringir a porta 22 ao endereço IP da empresa e a porta 6379 à rede interna da VPC teria bloqueado a exploração direta pela Internet, mesmo com uma senha fraca.
Portas vulneráveis comuns. Sempre restrinja o intervalo de endereços IP de source para as seguintes portas:
|
Categoria de Porta |
Porta/Protocolo |
Nome do Serviço |
Risco Principal |
|
Gerenciamento remoto |
22/TCP, 3389/TCP |
SSH, RDP |
Ataques de força bruta, obtenção de controle total do servidor |
|
Banco de dados |
3306/TCP, 6379/TCP, 1433/TCP |
MySQL, Redis, SQL Server |
Acesso não autorizado, violação de dados, execução remota de código (RCE) |
|
Compartilhamento de arquivos |
445/TCP, 139/TCP |
SMB, NetBIOS |
Propagação de worms (como EternalBlue), roubo de arquivos |
|
Gerenciamento de aplicações web |
7001/TCP, 8080/TCP |
WebLogic, Tomcat |
Senhas fracas de backend, vulnerabilidades de desserialização, levando a RCE |
Conecte-se a instâncias ECS com segurança
Expor SSH (porta 22) ou RDP (porta 3389) à Internet torna as instâncias vulneráveis a ataques de força bruta. Use as seguintes ferramentas de O&M do Alibaba Cloud como alternativa.
|
Solução |
Cenários |
|
Conexão via terminal Workbench |
Gerenciamento diário rápido e temporário, adequado para iniciantes |
|
Gerenciamento de sessões |
Uso diário por desenvolvedores e engenheiros de O&M, com zero exposição de portas |
|
Bastionhost |
Uso empresarial com requisitos rigorosos de conformidade e auditoria |
Conecte-se com o Workbench
O Workbench abre uma sessão segura de shell ou RDP no seu navegador. Recomendado para gerenciamento diário.
Funcionamento: As solicitações são autenticadas e retransmitidas pelo cluster de serviços do Workbench antes de chegar à instância. O grupo de segurança precisa permitir apenas o intervalo de endereços IP do service Workbench na porta de gerenciamento, minimizando a superfície de ataque.
-
Como usar:
Conecte-se com o gerenciamento de sessões
O Session management oferece zero exposição de portas para um gerenciamento flexível de instâncias.
Funcionamento: O Agente do Cloud Assistant estabelece uma conexão reversa criptografada com o service Cloud Assistant. Todas as operações de O&M passam por esse túnel, de modo que a instância não escuta em nenhuma porta de entrada.
-
Como usar:
Proteja o acesso de saída à Internet
Instâncias ECS frequentemente necessitam de acesso de saída à Internet para baixar pacotes, atualizar sistemas ou chamar APIs de terceiros.
Use um NAT gateway
-
Funcionamento:
As instâncias ECS dentro de uma VPC não possuem endereços IP públicos.
As rotas da VPC direcionam todo o tráfego de saída para o NAT gateway.
O NAT gateway traduz os endereços IP privados para seu endereço IP público antes de enviar as solicitações para a Internet.
-
Vantagens principais:
Oculte instâncias de backend: Apenas o endereço IP público do NAT gateway é visível na Internet. As instâncias ECS de backend não podem ser descobertas ou acessadas diretamente.
Gerenciamento centralizado: Gerencie o tráfego de saída por meio de um único ponto de saída da VPC.
Economize endereços IP públicos: Várias instâncias ECS compartilham um ou mais endereços IP públicos.
Consulte Use the SNAT feature of an Internet NAT gateway to access the Internet.
Configure regras de grupo de segurança de saída
Mesmo com acesso apenas de saída, uma instância comprometida pode se conectar a servidores externos de comando e controle (C&C). Regras de grupo de segurança de saída bloqueiam essas conexões maliciosas.
Defina uma política de negação padrão. Adicione uma regra de saída com a prioridade mais baixa (como 100): política "Deny", destino 0.0.0.0/0, intervalo de portas all.
-
Permita serviços necessários do Alibaba Cloud. Adicione regras de permissão de alta prioridade para endereços básicos de serviços do Alibaba Cloud. Por exemplo:
Agente do Security Center: 100.100.0.0/16, 106.11.0.0/16 e outros nas portas 80/443.
Agente do Cloud Assistant: 100.100.100.200:80 e os nomes de domínio do service Cloud Assistant para cada região.
Fonte de espelho do Alibaba Cloud/OSS/SLS: Resolva os nomes de domínio regionais e adicione seus endereços IP.
Permita destinos de negócios. Para acessar um domínio específico (como github.com), resolva seus endereços IP com
digounslookupe adicione-os às regras de permissão de saída.
Proteja o acesso de entrada da Internet
Quando instâncias ECS hospedam sites, backends de aplicativos ou APIs para usuários da Internet, evite associar endereços IP públicos diretamente.
Use o SLB
Associar um endereço IP público diretamente a uma instância ECS expõe o servidor de backend e não oferece alta disponibilidade. Use o Server Load Balancer (SLB), como Application Load Balancer (ALB) ou Network Load Balancer (NLB), em ambientes de produção.
-
Funcionamento:
As solicitações dos usuários chegam ao endpoint público do SLB.
O SLB distribui as solicitações para instâncias ECS de backend íntegras com base em regras de encaminhamento e verificações de integridade.
As instâncias ECS de backend se comunicam com o SLB apenas pela rede interna.
-
Vantagens principais:
Oculte servidores de backend: A instância SLB serve como o endpoint voltado para o usuário, ocultando os endereços IP das instâncias ECS de backend.
Alta disponibilidade: O SLB remove automaticamente instâncias não íntegras e executa failover.
Distribuição de carga: O SLB distribui o tráfego entre várias instâncias ECS para dimensionamento horizontal.
Segurança integrada: Integre o SLB com WAF e outros produtos de segurança para proteger contra ataques na camada de aplicação.
Consulte Quickly implement load balancing for IPv4 services.
Configure grupos de segurança para instâncias de backend
Configure os grupos de segurança das instâncias ECS de backend da seguinte forma:
Nas regras de entrada, permita o tráfego do intervalo de endereços IP do service SLB para portas de service como 80/443.
Negue todos os outros endereços IP de source.
Use o encaminhamento de porta do Cloud Assistant para acesso local
Use o encaminhamento de porta do Cloud Assistant para um pequeno número de instâncias ECS com acesso à rede privada ou testes temporários, onde os requisitos de qualidade de rede são baixos e os custos de largura de banda pública devem ser evitados. Adequado para testes em pequena escala ou chamadas de service remoto antes que um sistema completo de defesa de segurança esteja implementado.
Exemplo: Acessar um service PostgreSQL em uma instância ECS a partir de uma máquina local
Um service PostgreSQL em uma instância ECS escuta na porta 5432. Você pode acessá-lo localmente sem associar um endereço IP público ou abrir a porta 5432 no grupo de segurança.
O Port forwarding via the session management CLI mapeia uma porta remota (como 5432) para uma porta local (como 8080). O tráfego para 127.0.0.1:8080 é encaminhado através de um canal criptografado do Cloud Assistant para a instância ECS.
-
Mapeie a porta
5432da instância ECS de destino para a porta8080na sua máquina local:ali-instance-cli.exe portforward -i <instance_id> -r <target_port> -l <local_port>instance_id: O ID da instância.target_port: A porta da instância de destino.local_port: A porta local. -
Inicie o pgAdmin e conecte-se a
127.0.0.1:8080. As solicitações são encaminhadas para a porta5432na instância ECS através do canal do Cloud Assistant.
Capacidades de conformidade
Verificar
Consultar instâncias ECS com endereços IP públicos
Acesse o Security Center console.
-
No painel de navegação, escolha . Na aba Cloud Product Configuration Risk, localize Use SSH key pairs for logon e clique em Scan na coluna Operation.
Um status Failed indica instâncias Linux que não utilizam autenticação por par de chaves. Clique em Details para visualizá-las.
Verificar grupos de segurança com portas vulneráveis expostas
Acesse o ECS Insight.
Na aba Security, clique em Unrestricted Access to Specific Security Group Ports para visualizar instâncias com acesso irrestrito a portas vulneráveis.
Bloquear
Proibir a associação de endereços IP públicos a instâncias ECS
-
Para usuários empresariais:
-
Faça login no Resource Directory console. No painel de navegação, clique em Control Policies. Create a custom policy com o seguinte conteúdo JSON.
{ "Version": "1", "Statement": [ { "Effect": "Deny", "Action": [ "ecs:RunInstances", "ecs:CreateInstance", "ecs:ModifyInstanceSpec", "ecs:ModifyInstanceNetworkSpec" ], "Resource": "*", "Condition": { "Bool": { "ecs:AssociatePublicIpAddress": [ "true" ] } } }, { "Effect": "Deny", "Action": [ "vpc:AllocateEipAddress", "vpc:AllocateEipAddressPro", "vpc:AllocateEipSegmentAddress", "eipanycast:AllocateAnycastEipAddress" ], "Resource": "*" } ] } Associe a política ao nó apropriado do diretório de recursos. A política bloqueia as operações especificadas para todas as contas sob esse nó.
-
-
Para usuários não empresariais:
Faça login no RAM console. No painel de navegação, clique em Permission Policy e crie uma política personalizada com o mesmo conteúdo.
Use o access policy authorization management para conceder a política a um usuário RAM, grupo de usuários RAM ou função RAM.
Restringir o acesso a portas vulneráveis a partir de qualquer endereço
-
Para usuários empresariais:
-
Faça login no Resource Directory console. No painel de navegação, clique em Control Policies. Create a custom policy com o seguinte conteúdo JSON.
{ "Version": "1", "Statement": [ { "Effect": "Deny", # Deny "Action": [ "ecs:AuthorizeSecurityGroup", # Add an inbound security group rule "ecs:ConfigureSecurityGroupPermissions", # Add or modify security group rules "ecs:ModifySecurityGroupRule" # Modify a security group rule ], "Resource": "acs:ecs:*:*:securitygroup/*", # For all security groups "Condition": { "StringEquals": { "ecs:SecurityGroupSourceCidrIps": [ # Source IP for access "0.0.0.0/0", "::/0" ] }, "ForAllValue:StringEquals": { "ecs:SecurityGroupPort" : [ # Includes the following destination port numbers "22", "3389", "445" ] } } } ] } Associe a política ao nó apropriado do diretório de recursos. A política bloqueia as operações especificadas para todas as contas sob esse nó.
-
-
Para usuários não empresariais:
Faça login no RAM console. No painel de navegação, clique em Permission Policy e crie uma política personalizada com o mesmo conteúdo.
Use o access policy authorization management para conceder a política a um usuário RAM, grupo de usuários RAM ou função RAM.
Remediar
Desassocie um endereço IP público estático: Defina a largura de banda como 0 Mbps para liberá-lo automaticamente. Consulte Modify the bandwidth of a subscription instance e Modify the bandwidth of a pay-as-you-go instance.
Desassocie um EIP: Consulte Disassociate an EIP from an ECS instance.