domingo, 31 de octubre de 2010

Como habilitar el servicio snmp en checkpoint R71 FW1

cpconfig

Pulsamos 4
Y nos aparece el siguiente menú

Configuring SNMP Extension...
=============================
The SNMP daemon enables Check Point products module
to export its status to external network management tools.
Would you like to enable Check Point products SNMP daemon ? (y/n) [n] ?y

Para terminar pulsamos 11

Por si acaso habilitamos el demonio en el inicio
chkconfig snmpd

Hay que tocar 3 archivos

Este es el menos importante por si queremos cambar syslocation y syscontact
/etc/snmp/snmpd.conf
syslocation  "Unknown"
syscontact  Unknown

en el archivo /etc/snmp/snmpd.users.conf debemos añadir los servidores que pueden consultar este firewall
vi /etc/snmp/snmpd.users.conf
rocommunity comunidadelectura 127.0.0.1

Para modificar la comunidad por defecto donde pone “public” cambiamos a la que queramos manteniendo las comillas (ej: comunidaddelectura)
cat /etc/fw/conf/snmp.C
:snmp_community (
                :read ("comunidaddelectura")
                :write ()
        )

Para probar que funciona
snmpwalk -c comunidadelectura –v1 127.0.0.1


Puerto que hay que abrir en las reglas del firewall únicamente  desde la maquina que realiza las peticiones hacia el firewall UDP 161 en destino origen cualquier puerto

miércoles, 27 de octubre de 2010

Cambiar de nombre a un host


Esto es una tonteria para los administradores de sistemas que funcionan con varias distribuciones, pero para el resto que funcionamos normalmente con una o 2 distribuciones a veces se nos olvida.
Para cambiar el nombre a un host basta con editar dos ficheros 
el archivo de hosts que es comun en todos los linux
/etc/hosts 

En debian, ubuntu, ...
/etc/hostname

En Centos,Fedora,RedHat
hay que modificar la variable HOSTNAME del archivo
/etc/sysconfig/network

lunes, 11 de octubre de 2010

Como actualizar ubuntu desde un terminal

Como bien sabréis, lo normal es actualizar los paquetes de una versión ya instalada (como windows update), pero si hay algo bueno por excelencia de los repositorios es poder cambiar de versión de Sistema Operativo sin tener que reinstalar o formatear todo el disco.


Para los no entendidos en la materia (aquellos que vienen de microsoft), estoy hablando de pasar de windows 98 a XP y de XP a 7 y asi sucesivamente.
Ademas, muchas veces cuando se trata de servidores linux, no tenemos entorno gráfico (para ahorrar memoria, etc) y actualizamos los sistemas en remoto desde un terminal (siempre es mejor en un terminal local, sobre todo si el servidor es virtual y el terminal local es accesible en remoto). Este comando os ayudará a actualizar un sistema desde un terminal.


Para realizarlo necesitaremos instalar un paquete especial "update-manager-core".
sudo aptitude install update-manager-core


una vez tengamos instalado este paquete, ejecutamos el siguiente comando:
sudo do-release-upgrade

Añadido el: 2012-01-25
-----------------------------
Normalmente si la version instalada es LTS nos dejara actualizar de LTS a LTS pero si necesitamos actualizar a una versión de desarrollo o a una normal por ejemplo pasar de 10.04 a 10.10, debemos modificar el archivo
nano /etc/update-manager/release-upgrades
modificar Prompt=lts por Prompt=normal
-----------------------------

esto es lo que devuelve la ejecucion del comando en una ubuntu 8.04, si lo hacemos desde SSH

root@localhost:~# sudo aptitude install update-manager-core;sudo do-release-upgrade
Reading package lists... Done
Building dependency tree    
Reading state information... Done
Reading extended state information    
Initializing package states... Done
Writing extended state information... Done
Building tag database... Done          
No packages will be installed, upgraded, or removed.
0 packages upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 0B of archives. After unpacking 0B will be used.
Writing extended state information... Done
Reading package lists... Done          
Building dependency tree    
Reading state information... Done
Reading extended state information    
Initializing package states... Done
Building tag database... Done    
Checking for a new ubuntu release
Done Upgrade tool signature
Done Upgrade tool
Done downloading          
extracting 'lucid.tar.gz'
authenticate 'lucid.tar.gz' against 'lucid.tar.gz.gpg'
tar: Removing leading `/' from member names

Reading cache

Checking package manager

Continue running under SSH?

This session appears to be running under ssh.
It is not recommended 
to perform a upgrade over ssh currently because in case of failure it
is harder to recover.

If you continue, an additional ssh daemon will be started at port
'9004'.
Do you want to continue?

Continue [yN] 


sábado, 9 de octubre de 2010

Script para realizar backups de un servidor web

Este script lo utilizo para hacer backups de servidores web, en este caso ademas es servidor FTP.

Envidentemente se puede ampliar si el directorio que utilizamos como backup es un recurso compartido o es un disco duro USB, puesto que aprovecharíamos para montar y desmontar los medios dentro del mismo script, cosa que recomiendo bastante a la hora de realizar backups.

Otra manera es modificando el comando tar para que realice la copia en una unidad de cintas.

###################################################################
#    Script de copias de seguridad de las web                     #
###################################################################
#
# Este script siempre utiliza rutas completas de
# archivos para que pueda ser ejecutado desde
# cualquier lugar del sistema de archivos
#
###################################################################
##
## Definir VARIABLES
##

SERVIDOR=servidorweb #nombre del servidor

FECHA=`date +%Y%m%d_%H%M%S`
NUM_BACKUPS=10                                             # numero de backups que queremos rotar
                                                        # con cron decidimos cuando se ejecuta cada backup
SALIDA_TAR=1
SALIDA_MYSQL=1
EMAIL_INFORME=micorreo@midominio.com                       #Correo al que enviamos alertas
ASUNTO="BACKUP ERROR# en servidor web $SERVIDOR"        #Asunto del correo de alerta
EMAIL_FROM=webmaster@midominio.web                        #Quien envia el correo de alerta

#Directorio donde guardamos el backup
COMPRIMIR="tar cvfz "
EXT_BACKUP="tar.gz"
DIR_BACKUP="/root/backups"
DIR_BACKUP_RAIZ=$DIR_BACKUP/raiz

DIR_INFORMES=/root/informes
EXT_INFORME="txt"

#CONFIGURACION DEL SERVIDOR
ETC_FILE1="/etc/passwd"
ETC_FILE2="/etc/group"
ETC_FILE3="/etc/shadow"
ETC_FILE4="/etc/vsftpd.conf"

ETC_DIR1="/etc/apache2"
ETC_DIR2="/etc/phpmyadmin"

#directorio donde estan las web
DIR_WEB="/home"

#Base de Datos de la WEB
BBDD=bbdd_web
BBDD_USUARIO=root
BBDD_PASSWD=Clave#de#mySQL
BACKUP_FILE_SQL=$DIR_BACKUP_RAIZ/backup.$SERVIDOR.$FECHA.sql


#############
#   MAIN
#############

##Averiguar cual fue la ultima copia
FILE_ULTIMO="$DIR_BACKUP/ultimo_backup.txt"  #archivo que guarda el numero de la última copia
ULTIMO=`cat $FILE_ULTIMO`
if [ $ULTIMO -lt $NUM_BACKUPS ]
then
NUEVO=`expr $ULTIMO + 1`
else
NUEVO=1
fi

## Nombres de archivo para la copia nueva y su log
FILE_BACKUP=$DIR_BACKUP/$NUEVO.backup_$SERVIDOR.$FECHA.$EXT_BACKUP
FILE_INFORME_BACKUP=$DIR_INFORMES/$NUEVO.backup_$SERVIDOR.$FECHA.$EXT_INFORME

##
## Borrar la copia mas vieja
##
echo Hacer limpieza de backups anteriores >> $FILE_INFORME_BACKUP
rm -vf $DIR_BACKUP/$NUEVO.backup_$SERVIDOR.*.$EXT_BACKUP >> $FILE_INFORME_BACKUP
rm -vf $DIR_INFORMES/$NUEVO.backup_$SERVIDOR.*.$EXT_INFORME >> $FILE_INFORME_BACKUP
rm -vfR $DIR_BACKUP_RAIZ

echo Crear estructura de directorios >> $FILE_INFORME_BACKUP
mkdir $DIR_BACKUP_RAIZ

echo Exportar la BBDD de la web de BICBERRILAN >> $FILE_INFORME_BACKUP
mysqldump --opt --password=$BBDD_PASSWD --user=$BBDD_USUARIO $BBDD > $BACKUP_FILE_SQL
SALIDA_MYSQL=$?

echo Comprimir el directorio raiz del backup >> $FILE_INFORME_BACKUP
$COMPRIMIR $FILE_BACKUP $DIR_WEB $BACKUP_FILE_SQL $ETC_FILE1 $ETC_FILE2 $ETC_FILE3 $ETC_FILE4 $ETC_DIR1 $ETC_DIR2 >> $FILE_INFORME_BACKUP
SALIDA_TAR=$?

echo $NUEVO > $FILE_ULTIMO

#COMANDO PARA ENVIAR CORREO
ENVIAR_MAIL=mailx -s $ASUNTO $EMAIL_INFORME  -- -f $EMAIL_FROM < $FILE_INFORME_BACKUP

if [ $SALIDA_TAR!=0 ]; then
        $ENVIAR_MAIL
else
        if [ $SALIDA_MYSQL!=0 ]; then
                $ENVIAR_MAIL
        fi
fi

Script informe de estado de un equipo

Este es el script de bash que utilizo como informe de estado de un servidor, lo podeis dejar programado para que se ejecute una vez al mes con cron o tambien ejecutarlo a mano y enviaroslo por mail.

#!/bin/bash
echo Nombre del equipo
echo ------------------
cat /etc/hostname

echo "                        "
echo "                        "
echo Version S.O.
echo ------------------
cat /etc/issue

#Version del kernel
echo "                        "
echo "                        "
echo Version Kernel
echo ------------------
uname -a

#Tiempo que lleva encendido el equipo
#y carga de CPU
echo "                        "
echo "                        "
echo Encendido desde...
echo ------------------
uptime

#Ocupacion de memoria
echo "                        "
echo "                        "
echo Memoria
echo ------------------
free -m

#Ocupacion de particiones de disco duro
echo "                        "
echo "                        "
echo Disco
echo ------------------
df -h

#Configuracion de Red
echo "                        "
echo "                        "
echo RED
echo ------------------
ifconfig;netstat -nr

#Bit de forwad habilitado?
echo "                        "
echo "                        "
echo Bit Forwarding:
echo ------------------
cat /proc/sys/net/ipv4/ip_forward

#Informacion Hardware de la CPU
echo "                        "
echo "                        "
echo CPU
echo ------------------
cat /proc/cpuinfo

#Correos encolados
echo "                        "
echo "                        "
echo Correos encolados
echo ------------------
mailq | grep Req

#Software instalado
echo "                        "
echo "                        "
echo Software instalado
echo ------------------
dpkg -l

Cambiar statusmap por defecto de nagios

El archivo que debemos editar para cambiar la apariencia por defecto del status map de nagios es "cgi.cfg" normalmente en debian o ubuntu se encuentra en /etc/nagios3, normalmente viene por defecto la opcion 5 pero yo prefiero la 3, de esta manera en vez de circular queda como un arbol.


nano /etc/nagios3/cgi.cfg
# DEFAULT STATUSMAP LAYOUT METHOD
# This option allows you to specify the default layout method
# the statusmap CGI should use for drawing hosts.  If you do
# not use this option, the default is to use user-defined
# coordinates.  Valid options are as follows:
#       0 = User-defined coordinates
#       1 = Depth layers
#       2 = Collapsed tree
#       3 = Balanced tree
#       4 = Circular
#       5 = Circular (Marked Up)
default_statusmap_layout=3

viernes, 8 de octubre de 2010

Habilitar snmp

Como instalar snmp en debian, ubuntu y RHEL 5

Instalamos los paquetes necesarios
aptitude install snmp snmpd

posteriormente editamos el archivo /etc/default/snmpd y eliminamos 127.0.0.1
de la variable SNMPDOPTS para que pueda ser consultado desde cualquier equipo, deberia quedar algo así:
SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -g snmp -I -smux -p /var/run/snmpd.pid'

Editamos el archivo /etc/snmp/snmpd.conf para que quede de la siguiente manera, esto habilita todas las consultas posibles para la comunidad public y private


#       sec.name  source          community
com2sec paranoid  default         public
com2sec readonly  default         public
com2sec readwrite default         private

####
# Second, map the security names into group names:

#               sec.model  sec.name
group MyROSystem v1        paranoid
group MyROSystem v2c       paranoid
group MyROSystem usm       paranoid
group MyROGroup v1         readonly
group MyROGroup v2c        readonly
group MyROGroup usm        readonly
group MyRWGroup v1         readwrite
group MyRWGroup v2c        readwrite
group MyRWGroup usm        readwrite

####
# Third, create a view for us to let the groups have rights to:

#           incl/excl subtree                          mask
view all    included  .1                               80
view system included  .1.3.6.1.2.1.1
#view system included  .iso.org.dod.internet.mgmt.mib-2.system

####
# Finally, grant the 2 groups access to the 1 view with different
# write permissions:

#                context sec.model sec.level match  read   write  notif
access MyROSystem ""     any       noauth    exact  all all all
access MyROGroup ""      any       noauth    exact  all all all
access MyRWGroup ""      any       noauth    exact  all all all

reiniciamos el servicio
/etc/init.d/snmpd restart

para probar ejecutamos:
snmpwalk -cpublic -v1 127.0.0.1 ifDesc

debería devolvernos algo como esto:
IF-MIB::ifDescr.1 = STRING: lo
IF-MIB::ifDescr.2 = STRING: eth0

jueves, 7 de octubre de 2010

Script para reiniciar servicios de Symantec Backup Exec 12.5

Script para reiniciar servicios de BackupExec 12.5, lo he probado en windows 2003 server, pero si sustituimos lo que hay entre las comillas por otro servicio  os parará otro servicio de manera que si el nombre de los servicios cambia con las versiones de symantec backup exec, tampoco hay mucho problema

Copiar el texto a continuación en un archivo de texto que llamaremos "reinicia_backup_exec.bat"


@echo off
color 0a

echo REINICIO DE BACKUP EXEC...
echo.
echo.

echo PARANDO SERVICIOS...
net stop "Backup Exec Agent Browser"
net stop "Backup Exec Remote Agent for Windows Systems"
net stop "Backup Exec Job Engine"
net stop "Backup Exec Server"
net stop "Backup Exec Device & Media Service"
echo.
echo.

echo INICIANDO SERVICIOS...
net start "Backup Exec Remote Agent for Windows Systems"
net start "Backup Exec Agent Browser"
net start "Backup Exec Job Engine"
net start "Backup Exec Server"
net start "Backup Exec Device & Media Service"
echo.
echo.

echo REINICIO DE BACKUP EXEC COMPLETO.
echo.
echo.

miércoles, 6 de octubre de 2010

Como hacer que un servicio arranque automaticamente en el inicio de sistema

Como hacer que un servicio arranque automáticamente en el inicio de sistema

esta probado en ubuntu y debian  

"servicio" es el script que debe existir en /etc/init.d
 
eliminar scripts de inicio 
update-rc.d –f "servicio" remove
rm –vf /etc/rc*.d/*"servicio"

volverlos a crear
update-rc.d "servicio" defaults


ejemplos:
update-rc.d –f nagios3 remove
rm –vf /etc/rc*.d/*nagios3
update-rc.d nagios3 defaults

update-rc.d –f apache2 remove
rm –vf /etc/rc*.d/*apache2
update-rc.d apache2 defaults

Firmar certificado de servidor Zimbra

Probado con zimbra 6 y ubuntu 8.04

Crear la solicitud de certificado en el servidor Zimbra
/opt/zimbra/bin/zmcertmgr createcsr comm -new -subject "/C=ES/ST=Provincia/L=Ciudad/O=MiEmpresa/OU=ES/CN=servidor.midominio.com" -subjectAltNames "webmail.midominio.com"

Firmar la solicitud con la CA de Microsoft
Entramos a la CA de Microsoft  http://localhost/certsrv y firmamos la solicitud con la plantilla de servidor web.

Nos descargamos el certificado nuevo en base 64 y le llamamos commercial.crt
desde la misma web de la ca tambien podemos descargar el certificado de la ca en base 64 y le llamamos commercial_ca.crt


Verificar los certificados
/opt/zimbra/bin/zmcertmgr verifychain /opt/zimbra/ssl/zimbra/
commercial/commercial.crt /opt/zimbra/ssl/zimbra/commercial/commercial_ca.crt
/opt/zimbra/bin/zmcertmgr verifycrt comm commercial.key commercial.crt commercial_ca.crt


Instalar los certificados
/opt/zimbra/bin/zmcertmgr deploycrt comm commercial.crt commercial_ca.crt

lunes, 4 de octubre de 2010

Configurar pnp4nagios

pnp4nagios es una utilidad bastante buena para realizar gráficas con rrdtools de los servicios que tengamos monitorizados en nuestro servidor nagios.


Instalar el compilador gcc
apt-get install gcc librrdp-perl librrds-perl rrdtool

Descargar pnp4nagios

Instalar pnp4Nagios
cd pnp4nagios-0.6.6
./configure --with-layout=debian
make all
make install
make install-webconf
make install-config

comentar las siguientes lineas en /etc/apache2/conf.d/pnp4nagios.conf si no deseáis autenticar
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /usr/local/nagios/etc/htpasswd.users
Require valid-user

En el fichero /etc/php5/apache2/php.ini asegurarse de que la opcion magic_quotes_gpc este off
magic_quotes_gpc = Off

Probar PNP4nagios en http://miipservidor/pnp4nagios/ debería salir la pagina de instalacion y al final un mensage en verde diciendo que todo esta ok

Deberíamos ocultar el fichero install.php para que no sea pública esta información
con renombrarlo a install.php.old basta

modificar el fichero /etc/nagios3/nagios.cfg
process_performance_data=1
host_perfdata_command=process-service-perfdata-file
service_perfdata_command=process-service-perfdata-file
añadir al fichero commands.cfg
define command{
      command_name    process-service-perfdata-file
      command_line    /usr/lib/pnp4nagios/libexec/process_perfdata.pl --bulk=/var/lib/pnp4nagios/perfdata/service-perfdata
}
define command{
      command_name    process-host-perfdata-file
      command_line    /usr/lib/pnp4nagios/libexec/process_perfdata.pl --bulk=/var/lib/pnp4nagios/perfdata/host-perfdata
}

Podemos hacer el acceso a pnp4nagios más sencillo si desde nagios añadimos el link dentro de cada definición de servicio que queramos monitorizar.
action_url  ../../pnp4nagios/graph?host=$HOSTNAME$&srv=$SERVICEDESC$

o dentro de la definición de host.
action_url  ../../pnp4nagios/graph?host=$HOSTNAME$

Reiniciar nagios3
/etc/init.d/nagios3 restart

Personalizar plantillas para pnp4nagios
http://docs.pnp4nagios.org/es/pnp-0.6/tpl

es posible que tambien os haga falta lo siguiente

comprobar modulos de PERL para rrdtool
perl -MRRDs -le 'print q(ok!)'


habilitar mod rewrite de apache
a2enmod rewrite;/etc/init.d/apache2 restart

Instalar plug-in VRML 3D

Si utilizáis nagios es posible que os haya hecho falta este u otro plug-in para ver el status-map en 3d.


Para los que no usan nagios pero alguna vez ha entrado en una flamante web de coches esperando ver un coche en 3D también sirve. XD


Este es el enlace para la descarga del plugin de navegador que utilizo yo.

domingo, 3 de octubre de 2010

Configurar postfix en ubuntu para enviar correo


Configurar postfix en ubuntu para enviar correo

Muchas veces es necesario enviar correo directamente desde un servidor, aunque el servidor no sea un servidor de correo, a veces hay que enviar alertas, etc... Para ello realizamos como root los siguientes pasos en un teminal ssh.

apt-get install postfix
dpkg-reconfigure postfix



ahora que esta configurado lo podemos probar instalando un cliente de correo

apt-get install mutt
mutt –s “este es un asunto de prueba” usuario@subdominio.dominio < /proc/cpuinfo

vmware converter: Como convertir una maquina de la red en una maquina virtual


Como convertir una maquina de la red en una maquina virtual

Obviamente la maquina debe estar encendida y debemos conocer un usuario y contraseña con permisos de administración.

Instalamos vmware converter en el equipo desde el cual vamos a coger la instalación y convertirla a maquina virtual.

Debemos modificar unas variables de entorno porque sino vmware converter da errores.

Mi PC->botón derecho->Propiedades
hacemos clic en variables de entorno
y modificamos la variable “TEMP” y la variable “TMP”
para que apunten a C:\TEMP como muestra la siguiente imagen
Aceptamos y ejecutamos vmware converter
Pulsamos el boton centrado de la parte baja de la ventana “Import Machine”
Pulsamos Siguiente
Pulsamos Siguiente
Pulsamos Siguiente
Introducimos la ip de la maquina que queremos hacer la imagen y también el usuario con permisos de administrador/contraseña. Pulsamos Siguiente.
Esperamos a que se conecte
Le decimos que desinstale el agente vmware después de importar la imagen
Seleccionamos las particiones a importar, en nuestro caso no importamos D: porque los datos no los guardamos en una maquina virtual.
Pulsamos siguiente.
Pulsamos siguiente
Pulsamos siguiente porque en la versión gratuita no nos permite elegir el tipo de maquina virtual
Ponemos el nombre de la maquina virtual y la carpeta de red donde la queremos guardar.
En “Connect As” debemos poner un usuario que tenga mismo nombre y contraseña en las dos maquinas.
Pulsamos siguiente
Seleccionamos que reserve todo el espacio a la vez, para mayor rapidez
Pulsamos Siguiente

Elegimos cuantas tarjetas de red queremos tener (en nuestro caso solo 1)
Pulsamos siguiente
Si deseásemos personalizar la maquina virtual o neutralizarla con sysprep deberíamos marcar la casilla (en nuestro caso, no).
Pulsamos siguiente.
Pulsamos Finalizar
Aquí podemos ver el progreso de importación.

Como administrar equipos linux mediante SSH y SCP

Este articulo creo que resulta muy interesante
http://es.tldp.org/LinuxFocus/pub/mirror/LinuxFocus/Castellano/January2003/article278.shtml


Para mi lo mas importante de este articulo es el apartado de intercambio de certificados "Conectándose a un ordenador remoto sin contraseña".

viernes, 1 de octubre de 2010

Habilitar SSH en vmware ESXi

El otro día me hizo falta habilitar ssh para acceder a un servidor ESXi de vmware (si el que es gratis), y me costo un poco encontrar como hacerlo. 

Yo lo he probado en la versión 4 de vmware ESXi.

  1. Lo primero accedemos físicamente a la maquina y pulsamos Alt+F1 en la consola.
  2. Escribimos unsupported en la consola, este texto no lo veremos mientras escribimos.
  3. Si hemos escrito bien el texto unsupported veremos la advertencia de Tech Support Mode. Además nos solicitara la contraseña del usuario root. La introducimos.
  4. Ahora deberíamos ver el prompt de root #, aprovechamos y editamos el archivo inetd.conf, para ello introducimos el comando vi /etc/inetd.conf
  5. Encontrar la linea que comienza con "#ssh", eliminar el carácter # y guardar el archivo. Para salvar el archivo y salir del editor vi basta con pulsar ESC :x, para salir sin guardar cambios ESC :q!
  6. Reiniciar servicios de la gestión con el comando /sbin/services.sh restart
  7. Deberías poder conectarte ya por ssh, sino prueba a reiniciar la máquina.


Esta información la he sacado de esta web http://www.yellow-bricks.com/2008/08/10/howto-esxi-and-ssh/