Puerto 80 Riesgo de seguridad

-1

Digamos que hago una página web simple que dice "hola mundo" sin botones, sin formularios, nada más que texto sin formato. Ahora reenvío la dirección IP privada de esta computadora a mi enrutador y la envío a través del puerto 80 del servidor para que ahora un usuario pueda escribir mi dirección IP pública en cualquier parte del mundo y leer mi "hola mundo". ¿Cuáles son los riesgos de seguridad? Sé de los muchos riesgos de seguridad en la programación web, como los ataques de inclusión, los ataques de inyección SQL, los ataques de clic y los ataques target = "_ blank", pero este sitio de Hello World es solo texto sin formato. ¿Cuáles son entonces los riesgos?

Adán
fuente
2
El riesgo es un error de seguridad del propio demonio http.
Ipor Sircer
1
Ahora es susceptible a un ataque de denegación de servicio (DoS); su sistema podría verse abrumado con solicitudes de páginas web y bloquearse.
Hydraxan14
1
@ Hydraxan14 Puede DOS cualquier puerto abierto.
Ramhound
2
@Ramhound ... ¿y? Solo ha indicado que el puerto 80 ha sido reenviado. El resto de los puertos todavía están seguros detrás de NAT. Un DoS en cualquier otro puerto sería un ataque a su enrutador, lo que habría sido posible antes de configurar este servidor web.
Hydraxan14
1
Para realizar un ataque DoS contra un servicio, debe poder conectarse al servicio. Para abrumar toda la conexión, realmente no hay necesidad de eso. Como tal, ese punto es bastante discutible. Puede saturar fácilmente la mayoría de las conexiones a Internet en el hogar.
Daniel B

Respuestas:

2

Si escucha / enlaza en el puerto 80, entonces necesita la capacidad CAP_NET_BIND_SERVICE (para enlazar al puerto <1024). Tradicionalmente, esto solo se permite al usuario root / admin ( aquí hay un gran problema de seguridad ).

Sin embargo, en Linux moderno, puede ejecutarlo como un usuario sin privilegios y con un propósito especial y darle al servidor esta capacidad.

También puede configurar el firewall para restringir el número de conexiones / segundo. (para reducir DOS).

En Linux, podría colocarlo en un contenedor (por ejemplo, docker) para restringir los recursos del sistema que utiliza.

ctrl-alt-delor
fuente
La eliminación de privilegios después de vincularse al puerto privilegiado ha sido una práctica común desde hace mucho tiempo. Entonces eso no es realmente un problema.
Daniel B
Las capacidades de @DanielB son nuevas. Ya no necesitas la raíz todopoderosa. Por lo tanto, use capacidades y suéltelas cuando ya no las necesite.
ctrl-alt-delor
Algo nuevo, sí. Mi punto era que, incluso sin capacidades, puede eliminar todos los privilegios no necesarios para el funcionamiento normal (es decir, cualquier cosa que no sea vinculante para el puerto) y solo después de eso acepte las conexiones. Por supuesto, con capacidades, puede comenzar con muchos menos privilegios, reduciendo aún más la superficie de ataque.
Daniel B
0

Al configurar ese reenvío, habilitó los hosts de Internet para conectarse directamente a su máquina.

Como tal, aumentó su superficie de ataque directo por lo que el servidor web tiene para ofrecer. Si hay un error que podría ser activado por una simple solicitud, ese error no está expuesto a ataques directos. Además, proporcionaría información adicional sobre su sistema a posibles atacantes dependiendo de la información que el servidor web envíe en otros encabezados.

Un ejemplo de dicha información podría ser el Serverencabezado que incluiría información sobre el software del servidor utilizado o el X-Powered-Byencabezado que podría incluir información sobre la versión PHP utilizada y el posible sistema operativo.

Seth
fuente