Entonces, nuestro administrador de Linux dejó nuestro proyecto y de repente yo (el codificador web con conocimientos básicos de Linux / servidor) soy responsable de nuestro servidor dedicado (Servidor Ubuntu) que ejecuta principalmente un sitio web (apache / mysql / php) y correo (Postfix). Nuestro administrador no era realmente un administrador profesional de Linux, sino un tipo con conocimientos básicos de Linux que descubrió cosas a medida que avanzaba. Así que espero configuraciones funky, servicios inseguros, etc.
Mis preguntas son:
¿Cómo realizo una "auditoría" del servidor para determinar su estado actual, para asegurarme de que las cosas están configuradas correctamente, que no hay cuentas de usuario innecesarias, que no estamos ejecutando servicios innecesarios, etc.
No estoy seguro de cómo hacer una copia de seguridad de nuestro sitio web de producción. Además de los archivos CMS y db reales, hay configuraciones de apache, bases de datos de correo y más que necesitan copia de seguridad. ¿Alguna sugerencia sobre cómo automatizar esto?
¿Cuáles son las tareas diarias más importantes de un administrador de Linux que tengo que realizar absolutamente? Gran pregunta, lo sé.
Respuestas:
Guau. Donde empezar.
Esto es lo que haría, pero espero que otros salten con más / mejores sugerencias.
Primero no entres en pánico. Supongo que ahora eres root. Actualmente es la amenaza más peligrosa para el servidor en este momento, ya que tiene mucho poder y no tiene mucha idea de qué hacer con él.
Anote qué servicios debe ejecutar el servidor. Sabes que apache, mysql y postfix son obligatorios. Supongo que puede tener un servidor ftp allí y puede ingresar ssh, por lo que necesita ejecutar sshd. Anote qué servicios están instalados. Probablemente, la forma más rápida de averiguarlo sea enumerando /etc/init.d/* Luego debe averiguar qué se está ejecutando. No sé cuál es el equivalente al chkconfig de Red Hat, pero si falla una alternativa ps -ef, se enumerarán los procesos que se están ejecutando actualmente. También averigüe si hay un firewall instalado (como iptables) y cómo está configurado.
A continuación, obtenga una lista de todos los cronjobs que se ejecutan. Probablemente no necesite preocuparse demasiado por lo que hacen de inmediato, pero debe tener una idea general de lo que está haciendo el servidor en diferentes momentos.
De nuevo, escribiría todo esto.
Ahora escriba quién debe tener acceso al servidor y quién puede tener acceso de root. Obtenga una lista de usuarios que tienen cuentas de / etc / passwd.
Haga algo similar para el acceso FTP y otros servicios si son relevantes, como Subversion o conexiones remotas de MySQL.
Ahora que sabe un poco más sobre lo que está haciendo su servidor y quién puede acceder a él, debe pasar a ver qué tan bien lo está haciendo. Verifique los archivos de registro en / var / log, especialmente / var / log / messages y pase algún tiempo buscando errores.
Compruebe si hay actualizaciones pendientes que hacer con apt-get update && apt-get upgrade
Cuando se le solicite actualizar, elija no por ahora.
Hasta ahora no deberías haber hecho cambios.
Ahora debe revisar la información que ha recopilado y decidir qué (si es que hay algo) necesita arreglarse. Las prioridades son intentos de descifrado en /var/log/auth.log, cerrando servicios que no son necesarios y ajustando el firewall.
Haga copias de todos los archivos antes de editarlos y pruebe los cambios a menudo para que pueda retroceder fácilmente si algo se rompe.
Copias de seguridad
Deberá decidir qué debe respaldarse. Los candidatos obvios son bases de datos, / home / / etc / / var / log / / var / spool / cron / / var / www / y cualquier script personalizado llamado por crontabs. Luego, la mayoría de la gente escribe un script de shell para respaldar esto localmente y luego usa algo como rsync para copiar los archivos a otra unidad USB de la máquina.
Las tareas diarias incluirán, verificar los archivos de registro para detectar cualquier problema (consulte logwatch para ayudarlo), realizar actualizaciones de seguridad, verificar copias de seguridad y avanzar configurando monitoreo como MRTG y Nagios para eventualmente eliminar el trabajo pesado de ser un administrador .
Sin embargo, no me preocuparía demasiado. Puede parecer desalentador, pero eso se debe a que lo está pidiendo todo de una vez. Probablemente el servidor esté bien como está, vigile los registros y aplique las actualizaciones a medida que se lanzan, planifique lo que desea hacer y trabaje para lograrlo, tome pequeños pasos e intente disfrutarlo.
fuente
Algunas cosas para comenzar:
busque a alguien que ya haya realizado una auditoría de este tipo, o al menos tenga algún conocimiento sobre las dificultades comunes para mantener un servidor. En serio, vale la pena.
Realice una copia de seguridad lo mejor que pueda e intente reconstruir un servidor de repuesto, podría ser una instancia virtual en algún lugar, hasta que esté seguro de que a) ha realizado una copia de seguridad de todas las cosas importantes yb) puede reconstruir el servidor de repuesto su respaldo en tan poco tiempo como lo desee. Para agregar karma: intercambie el servidor de producción actual con su servidor de reserva. Mientras no haya demostrado que puede reconstruir desde su copia de seguridad, actúe como si no tuviera ninguno.
Actualice, lea los avisos de seguridad, vigile los archivos de registro y automatice todo esto una vez que sepa qué buscar.
fuente
Para manejar más fácilmente los archivos de registro, puede considerar instalar (o activar ... No sé si ubuntu tiene esto en la instalación predeterminada) LOGWATCH. Es muy bueno darle un resumen enviado por correo electrónico todos los días. Por lo general, recoge algunas cosas funky que un vistazo @ configs no pueden descubrir.
fuente
Si valora su servidor y sus datos, obtenga ayuda. Haz que alguien lo audite.
Si no sabe cómo se ve "correcto", entonces puede ser difícil detectar dónde está algo "incorrecto" (o como lo dice "funky"). Una vez que alguien el servidor está en un buen estado conocido.
Usar una cosa como VMWare Converter para hacer una VM provisional del servidor es una GRAN idea, deberías investigar eso.
Luego puede hurgar en la máquina virtual de ensayo (copia del servidor) e intentar hacer cada cosa que se le pida que haga primero en el servidor de ensayo de la máquina virtual antes del servidor de producción.
fuente
Después de hacer lo que dice Richard Holloway; luego haga un escaneo de la red del sistema para verificar qué servicios proporciona el servidor y coteje esto con los datos que tiene hasta ahora. Es posible hacer cosas realmente interesantes con Linux que son difíciles de encontrar simplemente mirando los registros.
Sugiero usar Zenmap desde otro sistema en la misma red y obtener primero las autorizaciones que necesite de sus jefes. Zenmap es simple de instalar, es / tiene una GUI y no intenta explotar nada de lo que se encuentra.
fuente