¿Qué métodos pueden fortalecer la seguridad de EC2 más allá de los grupos de seguridad y las cadenas de IP?

He hecho un par de cosas, bastante consistentemente.

1) Divide tu infraestructura. Debería haber un nivel orientado a la web y todo el material de fondo, y deberían estar completamente separados. Si alguien comprometió su material de cara a la web, solo debería poder acceder a su back-end a través de la API, y nunca NUNCA sus datos subyacentes, excepto lo mediado por la API a través de servidores bajo su control.

2) Endurezca todo y cree sus propias AMI para su entorno de producción. Esto no es diferente a hacer tu propio “Gold Build CD” usando algo como Ghost. Es un dolor en el culo, pero es necesario.

3) Ejecutar auditorías. Personalmente, me gusta CloudCheckr no solo como una herramienta de administración de costos, sino para asegurarme de que solo estoy ejecutando AMI “aprobadas” en cualquier producción.

4) Si está ejecutando LINUX, puede configurar iptables en el sistema para asegurarse de que los servidores back-end solo estén hablando con los servidores front-end y solo en los puertos que desea que estén usando. Por supuesto, también puede hacerlo con los grupos de seguridad, pero esto es una protección adicional

5) Nunca ejecutes tus propias instancias de DB, ejecuta RDS. De Verdad. Es un mejor rendimiento, mejores precios y mejor seguridad. Y sea cual sea el DB que esté ejecutando, asegúrese de endurecerlo lo más que pueda y limite el acceso tanto como pueda.

Hay más que puede hacer, mucho más, pero para el 95% del mundo, esto es suficiente. Si estás en el 5%, envíame una nota, podemos hablar.

Use VPC y cree una subred privada y una pública. Esto al menos no pondrá todo “accesible desde el exterior”.