Heredar el servidor existente

9

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:

  1. Qué software hay en los servidores
  2. ¿Cuáles son las cosas estándar que debo hacer para verificar que sean seguras?
  3. ¿Qué se está conectando con ellos y qué están conectados también?
  4. ¿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)

usuario3408844
fuente
3
No eres un DevOps. DevOps no es un título, es una cultura.
gWaldo
¿Cuál sería un mejor término para usar para un "Desarrollador obligado a tener que hacer un trabajo de administrador de sistemas sin la experiencia de un administrador de sistemas pero con una buena comprensión de todos los conceptos involucrados y suficiente experiencia práctica para" sobrevivir ""
user3408844
Acordado tener DevOps leer en la Wikipedia veo lo utilicé de forma incorrecta, pero parece haberse convertido en el argot de la vida cotidiana de los desarrolladores tener que convertirse en semi syadmins
user3408844
El término para lo que usted describe es "Desarrollador" o "Desarrollador obligado a asumir algunas tareas de Sistemas / Operaciones".
gWaldo
¡Guauu! - mucho esfuerzo puesto en eso
user3408844

Respuestas:

24
  1. 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

  2. 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).

  3. 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.

  4. 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.

0x perro pastor
fuente
Esta pregunta también puede ser adecuada para el sitio de StackExchange www.AskUbuntu.com
0xSheepdog
2
Excelente respuesta
EEAA
3
Limpiar y reconstruir probablemente sea mucho más fácil si tiene una buena gestión de configuración declarativa. Si no lo hace, probablemente debería considerar trabajar hacia ese objetivo.
zigg
2
/var/log/dpkg.loges adecuado para revisar el proceso de instalación en sí (y buscar errores), pero para obtener una lista de los paquetes instalados, la salida dpkg -lo incluso más simple dpkg --get-selectionssería más fácil de digerir.
Dubu
0

Las páginas man son tu amigo:

 man <command> 

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

  <command> --help 

Software:

  • dpkg -l (lista de software instalado)
  • ps -ef | more (obtenga una lista de los procesos en ejecución y pause para leer)

Seguridad:

  • iptables (qué puertos están abiertos y son necesarios)
  • verifique las actualizaciones con apt-get (¿los servidores están actualizados?)
  • cat / etc / passwd (que tiene una cuenta en el cuadro)
  • sshd (verifique si sshd se está ejecutando y quién puede iniciar sesión en eso)

Conexiones:

  • netstat (qué servicios están escuchando y en qué puertos)

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.

Chris Jones
fuente
0
  1. 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

  2. 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.

  3. para las conexiones, nuevamente "netstat -pan" le da la respuesta. Le dice qué hosts están conectados y en qué puertos están conectados.

  4. 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.

Michael Martinez
fuente