Toca recordar algunas cosas básicas de Active Directory, una de ellas que me parece importante es mejorar la política de contraseñas por defecto.
Para crear una politica (GPO) de contraseñas y asignarla a los equipos correspondientes se realizaaccediendo al "Administrador de políticas" que esta en "Herramientas Administrativas"
Creamos una GPO y la vinculamos a la "Unidad Organizativa" (OU) correspondiente.
En nuestro caso la hemos llamado "GPO seguridad de contraseñas" y configuramos las opciones que aparecen en las 2 siguientes imagenes como creamos conveniente.
Si intentamos conectarnos con una contraseña incorrecta más de 3 intentos, bloqueamos la cuenta durante 30 minutos.Así nos protegemos de ataques por fuerza bruta y el usuario lo nota lo menos posible.
Guardamos las últimas 5 contraseñas para que no se puedan repetir, requerimos complejidad (mayusculas minusculas y carácteres extraños), requerimos longitud mínima de la contraseña de 8 caracteres (cuantos más caracteres más dificil de descifrar), obligamos a cambiar la contraseña cada 60 días y una vez cambiamos la contraseña no la podemos volver a cambiar hasta el día siguiente.
En caso de crearla y vincularla porteriormente, lo realizamos de la siguiente manera.
Espero que os resulte de utilidad, espero vuestros comentarios...
Cajón desastre para administradores de redes y sistemas informáticos. Este blog es para encontrar aquellas cosas que haces una vez y luego te cuesta repetirlas.
jueves, 23 de diciembre de 2010
lunes, 13 de diciembre de 2010
Cómo habilitar external comands en nagios 3 de ubuntu
Paramos nagios
/etc/init.d/nagios3 stop
Cambiamos permisos
dpkg-statoverride --update --add nagios www-data 2710 /var/lib/nagios3/rw
dpkg-statoverride --update --add nagios nagios 751 /var/lib/nagios3
Iniciamos nagios
/etc/init.d/nagios3 start
/etc/init.d/nagios3 stop
Cambiamos permisos
dpkg-statoverride --update --add nagios www-data 2710 /var/lib/nagios3/rw
dpkg-statoverride --update --add nagios nagios 751 /var/lib/nagios3
Iniciamos nagios
/etc/init.d/nagios3 start
jueves, 9 de diciembre de 2010
Burg Manager: por un arranque más agradable
Hoy simplemente una recomendación por que no lo he probado pero apunta maneras y pinta bastante bien.
Se trata de cambiar el gestor de arranque y hacerlo "más bonito" (admito que el grub por defecto no es una preciosidad).
Añado unas imágenes (que en imágenes se entiende más rápido) para que veáis de lo que estoy hablando.
arriba es el software de configuración (burg-manager)
abajo diferentes ventanas de inicio con opciones de selección de arranque de un S.O. u otro
Os dejo un howto para instalarlo, por si os gusta...
http://www.sourceslist.eu/blog/linux-blog/burg-manager-installing-and-configuring-burg-has-never-been-so-easy/
viernes, 3 de diciembre de 2010
Cómo habilitar SNMP en vmware ESXi
Es tan simple como modificar un archivo y reiniciar servicios, para aquellos que no tengan habilitado acceso SSH les recomiendo que se lean este articulo de este mismo blog.
Editar el archivo
Editar el archivo
vi /etc/vmware/snmp.xml
<config><snmpSettings><enable>true</enable><communities>public</communities><targets>IP_del_pc_que_recive_traps_SNMP@161 public</targets></snmpSettings></config>
<config><snmpSettings><enable>true</enable><communities>public</communities><targets>IP_del_pc_que_recive_traps_SNMP@161 public</targets></snmpSettings></config>
Reiniciar servicios
/sbin/services.sh restart
/sbin/services.sh restart
Comprobar que funciona desde otro equipo
snmpwalk -v 2c -c public IP_del_servidor_ESXi uptime
martes, 30 de noviembre de 2010
Cómo instalar un servidor FTP en ubuntu
Existen varios servidores FTP para linux, proftp,vsftp,... yo siempre utilizo Very Secure FTP (vsftp) me gusta por que es muy sencillo de manejar y configurar.
Instalamos el soft necesario
sudo apt-get install vsftpd
Configuramos el servidor FTP
sudo cat /etc/vsftpd.conf
listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
ftpd_banner=Servidor FTP
listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
ftpd_banner=Servidor FTP
chroot_local_user=YES
secure_chroot_dir=/var/run/vsftpd
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
secure_chroot_dir=/var/run/vsftpd
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
Reiniciamos el servicio
sudo /etc/init.d/vsftpd restartOs pueden ayudar estos 2 scripts que añadi en septiembre
alta_usuarios_FTP.sh
baja_usuarios_FTP.sh
jueves, 11 de noviembre de 2010
Cómo configurar modem usb de EUSKALTEL Alcatel One Touch X200 en ubuntu
Hoy me toca instalar el modem Alcatel One Touch X200 en ubuntu. En este caso la version de ubuntu es la de netbook y en concreto la version 10.04 LTS.
Lo primero que debemos hacer es instalar el paquete usb-modeswitch
aptitude install usb-modeswitch
aptitude install usb-modeswitch
Creamos el archivo /etc/udev/rules.d/45-alcatelx200.rules e introducimos lo siguiente:
nano /etc/udev/rules.d/45-alcatelx200.rules
SUBSYSTEM=="usb", SYSFS{idProduct}=="f000", SYSFS{idVendor}=="1bbb", RUN+="/usr/sbin/usb_modeswitch"
SUBSYSTEM=="usb", SYSFS{idProduct}=="0000", SYSFS{idVendor}=="1bbb", RUN+="/sbin/modprobe usbserial vendor=0x1bbb product=0x0000"
SUBSYSTEM=="usb", SYSFS{idProduct}=="0000", SYSFS{idVendor}=="1bbb", RUN+="/sbin/modprobe usbserial vendor=0x1bbb product=0x0000"
Creamos el archivo /etc/usb-modeswitch.conf he introducimos el siguiente texto dentro del archivo
DefaultVendor= 0x1bbb
DefaultProduct= 0xf000
TargetVendor= 0x1bbb
TargetProduct= 0x0000
ejecutamos el comando
usb_modeswitch;lsusb
y veremos si hay un dispositivo T & A Mobile Phones con el ID 1bbb:0000 si aparece 1bbb:f000 es que todavia estamos en modo CD-ROM con sacar el pen y volverlo a introducir suele funcionar. (para comprobar ejecutar el comando lsusb).
podemos comprobar si el kernel tiene un modulo que de soporte al dispositivo
modinfo option | grep -i 1bbb
alias: usb:v1BBBp0000d*dc*dsc*dp*ic*isc*ip*
instalar el software de marcacion telefonica wvdial
apt-get install wvdial gnome-ppp
configurar la marcacion telefonica para utilizarlo con el operador EUSKALTEL
nano $HOME/.wvdial.conf
[Dialer Defaults]
Modem = /dev/ttyUSB2
ISDN = off
Modem Type = USB Modem
Baud = 460800
Init = ATZ
Init2 = ATQ0 V1 E1 +FCLASS=0
Init3 = AT+CGDCONT=1,"IP","internet.euskaltel.mobi"
Init4 =
Init5 =
Init6 =
Init7 =
Init8 =
Init9 =
Phone = *99#
Phone1 =
Phone2 =
Phone3 =
Phone4 =
Dial Prefix =
Dial Attempts = 1
Dial Command = ATM1L3DT
Ask Password = off
Password = EUSKALTEL
Username = CLIENTE
Auto Reconnect = off
Abort on Busy = off
Carrier Check = on
Check Def Route = on
Abort on No Dialtone = on
Stupid Mode = on
Idle Seconds = 300
Auto DNS = on
;Minimize = on
;Dock = on
añadir al usuario al grupo de usuarios que pueden realizar marcaciones
sudo adduser USERNAME dip sudo adduser USERNAME dialout
ejecutar gnome-ppp y pulsar en el conectar
por cierto no intenteis configurar el modem USB 3G con pin/clave en la tarjeta SIM, existe un comando GSM CPIN="clave", pero a mi no me funciona con wvdial o gnome-ppp
Etiquetas:
10.04,
como,
conexion,
euskaltel,
howto,
internet,
linux,
modem,
ubuntu,
usb,
usb_modeswitch
miércoles, 10 de noviembre de 2010
Cómo preguntar a un servidor DNS, utilización del comando nslookup
Normalmente usamos pocas funciones de los comandos importantes porque nos es mas cómodo recordar menos opciones, sin embargo a veces se puede ahorrar tiempo recordando el comando necesario.
Hoy me voy a centrar en el comando nslookup, que sirver para windows y linux, (dig no lo he visto en ningun windows, igual es que no he probado en todos ... ;-) )
midomino.com es el dominio que queremos consultar
servidordns es el servidor dns al que preguntamos los registros, cualquier servidor cache de nuertro ISP debería servir.
nslookup -type=any midominio.com servidordns
Registros tipo NAME SERVER
nslookup -type=ns midominio.com servidordns
Registros tipo START OF AUTHORITY
nslookup -type=soa midominio.com servidordns
Registros tipo TEXTO
nslookup -type=txt midominio.com servidordns
Registros tipo ADDRESS
nslookup -type=a www.midominio.com servidordns
Registros tipo POINTER
nslookup -type=ptr IP servidordns
Registros tipo MAIL EXCHANGER
nslookup -type=mx midominio.com servidordns
Registros tipo CANONICAL NAME
nslookup -type=cname midominio.com servidordns
Registros tipo LOCATION
nslookup -type=loc midominio.com servidordns
lunes, 8 de noviembre de 2010
Configurar servidor DNS cache
¿Que es un servidor cache DNS?
Es un servidor DNS que se utiliza como cache de nombres, todas las peticiones DNS que recibe, las resuelve y la almacena en memoria para no tener que volver resolver y por supuesto envia la resolucion al equipo que se la solicitó. Este tipo de servidor no realiza transferencias de zonas.
Instalar el servidor DNS
aptitude install bind9
editar la configuracion y añadir los DNS a los que preguntara todas las peticiones.
nano /etc/bind/named.conf.options
forwarders {
a.a.a.a; //primer servidor dns
b.b.b.b; //segundo servidor dns
};
Reiniciar el servicio DNS
/etc/init.d/bind9 restart
A partir de aqui los equipos de la red local que se pongan como servidor dns la ip de este servidor cache dns,
teoricamente navegaran algo mas rápido puesto que muchas de sus peticiones no llegaran a internet sino que
las resolverá directamente este servidor. He de decir que si se reinicia este servidor perdera toda la cache y la
empezará a crear de nuevo desde cero.
Como configurar ubuntu como servidor de IPs (DHCP server)
Instalamos el servidor de IPs
sudo apt-get install dhcp3-server
Configuramos el servidor para que sirva la configuracion IP que nos interese en cada caso
nano /etc/dhcpd.conf
//margenes de tiempo de prestamo y renovacion de IPs
default-lease-time 600;
max-lease-time 7200;
//Configuracion IP común de los equipos
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
option routers 192.168.1.254;
option domain-name-servers 192.168.1.201, 192.168.1.202;
option domain-name "midominio.local";
//WINS server
//option netbios-name-servers 192.168.1.1;
//Reserva de IPs
host laser-printer {
hardware ethernet 08:00:2b:4c:59:23;
fixed-address 192.168.1.222;
}
//Rango de IPs que reparte este servidor
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.1 192.168.1.99;
range 192.168.1.101 192.168.1.199; }
En el caso de tener mas de una tarjeta de red hay que configurar cuales de ellas escuchan solicitudes IP
sudo nano /etc/default/dhcp3-server
INTERFACES="eth0 wlan0"
Reiniciamos el servidor
/etc/init.d/dhcpd restart
miércoles, 3 de noviembre de 2010
Cómo pasar de ubuntu desktop a ubuntu netbook
Tengo un usb live de ubuntu con el que suelo instalar mis equipos desktop, sin embargo el otro dia realice la instalación y el usuario me pidio por favor que le instalase la version netbook. Pues bien encontre un paquete dentro del repositorio que realiza todo el trabajo por ti.
Si tenemos una distribucion de escritorio y deseamos pasar a una version netbook simplemente debemos instalar el paquete ubuntu-netbook-remix.
martes, 2 de noviembre de 2010
Como configurar la red en linux desde un terminal
Buenas seguro que más de una vez os pasará que estais conectados a un servidor, queris cambiar la ip o la puerta de enlace, etc pero no hay entorno gráfico.
En cualquier linux la ip y la mascara de red se configuran con el comando ifconfig. (eth0 es la tarjeta de red que se desea configurar)
ifconfig eth0 add 192.168.100.11 netmask 255.255.255.0para eliminar una ip de un interfaz
ifconfig eth0 del 192.168.100.11 netmask 255.255.255.0En cualquier linux la puerta de enlace se puede cambiar siempre de la siguiente manera:
route del default
route add default gw 192.168.1.1
En cualquier linux para mostrar todas las rutas del equipo (donde ponga UG es la puerta de enlace por defecto)
netstat -nr
En cualquier linux las dns se configuran en el archivo /etc/resolv.conf con el siguiente formato:
nameserver 192.168.1.101
nameserver 192.168.1.202
En ubuntu y debian podéis configurar casi todo en un único archivo /etc/network/interfaces:
auto lo
iface lo inet loopback
iface lo inet loopback
auto eth0
iface eth0 inet static
iface eth0 inet static
address 192.168.1.11
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 192.168.1.101 192.168.1.102
en este mismo archivo se añaden las rutas persistentes
up route add -net 192.168.201.103 netmask 255.255.255.0 gw 192.168.1.201 dev eth0
después de configurar este archivo debemos reiniciar el servicio networking
/etc/init.d/networking restart
Firewall Iptables
Para los que os apetezca enredar un poco y entender un poco mejor un firewall por dentro, como funciona, como se configura, iptables es el modulo firewall que viene integrado dentro de casi cualquier kernel linux.
Este es el diagrama más completo que he encontrado de como un paquete puede pasar por las diferentes tablas de iptables (http://upload.wikimedia.org/wikipedia/commons/8/8f/Diagrama_linux_netfilter_iptables.gif)
otros diagramas
Para los que no se atrevan a tan bajo nivel existen varias gestiones de entorno gráfico, pero la que se utiliza más (o la que mas me gusta) es firewall builder (apt-get install fwbuilder).
algunos enlaces que os serán de mucha utilidad.
Este es el diagrama más completo que he encontrado de como un paquete puede pasar por las diferentes tablas de iptables (http://upload.wikimedia.org/wikipedia/commons/8/8f/Diagrama_linux_netfilter_iptables.gif)
otros diagramas
- http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/6/html/Security_Guide/images/iptables_small.png
- http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/6/html/Security_Guide/images/iptables_small.png
- http://www.billauer.co.il/non-html/ipmasq-html2x.gif
Para los que no se atrevan a tan bajo nivel existen varias gestiones de entorno gráfico, pero la que se utiliza más (o la que mas me gusta) es firewall builder (apt-get install fwbuilder).
algunos enlaces que os serán de mucha utilidad.
- http://www.pello.info/filez/firewall/iptables.html
- http://www.kriptopolis.org/iptables-1
- http://www.kriptopolis.org/iptables-2
- http://www.kriptopolis.org/iptables-3
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.1Para 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
viernes, 15 de octubre de 2010
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
-----------------------------
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]
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]
Etiquetas:
10.04,
apt,
como,
do-release-upgrade,
howto,
linux,
servidor,
ssh,
ubuntu,
update,
update-manager
Ubicación:
Donostia-San Sebastián, España
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
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
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
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
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'
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
# 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
IF-MIB::ifDescr.2 = STRING: eth0
para probar ejecutamos:
snmpwalk -cpublic -v1 127.0.0.1 ifDescdebería devolvernos algo como esto:
IF-MIB::ifDescr.1 = STRING: loIF-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.
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
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/
/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
Etiquetas:
8.04,
bash,
ca,
certificado,
como,
configurar,
correo,
firmar,
howto,
linux,
navegador,
servidor,
ubuntu,
zimbra
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
habilitar mod rewrite de apache
a2enmod rewrite;/etc/init.d/apache2 restart
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
Etiquetas:
10.04,
como,
configurar,
data,
debian,
demonio,
howto,
linux,
nagios,
performance,
pnp4nagios,
servidor,
ubuntu
Suscribirse a:
Entradas (Atom)