Planejamento de Instâncias de Computação na Nuvem NNumbers Cloud
Os fatores abaixo precisam ser considerados quando estiver sendo feito o planejamento de implantação de instâncias de cloud computing:
-
A criação de uma rede privada (VPC). Veja: Tutorial de Redes.
-
A criação de um roteador da rede pública para a rede privada. Veja: Tutorial Roteadores.
-
Se for necessário manter o IP público (e.g. para uso em registro DNS, balanceamento de carga, escalonamento horizontal, failover, switchover), é necessário que seja reservado IP(s) flutuante(s). Veja: Tutorial IPs Flutuantes.
-
Para criar uma conexão entre redes de uma rede dentro de um projeto com a rede interna da empresa ou outra rede externa ao projeto, e para melhor segurança de gerenciamento interno das instâncias sem expor serviços (e.g. ssh) direto nas redes públicas, é possível criar uma rede privada virtual através do serviço de VPN. Veja: Tutorial VPN Site-to-Site.
-
Para expor os serviços necessários é necessário criar grupos de segurança com regras de acordo com o tipo de serviço. Cada regra tem uma origem em notação CIDR, e escolher essa origem errado é o erro mais caro desta etapa — veja Origem das regras: o que o CIDR significa, abaixo. Veja também: Tutorial Grupos de Segurança.
-
Para criar um balanceamento de carga com mais garantia de disponibilidade é necessário criar grupos de servidores. A criação de grupos de servidores define regras de afinidade e anti-afinidade. Veja: Tutorial Load Balancers (Balanceamento de Carga).
-
Para balanceamento de carga e melhor aproveitamento de IPs públicos reservados, existe o serviço de balanceamento de carga (Load Balancer) que permite realizar balanceamento de carga para as instâncias desejadas. Veja: Tutorial Load Balancers (Balanceamento de Carga).
-
Opcionalmente, algumas modificações podem ser realizadas na inicialização da imagem padrão através do uso do cloud-init. Através do cloud-init é possível fazer alterações no nome padrão do usuário, atualização e instalação de pacotes na inicialização da instância, etc.
Origem das regras: o que o CIDR significa
Toda regra de um grupo de segurança tem uma origem escrita em notação CIDR — um endereço seguido de uma barra e um número. Esse número é a quantidade de bits fixos do endereço, e ele decide quantos endereços a regra libera.
| Notação | Quantos endereços IPv4 | Significa |
|---|---|---|
203.0.113.45/32 | 1 | Exatamente aquele endereço |
203.0.113.0/24 | 256 | Aquela faixa |
10.0.0.0/8 | 16.777.216 | Toda a faixa privada 10.x.x.x |
0.0.0.0/0 | todos | Qualquer endereço da internet |
0.0.0.0/32 não significa "qualquer rede". Ele é um CIDR de um único endereço — e o endereço 0.0.0.0 não pertence a máquina nenhuma, então a regra não libera ninguém.
"Qualquer rede" é 0.0.0.0/0. Em IPv6, o equivalente é ::/0.
SSH (porta 22) nunca deve ser liberado para 0.0.0.0/0
Uma porta 22 aberta para a internet inteira recebe tentativas de autenticação automatizadas em minutos. Prefira, nesta ordem:
- Seu endereço público em
/32— para acesso pontual de administração. - VPN site-to-site — acesso pela rede da empresa, sem expor a porta. Ver VPN site-to-site.
- Bastion (jump host) — uma única instância exposta, e as demais alcançáveis só por ela. Ver Acesso SSH.
- Grupo de segurança de origem — libere pelo grupo de segurança, não por endereço, quando a origem for outra instância do mesmo projeto.
Exemplos lado a lado
| Intenção | Inseguro | Seguro |
|---|---|---|
| Administrar via SSH | TCP 22 de 0.0.0.0/0 | TCP 22 de 203.0.113.45/32 |
| Publicar um site | — | TCP 443 de 0.0.0.0/0 (esta é a intenção) |
| Banco acessível pela aplicação | TCP 5432 de 0.0.0.0/0 | TCP 5432 do grupo de segurança da aplicação |
| Diagnóstico com ping | ICMP de 0.0.0.0/0 | ICMP da sua faixa de administração |
HTTP e HTTPS públicos podem usar 0.0.0.0/0: é exatamente o que se quer de um site público. A diferença é que ali a exposição é a intenção, e no SSH é um acidente.
Descobrir o seu endereço público
Use um serviço que você já confia e que declara o que faz. Dois exemplos operados por provedores conhecidos:
curl https://checkip.amazonaws.com
curl https://api.ipify.org
Se a sua empresa tem saída de internet fixa, peça a faixa à equipe de rede em vez de descobrir o endereço do seu computador — o endereço doméstico costuma mudar.
Entrada e saída são regras diferentes
- Entrada (ingress) — quem pode iniciar conexão para a instância. É onde mora o risco de exposição.
- Saída (egress) — para onde a instância pode iniciar conexão. O padrão costuma ser liberado; restringi-lo limita o estrago de uma instância comprometida.
Validar que a regra funciona
Depois de criar a regra, confirme de fora da instância:
# Deve conectar a partir do endereço que você liberou
ssh usuario@203.0.113.10
# Deve falhar por tempo esgotado a partir de outro endereço
nc -vz -w 5 203.0.113.10 22
Um Connection timed out a partir de um endereço não liberado é o resultado esperado — é a prova de que a regra está restringindo.
Revogar depois do uso
Regra de acesso pontual precisa de prazo. Ao terminar a manutenção, remova a regra no painel (Rede → Grupos de Segurança → Gerenciar Regras → excluir) e confirme que o acesso deixou de funcionar. Uma regra /32 esquecida vira uma porta aberta para um endereço que, meses depois, pode ser de outra pessoa.
Para acesso a instância(s) de computação Linux na nuvem NNumbers Cloud é necessário:
-
A criação de um par de chaves para acesso SSH ou importação de uma chave existente. A(s) chave(s) criada(s) ou importada(s) ser(á)(ão) utilizadas no momento da criação da(s) instância(s).
-
Ou através da criação de um usuário e senha no momento da criação da instância computacional através do uso de um script (formato YAML) cloud-init.
Próximos passos
Esta página ajudou?
Reportar um problema nesta páginaNão envie senhas, chaves, tokens ou dados de clientes.