Um grupo de segurança controla o tráfego de entrada e saída de uma instância ECS. Este tópico descreve os princípios para planejar grupos de segurança e fornece exemplos de configuração de regras para casos de uso comuns, como serviços web, acesso remoto, acesso a bancos de dados e comunicação em rede interna.
Diretrizes de grupos de segurança
1. Planeje grupos de segurança
Antes de configurar grupos de segurança, identifique os limites dos seus serviços e os requisitos de segurança, como quais serviços ficam expostos à internet pública e quais se restringem ao acesso interno.
-
Utilize grupos de segurança distintos para serviços públicos e internos
Para serviços voltados ao público, abra apenas as portas necessárias e mantenha todas as outras portas e protocolos fechados para reduzir a superfície de ataque.
Implante serviços internos, como bancos de dados e caches, em instâncias ECS sem acesso à internet pública. Em seguida, conceda acesso interno autorizando outro grupo de segurança.
-
Separe aplicações em grupos de segurança diferentes
Aplicações distintas geralmente exigem portas diferentes. Coloque-as em grupos de segurança separados para evitar que as regras interfiram umas nas outras.
Por exemplo, uma instância Linux pode exigir a porta TCP 22 para acesso SSH, enquanto uma instância Windows pode precisar da porta TCP 3389 para acesso via Área de Trabalho Remota.
Mesmo que as instâncias usem o mesmo tipo de imagem, atribua-as a grupos de segurança diferentes caso forneçam serviços distintos e não precisem se comunicar pela rede interna. Essa prática facilita o desacoplamento e alterações futuras.
Ao planejar suas aplicações, combine segmentos de rede e grupos de segurança para definir os limites dos serviços.
-
Isole ambientes de produção e teste com grupos de segurança específicos
Use grupos de segurança diferentes para ambientes de produção, teste e desenvolvimento, evitando que regras de teste afetem os serviços de produção.
Também é possível atribuir grupos de segurança distintos a vários ambientes de teste para reduzir interferências entre eles.
-
Não atribua endereços IP públicos a recursos que não exigem acesso público
Para minimizar a exposição pública, priorize a conexão a uma instância ECS usando Workbench, Session Manager ou um jump server. Se a instância não tiver um endereço IP público, utilize o recurso de encaminhamento de porta para acessar seus serviços. Para mais informações, consulte Usar o recurso de encaminhamento de porta da CLI do Session Manager para acessar uma instância sem endereço IP público.
Em uma aplicação distribuída, não atribua um endereço IP público a uma instância ECS que não forneça serviços públicos. Se vários servidores oferecerem serviços públicos, recomendamos o uso de para distribuir o tráfego e evitar pontos únicos de falha.
Caso uma instância ECS precise apenas de acesso de saída à internet, utilize um gateway NAT e configure regras SNAT. Essa abordagem evita a exposição de serviços que ocorre ao atribuir um endereço IP público ou um elastic IP address. Para mais informações, consulte Criar e gerenciar entradas SNAT.
-
Trate grupos de segurança como listas de permissões
Encare o grupo de segurança como uma lista de permissões. Isso significa que ele nega todo o acesso por padrão, e você adiciona regras de permissão apenas para portas necessárias e origens autorizadas. Ao solucionar problemas em produção, não atribua temporariamente um endereço IP público nem associe um elastic IP address, pois isso aumenta a superfície de ataque.
2. Configure regras de grupo de segurança
Ao configurar regras de grupo de segurança, abra somente as portas exigidas pelo seu negócio e restrinja ao máximo o intervalo de endereços IP de source.
Em uma VPC, uma única regra de grupo de segurança pode controlar tanto o acesso à rede pública quanto à rede interna.
-
As políticas padrão diferem entre grupos de segurança básicos e avançados
Grupos de segurança básicos e avançados negam todo o tráfego de entrada por padrão. No entanto, suas políticas de saída padrão são diferentes: um grupo de segurança básico permite todo o tráfego de saída, enquanto um grupo avançado o nega.
-
A conectividade interna varia conforme o grupo e o tipo de grupo de segurança
Instâncias ECS em grupos de segurança diferentes não conseguem se comunicar pela rede interna, mesmo pertencendo à mesma conta. Por padrão, as instâncias podem se comunicar dentro do mesmo grupo de segurança básico, mas ficam isoladas dentro do mesmo grupo de segurança avançado.
-
Adicione regras de grupo de segurança seguindo o princípio do menor privilégio
Por exemplo, ao abrir a porta 22 em uma instância Linux para login remoto, permita o acesso apenas de endereços IP específicos.
AvisoAutorizar 0.0.0.0/0 ou ::/0 permite acesso de todos os endereços IP, o que representa uma configuração de alto risco. Use essa opção apenas para serviços que devem ser públicos e abra somente as portas necessárias.
Configure regras com o escopo mais restritivo possível. Para mais informações sobre os tipos de objetos de autorização compatíveis com um grupo de segurança, consulte Regras de grupo de segurança.
-
Aplique o princípio do menor privilégio para configurar isolamento intragrupo
Se as instâncias ECS dentro de um grupo de segurança básico não precisarem se comunicar entre si, altere a política de acesso interno do grupo para isolá-las.
-
Mantenha a consistência de finalidade das regras em um único grupo de segurança
Organize as regras em múltiplos grupos de segurança conforme sua finalidade e associe as instâncias aos grupos relevantes. Um único grupo de segurança com muitas regras aumenta a complexidade de gerenciamento.
-
Escolha os objetos de autorização com cuidado
O objeto de autorização de uma regra de grupo de segurança pode ser um endereço IP, outro grupo de segurança ou um bloco CIDR.
Quando instâncias em grupos de segurança diferentes precisarem se comunicar pela rede interna, conceda acesso referenciando o ID do grupo de segurança. Esse método é mais eficiente do que gerenciar endereços IP individuais ou blocos CIDR. Por exemplo, se sua camada web usa um grupo de segurança chamado
sg-webe sua camada de banco de dados usasg-database, adicione uma regra emsg-databaseque conceda acesso desg-webà porta MySQL (3306).Para acesso à rede interna, recomendamos autorizar um grupo de segurança de source em vez de um bloco CIDR.
-
Portas comuns de aplicações
Muitas aplicações se comunicam usando portas de serviço padrão. Para mais informações, consulte Portas comuns.
3. Revise e otimize as regras
À medida que seu negócio evolui, as regras existentes do grupo de segurança podem ficar desatualizadas. Revise-as e ajuste-as regularmente. Antes de modificar regras em ambiente de produção, clone o grupo de segurança e valide as alterações em um ambiente de teste. Após confirmar que o tráfego flui corretamente, aplique as mudanças no ambiente de produção para evitar interrupções nos serviços.
Casos de uso
Controlar tráfego de entrada para instâncias ECS
Tráfego de entrada refere-se ao fluxo proveniente de recursos externos para suas instâncias ECS. Por padrão, os grupos de segurança negam todo o tráfego de entrada; portanto, basta adicionar regras para permitir o acesso. Veja os seguintes casos de uso:
Caso 1: Permitir acesso público a um serviço web em uma instância ECS
Caso 2: Permitir acesso remoto para usuários específicos a uma instância ECS
Caso 3: Configurar políticas de segurança para bancos de dados em instâncias ECS
Caso 5: Habilitar comunicação interna entre instâncias em grupos de segurança diferentes
Controlar tráfego de saída de instâncias ECS
Tráfego de saída é o fluxo originado nas suas instâncias ECS em direção a recursos externos. Por padrão, as regras de saída de um grupo de segurança básico permitem todo o acesso. Adicione regras de negação para restringir o acesso da instância a recursos externos específicos. Consulte o seguinte caso de uso:
Caso 1: Permitir acesso público a serviços web
Para um site público hospedado em uma instância ECS, abra apenas as portas TCP de entrada 80 (HTTP) e 443 (HTTPS). Mantenha as demais portas de serviço fechadas.
A tabela a seguir mostra um exemplo dessa configuração de regra de grupo de segurança.
Direção da regra | Ação | Prioridade | Tipo de protocolo | Intervalo de portas | Objeto de autorização |
inbound | Allow | 1 | Custom TCP | Portas de serviço:
| Source: 0.0.0.0/0 |
Se não for possível acessar o site após adicionar a regra do grupo de segurança, verifique se as portas de serviço estão funcionando corretamente. Para mais informações, consulte Solucionar problemas de serviços inacessíveis a partir de instâncias ECS.
Caso 2: Permitir acesso remoto para usuários específicos
Quando precisar se conectar remotamente a uma instância ECS, abra as portas de login remoto, como a porta TCP 22 (SSH) ou uma porta SSH personalizada, apenas para os endereços IP de administradores ou servidores específicos, reduzindo assim o risco de ataques.
A tabela a seguir mostra um exemplo dessa configuração de regra de grupo de segurança.
Direção da regra | Ação | Prioridade | Tipo de protocolo | Intervalo de portas | Objeto de autorização |
inbound | Allow | 1 | Custom TCP |
| Source: 192.168.XX.XX Nota Insira o endereço IP público ou privado de um usuário ou servidor específico, dependendo do método de conexão. Sites como whatismyip.com ajudam a descobrir seu endereço IP público local. |
Ao usar o Alibaba Cloud Workbench para se conectar remotamente a uma instância, permita o acesso apenas de objetos de autorização específicos. A tabela a seguir apresenta um exemplo de regra de grupo de segurança de inbound.
Ação | Prioridade | Tipo de protocolo | Intervalo de portas | Objeto de autorização |
Allow | 1 | Custom TCP |
|
|
Caso 3: Configurar políticas de segurança de banco de dados
Para serviços de banco de dados, permita o acesso em portas específicas apenas de endereços IP definidos ou do grupo de segurança que contém seus servidores de aplicação. Evite expor bancos de dados diretamente à internet pública.
Se suas regras de entrada incluírem uma regra permitindo acesso de 0.0.0.0/0, verifique se o acesso público é realmente necessário. Caso contrário, adicione uma regra de negação. Por exemplo, como a porta padrão do MySQL 3306 não deve ficar exposta à internet pública, adicione uma regra de negação para ela e defina sua prioridade como 100.
A tabela a seguir apresenta exemplos de regras de grupo de segurança para bancos de dados comuns usando suas portas padrão.
|
Tipo de banco de dados |
Direção da regra |
Ação |
Prioridade |
Tipo de protocolo |
Intervalo de portas |
Objeto de autorização |
|
MySQL |
inbound |
Allow |
1 |
Custom TCP |
Destination: 3306/3306 |
Source: 172,16.XX.XX |
|
Oracle |
inbound |
Allow |
1 |
Custom TCP |
Destination: 1521/1521 |
Source: 192.168.XX.XX |
|
MS SQL |
inbound |
Allow |
1 |
Custom TCP |
Destination: 1433/1433 |
Source: 192.168.XX.XX/16 |
|
PostgreSQL |
inbound |
Allow |
1 |
Custom TCP |
Destination: 5432/5432 |
Source: sg-bp1hv6wvmegs036**** |
|
Redis |
inbound |
Allow |
1 |
Custom TCP |
Destination: 6379/6379 |
Source: 160998252992**/sg-bp174yoe2ib1sqj5** |
Substitua os endereços IP, blocos CIDR, IDs de conta Alibaba Cloud e IDs de grupo de segurança de exemplo pelos seus valores reais.
Caso 4: Permitir acesso apenas para protocolos específicos
Para testar a conectividade de rede, permita o tráfego ICMP. Por exemplo, é necessário liberar o tráfego ICMP antes de executar o comando ping a partir de um cliente. A tabela a seguir mostra um exemplo dessa configuração de regra de grupo de segurança.
Direção da regra | Ação | Prioridade | Tipo de protocolo | Intervalo de portas | Objeto de autorização |
inbound | Allow | 1 |
| Destination: -1/-1 | Endereço IP do cliente Nota Insira um endereço IPv4 ou IPv6 conforme seu ambiente de rede. |
Caso 5: Habilitar comunicação interna entre grupos de segurança
Se instâncias em grupos de segurança diferentes, mas na mesma VPC, precisarem se comunicar, conceda acesso autorizando o grupo de segurança de source. Por exemplo, para permitir que uma instância no grupo de segurança A acesse arquivos via FTP em uma instância no grupo de segurança B, adicione uma regra ao grupo de segurança B autorizando o tráfego proveniente do grupo de segurança A na porta FTP. Esse método elimina a necessidade de gerenciar endereços IP individuais das instâncias.
Grupos de segurança sozinhos não habilitam comunicação interna entre instâncias em VPCs diferentes.
Se seus serviços puderem ser implantados na mesma VPC, habilite a comunicação interna dentro da VPC alterando a VPC de uma instância ECS.
Caso suas instâncias ECS precisem estar em VPCs diferentes, utilize soluções como conexão de peering de VPC, PrivateLink ou Cloud Enterprise Network. Para mais informações, consulte Conexões de VPC.
-
Cenário 1: Grupos de segurança na mesma conta
Se o grupo de segurança A e o grupo de segurança B pertencerem à mesma conta, defina o objeto de autorização como o ID do grupo de segurança de source. A tabela a seguir ilustra um exemplo dessa configuração de regra.
Direção da regra
Ação
Prioridade
Tipo de protocolo
Intervalo de portas
Objeto de autorização
inbound
Allow
1
Custom TCP
Destination: 21/21
Source: sg-bp1hv6wvmegs036****
NotaSubstitua o ID do grupo de segurança de exemplo pelo seu valor real.
-
Cenário 2: Grupos de segurança em contas diferentes
Se o grupo de segurança A e o grupo de segurança B pertencerem a contas diferentes, defina o objeto de autorização com o ID da conta Alibaba Cloud de source e o ID do grupo de segurança.
Direção da regra
Ação
Prioridade
Tipo de protocolo
Intervalo de portas
Objeto de autorização
inbound
Allow
1
Custom TCP
Destination: 21/21
Source: 160998252992**/sg-bp174yoe2ib1sqj5**
NotaSubstitua o ID da conta Alibaba Cloud e o ID do grupo de segurança de exemplo pelos seus valores reais.
Caso 6: Restringir acesso a sites externos
Para permitir que uma instância acesse apenas sites específicos, configure as regras de saída como uma lista de permissões. Primeiro, negue todo o tráfego de saída e, em seguida, adicione regras para permitir o acesso somente aos endereços IP dos sites especificados.
Observe os seguintes pontos ao configurar essas regras de grupo de segurança:
Se uma solicitação corresponder a várias regras, a prioridade e a ação da regra determinam qual delas será aplicada. Uma sessão só é estabelecida se a regra aplicada for de permissão.
Um valor de prioridade menor indica uma prioridade maior. Se as regras tiverem a mesma prioridade, a regra de negação prevalece. Portanto, a regra que nega todo o tráfego de saída deve ter uma prioridade inferior (um número maior) do que as regras de permissão. Isso garante que as regras de permissão para sites específicos tenham efeito.
A tabela a seguir mostra um exemplo dessa configuração de regra de grupo de segurança.
|
Direção da regra |
Ação |
Prioridade |
Tipo de protocolo |
Intervalo de portas |
Objeto de autorização |
|
outbound |
Deny |
2 |
All |
Destination: -1/-1 |
Destination: 0.0.0.0/0 |
|
outbound |
Allow |
1 |
Custom TCP |
Destination: 80/80 |
Destination: 47,96.XX.XX |
|
outbound |
Allow |
1 |
Custom TCP |
Destination: 443/443 |
Destination: 121.199.XX.XX |
Essas regras permitem que as instâncias no grupo de segurança acessem apenas 47,96.XX.XX na porta 80 e 121.199.XX.XX na porta 443. Todo o outro acesso de saída é negado.