How To – Zeque.com.ar | Linux, Mikrotik, Noticias… https://www.zeque.com.ar Temas que me salvaron alguna vez, los comparto acá Fri, 23 Sep 2016 16:02:11 +0000 en-US hourly 1 https://wordpress.org/?v=6.5 Backup muy simple https://www.zeque.com.ar/backup-muy-simple/ https://www.zeque.com.ar/backup-muy-simple/#respond Fri, 23 Sep 2016 16:02:11 +0000 http://www.zeque.com.ar/?p=564 Me han preguntado varias veces como hacer un backup simple, usando alguna herramienta liviana para usar en una única PC.

Una manera muy simple es configurando una tarea programada utilizando las comillas de ejecución para definir el nombre del archivo con la fecha actual en un buen formato.

tar cjf /backups/`date -I`.tar.bz2 /var/www/misitio.com
rm -rf /backups/`date -I --date="10 days ago"`.tar.bz2

Si no encontrás las comillas de ejecución lo podés hacer de esta otra forma

tar cjf /backups/$(date -I).tar.bz2 /var/www/misitio.com
rm -rf /backups/$(date -I --date="10 days ago").tar.bz2

El comando date -I devuelve la fecha en formato YYYY-MM-DD por lo que nos quedará un archivo diario con el nombre 2016-09-23.tar.bz2

Luego aplicamos con date -I –date=”10 days ago” para que calcule la fecha de hace 10 días. De esta manera tendremos un backup diario manteniendo los últimos 10 días, para evitar que se llene el disco.

Obviamente se puede ir mejorando. Hacer que envíe un email si terminó el backup correctamente.

tar cjf /backups/$(date -I).tar.bz2 /var/www/misitio.com && echo "Backup OK"|mail miemail@dominio.com -s "Backup OK""

El && permite que si el tar finaliza correctamente envíe un email. También se puede hacer con || (doble pipe) para que envíe un email solo si el tar falló.

Esto es para algo muy simple, hacer backup en una PC y unos pocos directorios. Para cosas más complejas o múltiples equipos ya pueden utilizar herramientas como Bacula.

Saludos!

]]>
https://www.zeque.com.ar/backup-muy-simple/feed/ 0
Clonar un disco por red con ssh sin scp ni netcat https://www.zeque.com.ar/clonar-un-disco-por-red-con-ssh-sin-scp-ni-netcat/ https://www.zeque.com.ar/clonar-un-disco-por-red-con-ssh-sin-scp-ni-netcat/#comments Tue, 31 Mar 2015 23:35:53 +0000 http://www.zeque.com.ar/?p=524 Generalmente cuando uno tiene que clonar un disco utiliza cat o dd. Hace unos días tuve que clonar un dispositivo que contenía un linux muy limitado, en el cual no podía instalar nada, ni sacar el disco.

Algunas versiones de scp permiten utilizar archivos de bloque, esta en particular no me dejaba. Buscando en Internet encontré como copiar archivos mediante ssh a través de STDIN. Si se pueden copiar archivos se puede copiar un disco 😉
El comando se ejecuta en la máquina a clonar

cat /dev/sda | ssh root@remote_ip “cat >/root/sda.img”

Espero que les sirva.

Fuente: http://possiblelossofprecision.net/?p=444

]]>
https://www.zeque.com.ar/clonar-un-disco-por-red-con-ssh-sin-scp-ni-netcat/feed/ 2
Servidor VPN con PPTP https://www.zeque.com.ar/servidor-vpn-con-pptp/ https://www.zeque.com.ar/servidor-vpn-con-pptp/#respond Fri, 19 Dec 2014 17:46:46 +0000 http://www.zeque.com.ar/?p=516 En este how to explicaré como instalar un servidor de vpn compatible con Windows (PPTP)

El how-to está armado para Debian. Para Centos y otros descargarlo del sitio oficial http://poptop.sourceforge.net/

Instalar el servicio de pptpd

# apt-get install pptpd

Editar la configuración

# vi /etc/pptpd.conf

En este archivo se editan sólo dos parámetros.

La IP local, es la que se utilizará como puerta de enlace en el punto remoto. Esta IP tiene que ser de una red que no estemos utilizando.

localip 192.168.99.1

El rango de IP para asignar a los usuarios
remoteip 192.168.99.10-50

Agregar usuarios y claves

# vi /etc/ppp/chap-secrets

usuario1 pptpd clavedificil *
usuario2 pptpd muydificil 192.168.99.10

En la primer columna se define el usuario, en la segunda la clave, en la tercera el nombre del servicio, y por último la dirección IP a asignar. El * asignará la primera libre.

Reiniciar el servicio:

# /etc/init.d/pptpd restart

Luego en windows crear una nueva conexión con el asistente y listo!

Nota: en caso de tener el servidor detrás de un firewall es necesario redireccionar el puerto TCP 1723 y el protocolo GRE

Fuente: http://poptop.sourceforge.net/

]]>
https://www.zeque.com.ar/servidor-vpn-con-pptp/feed/ 0
How to port knocking (knockd) https://www.zeque.com.ar/how-to-port-knocking-knockd/ https://www.zeque.com.ar/how-to-port-knocking-knockd/#respond Fri, 12 Sep 2014 02:39:57 +0000 http://www.zeque.com.ar/?p=462 El port knocking es una técnica que se utiliza para mantener uno o más puertos cerrados hasta que se detecte una secuencia de “golpeado” de puertos en un orden determinado.

El servicio se llama knockd el cual se lo puede encontrar en varias distribuciones.

En el caso de Debian:

apt-get install knockd

Una vez instalado el servicio habrá que habilitarlo, ya que se encuentra deshabilitado de manera predeterminada.

vi /etc/default/knockd

#Cambiar 0 por 1
START_KNOCKD=1
#Si quiero que escuche en una interfaz determinada, lo defino en esta variable
KNOCKD_OPTS="-i eth1"

Editar la configuración para definir la secuencia de puertos y la configuración de iptables para habilitar o deshabilitar el puerto a ocultar.
La configuración predeterminada está pensada para un iptables con la política DROP de manera predeterminada.
Si no fuera tu caso y tuvieras distintas reglas de acceso con ACCEPT, y como última regla un DROP/REJECT, hay que cambiar el iptables -A por iptables -I, así la regla se agrega a la cabeza de las demás reglas.

vi /etc/knockd.conf

[openSSH]
        sequence    = 3050,4060,5070
        seq_timeout = 5
        command     = /sbin/iptables -I INPUT -s %IP% -p tcp --dport 22 -j ACCEPT
        tcpflags    = syn

[closeSSH]
        sequence    = 5070,4060,3050
        seq_timeout = 5
        command     = /sbin/iptables -D INPUT -s %IP% -p tcp --dport 22 -j ACCEPT
        tcpflags    = syn

Luego de grabar el archivo de configuración hay que reiniciar el servicio

/etc/init.d/knockd restart

Por último probar la secuencia de puertos. Se puede realizar ejecutando 3 telnets en orden, netcat, nmap, etc

En este caso utilizo nmap. La opción -r es para desactivar el random en el orden de los puertos, y que lo haga de manera secuencial

nmap -r -p 3050,4060,5070 10.0.0.139

tail -f /var/log/syslog

Sep 11 01:17:44 zeque knockd: 10.1.32.24: openSSH: Stage 1
Sep 11 01:17:44 zeque knockd: 10.1.32.24: openSSH: Stage 2
Sep 11 01:17:44 zeque knockd: 10.1.32.24: openSSH: Stage 3
Sep 11 01:17:44 zeque knockd: 10.1.32.24: openSSH: OPEN SESAME
Sep 11 01:17:44 zeque knockd: openSSH: running command: /sbin/iptables -I INPUT -s 10.0.32.24 -p tcp --dport 22 -j ACCEPT

Podemos ver que se ejecuto la regla de iptables -I aceptando la IP de origen.

Ahora utilizo la secuencia inversa para cerrar el puerto.

nc 10.0.34.139 5070 4060 3050

tail -f /var/log/syslog

Sep 11 01:30:53 zeque knockd: 10.0.32.24: closeSSH: Stage 1
Sep 11 01:30:53 zeque knockd: 10.0.32.24: closeSSH: Stage 2
Sep 11 01:30:53 zeque knockd: 10.0.32.24: closeSSH: Stage 3
Sep 11 01:30:53 zeque knockd: 10.0.32.24: closeSSH: OPEN SESAME
Sep 11 01:30:53 zeque knockd: closeSSH: running command: /sbin/iptables -D INPUT -s 10.0.32.24 -p tcp --dport 22 -j ACCEPT

Al hacer la secuencia de cierre, se puede ver que se ejecuta iptables -D para borrar la regla agregada anteriormente.

Fuente:
http://www.zeroflux.org/projects/knock/

]]>
https://www.zeque.com.ar/how-to-port-knocking-knockd/feed/ 0
Ocultar la versión BIND DNS https://www.zeque.com.ar/ocultar-la-version-bind-dns/ https://www.zeque.com.ar/ocultar-la-version-bind-dns/#respond Tue, 25 Feb 2014 03:26:32 +0000 http://www.zeque.com.ar/?p=422 Aquí verán como ocultar la versión del bind dns. Lo cual ayuda mucho para ataques automatizados que buscan algún bug en una versión particular.

Primero verificar la versión actual:

root@wn1:~# host -t txt -c chaos VERSION.BIND 127.0.0.1
Using domain server:
Name: 127.0.0.1
Address: 127.0.0.1#53
Aliases:
VERSION.BIND descriptive text "9.5.1-P1"

Editar la configuración del BIND
En Debian la configuración está en:

vi /etc/bind/named.conf.options

En RedHat la configuración está en:

vi /etc/named.conf

Agregar dentro de la sección “options ” lo siguiente:

version “”;

Reiniciar el servicio y volver a comprobar

root@wn1:~# host -t txt -c chaos VERSION.BIND 127.0.0.1
Using domain server:
Name: 127.0.0.1
Address: 127.0.0.1#53
Aliases:
VERSION.BIND descriptive text ""

Con esto quedará oculta la versión.

]]>
https://www.zeque.com.ar/ocultar-la-version-bind-dns/feed/ 0
How to NFS https://www.zeque.com.ar/how-to-nfs/ https://www.zeque.com.ar/how-to-nfs/#respond Thu, 24 Jan 2013 21:09:22 +0000 http://www.zeque.com.ar/?p=250 En este How-To vamos a configurar el servicio de NFS. Este ejemplo está armado sobre un Debian, pero aplica para otra distribuciones.

Datos utilizados:

IP Servidor: 192.168.0.1
IP Cliente: 192.168.0.222

Lo primero que tienen que hacer es instalar el siguiente paquete:

apt-get install nfs-kernel-server

Una vez instalado, vamos a crear un directorio llamado /shared en el cual vamos a poner los archivos a compartir. Ojo con los permisos del directorio, si tiene 755 y fue creado por root, no van a poder escribir. Para evitar el chmod 777 dar permisos de escritura a un grupo adecuado ej: users
Obviamente este directorio podría ser cualquier otro, incluso uno existente como /var/www Tranquilamente se pueden alojar los sitios en un servidor y accederlos por NFS desde otro, pero ya es otro tema.

La configuración se realiza editando el archivo /etc/exports

Dentro del mismo ingresan lo siguiente que está en negrita:

/shared 192.168.0.222(rw,sync,no_subtree_check)

#/Directorio_compartido ip ó red cliente(opciones)
#rw: habilita Lectura/Escritura
#sync: define que la escritura sea sincrónica, en otras palabras que cuando termina de escribir es porque terminó realmente 🙂
#en el caso de async al copiar un archivo vamos a aumentar la performance, pero aumenta el riesgo de perder datos ante un corte.
#no_subtree_check: deshabilita un leve chequeo de seguridad, si nos queremos quedar tranquilos se puede activar.
#no_root_squash: esta opción hace que si quisiéramos copiar algo con el ID de root desde el cliente, no le cambie el ID de root a nobody

Reiniciamos el servicio de nfs:
/etc/init.d/nfs-kernel-server restart

Del lado del cliente crearemos el directorio /mnt/shared y utilizamos el comando mount con los siguientes parámetros:

mount -t nfs 192.168.0.1:/shared /mnt/shared

mount -t Especifica el tipo de filesystem a utilizar, en este caso NFS, seguido de la IP_del_servidor:/directoriocompartidoenelservidor y por último donde lo quiero montar /mnt/shared

]]>
https://www.zeque.com.ar/how-to-nfs/feed/ 0