lunes, 24 de abril de 2017

Recomendaciones para Domains Controlers Windows Server 2012 en entornos virtualizados



En este artículo comparto mis recomendaciones para el despliegue de Controladores de Dominios Windows Server 2012 en entornos virtualizados.

Estas recomendaciones son basadas en mi experiencia personal y en las recomendaciones de la documentación de Microsoft al respecto. En mi caso, mi entorno de virtualización está construido sobre Proxmox 4.2

 RECOMENDACIONES:
  • Tener 2 controladores de dominio (DC), uno físico y otro virtual, ambos deben ser Catalogo Global (GC).
  • Los roles RIP y PDC ubicarlos en el DC físico, el rol de maestro de infraestructura en el DC virtualizado
  • Programar salvas semanales del System State en el DC físico utilizando la herramienta NTBackup.
  • Programar salvas semanales de la Máquina Virtual (VM) del DC virtualizado desde Proxmox.

miércoles, 15 de febrero de 2017

Control de acceso al DHCP en router WIFI usando el firmware dd-wrt



En este pequeño articulo muestro como limitar la conexión al DHCP de un router WIFI TP-Link TL-WR1043ND. 

El problema era el siguiente: Tenia q agregar un Punto de Acceso WIFI en mi red local; dicha red local cuenta con un server DHCP y no quería que las PC de la red local contactaran el DHCP del AP WIFI. Las razones pueden ser varias, en mi caso el DHCP de la LAN entrega un rango ip en una subred y el DHCP del AP en otra; por supuesto como no hay una VLAN pasa lo que no debía. 

Pero al grano. Existe un proyecto maravilloso que provee una distribución Linux empotrada para router WIFI (http://www.dd-wrt.com/). Este firmware provee características avanzadas a los router WIFI soportados, como por ejemplo la posibilidad de escribir reglas IPTABLES.

Como casi todos los router WIFI, este soporta un filtro MAC para establecer las MAC de los dispositivos que pueden conectarse.

Por suerte las direcciones MAC establecidas en el filtro se guardan en /tmp/ath0_accept
Por tanto, mi solución al problema consistió en modificar el firewall del router para solo permitir tráfico de entrada a los dispositivos listado en el filtro MAC.

El script iptables que escribi fue el siguiente.

#!/bin/sh

# Borrando las reglas previas
iptables -F
iptables -X
iptables -Z

# Estableciendo políticas, DROP por defecto para las INPUT
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

iptables -I INPUT -i lo -j ACCEPT
iptables -I OUTPUT -o lo -j ACCEPT

insmod xt_mac
insmod ipt_mac

# En /tmp/ath0_accept estan las mac del filtro mac q tienen acceso al ap
# Debe incluirse tambien la mac de la pc q podran administrar el ap

for dirfisica in $( cat /tmp/ath0_accept )
do
iptables -I INPUT -m mac --mac-source $dirfisica -j ACCEPT
done

Luego de acceder a la consola web de administración del router, vamos a Administración -> Diagnósticos y pegamos el código del script en la caja de comandos, luego hacer click en el botón “Guardar Firewall”. Este script se ejecutara la próxima vez que reiniciemos el router. 

Despues de esto podemos acceder via SSH al router y comprobar escribiendo nvram get rc_firewall, también podemos escribir iptables -L -n para ver las reglas iptables aplicadas.

Finalmente cabe mensionar que cada vez que ingresemos una MAC nueva en el filtro MAC se debe reiniciar el router o de alguna manera ejecutar nuevamente el script para que la nueva MAC pueda acceder…

lunes, 16 de enero de 2017

Script para migrar usuarios del sistema (Ubuntu 12.04) a servidor RADIUS (Freeradius/Daloradius)



En esta entrega voy a compartir un script que permite migrar los usuarios Linux (Ubuntu 12.04) a un servidor Freeradius.
Este escenario se aplica al caso que tengamos autentificando un servicio como por ejemplo el RAS con usuarios del sistema y necesitamos pasar la autentificación a RADIUS. Como se podrá observar este script tiene por objetivo que el proceso de migración sea trasparente para el usuario remoto que va a autentificarse.
Suponemos que tenemos instalado freeradius con soporte para mySQL, además de Daloradius para administración gráfica.
Previamente debemos copiar el archivo /etc/shadow desde el servidor RAS al servidor freeradius en la misma carpeta donde ejecutaremos el script y lo renombraremos como shadow.txt. Este archivo contiene los usuarios y password encriptados del sistema Linux; aprovecharemos el atributo radius Crypt-Password para insertar el password encriptado del usuario en la BBDD mysql de freeradius. Si no queremos importar determinado usuario sencillamente eliminamos la línea que lo contiene en el fichero shadow.txt, después de copiado.

EL script

#!/bin/sh
# Este script lee usuarios del fichero shadow y los inserta en la bd
# de freeradius/Daloradius.
# fichero q contendra las sentencias SQL
filebase="sql-insert-users.txt"
# Eliminanmos el fichero si existiera previamente
rm -f $filebase
# Creamos el fichero
touch $filebase
users=$(cat shadow.txt)
for u in $users
do
# Tomamos la primera columna q contienes el username
usuario=`echo $u|cut -d: -f1`
# Tomamos la segunda columna q contiene el password, el separador entre columnas es :
pass=`echo $u|cut -d: -f2`
echo "Creando usuario -> usuario=$usuario passw=$pass"
echo "INSERT INTO radcheck (username,attribute,op,value) VALUES ('$usuario','Crypt-Password','==','$pass');" >> $filebase
# la tabla userinfo es agregada por Daloradius al squema de freeradius, si no usamos Daloradius 
# comentar la sgte linea
echo "INSERT INTO userinfo (username) VALUES ('$usuario');" >> $filebase
done
# user y pass de mysql con derecheros a insertar en la tabla radcheck y/o userinfo en la BD radius
mysql --user=root --password=passroot radius < $filebase