<-[-]-[-]-[E]-[Z]-[K]-[R]-[A]-[C]-[H]-[O]-[ ]-[T]-[E]-[A]-[M]-[-]-[-]-> > Eko Magazine #04 Post Devaluation, La Odisea del Patacon 2002 < <----- [ El-Ju3z[] ] ---------------- [ el-ju3z@flashmail.com ] ------> > Configurando Cistron Radius < ... son unos mal0rs :(( Bueno, .. le rompi tanto las pelotas a ca0s que me dijo que podia escribir un articulo en Eko jeje, soy masoquista! algunos no saben como hacer para zafar de escribir algo y yo me entierro solo! Lo que voy a explicar a continuacion es la instalacion/configuracion de un Radius (Cistron Radius) para quienes gusten de hacerce un servidor de modems o una bbs bien 31337. Y la verdad que es bastante raro este packete, pero tiene las ventajas de sus multiples prestaciones y "no" es propietario. NOTA: para quienes no sepan que es un servidor radius, aclaro que es un soft de acceso por dial up para ofrecer servicios de internet u otros. Ademas cabe aclarar que se necesita un modem por cada cliente aunque depende tambien que sevicio queremos ofrecer (bbs, modem server, etc) CARACTERISTICAS ~~~~~~~~~~~~~~~ * permite gran cantidad de logins simultaneos * permite cantidad de usuarios infinitas * trae un proxy incorporado * permite el uso de programas externos a clientes logeados * corre en infinidad de sistemas (cisco, sunos, linux, unix...) * multiples prestaciones sobre multiples protocolos * etc, etc, etc (lo demas es como en todos los radius) NOTA: cuando digo programas externos, me refiero a que si nos conectamos por telefono a dicho nodo, automaticamente podemos acceder a una cuenta de email o lo que sea. La instalacion ocupa los siguiente ficheros y directorios: * /etc/raddb * /var/log/radius.log * /var/log/radacct/detail * /var/log/radwtmp * /var/log/radutmp * /var/run/radiusd.pid * /usr/local/sbin/checkrad * /etc/raddb/radiusd.conf * /etc/raddb/clients * /usr/adm/radacct * /usr/portmaster/radius/src * y algunas entradas en /etc/rc.d, /etc/services , inetd.conf.. En cuanto a los directorios que trae el packete son los siguientes: /debian---> archivos para crear instalaciones de Debian /doc------> documentacion variada /raddb----> ejemplos de archivos para /etc/raddb /scripts--> ejemplos de script para mantenimiento y uso /src------> codigo fuente /todo-----> documentacion en general ;) INSTALACION ~~~~~~~~~~~ Antes de instalarlo debemos configurarlo y compilarlo con lo siguiente: 1) creamos y damos permisos: chmod 700 /etc/raddb 2) creamos entradas en: /etc/services " bah, y obvio que tambien en /etc/inetd.conf " ------------------------------------------------ radius 1645/udp radiusd radacct 1646/udp ------------------------------------------------ 3) ejecutamos los siguientes mandatos (pero como root! heh) umask 22 mkdir /etc/raddb /usr/adm/radacct chmod 700 /etc/raddb /usr/adm/radacct 4) copiamos: /usr/portmaster/radius/raddb dentro de: /etc/raddb 5) compilamos desde : /usr/portmaster/radius/src 6) y por ultimo agregamos un script en rc.d para su arranque... quedaria algo como lo siguiente: ------------------------------- cut here ---------------------------------- #!/bin/sh # arranque del deamond #coloar en /etc/init.d/radiusd ############################### RADIUSD=/usr/local/sbin/radiusd WATCHER=/usr/local/sbin/radwatch DESC="Cistron radius server" NAME1=radiusd NAME2=radwatch ARGS="-y" test -f $RADIUSD || exit 0 case "$1" in start) if [ ! -f /var/log/radutmp ] then :>/var/log/radutmp fi echo -n "Starting $DESC: " if [ -x $WATCHER ] then echo -n "radwatch " start-stop-daemon --start --quiet --startas $WATCHER \ --pidfile /var/run/$NAME2.pid --exec $RADIUSD -- $ARGS else start-stop-daemon --start --quiet \ --pidfile /var/run/$NAME1.pid --exec $RADIUSD -- $ARGS fi echo "radiusd." ;; stop) [ -z "$2" ] && echo -n "Stopping $DESC: " if [ -x $WATCHER ] then [ -z "$2" ] && echo -n "radwatch " start-stop-daemon --stop --quiet \ --pidfile /var/run/$NAME2.pid -- exec $RADWATCH else start-stop-daemon --stop --quiet \ --pidfile /var/run/$NAME1.pid --exec $RADIUSD fi [ -z "$2" ] && echo "radiusd." ;; reload|force-reload) echo "Reloading $DESC configuration files." start-stop-daemon --stop --signal 1 --quiet --pidfile \ /var/run/$NAME1.pid --exec $RADIUSD ;; restart) sh /etc/init.d/radiusd stop quiet sleep 3 /etc/init.d/radiusd start ;; *) echo "Usage: /etc/init.d/$NAME1 {start|stop|reload|restart}" exit 1 esac exit 0 ------------------------------- cut here --------------------------------- /* El deamond en si, se encuentrea en /usr/local/sbin/radiusd */ Creo que es demasiado facil para nuestro gusto, eso seria toda la instalacion pero no se duerman que ahora viene la configuracion del server y los clientes NOTA: esto esta explicado lo mas brevemente posible, y puede suckear.. je CONFIGURACION DE CLIENTES ~~~~~~~~~~~~~~~~~~~~~~~~~ El portMaster, hostname y el shared secret se colocan en: /etc/raddb/clients separados por "tabulaciones". Las entradas de usuarios se depositan en: /etc/raddb/users ejemplo del fichero de clientes: Client Name Key ---------------- ---------- el-ju3z.ju3z.org un4m3 ezkracho.com.ar 3k0rul3z lamahacka.2.org lamahacka (incluimos el host/ip completo y la clave encriptada de usuarios permitidos, otra cosa interesante es que para identificar a los clientes, se pude usar el UID del mismo, o el ip asignado que tenga (en caso de tenerlo). Por ultimo lo mas importante, el fichero de usuarios y sus configuraciones (numero de telefono, direcciones de acceso, protocolos aceptados,etc...) solo debemos sacarles las almoadillas "#" a los servicios que usemos, porque trae muchas boludeces por default. #steve steve Auth-Type = Local, Password = "testing" Service-Type = Framed-User, Framed-Protocol = PPP, Framed-IP-Address = 172.16.3.33, Framed-IP-Netmask = 255.255.255.0, Framed-Routing = Broadcast-Listen, Framed-Filter-Id = "std.ppp", Framed-MTU = 1500, Framed-Compression = Van-Jacobsen-TCP-IP # Dial user Deg Auth-Type = Local, Password = "El-Ju3z[]" Service-Type = Callback-Login-User, Login-IP-Host = 0.0.0.0, Callback-Number = "5,4521234", Login-Service = Telnet, Login-TCP-Port = 23 #dialbk dialbk Auth-Type = Local, Password = "callme" Service-Type = Callback-Login-User, Login-IP-Host = timeshare1, Login-Service = PortMaster, Callback-Number = "9,1-800-555-1212" # para ppp ;) DEFAULT Framed-Protocol = PPP Framed-Protocol = PPP, Framed-Compression = Van-Jacobson-TCP-IP Para darnos cuenta las actividades del mismo o si alguien nos quiere h4x0r34r podemos ver /etc/raddb/logfile y chekear si todo esta en orden, o tambien se puede dedicar una terminal (tty) y redirigir el log a /dev/console para ver que esta sucediendo en tiempo real. (o usar "stdout" para la salida) Restaria explicar como setear ips diferentes para cada terminal o como hacer para usar un proxi, pero como dije antes, este software trae demasiadas cosas, y es imposible explicar todo :/ El metodo de coneccion para los clientes puede ser con el radius-client o con algun cliente comun de dial up ;) pero eso varia segun lo que pusimos nosotros en los ficheros de configuracion.. dudas o comentarios a: el-ju3z@flashmail.com (abstenerse a decirme lamer porque ando medio sensible, snif ..snif..) NOTAS FINALES: la ultima version que poseo es la version 1.5.4.3 y si mal no recuerdo el soft se lo pueden bajar de livington.com o desde: ftp://sunsite/.././/...?? Y por supuesto SUSE trae uno .. justamente CISTRON (citroen jeje) FE DE ERRATA: este write papp0r fue reenviado y re-writeado cuando me entere la existencia de un atroz y mortifero BUG (buaaajjaja) que afecta a las versiones 1.16.xxx , no solo de Cistron Radiusd, sino tambien de muchos otros como: Ascend Radius, Free Radius, GnuRadius, Icradius, Yard Radius, Xradius, y Lucent Radius... los cuales pueden ser atacados con una denegacion de servicio mediante la construccion maliciosa del atributo "vendor-specific" (vendor-specific es un atributo de Vendor-Length) y tambien existe otra bulneravilidad de D.o.S , para ser mas especifico, en la cadena que contiene el secreto compartido que se concatena con el pakete recibido sin controlar el tamanio del buffer :( (los c0derz de este soft son unos mal0rs) community.ezkracho.com.ar/el-ju3z > Eko Magazine #04 Post Devaluation, La Odisea del Patacon 2002 < > Configurando Cistron Radius < [EOF]