Administrando servidores linux Allan G. Sandoval Cuevas (kuarma10)

1 Administrando servidores linux Allan G. Sandoval Cuevas...
Author: Juan José Cortés Lucero
0 downloads 0 Views

1 Administrando servidores linux Allan G. Sandoval Cuevas (kuarma10)

2 Administración de servidores linux ● ¿Que es una administrador de servidores o sysadmin? ● Tipos de servidores linux ● ¿Que tengo que revisar en mis servidores linux, y como lo hago? ● Actualizaciones e instalación de paquetes ● De que trabaje yo, a que trabaje la maquina; herramientas para hacer mas fácil la administración

3 ¿Que es una administracion de servidores? Un administrador de sistemas, o sysadmin, es aquella persona que se dedica a mantener y operar un sistema de cómputo o una red. Los administradores de sistemas pueden ser miembros de un departamento de Tecnologías de información. Las responsabilidades de un administrador de sistemas son muy amplias, y varían enormemente de una organización a otra. A los sysadmins por lo general se les encomienda la instalación, soporte y mantenimiento de los servidores u otros sistemas de cómputo, la planeación de respuesta a contingencias y otros problemas. Algunas otras responsabilidades pudieran incluir la programación de scripts o programación (en distintos niveles), manejo de proyectos relacionados con el sistema, supervisión o entrenamiento de operadores de cómputo y ser el consultor para los problemas que se encuentran más allá del conocimiento técnico del personal de soporte. Un administrador de sistemas debe mostrar una mezcla de habilidades técnicas y responsabilidad.

4 Tipos de servidores linux ● Servidores de bases de datos ● Servidores web ● Servidores de correo ● Servidores de storage ● Servidores de ftp ● Servidores de VoiP ● Servidores tipo proxy ● Servidores de firewall

5 ¿Que tengo que revisar en mis servidores ? ● Como acceso a mis servidores ● Espacio en disco duros ● Uso de memoria, física y swap ● Los procesos que están en ejecución ● Uso de C.P.U ● Revisión de eventos (log's del sistema) ● Intentos de ataque, servidores publicados o no publicados ● Respaldos de informacion

6 ¿Como me conecto a mis servidores? ● Para acceder remotamente a nuestros servidores linux usaremos el meto ssh (secure shell), este nos permitirá acceder con seguridad en modo texto o consola a nuestros servidores @eragon:~$ ssh [email protected]

7 ¿Como lo hago? ● Revisando el espacio en disco duro ● Para revisar el disco duro abriremos una consola y teclearemos el comando ”df -h” lo cual nos mostrara una salida similar a esta: @eragon:~$ df -h S.ficheros Tamaño Usado Disp Uso% Montado en /dev/sda5 9.2G 3.5G 5.3G 40% / /dev/sda7 25G 1.3G 23G 6% /home

8 ● Revisando la memoria física y virtual (swap) ● Para revisar la memoria en consola también el comando ”free -m” este nos arrojara la siguiente salida: $ free -m total used free shared buffers cached Mem: 969 870 99 0 35 293 -/+ buffers/cache: 542 427 Swap: 1906 16 1889

9 Los procesos en ejecución ● La revisión de procesos en ejecución es importante, ya que pueden haber procesos que estén usando excesivamente los recursos del sistemas y esto puede repercutir en el rendimiento del servidor y de otras aplicaciones, también es importante saber como revisar estas, y cual es su numero de proceso (PID), ya que con esto podremos monitorear, matar o pausar el proceso

10 Para este caso usaremos el comando de “ps”, el cual contiene sintaxis distintas para ver de manera diferente las salidas, algunas de las mas usadas son: ● ps -ax ● ps aux ● Al ejecutar estos comandos nos mostrara la siguiente salida

11 ps -ax

12 ps -aux

13 Uso de C.P.U Para revisar el uso de nuestros procesadores y cuanto consumen de este recursos los procesos en tiempo real, utilizaremos 2 herramientas bastante útiles las cuales son “top” y “htop”. Cuando ejecutemos estos comandos nos aparecerán las siguientes pantallas

14 htop

15 top

16 Revisión de eventos, los log's del sistema En todos los sistemas tipo unix y en la mayoria de los sistemas operativos hay archivos que guardan o registran el comportamiento del servidor y de todos sus componente ya sean hardware y de sus aplicaciones, estos archivos se llaman log's sistema, los cuales se encuentran en la siguiente ruta: “/var/log” En esta ruta encontraremos lo siguiente:

17 Los log's mas comunes a revisar El sistema de logs arranca con el script /etc/init.d/sysklogd, y tiene dos demonios: syslogd: gestiona los logs del sistema. Distribuye los mensajes a archivos, tuberías, destinos remotos, terminales o usuarios, usando las indicaciones especificadas en su archivo de configuración /etc/syslog.conf, donde se indica qué se loguea y a dónde se envían estos logs. klogd: se encarga de los logs del kernel. Lo normal es que klogd envíe sus mensajes a syslogd pero no siempre es así, sobre todo en los eventos de alta prioridad, que salen directamente por pantalla. Los logs se guardan en archivos ubicados en el directorio /var/log, aunque muchos programas manejan sus propios logs y los guardan en /var/log/. Además, es posible especificar múltiples destinos para un mismo mensaje. Algunos de los log más importantes son: /var/log/messages: aquí encontraremos los logs que llegan con prioridad info (información), notice (notificación) o warn (aviso). /var/log/kern.log: aquí se almacenan los logs del kernel, generados por klogd. /var/log/auth.log: en este log se registran los login en el sistema, las veces que hacemos su, etc. Los intentos fallidos se registran en líneas con información del tipo invalid password o authentication failure. /var/log/dmesg: en este archivo se almacena la información que genera el kernel durante el arranque del sistema. Podemos ver su contenido con el comando dmesg:

18 Contenido del directorio “log”

19 ¿Que como los reviso y que contienen cada uno de ellos? Para revisar los archivos tenemos varias maneras de hacer los con diferentes comandos los cuales son los siguientes: less, vim o vi, cat y grep y para revisar en tiempo real usaremos el comando “tail”

20 Intentos de ataque a nuestros servidores Para revisar los intentos de ataque o de acceso forzado a nuestro servidores revisaremos los archivos de logs llamados secure.log y messages; aqui veremos los accesos exitosos, los que han sido fallidos y las ip's de donde se generan las conexiones y el usuario con el cual accedieron o intentaron acceder

21 Respaldos de información En este apartado es importante recalcar que, la mayoria de los paquete o aplicaciones que en linux se instalan, su configuracion recide en archivos de texto plano con diferentes extensiones, asi que veremos cuales son los archivos a respaldar para recuperar nuestro servidores si llegara a fallar, para las bases de datos usaremos los propios comandos del prompt de mysql en este caso

22 Hacerlos por rsync Rsync permite la copia de archivos local o remotamente respetando los permisos, propietario, grupo, enlace o dispositivo. Además permite comprimir los datos para que se puedan enviar o copiar de forma más rápida. Con el uso de rsync solamente se copiarán los datos que se diferencian del origen con la copia de destino, con lo cual se evita tener que copiar de nuevo datos duplicados. Con rsync también es posible hacer copias a un servidor remoto utilizando el protocolo ssh o rsh. Para realizar esto será necesario que rsync esté instalado en ambas máquina, la local y la remota. La sintaxis es: rsync [opciones] origen destino Veremos algunos ejemplos que nos pueden servir para entender el funcionamiento de rsync: rsync -t *.doc servidor1:copias Con esta orden copiaremos todos los archivos.doc al directorio copias en la máquina servidor1. Si ya existieran los archivos en copias, solamente se enviarían las diferencias existentes entre las dos copias. rsync -avz servidor1:/copias/documentos desktop/documentacion

23 Con esta orden se copiarán los archivos de la carpeta documentos del servidor servidor1, en la carpeta desktop/documentacion de la máquina local. Nota que se usa el parámetro archive (-a) lo cual indica que se respeten los nombres de usuario, permisos que pudiera tener documentos. Los parámetros [opciones] que podemos usar con rsync son: -n: Probar, no realiza nada solo muestra el resultado. -a: Modo archivo. Respeta todos los permisos y propiedad del archivo. Igual que si se usaran los parámetros -rlptDg -r: Recursivo -l: Respeta enlaces blandos -p: Respetar permisos -t: Respetar fecha/hora -g: Respetar grupo -D: Respetar dispositivos (solamente con usuario root) -v: Modo verboso, para mayor verbosidad usar -vv -z: Comprimir en caso de que lo acepte el servidor -C: Ignora archivos como hace CVS. -u: Modo update, mantiene archivo en el destino si es posterior. -b: backup renombrar archivos existentes a extensión. Este proceso de copia lo podemos automatizar utilizando cron, para que se ejecute cada cierto tiempo

24 De que te trabaje yo a que trabaje la maquina Hay diferentes herramientas que nos facilitaran la administracion de nuestros servidores, con lo cual nos evitaremos estar ingresando a cada rato a nuestros servidores y tendremos un tiempo de respuesta mayor a las contingencias que se suciten en nuestros equipos

25 Algunas herramientas útiles ● Nagios ● Zenoss ● PandoraFMS ● Rsync ● Crontab ● Scripts generados por nosotros

26 Nagios| Nagios es un sistema de monitorización de redes de código abierto ampliamente utilizado, que vigila los equipos (hardware) y servicios (software) que se especifiquen, alertando cuando el comportamiento de los mismos no sea el deseado. Entre sus características principales figuran la monitorización de servicios de red (SMTP, POP3, HTTP, SNMP...), la monitorización de los recursos de sistemas hardware (carga del procesador, uso de los discos, memoria, estado de los puertos...), independencia de sistemas operativos, posibilidad de monitorización remota mediante túneles SSL cifrados ó SSH, y la posibilidad de programar plugins específicos para nuevos sistemas. Se trata de un software que proporciona una gran versatilidad para consultar prácticamente cualquier parámetro de interés de un sistema, y genera alertas, que pueden ser recibidas por los responsables correspondientes mediante (entre otros medios) correo electrónico y mensajes SMS, cuando estos parámetros exceden de los márgenes definidos por el administrador de red.

27

28 Zenoss ● Zenoss (Zenoss Core) es una aplicación de informática de código abierto, plataforma para la gestión de red y servidores basada en el servidor de aplicaciones Zope. Liberado bajo la Licencia Pública General de GNU (GPL) versión 2, Zenoss Core provee una interfaz web que permite a los administradores de sistemas monitorear disponibilidad, inventario/configuración, desempeño y eventos. Erik Dahl comenzó el desarrollo de Zenoss en el 2002 y en agosto del 2005 fundó Zenoss, Inc., con Bill Karpovich. Zenoss, Inc. patrocina el desarrollo de Zenoss Core y vende una versión empresarial basada en la versión básica.

29

30 PandoraFMS Pandora FMS es un software de código abierto que sirve para monitorizar y medir todo tipo de elementos. Monitoriza sistemas, aplicaciones o dispositivos. Permite saber el estado de cada elemento de un sistemas a lo largo del tiempo. Pandora FMS puede detectar si una interfaz de red se ha caído, un ataque de "defacement" en una web, una pérdida de memoria en algún servidor de aplicaciones, o el movimiento de un valor del NASDAQ. Pandora FMS puede enviar SMS si un sistema falla o cuando las acciones de Google bajan de 500 dólares. Pandora FMS puede recoger información de cualquier sistema operativo, con agentes, específicos para cada plataforma, que recolectan datos y los envían al servidor. Hay agentes específicos para GNU/Linux, AIX, Solaris, HP-UX, BSD/IPSO y Windows 2000, XP y 2003.

31

32