martes, 23 de diciembre de 2014

HOW TO: EJECUTAR COMANDO SUDO SIN SOLICITAR PASSWORD

En algunas oportunidades, como cuando programamos algún script o alguna tarea vía crontab, necesitamos que al ejecutar un comando con sudo, no nos solicite el password del usuario que ejecuta el comando.  Este evidentemente supone un riesgo en la seguridad y administración del Sistema Operativo, pero si determinamos que necesitamos ejecutar programas con usuarios a los cuales no se les solicite el password, a continuación los pasos:

Como root, ejecutar el comando visudo o con un editor de texto (por ejemplo nano) abrir el archivo /etc/sudoers:

# visudo

# nano /etc/sudoers

Identificar con que usuario "no root" deseamos ejecutar comandos como root (utilizando sudo) sin que nos solicite previamente la contraseña.  Para este ejemplo, utilizaremos un usuario llamado prueba:

prueba        ALL=(ALL) NOPASSWD: ALL

Reiniciamos el servicio sudo:
# /etc/init.dsudores restart

Ahora, al ejecutar algún comando utilizando sudo, como por ejemplo "sudo nano /etc/sudoers" no pedirá que ingresemos el password del usuario.



miércoles, 17 de diciembre de 2014

HOW TO: ELIMINAR SESIONES SSH LINUX.

HOW TO: ELIMINAR SESIONES SSH LINUX.

Si administramos un servidor Linux-Unix que posee funciones de "servidor ssh", en algunas oportunidades nos podemos ver en la necesidad de cerrar algunas conexiones, realizadas desde clientes ssh o putty (en el caso de windows) que se encuentren colgadas o que puedan ser consideradas como sospechosas.  Con este par de métodos podemos realizarlo:


Ejecutando el siguiente comando, verificamos que usuarios (a través de que pts, fecha inicio de sesión y que con que dirección IP) están conectados al servidor vía SSH:
# who

La salida es similar a la mostrada a continuación:

root     pts/0        2014-12-12 10:46 (192.168.31.12)
root     pts/2        2014-12-15 08:57 (192.168.31.12)
root     pts/3        2014-12-17 09:38 (192.168.31.9)

Ahora, si por ejemplo queremos cerrar la 2da conexión listada en el ejemplo anterior (root     pts/2        2014-12-15 08:57 (192.168.31.12)), ejecutamos el siguiente comando:
# pkill -9 -t pts/2

-9: Corresponde al tipo de señal que deseamos enviar. En este caso utilizamos la señal -9 que indica matar (KILL) el proceso.
 -t: indica que se basará en un atributo de nombre de terminal.
pts/2: Indica el nombre del terminal que deseamos cerrar.

martes, 2 de diciembre de 2014

HOW TO: CONFIGURAR CLIENTE NAGIOS EN RED HAT ENTERPRICE LINUX

HOW TO: CONFIGURAR CLIENTE NAGIOS EN RED HAT ENTERPRICE LINUX

1. Validar nuestra versión de red hat:
# cat /etc/issue

Esto nos dará una salida como la que sigue:
Red Hat Enterprise Linux AS release 4 (Nahant)
Kernel \r on an \m

Para este ejemplo, nuestro sistema operativo al cual instalaremos el cliente Nagios es Red Hat Enterprise Linux 4.

2. Descargar los archivos .rpm necesarios desde el repositorio disponibles en internet http://mirror.globo.com/epel/

Para nuestro caso (Red Hat Enterprise Linux 4), descargaremos los siguientes archivos de la ruta http://mirror.globo.com/epel/4ES/i386/.  Indudablemente, si su versión de redhat es diferente, pues seleccionamos desde el repositorio inicial nuestra versión correspondiente:

Los archivos a descargar son:
nrpe-2.12-16.el4.i386.rpm

nagios-common-2.12-10.el4.i386.rpm

nagios-plugins-1.4.15-2.el4.i386.rpm

nagios-plugins-disk-1.4.15-2.el4.i386.rpm

3. Con los archivos descargados y ubicados en cualquier ruta del servidor en donde instalaremos el cliente nagios, procedemos a instalar c/u de ellos (Deben ser instalados en este orden para evitar errores con las dependencias de los archivos):

Instalar en orden:
rpm -Uvh nrpe-2.12-16.el4.i386.rpm
rpm -Uvh nagios-common-2.12-10.el4.i386.rpm
rpm -Uvh nagios-plugins-1.4.15-2.el4.i386.rpm
rpm -Uvh nagios-plugins-disk-1.4.15-2.el4.i386.rpm
Nota: En este ejemplo solo nos interesa monitorear el espacio en disco, por eso solo descargamos el plugin "nagios-plugin-disk".  Si queremos monitorear otras variables del servidor, pues del enlace mostrado en el paso 2 de este ejemplo, descargamos los .rpm adicionales con los plugins de nuestra preferencia).

4. Editamos el archivo /etc/nagios/nrpe.cfg.  Ubicamos la sección "# ALLOWED HOST ADDRESSES".  Colocamos acá la dirección IP del nagios server al cual reportará el cliente nagios que estamos configurando.  Ingresamos entonces la línea allowed_hosts=IP_NAGIOS-SERVER. (Podemos comentar la linea anterior allowed_hosts=localhost) y colocar la nueva línea de configuración.


5. Validar que los plugins se encuentren instalados en el equipo cliente nagios recién instalado:
# ls /usr/lib/nagios/plugins/

6. Ubicamos el file system del volumen o partición de disco que queremos monitorear.  Para iniciar, ejecutamos el comando:
# df -h

 Ahora, si por ejemplo queremos monitorear las particiones / y /oracle (en este ejemplo), el file system que les corresponde a c/u de ellas es /dev/cciss/c0d0p7 y /dev/cciss/c0d0p5 respectivamente.

7. Editamos nuevamente el archivo /etc/nagios/nrpe.cfg.  Agregamos al final del archivo:
#****LINEAS PARA MONITOREAR CON EL NAGIOS DEL SERVIDOR x.xx***
command[check_c0d0p7]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /dev/cciss/c0d0p7
command[check_c0d0p5]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /dev/cciss/c0d0p5
#*************************************************************

Explicación de la configuración:

command[check_c0d0p7]: Identifica como se llamará el comando (lo que se encuentra entre paréntesis).
/usr/lib/nagios/plugins/check_disk: Identifica la ubicación del plugin nagios que realiza y ejecuta el comando que estamos configurando.
-w 20%: Indica el porcentaje que configuraremos para que realice alertas de tipo WARNING.  Esta alerta se disparará cuando el espacio en disco supere el 80% de uso.
-c 10%: Indica el porcentaje que configuraremos para que realice alertas de tipo CRITICAL. Esta alerta se disparará cuando el espacio en disco supere el 90% de uso.
-p /dev/cciss/c0d0p7: Identifica el file system que monitorearemos.

8. En el equipo Nagios Server, configurar el monitoreo que se desea realizar al equipo Nagios Cliente (el que estamos configurando en este momento).  Esto va a variar dependiendo de como previamente estén los archivos de configuración establecidos.

Les coloco acá un ejemplo basado en mis archivos de configuración del nagios server:

En mi caso, tengo el archivo nrpe-services.cfg (archivo donde tengo la configuración de los clientes nrpe que estoy monitoreando), en la ruta /etc/nagios/conf.d/servidores.  En este archivo realizo la siguiente configuración:

Como agregamos (ver paso #7 de este documento), 2 monitores, en mi archivo de configuración agrego las 2 secciones de monitoreo al archivo nrpe-services.cfg:

define service{
                use generic-service
                host_name                       nombre-host
                service_description         Espacio en /
                check_command             check_nrpe!check_c0d0p7
                notification_interval       10
                contact_groups               administradores,servicios
}
define service{
                use generic-service
                host_name                       nombre-host
                service_description         Espacio en /oracle
                check_command             check_nrpe!check_c0d0p5
                notification_interval        10 
                contact_groups               administradores,servicios
}

Explicación de la configuración:

use generic-service: Indica que usa el servicio genérico de la configuración nagios
host_name: El nombre de host en la configuración nagios.
service_description: Descripción breve del servicio
check_command: En esta sección colocaremos la instrucción check_nrpe! seguido del comando de configuración que colocamos en el archivo de configuración del cliente nagios (ver paso #7).  En este ejemplo, configuramos en el cliente nagios 2 comandos: command[check_c0d0p7] y command[check_c0d0p5];
check_nrpe!check_c0d0p7 y check_nrpe!check_c0d0p5 son los comandos que agregaremos en cada define service {} que estamos configurando en este ejemplo.
notificacion_interval: El intervalo de notificación a configurar en el servidor nagios.
contact_groups: El nombre de los grupos de contacto configurados en el servidor nagios.

9. En el Nagios Server, chequeamos la configuración:
# cd /etc/nagios3
# nagios3 -v nagios.cfg

10. En el cliente nagios, reiniciamos el servicio nrpe (Lo ejecutamos 2 veces hasta que salga status OK OK):
# service nrpe restart

Configuramos también el nrpe para que inicie cuando se inicia el servidor:
# chkconfig nrpe on
Con el comando chkconfig --list | grep nrpe podemos ver en que runlevel tiene autostart el comando configurado:

11. En el Nagios Server, reiniciamos el servicio nagios3:
# /etc/init.d/nagios3 restart

12. Para finalizar, podemos ver la aplicación Nagios y validar las configuraciones que realizamos previamente:

lunes, 1 de diciembre de 2014

HOW TO: VACIAR ARCHIVOS LOGS LINUX

HOW TO: VACIAR ARCHIVOS LOGS LINUX

Con el siguiente comando, podemos eliminar todos los registros del archivo de logs en linux sin necesidad de borrar el archivo:

  cat /dev/null >/ruta/nombre_archivo.log