Grupos da ACL / Segurança da Rede AWS e acesso RDS

1

Só quero esclarecer algumas configurações em uma nova configuração do Amazon que estou criando. Tenho seguido uma série de guias e tudo parece estar funcionando e seguro, eu realmente aprecio se alguém que está um pouco mais de segurança pode dar uma olhada rápida.

Estou querendo acesso HTTP e HTTPS às instâncias do EC2 e acesso SSH apenas a instâncias específicas do EC2 que serão limitadas por IP.

ACLs de rede configuradas para acesso somente a SSH, HTTP (S).

Inbound:
SSH   - Source 0.0.0.0/0 - Allow
HTTP  - Source 0.0.0.0/0 - Allow
HTTPS - Source 0.0.0.0/0 - Allow
ALL   - Source 0.0.0.0/0 - Deny

Outbound:
ALL   - Destination 0.0.0.0/0 - Allow

Grupo de segurança 'HTTP', aplicado a todos os servidores EC2 baseados na web e admin.

Inbound
HTTP  - Source 0.0.0.0/0
HTTPS - Source 0.0.0.0/0    

Outbound
ALL   - Destination 0.0.0.0/0

Grupo de segurança 'SSH', aplicado ao servidor EC2 do administrador.

Inbound
SSH   - Source MYIP/32

Outbound
ALL   - Destination 0.0.0.0/0

Grupo de segurança 'DB', aplicado ao RDS com acessibilidade pública definida como desativada.

Inbound
MySQL - Source 174.20.0.0/20 (VPC CIDR)

Outbound
ALL   - Destination 0.0.0.0/0

Se eu precisar de acesso direto ao MySQL, o plano seria criar um túnel SSH através do servidor admin EC2. Funciona bem.

Dado na configuração acima, eu só deveria ser capaz de acessar minha configuração através das portas 22, 80 e 443. Por que fazer o seguinte na minha máquina local:

mysql -h db-instance.abcdef12345.eu-west-1.rds.amazonaws.com -unicksuser -p

Ele se conecta e me pede uma senha?

Na verdade, não consigo acessar o servidor com os detalhes corretos, apenas parece que isso não deveria ser acessível e nem mesmo pedir uma senha.

    
por Nick 20.10.2015 / 16:18

1 resposta

1

mysql -p fornece uma resposta que não é, inicialmente, um teste válido para provar a conectividade IP a um servidor.

O protocolo cliente / servidor do MySQL usa um modelo de desafio / ressonse, portanto, a senha nunca é realmente enviada para o servidor e o prompt não vem do servidor.

Em vez disso, o cliente solicita a senha localmente, antes de se conectar ao servidor, e, na verdade, ele avisa antes mesmo de verificar se o servidor existe.

$ mysql -p -h lol.psych.example.com

Use este ou qualquer valor sem sentido para o nome do host de destino para ilustrar que isso é verdadeiro. O prompt de senha aparece imediatamente.

    
por 22.10.2015 / 00:04