¿Cómo averiguar qué puertos o servicios abiertos son inseguros?

4

Tenemos alrededor de mil máquinas en internet. Hacemos escaneo de puertos con nmap y encontramos muchos puertos abiertos en estas máquinas. En algún momento encontramos un sitio web administrativo que usa HTTP en lugar de HTTPS, lo bloquearíamos.

Pero hay muchos otros puertos abiertos, y no tenemos idea de qué servicios son. ¿Hay alguna forma de averiguar cuáles son inseguras?

    
pregunta user15580 20.11.2012 - 15:21
fuente

3 respuestas

10

Paso uno: ¡cierre todos los puertos para los que no tiene una necesidad comercial explícita!

Todos los puertos abiertos agregan inseguridad potencial: un puerto cerrado es un puerto seguro.

Si no sabe por qué un puerto está abierto, me preocuparía: averigüe qué servicio se está ejecutando en él. Si no hay necesidad de negocio, apágalo ! Si no puede averiguar qué servicio es, apáguelo !

Hay listas de servicios para los servicios más comunes que se ejecutan en puertos particulares, pero en realidad, cualquier cosa puede funcionar en cualquier puerto (prácticamente), por lo que debe tener un registro que detalle el puerto, el servicio, la razón / función del negocio, el propietario, la fecha en que se implementó.

Si no puede cerrar los servicios, use un cortafuegos para bloquear explícitamente el acceso a todos los servicios, excepto a los que sí necesita.

Una vez que hayas hecho eso, asegúrate de que todos tus servicios estén parcheados . Una de las mayores fuentes de vulnerabilidades son los servicios / aplicaciones sin parchear. Ponte al día ahora mismo

    
respondido por el Rory Alsop 20.11.2012 - 15:47
fuente
4

La exploración periódica y periódica de vulnerabilidades ([Qualys] [1] generalmente se considera la mejor de su clase en el espacio de exploración comercial de vulnerabilidades) y la atención atenta a las listas de correo de seguridad relevantes es su primera línea de defensa. Una vez que esto está en su lugar, "¿Hay alguna forma de averiguar cuáles (puertos) son inseguros?" En realidad es la pregunta incorrecta. La seguridad de la aplicación es una cosa efímera. Una aplicación que escucha en un puerto puede ser segura de acuerdo a {vulnerabilidad_scanner} hoy, pero entre su ciclo de escaneo se publica un día y la última versión de [BIND] [2] ahora es insegura.

El mejor consejo es adherirse al concepto de privilegio mínimo . Como se mencionó anteriormente, cierre todas las aplicaciones que no se requieren explícitamente. Una lista de puertos bien conocidos y registrados y sus aplicaciones correspondientes pueden ayudar.

Si no está claro qué aplicación mantiene abierto un puerto en su máquina, los comandos [lsof y netstat] [5] pueden ayudar.

Finalmente, si tiene una gran cantidad de máquinas para administrar, quizás debería revisar algunas herramientas de administración de configuración centralizadas, como [Chef] [6].

    
respondido por el Mike Schiffman 20.11.2012 - 18:24
fuente
2

Recomiendo usar nessus o un escáner de vulnerabilidades. Utiliza una técnica llamada captura de banners para determinar qué versión y servicio está ejecutando una máquina en un puerto. También sabe qué versiones son vulnerables y le proporcionará un buen informe de cada máquina.

Advertencia ... cuesta dinero dependiendo de quién eres y de la configuración en la que lo utilices. Puede haber otros escáneres de vulnerabilidad, pero nessus es el nombre más grande que existe. Espero haber sido de ayuda.

    
respondido por el Rell3oT 20.11.2012 - 16:19
fuente

Lea otras preguntas en las etiquetas