Bueno creo que this is the end, and puedo decir que hay muchas cosas que me falto publicar, pero lo mas seguro es que haga algunos documentos mas completos y como ultimo mensaje solo les digo "Luchen siempre por sus dreams" tarde o temprano llegaran.
Estoy bien con mi familia y eso es lo mejor que pueda existir.
Yo ahora tomare el camino para trabajar de lleno en la seguridad y aplicar todo lo que he aprendido en la vida ;)
So long!
domingo 3 de abril de 2011
Respaldo FTP Servidor web
Ahora vamos ha realizar la misma rutina de respaldo pero mediante ftp :) ahora podemos guardarlo en un servidor Windows sin problemas
#file de respaldo
fecha=`date +%Y%m%d`
pathi="/home/soporte"
cd $pathi
if [ -f *.tar.gz ]; then
echo "ya existe un archivo"
rm *.tar.gz
fi
tar -czf wwwnok-$fecha.tar.gz /var/www /var/lib /etc &> /dev/null
logger "** Realizando transferencia **"
HOST='192.168.0.232'
USER='soporte.mexico'
PASSWD='Samba3%2.Fidelitymkt'
FILE="wwwnok-"$fecha.tar.gz
ftp -v -n $HOST <<END_SCRIPT
user $USER $PASSWD
binary
cd /Respaldos_servidores/servidores/nokia
put $FILE
quit
END_SCRIPT
logger "** Transferencia del backup finalizada **"
#file de respaldo
fecha=`date +%Y%m%d`
pathi="/home/soporte"
cd $pathi
if [ -f *.tar.gz ]; then
echo "ya existe un archivo"
rm *.tar.gz
fi
tar -czf wwwnok-$fecha.tar.gz /var/www /var/lib /etc &> /dev/null
logger "** Realizando transferencia **"
HOST='192.168.0.232'
USER='soporte.mexico'
PASSWD='Samba3%2.Fidelitymkt'
FILE="wwwnok-"$fecha.tar.gz
ftp -v -n $HOST <<END_SCRIPT
user $USER $PASSWD
binary
cd /Respaldos_servidores/servidores/nokia
put $FILE
quit
END_SCRIPT
logger "** Transferencia del backup finalizada **"
Crontan tareas automaticas
El archivo de /etc/crontab nos sirve para ejecutar tareas de forma automatica en este caso pondremos el script que hicimos de respaldo :).
Cada entrada en el archivo de crontab comienza con 5 campos que especifican cuando se debe ejecutar el comando (minuto, hora, dia del mes, mes y dia de la semana).
Podemos colocar un asterisco en lugar de un numero de esta forma cron lo imterpreta como un comodin que representa todos los valores posibles. En el campo dia de la semana se puede usar 7 o 0 para representar al domingo.
Aqui les dejo un ejemplo
10 14 * * 1,2,3,4,5 root /bin/sh /etc/init.d/respal.sh
Esta linea ejecutara el programa respal.sh a las 14:10 h de cualquier dia (numerico) y cualquier mes, los dias de la semana L-V (1,2,3,4,5), como el usuario root con el interprete /bin/sh.
Saludos!!!!
Cada entrada en el archivo de crontab comienza con 5 campos que especifican cuando se debe ejecutar el comando (minuto, hora, dia del mes, mes y dia de la semana).
Podemos colocar un asterisco en lugar de un numero de esta forma cron lo imterpreta como un comodin que representa todos los valores posibles. En el campo dia de la semana se puede usar 7 o 0 para representar al domingo.
Aqui les dejo un ejemplo
10 14 * * 1,2,3,4,5 root /bin/sh /etc/init.d/respal.sh
Esta linea ejecutara el programa respal.sh a las 14:10 h de cualquier dia (numerico) y cualquier mes, los dias de la semana L-V (1,2,3,4,5), como el usuario root con el interprete /bin/sh.
Saludos!!!!
sábado 2 de abril de 2011
Respaldos servidores GNU/Linux
En este script de respaldo usaremos ssh para hacer un respaldo de un servidor web excluyendo la carpeta de secc/premios en /var/www.
Como debe ser todo automatizado necesitamos que nuestro equipo se conecte al servidor de respaldo (en este caso debe GNU/Linux tambien).
Primero vamos a utilizar el comando
SRV-WEB02:~# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
62:7c:0b:96:a6:03:fe:7f:c8:e4:1b:c8:25:47:f8:6a root@SRV-WEB02
Esto va a generar el archivo .ssh/id_rsa, este archivo lo debemos de copiar en el sistema remoto.
SRV-WEB02:~# ls .ssh/
id_rsa id_rsa.pub known_hosts
SRV-WEB02:~# scp .ssh/id_rsa soporte@192.168.0.200:.ssh/authorized_keys
Con esto ya tendremos la conexion lista para cuando requiera la conexion.
#!/bin/bash
#respal.sh
#nombre
fecha=`date +%Y%m%d`
#ruta local para generar el archivo de respaldo
ruta="/home/soporte"
cd $ruta
#compureba la existencia de algun respaldo anterior y lo elimina
if [ -f *.tar.gz ]; then
echo "ya existe un archivo"
rm *.tar.gz
fi
#Generamos el archivo tar.gz que incluye el respaldo
tar -czf wwwtel-$fecha.tar.gz /var/www /var/lib /etc --exclude secc/premios
&> /dev/null
#Copia el archivo al servidor remoto
scp wwwtel-$fecha.tar.gz soporte@192.168.0.200:/home/soporte/telcel
rm wwwtel-$fecha.tar.gz
Creo que solo faltaria agregar la rutina al crontab para que se ejecute a diario por ejemplo.
Como debe ser todo automatizado necesitamos que nuestro equipo se conecte al servidor de respaldo (en este caso debe GNU/Linux tambien).
Primero vamos a utilizar el comando
SRV-WEB02:~# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
62:7c:0b:96:a6:03:fe:7f:c8:e4:1b:c8:25:47:f8:6a root@SRV-WEB02
Esto va a generar el archivo .ssh/id_rsa, este archivo lo debemos de copiar en el sistema remoto.
SRV-WEB02:~# ls .ssh/
id_rsa id_rsa.pub known_hosts
SRV-WEB02:~# scp .ssh/id_rsa soporte@192.168.0.200:.ssh/authorized_keys
Con esto ya tendremos la conexion lista para cuando requiera la conexion.
#!/bin/bash
#respal.sh
#nombre
fecha=`date +%Y%m%d`
#ruta local para generar el archivo de respaldo
ruta="/home/soporte"
cd $ruta
#compureba la existencia de algun respaldo anterior y lo elimina
if [ -f *.tar.gz ]; then
echo "ya existe un archivo"
rm *.tar.gz
fi
#Generamos el archivo tar.gz que incluye el respaldo
tar -czf wwwtel-$fecha.tar.gz /var/www /var/lib /etc --exclude secc/premios
&> /dev/null
#Copia el archivo al servidor remoto
scp wwwtel-$fecha.tar.gz soporte@192.168.0.200:/home/soporte/telcel
rm wwwtel-$fecha.tar.gz
Creo que solo faltaria agregar la rutina al crontab para que se ejecute a diario por ejemplo.
FTP jail BSD
Basicamente serian los mismos pasos que en GNU/Linux lo unico que cambia es la creacion del usuario.
El comando que usamos aqui es
pw group add colombia
pw user add col -g colombia -d /usr/local/apache2/htdocs -s /usr/sbin/nologin
Saludos!!!
El comando que usamos aqui es
pw group add colombia
pw user add col -g colombia -d /usr/local/apache2/htdocs -s /usr/sbin/nologin
Saludos!!!
FTP jail GNU/Linux
Para instalar un servidor ftp en GNU/Linux y tener a nuestros usuarios restringidos a cierto directorio del cual no puedan subir podemos hacer de la siguiente manera con proftpd:
Primero instalamos proftpd
Despues habilitamos estas directivas en el archivo de configuracion proftpd.conf
# Use this to jail all users in their homes
DefaultRoot ~
# Users require a valid shell listed in /etc/shells to login.
# Use this directive to release that constrain.
RequireValidShell off
Ahora creamos los usuarios, digamos que el usuario lo solicito el personal de otro pais donde requieren acceso
groupadd chile
useradd -g chile adan
usermod -s /bin/false adan
usermod -d /homedirectory adan
En este punto debemos agregar el usuario adan al grupo de ftp, esto se puede realizar editando el archivo /etc/group
En mi archivo aparece asi
ftp:x:118(puede ser otro numero para ustedes):
Al agregarlo nos queda
ftp:x:118:adan
Con esto nos permite las conexiones al servidor por el puerto 21 con jail y por el puerto 22 con el mismo usuario les marcaria error.
Si aun permite la conexion del usuario al puerto 22 y no aplica el jail necesitamos verificar la shell del usuario, la cual en ocasiones puede quedar como :
usermod -s /bin/nologin adan
Es todo por el momento :)
Primero instalamos proftpd
Despues habilitamos estas directivas en el archivo de configuracion proftpd.conf
# Use this to jail all users in their homes
DefaultRoot ~
# Users require a valid shell listed in /etc/shells to login.
# Use this directive to release that constrain.
RequireValidShell off
Ahora creamos los usuarios, digamos que el usuario lo solicito el personal de otro pais donde requieren acceso
groupadd chile
useradd -g chile adan
usermod -s /bin/false adan
usermod -d /homedirectory adan
En este punto debemos agregar el usuario adan al grupo de ftp, esto se puede realizar editando el archivo /etc/group
En mi archivo aparece asi
ftp:x:118(puede ser otro numero para ustedes):
Al agregarlo nos queda
ftp:x:118:adan
Con esto nos permite las conexiones al servidor por el puerto 21 con jail y por el puerto 22 con el mismo usuario les marcaria error.
Si aun permite la conexion del usuario al puerto 22 y no aplica el jail necesitamos verificar la shell del usuario, la cual en ocasiones puede quedar como :
usermod -s /bin/nologin adan
Es todo por el momento :)
Suscribirse a:
Entradas (Atom)