Servidor Radius en windows 2008 NPS

Configuración de Radius Rol NPS en windows 2008 y 2012.

Si el radius va a autenticar contra un dominio, debe formar parte del dominio activo antes de comenzar la instalación.

Se debe comenzar con la instalación del rol de servidor:

rad01

Se crean los nuevos clientes, con su secreto y su IP:

rad02

Se crea la directiva de red, que especifica qué usuarios del dominio van a poder acceder a la red

rad03

En la directiva de red, se especifican también los servidores DNS si procede.

rad04

Verificamos la directiva de solicitud de conexión para asegurar que siempre se permita el acceso de conexión

rad05

 

Los logs de conexiones se guardan en

C:\Windows\System32\LogFiles

Recomendamos el uso de log parser / log lizard para acceder a ellos.

Monitorización desde Nagios:

Probando el paquete freeradius-utils, hemos conseguido hacer un script que se ocupe de la monitorización en tiempo real del radius.

https://github.com/esterniclos/nagios_radius

Se basa en un cliente check_radius.sh que se debe instalar en la carpeta de nagios para plugins, y llamar a través de un servicio.

Para hacer pruebas en bash, se puede usar la siguiente línea:

echo "User-Name=$USER,User-Password=$PASSWORD" | radclient -4 $HOST auth $SECRET

 

La gestión de los logs en bash script.

Tener trazas es vital para encontrar los problemas cuando ocurren. Y ocurren. Vamos a ver hoy como hacer una gestión de creación, trazado y borrado de logs en nuestros propios scripts.

Donde se guardan los logs

Por defecto, los ficheros de log se guardan en la carpeta /var/log/X, siendo X el programa que los generó.

En mi caso, por problemas de permisos en la máquina donde los ejecuto, los guardo en /tmp.

Crear el fichero de log

Para tener más información, mis ficheros de log contienen en su nombre qué usuario es el que generó la traza.

LOG=/tmp/$APP.$(whoami).log

Mensajes de log

Cada mensaje de log, está identificado por la aplicación que lo generó, así como la hora minuto y segundo en que se generó la línea:

function log {

echo [$APP $(date +%H:%M:%S)] $@ >> $LOG

}

El uso de esta función sería:

log ‘mensaje de prueba 1. Ejecuto en directorio’ $PWD

Sentíos libros de añadir cualquier información más a la traza.

Borrar las trazas cuando exceden de un determinado tamaño.

No se puede llenar el sistema de archivos. Sobre todo cuando es una tarea periódica que ejecuta, por ejemplo todos los días.

Por ello, antes de empezar cada ejecución yo tengo una función de validar si el log ya existe, y, si excede un determinado tamaño, se borra y se empieza uno nuevo

function openLog {

LOG_LOG=$1

LOG_APP=$2

# If log is bigger than maxsize, delete it

if [ -e $LOG_LOG ] ; then

SIZE=$(stat -c %s $LOG_LOG)

if [ $SIZE -gt $MAXSIZE ] ; then

echo ‘borrando log’

rm -rf $LOG_LOG

fi;

fi;

# Create log if it doesn’t exist.

if [ ! -e $LOG_LOG ]; then

touch $LOG_LOG

fi;

}

# Create log if it doesn’t exist.

if [ ! -e $LOG ]

touch $LOG

}

Conclusiones

Es, por tanto, necesario comenzar siempre la ejecución de nuestros script abriendo el fichero de log, que lo creará si no existe o lo borrará si es demasiado grande.

Sentíos libres de utilizar y mejorar estas funciones ampliando su funcionalidad o la cantidad de información que vuelcan al sistema.