Acabo de heredar 6 servidores web del servidor anterior que fue despedido, no soy un administrador de sistemas, soy más un DevOps.
¿Alguien podría señalarme algún tipo de lista de verificación estándar que uno seguiría al heredar servidores existentes? Las cosas que necesito saber son:
- Qué software hay en los servidores
- ¿Cuáles son las cosas estándar que debo hacer para verificar que sean seguras?
- ¿Qué se está conectando con ellos y qué están conectados también?
- ¿Qué más debo saber?
Cualquier consejo es bienvenido, esperaba que hubiera un tipo estándar de lista de verificación que se seguiría como un comienzo, pero no pude encontrar nada.
Todos los servidores son Ubuntu (varias versiones)
Respuestas:
Para determinar qué software se ha instalado, puede revisar /var/log/dpkg.log. Sin embargo, esto puede no ser un registro completo. Puede haber binarios y código que se compiló manualmente o se copió directamente al sistema precompilado. Usted podría comparar una instalación por defecto de la misma versión de Ubuntu y el tipo de servidor (s) y el aspecto de qué archivos son diferentes, pero que puede ser tedioso tranquila. Una solución de monitor de archivos sería ideal (tripewire, inotifywatch, etc.) http://linuxcommando.blogspot.com/2008/08/how-to-show-apt-log-history.html
Debe verificar TODO en el servidor. Cada cuenta de usuario en / etc / passwd , cada cuenta de usuario de la aplicación (como usuarios en Apache / PHP, cuentas de bases de datos, etc.) deben tenerse en cuenta, y debe cambiar todas las contraseñas. Debe verificar qué servicios se inician en el arranque, cuál es el nivel de ejecución predeterminado y qué comienza con él y con otros niveles de ejecución. Usaría un escáner de vulnerabilidades y una herramienta de configuración de línea de base para auditar el estado actual. El Centro de Seguridad de Internet ofrece una herramienta de evaluación de configuración gratuita, pero puede ser limitada. Tienen herramientas más avanzadas para organizaciones miembro ($). http://benchmarks.cisecurity.org/ OpenVAS es un escáner FOSS, similar a Nessus, que puede tener capacidades similares. Hay muchas, muchas más cosas para verificar, pero esta respuesta ya se está haciendo un poco larga ... (La revisión de código para aplicaciones web y páginas web es un buen ejemplo).
Puede ver una revisión del estado de los puertos disponibles para las conexiones a los servidores con una variedad de indicadores para netstat . http://www.thegeekstuff.com/2010/03/netstat-command-examples/ Para identificar quién se ha conectado al servidor, tendrá que recurrir a las actividades más sexys de Internet Security, revisando los registros del sistema. La información puede estar en cualquiera de una cantidad de registros dependiendo de qué aplicaciones y servidores estén en el sistema. También puede tener suerte con los registros de red externos, si existen.
Tienes mucho seguimiento que hacer. Usted indicó que el administrador anterior fue despedido ; Si sospecha que esa persona ha tenido intenciones maliciosas (es decir, pueden haber dejado puertas traseras, trampas para bobos, bombas lógicas, etc.) es casi seguro que será mejor reconstruir los servidores a partir de medios limpios y volver a implementar las aplicaciones web en ellos. Si este administrador anterior tenía acceso y control total a esos sistemas y no fue sometido a una auditoría y supervisión diligentes, probablemente debería suponer que hay puertas traseras.
Esto se basa en una suposición pesimista sobre el administrador anterior. Desafortunadamente, esa es la forma en que la cookie se desmorona para la seguridad operativa de la red. Hay mucho más que considerar, como dije ... mucho más de lo que se puede cubrir aquí. Estos puntos deberían darle algunas cosas para comenzar a hacer para que pueda informar a la gerencia que está progresando; pero para ser brutalmente honesto, si no eres un profesional de la seguridad y tienes motivos para sospechar que esta persona actuó con malicia, probablemente estés por encima de tu cabeza.
Es una respuesta impopular con la administración porque requiere mucho esfuerzo (lo que significa más $), pero la respuesta general de seguridad es cuando tenga dudas, limpie y reconstruya desde fuentes limpias . Así es como funcionan los sistemas gubernamentales más importantes con malware; Si surge una alerta de AV, el sistema se segrega, borra y reconstruye. Espero que hayas hecho una copia de seguridad porque esos datos se han ido .
Buena suerte, y espero que haya sido útil y no solo deprimente.
fuente
/var/log/dpkg.log
es adecuado para revisar el proceso de instalación en sí (y buscar errores), pero para obtener una lista de los paquetes instalados, la salidadpkg -l
o incluso más simpledpkg --get-selections
sería más fácil de digerir.Las páginas man son tu amigo:
Consulte estos comandos de uso común y su uso. Encuentre más ayuda en las páginas de manual para cada uno o, en algunos casos, ejecutando
Software:
Seguridad:
Conexiones:
Buena suerte. Es difícil heredar un lote de servidores sin que la persona que los ejecuta tenga la oportunidad de capacitarte. Si el tipo fue despedido es aún más preocupante porque supongo que había una razón y si también supongo que estaba relacionado con el trabajo, podría haber algunas configuraciones extrañas en el lote.
fuente
qué aplicaciones se están ejecutando: haga un "ps -ef" o "ps -auxw" para obtener la lista de procesos. elimine todo lo que no esté relacionado con el núcleo, busque cosas que se estén ejecutando, haga páginas de manual en cada una para descubrir qué es. La mayoría de los procesos en ejecución puede ignorarlos con seguridad porque no son aplicaciones de usuario
por seguridad: haga un "netstat -pan" para ver qué puertos están abiertos y cierre los que no sean necesarios. En otras palabras, los únicos puertos que deberían estar abiertos son los que corresponden a los servicios de red proporcionados por estos servidores. Si el servidor es un servidor web, entonces obviamente debe estar escuchando en el puerto 80/443 / etc. Pero si el servidor está escuchando en el puerto 21 y nadie lo está usando, entonces debe desactivar el proceso que tiene ese puerto abierto.
para las conexiones, nuevamente "netstat -pan" le da la respuesta. Le dice qué hosts están conectados y en qué puertos están conectados.
mire a través de los registros en / var / log para tener una idea de lo que está haciendo el sistema y ver si hay algún error obvio o señales de alerta provenientes de diferentes aplicaciones.
fuente