GNU/Linux – Zeque.com.ar | Linux, Mikrotik, Noticias… https://www.zeque.com.ar Temas que me salvaron alguna vez, los comparto acá Tue, 23 Apr 2024 04:05:44 +0000 en-US hourly 1 https://wordpress.org/?v=6.5 Bonding no funciona en VirtualBox https://www.zeque.com.ar/bonding-no-funciona-en-virtualbox/ https://www.zeque.com.ar/bonding-no-funciona-en-virtualbox/#respond Sun, 31 Mar 2024 18:44:02 +0000 https://www.zeque.com.ar/?p=637 Recuerdo que al dar clases de redes la parte más complicada era la de bonding. Tener una PC con VirtualBox con una única placa de red y dentro de ella emular un SO basado en GNU/Linux con 2 placas de red virtuales no funcionaba, solo se podía ver el estado comprobando que hizo el cambio de placa, usando active-backup, pero no el resultado final de que un ping, continuara funcionando.

El bonding también conocido como teaming, link agreggation o trunking es el método de agregar 2 o más interfaces de red para que funcionen como uno solo. Entre los modos están el active backup, una placa principal funcionando y la otra en stand-by; varios modos de balanceo de tráfico entre otras cosas

Para resolver este problema estuve mucho tiempo buscando soluciones, pero todas eran asociadas a un uso real del bonding en VirtualBox, o sea, dos placas físicas asociadas a dos placas virtuales dentro del SO virtual.

Hace muy poco me encontré en la situación de tener que volver a simularlo y luego de probar y probar encontré la solución.

Agregar 2 placas virtuales al SO guest, en modo Bridge, y en la configuración del VirtualBox, a ambas placas configurarle la misma MAC address. A disfrutar el bonding 🙂

Una vez hecho este cambio si ejecutas un ping contra el gateway, desconectas desde el VirtualBox el cable de una de las placas de red, se perderá 1  o más paquetes y luego continuará funcionando por la placa de red secundaria. Esto en el caso de usar el modo Active Backup, el cual es el más simple de poder ver el resultado.

]]>
https://www.zeque.com.ar/bonding-no-funciona-en-virtualbox/feed/ 0
Encriptar un directorio con eCryptfs https://www.zeque.com.ar/encriptar-un-directorio-con-ecryptfs/ https://www.zeque.com.ar/encriptar-un-directorio-con-ecryptfs/#respond Tue, 31 Mar 2020 21:36:52 +0000 http://www.zeque.com.ar/?p=617 Con eCryptfs es muy simple y seguro encriptar un directorio. Como su nombre lo indica es un FileSystem encriptado y cuenta con dos partes. La primera un directorio (ej: Private) el cual montaremos para acceder a los datos, y la segunda, un directorio que antepone un punto a su nombre (.Private) donde guardará los datos encriptados.
Como dice el man de eCryptfs, piensen en esto como una especie de gnupgFS.

Para instalarlo

apt-get install ecryptfs-utils

Configuración rápida

ecryptfs-setup-private

El modulo puede no cargarse automáticamente la primera vez, en tal caso:

modprobe ecryptfs

El setup nos preguntará dos cosas, primero la clave del usuario con el que estamos haciendo la instalación y segundo una clave que será encriptada con la clave del usuario y guardada en ~/.ecryptfs/wrapped-passphrase para encriptar los datos, lo recomendado es que sea autogenerada tan solo presionando enter.

root@zeque:~# ecryptfs-setup-private                                          
Enter your login passphrase [root]:
Enter your mount passphrase [leave blank to generate one]:

************************************************************************
YOU SHOULD RECORD YOUR MOUNT PASSPHRASE AND STORE IT IN A SAFE LOCATION.
  ecryptfs-unwrap-passphrase ~/.ecryptfs/wrapped-passphrase
THIS WILL BE REQUIRED IF YOU NEED TO RECOVER YOUR DATA AT A LATER TIME.
************************************************************************

Done configuring.

Testing mount/write/umount/read...
Inserted auth tok with sig [e46a3cea0bc35311] into the user session keyring
Inserted auth tok with sig [ac8f34ab19051431] into the user session keyring
Inserted auth tok with sig [e46a3cea0bc35311] into the user session keyring
Inserted auth tok with sig [ac8f34ab19051431] into the user session keyring
Testing succeeded.

Logout, and log back in to begin using your encrypted directory.

una vez terminado esto solo nos resta montar nuestro directorio

root@zeque:~# ecryptfs-mount-private
Enter your login passphrase:
Inserted auth tok with sig [e46a3cea0bc35311] into the user session keyring

En este momento podremos empezar a guardar archivos en ~/Private

Para desmontar la unidad, una vez desmontada no se verán nuestros datos, solamente un mensaje indicándonos como hacerlo.

root@zeque:~# ecryptfs-umount-private

root@zeque:~# ls -la Private/
total 24
dr-x------  2 root root  4096 Mar 31 17:11 .
drwx------ 32 root root 20480 Mar 31 17:21 ..
lrwxrwxrwx  1 root root    56 Mar 31 17:11 Access-Your-Private-Data.desktop -> /usr/share/ecryptfs-utils/ecryptfs-mount-private.desktop
lrwxrwxrwx  1 root root    52 Mar 31 17:11 README.txt -> /usr/share/ecryptfs-utils/ecryptfs-mount-private.txt

Así de simple! Por último esto puede realizarse con cualquier usuario, y no solo con el directorio Private.

Fuente:
man ecryptfs
https://wiki.archlinux.org/index.php/ECryptfs

 

 

 

 

 

]]>
https://www.zeque.com.ar/encriptar-un-directorio-con-ecryptfs/feed/ 0
DNS FlagDay https://www.zeque.com.ar/dns-flagday/ https://www.zeque.com.ar/dns-flagday/#respond Tue, 29 Jan 2019 14:50:17 +0000 http://www.zeque.com.ar/?p=611 Los desarrolladores de aplicaciones de DNS (BIND, PowerDNS, KNOT  y UNBOND) y sistemas de DNS públicos eliminarán ciertos parches provisorios el 1 de Febrero de 2019.
Para saber si tu DNS va a dejar de funcionar podés chequearlo acá

https://dnsflagday.net/index-es.html

En caso de verte afectado la solución más rápida es bajar la última versión disponible en el sitio de tu software de DNS y compilarlo, sobretodo si tu distro no es muy reciente.

]]>
https://www.zeque.com.ar/dns-flagday/feed/ 0
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
Seminario Gratuito Linux 10/03 https://www.zeque.com.ar/seminario-gratuito-linux-1003/ https://www.zeque.com.ar/seminario-gratuito-linux-1003/#comments Mon, 29 Feb 2016 22:41:39 +0000 http://www.zeque.com.ar/?p=558 El jueves 10/03 dictaré un seminario gratuito de GNU/Linux. Para más info http://www.educacionit.com/seminario-de-linux

]]>
https://www.zeque.com.ar/seminario-gratuito-linux-1003/feed/ 2
Guía rápida Vim https://www.zeque.com.ar/guia-rapida-vim/ https://www.zeque.com.ar/guia-rapida-vim/#respond Wed, 29 Jul 2015 01:47:34 +0000 http://www.zeque.com.ar/?p=540 En esta guía rápida verán los comandos más utilizados y algunos no tan conocidos en el editor VIm.
Primero hay que saber que el Vim tiene distintos modos de funcionamiento. Por un lado el modo comandos, y por otro el modo edición.
En el modo Comandos cada letra que pulsemos será un comando (copiar, cortar, mover, borrar, marcar, etc)
En el modo Edición (Insert), podremos escribir de manera normal. Para salir del modo Edición y volver al modo comando se pulsa la tecla ESC

Modo Insert
i                  insert
I                  insert al principio de la linea
O                  insert linea arriba
o                  insert linea abajo
a                  insert +1 final de linea
A                  insert al final de la linea

Modo comandos
dd                 corta/borra
3dd                corta/borra 3 líneas
yy                 copia linea
2yy                copia 2 lineas
p                  pega
P                  pega en la linea de arriba
2p                 pega 2 veces
u                  Undo (deshacer)
ctrl r             Redo (rehacer)
guu                convierte la línea a minúscula
gUU                convierte la línea a mayúscula

Selección
v                  modo visual (lo seleccionado se puedo copiar, borrar, etc)
ctrl v             Selección en bloque visual (Se pueden seleccionar columnas)

Movimiento
h                  izquierda
l                  derecha
j                  abajo
k                  arriba
:10                posiciona el cursor en la línea 10

Grabar
ZZ                 graba y sale
:x                 graba y sale
:w                 graba
:w!                fuerza la grabación
:w archivo         graba "guardar como"
:q                 sale si no hubo modificaciones
:wq                graba y sale
:q!                sale sin grabar

Otros en Modo Edición
ctrl n             autocompleta palabra o muestra lista para completar

Otros
ctrl g             información de línea
zf                 Al marcar un texto con v, pulsar zf se compacta
zd                 Descompacta las líneas compactadas con zf
:sort              ordena el texto seleccionado
:set number        pone numero de linea
:split archivo     divide la pantalla (ctrl ww para pasar)
:set number        numeros de linea
>>                 tabula
:set si            smart indent (tabula automaticamente al abrir y cerrar {})
:set ts=2          Visualiza TAB como 2 posiciones
:h acción          Ayuda sobre una acción (Ej :h undo)
:%s/viejo/nuevo/g  Reemplaza "viejo" por "nuevo", todas las coincidencias
/patron            Busca la palabra "patron" (n para siguiente N para el anterior)

También como ayuda pueden ejecutar desde la consola el comando vimtutor, el cual es un tutorial de uso del vim.

]]>
https://www.zeque.com.ar/guia-rapida-vim/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
Limitar consultas en DNS BIND 9.10 https://www.zeque.com.ar/limitar-consultas-en-dns-bind-9-10/ https://www.zeque.com.ar/limitar-consultas-en-dns-bind-9-10/#respond Thu, 28 Aug 2014 21:19:21 +0000 http://www.zeque.com.ar/?p=482 A partir de BIND 9.10 se incluye la función RRL (Response Rate Limiting) que nos sirve para limitar por host la cantidad de respuestas por segundo.

A partir de BIND 9.10 se incluye la función RRL (Response Rate Limiting) que nos sirve para limitar por host la cantidad de respuestas por segundo.

Esto se utiliza para evitar algunos tipos de ataque de DNS DDoS.

Para configurarlo hay que editar la sección “options” dentro de la configuración del BIND.

En el caso de Debian hay que editar

/etc/bind/named.conf.options

options {
 directory "/var/cache/bind";
 version "";
 transfer-format one-answer;
 notify yes;
 rate-limit {
   responses-per-second 5;
   log-only yes;
  };
};

En este ejemplo se agrega la opción log-only yes el cual sólo guardará en el log lo que se hubiera limitado, pero no hará ningún tipo de limitación. Esto es muy útil para poder verificar antes de implementarlo que no se esté limitando nada que nos pueda afectar.

Una vez que estamos seguros cambiamos la opción a log-only no para que comience a limitar las respuestas.

Desde la versión 9.9.4 ya se dispone de esta funcionalidad, pero viene desactivada. Hay que habilitarla en la compilación.

Fuente: http://kb.isc.org/article/AA-00994/0

 

]]>
https://www.zeque.com.ar/limitar-consultas-en-dns-bind-9-10/feed/ 0
Problema con Vim y Putty, no funciona el teclado numérico, aparecen letras https://www.zeque.com.ar/problema-con-vim-y-putty-no-funciona-el-teclado-numerico-aparecen-letras/ https://www.zeque.com.ar/problema-con-vim-y-putty-no-funciona-el-teclado-numerico-aparecen-letras/#respond Tue, 24 Jun 2014 04:22:08 +0000 http://www.zeque.com.ar/?p=471 En algunas ocasiones al acceder a través del PuTTy no funciona el teclado numérico, y aparecen letras en vez de números.
Para solucionarlo hay que tildar la opción “Disable application keypad mode”

En la siguiente imagen se puede ver la opción a tildar para evitar este molesto inconveniente.

putty1

]]>
https://www.zeque.com.ar/problema-con-vim-y-putty-no-funciona-el-teclado-numerico-aparecen-letras/feed/ 0
Buscar y borrar archivos con find https://www.zeque.com.ar/buscar-y-borrar-archivos-con-find/ https://www.zeque.com.ar/buscar-y-borrar-archivos-con-find/#comments Fri, 14 Mar 2014 16:02:07 +0000 http://www.zeque.com.ar/?p=450 Con el comando find no solo podremos buscar de manera avanzada archivos (por usuario, permiso, fecha de modificación, etc), sino también tomar una acción como borrar, mover, etc.

Ejemplo para borrar todos los achivos .tmp en todo el disco

find / -name "*.tmp" -delete

Borrar todos los archivos que tengan más o menos  N días

#Su fecha de creación mayor a 14 días
find /directorio -ctime +14 -delete
#Su fecha de modificación menor a 20 días
find /directorio -mtime -20 -delete

Mover todos los .mp3 a un directorio

#Busca dentro de home y mueve a /directorio-de-mp3s
#-iname es para insensitive, que no distinga mayúsculas/minúsculas
#OJO la línea termina con \;
find /home -iname "*.mp3" -exec mv {} /directorio-de-mp3s \;

Buscar y Borrar todos los archivos de un usuario

find / -user usuario1 -delete

Se pueden combinar múltiples parámetros como user, ctime y name

]]>
https://www.zeque.com.ar/buscar-y-borrar-archivos-con-find/feed/ 1
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
Cantidad de conexiones por Puerto https://www.zeque.com.ar/cantidad-de-conexiones-por-puerto/ https://www.zeque.com.ar/cantidad-de-conexiones-por-puerto/#respond Thu, 19 Sep 2013 19:32:51 +0000 http://www.zeque.com.ar/?p=357 Con este script puede saber la cantidad de conexiones por IP a un puerto

#X.X.X.X es la IP de nuestra interfaz pública
#YY es el puerto
#El script solo mostrará aquellas IPs con más de 10 conexiones


netstat -plan|grep X.X.X.X:YY|awk {'print $5'}| cut -d':' -f 1|sort|uniq -c|sort -nk 1 | awk '{if ($1 > 10) print "IP:\t" $2 "\t Conexiones: " $1 }'
Ejemplo:

Si mi servidor tiene configurada la IP 200.0.0.1 y quiero ver la cantidad de conexiones en el puerto 80, ejecuto lo siguiente:


netstat -plan|grep 200.0.0.1:80|awk {'print $5'}| cut -d':' -f 1|sort|uniq -c|sort -nk 1 | awk '{if ($1 > 10) print "IP:\t" $2 "\t Conexiones: " $1 }'


 

]]>
https://www.zeque.com.ar/cantidad-de-conexiones-por-puerto/feed/ 0