it-swarm-es.com

Servidores UNIX: posibles intrusiones o ataques que no utilizan ninguno de los sockets de escucha abierta

¿Qué tipo de ataques hay que no usan abierto TCP o puertos UDP abiertos?

¿Es seguro asumir que ningún puerto abierto significa que no hay acceso remoto?

(Excluyendo la posibilidad de que ya haya un malware en la máquina que realice conexiones salientes para enviar/recibir datos/instrucciones)

EDITAR: Parece que también tendríamos que deshabilitar ICMP para (ayudar) a prevenir los ataques de la denegación de los tipos de servicio y la posibilidad de un desbordamiento de tampón u otros ataques no descubiertos. También la posibilidad de que el servidor reciba un ping falso que luego envíe la respuesta a una víctima de terceros para la denegación de servicio

EDITAR: Parece que uno también debe mirar Good - Ware "que hace que las conexiones salientes para enviar/recibir datos", como DNS. El servidor DNS le indica a la máquina Unix de qué otras máquinas se conectan y envían/​​reciben datos para. Uno tiene que asegurarse de que el servidor DNS no esté hackeado y los enrutadores en el camino no están hackeados.

Edición: Me refiero específicamente a los ataques de la red en esta pregunta. En cuanto a los ataques del lado del cliente (cookies, ingeniería social, XS, etc.) que no es para esta pregunta.

Editar: Estoy intentando (con suerte, por completo) asegurar los servidores para que (teóricamente) no necesiten un firewall. Los firewalls están destinados pero no parte de esta pregunta.

Relacionado: ¿Qué riesgos de seguridad trae la falsificación de IP?

14
Bryan Field

Independientemente de si esto debería aplicarse específicamente a UNIX, diría que es no seguro asumir ningún acceso solo porque no hay puertos abiertos.

Para saber, ICMP generalmente se escucha, incluso si no TCP o puertos UDP están disponibles.
Y antes de que digas: "¡Pero ICMP es solo un simple Ping ! ¡Es irrelevante atacar usando eso!" Compruebe estos:

Y mientras que todos son casi históricos (con la excepción del último), no descartaría ataques adicionales y futuros.

Además, existen los ataques indirectos, como los que atacan la infraestructura en la que el sistema cerrado accedería a sí mismo, por ejemplo. Envenenamiento DNS ...

11
AviD

¿Qué tipo de ataques hay que no usan abierto TCP o puertos UDP abiertos?

Esto es demasiado general de una pregunta. Estoy respondiendo esto muy literalmente, no para ser un imbécil, pero porque en seguridad es mejor no asumir nada. Aquí hay algunas clases de ataques que no usan abierto TCP o puertos UDP:

  • INGENIERÍA SOCIAL: OBTENGA ALGUIEN QUE SE CONECTERA PASADO DE LA MÁQUINA A UN SITIO DE ATAQUE (O ADJUSTE UNA ENTRADA DEL PULSO O MALOS MADES)
  • Acceso físico, Keyloggers, etc.
  • Un ataque a nivel IP (Vulnerabilidades de pila IP)
  • NTP: Generalmente se enciende de forma predeterminada y no podría ser libre de errores
  • DHCP: ¿Se apaga DHCP? Un atacante en la red local podría empujar una imagen de arranque PXE a su tarjeta Ethernet y cargar su sistema operativo.

¿Es seguro asumir que ningún puerto abierto significa que no hay acceso remoto?

  • Las descargas de Drive-by que se ejecutan podrían solicitar (incluido el ponging Out Bound y obteniendo datos CTRL a través de Ping Responder)
  • Los administradores de paquetes podrían derribar software troyanos que configuran un malware de llamada
  • Acceso Bluetooth

Creo que su verdadera pregunta debe ser: "¿Qué tipo de explotaciones remotas se pueden usar para rootear mi máquina si no tiene abierto TCP o puertos UDP?"

ataques puede significar cualquier número de cosas para las personas, incluyendo Phreaking de Van Eck.

8
Bradley Kreider

El problema fundamental de estas clases de ataques no está dentro de TCP o protocolos UDP, es con el requisito de aplicaciones para procesar datos de una fuente no confiable (o menos confiable), y el diseño defectuoso y/o qa dentro de dichas aplicaciones.

Si su servidor está ejecutando las aplicaciones que procesan la entrada de una fuente que no tiene el mismo nivel de confianza que su servidor, y no tiene un proceso de control de calidad fuerte en su lugar para dichas aplicaciones, es vulnerable.

Por ejemplo, aunque varios desbordamientos de búfer se han presentado a través de comunicaciones previas a la autenticación con aplicaciones que escuchan en TCP y puertos UDP, pueden presentarse tan fácilmente en las rutinas que leen datos de un Recurso de red que no implica una conexión de escucha, o incluso en funciones que leen de recursos locales, como archivos y bases de datos, en muchos de estos casos, el programador no tiene la mentalidad hostil a los datos que hacen con la programación de socket. Es Mi experiencia que aquí es donde se encuentra la fruta de baja colgante.

En mi opinión, está buscando un unicornio, y la única forma en que terminará con su resultado deseado actual es dejar su servidor en una sala limpia y bloqueada sin conexión de red. El objetivo principal de un servidor es la funcionalidad, no la seguridad, y se deben hacer compromisos con respecto a la entrada no confiada. La forma de mitigar este riesgo, a la vez que se ofrece la funcionalidad, es permitir solo la funcionalidad necesaria y compensar los servicios requeridos por los procesos de QA/Auditoría, como la revisión de código y las pruebas de penetración, los procesos operativos, como la supervisión y la respuesta a incidentes, y la infraestructura. Para prevenir o detectar la entrada y la conectividad no deseadas.

7
fianchetto

Incluso si su sistema operativo está completamente seguro, su hardware puede ser vulnerable. Muchas tarjetas de red responden a varios protocolos de administración remota ( Wake-on-LAN , alerta-on-LAN , ASF , ...).

En la práctica, una vulnerabilidad real tiene muchos requisitos:

  • al menos una de estas características debe ser compatible;
  • la función debe habilitarse al menos en algún nivel (generalmente se apaga como se envía);
  • el sistema operativo no debe haber deshabilitado la función en el horario de arranque (este es un caso donde una computadora es más vulnerable cuando se apaga);
  • el atacante debe estar en el lado derecho de cualquier firewall auto-respetable (la mayoría de estas características usan UDP);
  • y, por supuesto, el firmware debe ser vulnerable (ejemplo: CVE , PREGUNTAS FRECUENTES ).

Si uno lo permite DNS, entonces uno permite IP sobre DNS .

4
user185

Si puede asegurarse de que su hardware de red no tenga puertos abiertos para ningún protocolo, no podrá recibir paquetes, esto le hará que sea muy poco probable que se ataque a través de la red, sin embargo, si desea que todos los puertos se cierren, le aconsejaría Desenchufando el cable de la red porque puedo pensar en un problema potencial:

  • podría tener un rootkit que informa los puertos cerrados cuando está en realidad, hay uno abierto
3
Rory Alsop

Es absolutamente no seguro. Aquí hay un ejemplo simple: un usuario de la máquina navega por la web, visita sitios web incompletos y clics en varios enlaces. Esto puede hacer que la seguridad de la máquina se vea comprometida (por ejemplo, por separado por descargas, o por ingeniería social para engañar al usuario para instalar malware). Esto es cierto incluso si el sistema operativo no tiene puertos abiertos, está escuchando.

1
D.W.