¿Procesos mínimos requeridos con puertos abiertos en AWS?

3

Hace poco comencé a usar una caja de AWS para usar en un sitio web público y parece que tiene los siguientes puertos abiertos ... Hace mucho tiempo que estaba convencido de que es una buena idea minimizar la superficie de ataque en cualquier caja al apagar todo lo que realmente no se necesita, pero tengo problemas para encontrar la documentación de qué procesos de estos procesos podría ser seguro deshacerse de una máquina de AWS. Supongo que hay algunas cosas aquí que deben estar preparadas para la supervisión interna / console / api de AWS, pero ¿quizás no todas? (direcciones reales redactadas)

[ec2-user@ip-172-xxx-xx-xxx conf]$ sudo lsof -i -n -P
COMMAND     PID     USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
dhclient   2028     root    5u  IPv4   9031      0t0  UDP *:68 
dhclient   2134     root    4u  IPv6   9256      0t0  UDP [fe80::xxx:xxx:xxx:xxx]:546 
rpcbind    2242      rpc    6u  IPv4   9823      0t0  UDP *:111 
rpcbind    2242      rpc    7u  IPv4   9824      0t0  UDP *:721 
rpcbind    2242      rpc    8u  IPv4   9825      0t0  TCP *:111 (LISTEN)
rpcbind    2242      rpc    9u  IPv6   9826      0t0  UDP *:111 
rpcbind    2242      rpc   10u  IPv6   9827      0t0  UDP *:721 
rpcbind    2242      rpc   11u  IPv6   9828      0t0  TCP *:111 (LISTEN)
rpc.statd  2263  rpcuser    5u  IPv4   9900      0t0  UDP 127.0.0.1:743 
rpc.statd  2263  rpcuser    8u  IPv4   9903      0t0  UDP *:45443 
rpc.statd  2263  rpcuser    9u  IPv4   9906      0t0  TCP *:34732 (LISTEN)
rpc.statd  2263  rpcuser   10u  IPv6   9909      0t0  UDP *:36988 
rpc.statd  2263  rpcuser   11u  IPv6   9912      0t0  TCP *:36559 (LISTEN)
ntpd       2434      ntp   16u  IPv4  10406      0t0  UDP *:123 
ntpd       2434      ntp   17u  IPv4  10410      0t0  UDP 127.0.0.1:123 
ntpd       2434      ntp   18u  IPv4  10411      0t0  UDP 172.xx.xxx.xx:123 
sendmail   2454     root    4u  IPv4  10476      0t0  TCP 127.0.0.1:25 (LISTEN)
sshd      22860     root    3u  IPv4  32220      0t0  TCP *:22 (LISTEN)
sshd      22860     root    4u  IPv6  32222      0t0  TCP *:22 (LISTEN)
  • sshd : obviamente quiero esto,
  • ntp : parece estar hablando con un servidor local de Amazon, pero también * así que tal vez recorte eso en la configuración ...
  • sendmail : solo escucha a nivel local, pero quizás lo desactive, ya que el correo enviado por el sitio web debería utilizar un servidor de correo real de todos modos.
  • rpcbind, rpc.statd : escuchan a todos, así que no me gusta eso a menos que Amazon lo necesite por su parte.
  • dhclient - probablemente tiene que permanecer? aunque el cuadro ahora debería tener un IP establecido, por lo que en teoría dhcp podría no ser más necesario (pero no está claro cómo opera AZ).

Tenga en cuenta que conozco todo acerca de los grupos de seguridad de la consola amazon , así que ya sé que puedo controlar el acceso desde el exterior en ese nivel, pero estas instancias, obviamente, también funcionan. en una red interna de AWS y si algún malware o cracker compromete alguna otra caja en esa red, o algún hardware de red de AZ, preferiría darles menos opciones para atacar esta caja.

Entonces, la pregunta es, ¿qué es seguro eliminar en el entorno de AWS ?

    
pregunta Gus 22.10.2016 - 19:35
fuente

2 respuestas

2

Tiene razón, lsof en un AWS EC-2 realmente no proporciona una buena imagen de lo que se puede acceder desde su caja desde su exterior. Como ya mencionó en la pregunta, AWS le proporciona un servidor de seguridad adicional a un nivel superior (puede editarlo desde la consola del usuario). Por lo tanto, sus únicas preocupaciones son ntp y rpcbind contra la red local .

AWS modifica la configuración de su máquina agregando líneas a /etc/rc.local (o al menos lo hace en mi Debian), no usa rpc .

Argumentaré que puedes desactivar casi todo, pero esto:

dhclient   2028     root    5u  IPv4   9031      0t0  UDP *:68

Ya que es así como su máquina puede volver a asignar la IP local, ya sea por un nuevo DHCP o cuando finalice el tiempo de arrendamiento. (La versión IPv6 del cliente DHCP en 546 depende de usted. Ciertamente puede dejarlo, pero puede cerrarlo si está paranoico. No tener un IPv6 no debería ser problemático durante un par de años más).

Todas las piezas restantes dependen de ti. Pero un par de cosas pueden ser inteligentes:

  • Ciertamente desea SSH, pero no necesita ejecutarlo en el puerto 22 . Ejecutar SSH en un puerto no estándar es una práctica común de endurecimiento. (ADVERTENCIA: ¡recuerde probar esto primero! No desea que SSH se ejecute en un puerto al que el firewall no le permitirá conectarse).
  • Es bueno tener ntp , y es un software bien probado. Puede o no preocuparse por tener la hora sincronizada.
  • Si no conoce una razón para tener rpcbind , no lo necesita. Lo más común para el que se usa el servicio rpc son los montajes de red (sistemas de archivos de red), si el servidor es independiente, no hay necesidad de eso. (Los discos de AWS no usan rpc para ser montados, lo hacen a nivel de virtualización).
  • sendmail (probablemente postfix en realidad, su máquina parece un Debian) ya se está ejecutando en localhost como debería.
  • Para un sitio web, abrirás los puertos 80 y 443, pero eso es algo obvio.
respondido por el grochmal 22.10.2016 - 20:06
fuente
1

Yo agregaría, que si está ejecutando dentro de una VPC donde define el espacio de IP privado, entonces puede configurar su instancia EC2 con una IP estática y desactivar DHCP también.

Si aún estás paranoico, utiliza una máquina dedicada desde el último CVE que tuvo AWS fue un error de Xen que permitió a los invitados en la misma máquina física acceder entre sí.

    
respondido por el Shackledtodesk 23.10.2016 - 04:23
fuente

Lea otras preguntas en las etiquetas