¿Existe algún riesgo de tener muchos puertos "no utilizados" abiertos a través de firewalls y enrutadores [duplicado]

2

Tengo un servidor que estoy usando para alojar servicios públicos de Internet donde quiero iniciar y detener muchas instancias, digamos hasta 50 por servidor físico. La arquitectura del software significa que cada instancia necesita su propio puerto (a diferencia de HTTP, donde podría tener un solo Apache / NGINX / etc. Luego, las solicitudes de proxy al lugar correcto según el nombre de dominio, etc.).

¿Existe algún riesgo de seguridad de que, por ejemplo, 50 puertos no privilegiados (suponiendo que extiendo el puerto predeterminado del software, se diría que los puertos UDP y TCP 35000 a 35050) se abran permanentemente en los sistemas y cortafuegos de red, incluso cuando actualmente no hay instancia que se ejecuta en ese puerto? ¿O debería hacer un esfuerzo adicional para abrir / cerrar dinámicamente los puertos?

¿Importa que el software parezca estar predeterminado en el rango de puertos dinámicos, o en un puerto sin privilegios (al menos para servidores Linux donde los números de puerto bajos necesitan root) en general?

    
pregunta Fire Lancer 04.08.2017 - 00:42
fuente

3 respuestas

2

Esto no debería ser un problema a menos que se encuentre un desbordamiento de búfer en la pila de red. En ese caso, estás atornillado si tienes puertos abiertos. Sin embargo, el propósito principal de un servidor de seguridad es evitar que personas externas se conecten a servicios a los que solo debería ser accesible el host local (en el caso de un servidor de seguridad del servidor) o una red interna (en el caso de un servidor de seguridad de red). Su caso particular es el de un servidor de seguridad host, y por lo tanto, no debería haber ningún efecto en la máquina de dejar los puertos abiertos, excepto que alguien creerá que un programa se ejecuta ocasionalmente en esos puertos si realizan un análisis (lo cual es cierto, pero información trivial en su caso).

Por lo tanto, no, no es necesario cerrar los puertos a menos que esté preocupado por que alguien adivine que ocasionalmente hay un servicio ejecutándose en esos puertos e intentando que alguien descubra cuándo se está ejecutando el servicio y además de eso se desarrolla. Un exploit para una pieza de software de la que no tienen conocimiento.

    
respondido por el DeepS1X 04.08.2017 - 02:47
fuente
1

DeepS1X tiene razón en que requeriría un esfuerzo específico para que alguien abuse de esos puertos abiertos, pero creo que HRL tiene la respuesta correcta. No es escalable simplemente abrir puertos para un servicio y permitir que se cuelguen en su servidor, especialmente con la cantidad de otros servicios que constantemente limpian la red en busca de puertos / servicios abiertos.

Para agregar a los puntos 1 & 2 de la publicación de HRL - No ha mencionado qué tipo de Linux está usando, pero podría considerar aprovechar algo como los permisos de la aplicación Debian UFW para administrar el acceso a la naturaleza de cada una de sus aplicaciones. Esto significaría que podría iniciar y detener sus aplicaciones según sea necesario y que tendrían acceso a los puertos simplemente por estar arriba.

Puede ver la configuración de UFW en el sitio ubuntu help , y hay una explicación detallada sobre cómo configurar esto. para sus propias aplicaciones en esta publicación .

    
respondido por el llorrac 04.08.2017 - 06:58
fuente
1

desde el punto de vista de la arquitectura. necesita visualizar este tipo de seguridad para udp o tcp en dos categorías

  1. Punto final (su instancia de servicio) oyente donde la instancia de su servicio no se está ejecutando, es imposible conectarse a, Básicamente su punto final no existe.  -
  2. en tránsito (su enrutamiento, firewall, etc.) donde si se intenta una conexión desde un lado (lado público en este caso) y el servicio no está activo en el punto final, los paquetes son solo caído porque no hay servicio para responder.

  3. Lo siguiente es asegurar su punto final (1) (hay varias formas) como autenticación mutua, SSL / TLS, autenticación, etc.).

  4. A continuación, asegure su punto de tránsito, por ejemplo, para DOS (denegación de servicio), generalmente se detiene en la puerta, no en la instancia de servicio. gran parte de la prevención y detección de intrusiones se realiza en esta capa.

Si su servicio se vuelve muy popular, estará preparado.

Para responder a su pregunta con una solución específica:

  1. Determine el número máximo de instancias que requiere su servicio (Aparentemente 50 de tu pregunta).
  2. Configure los puertos efímeros de su host (s) (grupo de puertos), esto es posible tanto en * NIX como en windows.
  3. En su firewall de red (si corresponde) cree una regla de firewall eso permite (cualquier fuente --- > a los IP / puertos efímeros de su host (s).
  4. En su firewall local (FW runnin en el host), también configure una regla de firewall que permite paquetes desde la IP del Firewall externo --- > su Host Rango de IP / puerto.

por convención, los puertos efímeros están entre 49151 y el límite superior para IPV4-IPV6.

    
respondido por el Hugo R 04.08.2017 - 04:24
fuente

Lea otras preguntas en las etiquetas