Document's Title: firewall mar oct 29 23:34:35 CET 2003 Conociendo las herramientas mas basicas de seguridad en un sistema linux. autor[1] Valid HTML 4.01![2]Por xento figal © -------------------------------------------------------------- -Introduccion: -Nota importante: -Software: -Servicios y/o demonios del sistema: -Nmap:-Nessus: -Iptables: -Politicas recomendadas: -Un script de ejemplo: -Portsentry -Snort -Bastille -Iptraf -Consideraciones basicas. -Notas de la version. -Licencia -------------------------------------------------------------- * INTRODUCCION El objetivo de este articulo es proveer de un conocimiento basico sobre como poder establecer un estandar de seguridad basica en un sistema linux. Haciendo mencion a las herramientas mas basicas y definiendolas levemente, todos los enlaces externos estan en idioma español, exceptuando las paginas de los proyectos donde no se da este soporte, las paginas relativas a documentacion, ejemplos, etc, estan en español a no ser que se espeficique lo contrario. Atras - inicio - Siguiente -------------------------------------------------------------- * NOTA Lo unico que pretende este documento es dar a conocer las herramientas basicas para poder administrar la seguridad en un sistema linux enfocado a un desktop o pequeño servidor donde no deberia tenerse informacion sensible y/o con valor economico, puesto que esto es solo un pequeño tutorial para "protegerse" de los ataques mas molestos y persistentes ([3]) que tambien son el 99'9% de los casos que sufre un usuario "de a pie". Linux es un sistema operativo orientado a trabajar por y para redes, partiendo de esto la configuracion "perfecta" es totalmente aleatoria dependiendo de los requerimientos y/o conocimientos del administrador del sistema. Por defecto un sistema linux recien instalado desde un cd suele ser muy "accesible" y espera que a que el administrador defina las politicas de seguridad y/o privacidad del sistema (exceptuando algunas [4], muy pocas) en general esto es la norma. Atras-inicio - Siguiente -------------------------------------------------------------- * SOFTWARE Ademas hay que destacar que las versiones del software que se incluyen en los cd suelen tener numerosos bugs en cuestion de semanas a partir de su lanzamiento, esto es normal y es un proceso natural en el codigo abierto, no por ello linux es mas vulnerable que otros sitemas operativos (microsoft® usa esos argumentos distorsionados de manera deliberada), muy al contrario gracias a estos fallos que se conocen de manera "[5]" y no en paginas que la mayor parte de la veces son perseguidas por las leyes y que generalmente infringen todo tipo de normas, leyes y etica aceptable, una de las ventajas de linux, es que cuando aparece un bug generalmente en menos de 24horas tendras la solucion, en linux la politica de parches no es muy extendida, unicamente se usa en casos muy determinados, generalmente hay nuevas versiones del mismo software con el problema corregido (ventajas del codigo abierto) y por supuesto para adquirir de manera gratuita y anonima. Por supuesto el software se puede comprobar (y se debe) las firmas de este, haciendo esto nos evitaremos instalar software que no sea legitimo, se pueden firmar los paquetes con una clave md5, es la manera mas sencilla pero tambien la que mas posiblidades de engaño posee, cualquiera puede generar una llave md5, no asi con pgp, tambien existen una serie de firmas y llaves para cada paquete de software, en modo general instalar las llaves de los desarrolladores de los que nos fiemos sera una buena opcion, o por lo menos comprobar que el md5 es correcto. Dicho esto se ha de pensar que es de vital importancia estar actualizado en todo el software del sistema, prestando especial atencion a los paquetes de software que sirven para proporcionar servicios relacionados con redes. Atras- inicio - Siguiente -------------------------------------------------------------- * SERVICIOS Y/O DEMONIOS Estos son los programas que permiten trafico en nuestra maquina, servidor http, servidor ftp, telnet, cups, etc... Cada servicio abre un puerto/s que da salida-entrada de trafico de nuestra maquina, por tanto debemos revisar que no tengamos ejecutandonse un demonio de telnet, puesto que si asi fuera estariamos dando servicio de telnet a la red, igual con ftp, http, etc,,,. Desactivar todos los servicios que no sean necesarios. Leer bien la documentacion de los servicios que tengamos que tener funcionando (por ejemplo: tenemos un server de ftp, pero solo accesible a users registrados, leyendo la documentacion podremos restringir el acceso anonimo, determinar el puerto, activar quotas, comandos personalizados para usuarios, i.p, hosts, y un sin fin de opciones. Realmente debemos leer muy bien la documentacion de cualquier servicio que tengamos corriendo, puesto que algunas veces algunas opciones que estan establecidas por defecto, permiten acciones no deseadas. Existen numerosas maneras de conocer que demonios estan funcionando en nuestra maquina, hay que fijarse en el nivel de ejecucion. Una lista mas o menos clara, de los puertos que usan los servicios la teneis en /etc/services, por ejemplo, buscamos el puerto que deberia usar mysql: $grep mysql /etc/services mysql 3306/tcp # MySQL mysql 3306/udp # MySQL $ Viendo este archivo nos podemos hacer una idea de si algun servicio corre donde no deberia (rootkits p.ejm). Por supuesto ver que puertos estan funcionando es de vital importancia (ver man del comando netstat), debemos determinar que solo viendo la salida de netstat no es posible decir si nuestro sistema es vulnerable, si estan abiertos pero solo para una red local, o si simplemente estan abiertos pero bloqueados, etc.... Atras-inicio - Siguiente -------------------------------------------------------------- * NMAP Una buena e inmejorable herramienta para estos menesteres es [6], este es un escaneador de puertos, la ventaja que tiene es que puede ultilizar muchos tipos distintos de escaneo y opciones diversas, con nmap nos podemos hacer una idea de que servicios estan corriendo en nuestra maquina y por tanto que puertos estan en uso, de nuevo hay que destacar que nmap mostrara los resultados desde una red local si lo hacemos sobre nosotros mismos, y esto no quiere decir que los puertos en uso sean accesibles desde cualquier red y/o direccion. Por supuesto es necesario leer bien la documentacion que acompaña a el programa para no hacernos ideas equivocadas de lo que pasa en nuestro sistema, nmap posee una interfaz grafica en forma de front-end (nmapfe) disponible [7]. Por supuesto mirando el man de nmap podremos ver el uso y opciones, pero para los mas vaguetes aqui teneis un buen [8]. Atras - inicio - Siguiente -------------------------------------------------------------- * NESSUS: Nessus es un escaner de puertos, pero tiene una particularidad que lo hace especial, es capaz de determinar fallos de seguridad, ademas de escaneranos el sistema nos descubre bug's de seguridad, (magnifico no?) bueno, muchos fallos o estan desfasados o bien son un poco "paranoicos" pero es una herramienta muy util de eso no hay duda. Otra ventaja son sus plugins, actualizados cada poco tiempo, esto nos permite tener una buena base de datos de vulnerabilidades cada vez que las busquemos, tambien es capaz de generar informes, hacer lo que queramos con ellos, crear estadisticas en formato html, etc... Por si fuera poco nessus nos propone la solucion al poblema de seguridad y una pequeña explicacion del mismo y su solucion. Ademas de tener un magnifico [9], en su [10] hay un trabajadisimo tutorial con capturas de pantalla incluidas de como instalar nessus paso a paso, pantalla a pantalla. Atras- inicio - Siguiente -------------------------------------------------------------- * IPTABLES Iptables nos permite filtrar los paquetes que circulan por nuestra maquina. Para un usuario normal (desktop de casa sin informacion relevante o de alto valor economico) con una buena admistracion de iptables sera mas que suficiente para establecer un sistema seguro. Iptables es para mi la llave maestra de la seguridad de mi sistema, gracias a iptables podremos administrarlo muy bien. Basicamente iptables nos permite modificar el trafico de nuestra maquina, tanto por puertos, como por direcciones, mascaras, y flujo de datos. El gran kit de iptables, es que reside como una aplicacion directa al kernel (esto no esta bien dicho ya lo se, pero no es el objetivo de tutorial) es decir que no corre como un servicio o determinado programa (vamos que no funciona como fucionan los firewalls de haserchof) si no que cuando llega un paquete al kernel, este decide que hacer con el dependiendo de las reglas que tengamos aplicadas. -Reglas FILTER: Las reglas INPUT y OUTPUT, se usan para filtrar los paquetes que van dirigidos a nuestra maquina FORWARD se usa para filtrar paquetes que van a otras redes o maquinas. -Reglas NAT: PREROUTING, POSTROUTING, estas son reglas que se aplican ANTES que las filter, se usan para rederigir puertos, direcciones y/ o hacer cambios en las direcciones (servidores virtuales en otras maquinas de la red, p.ejm: una red con maquina1 que da salida a internet, en esa red sin conexion directa si no a traves de la maquina 1 tenemos maquina2, esta proporciona a toda la red interna un servidor de impresion, y ademas tenemos maquina3 que posee un servidor de ftp publico, para estos casos las reglas NAT son casi imprescindibles, en otros casos (desktop casero) no son de gran importancia. -Reglas MANGLE: Existen otras reglas que van por encima de las NAT, son reglas para modificar los paquetes, pero su conocimiento no es el ambito de este tutorial. * POLITICAS ACEPTABLES Como base de toda operacion debemos tener clara una cosa: Establecer conexion: maquina que envia---->paquete flan=SYN---------->maquina que recibe Conexion aceptada: maquina que envia<---paquete flan=SYN/ACK<---maquina que recibe Conexion rechada: maquina que envia<----paquete flan=SYN<---------maquina que recibe El orden de las reglas es determinante, puesto que las reglas se "apilan" unas encima de otras, es decir la ultima puede no ser efectiva al tener otra por "detras" que anule a esta. Mas vale meter reglas por encima; NAT incluso MANGLE, que hacer muchas chapuzas, tener en cuenta que con iptables se puede hacer casi cualquier cosa, Documentacion a tener en cuenta: Muy util pagina de iptables y mas (en ingles) : [11] El filtrado de paquetes [12] Man de iptables (imprescindible) Control de trafico y en enrutamiento avanzado [13] Buen hilo con ejemplos y explicaciones [14]. El how-to de Rusty Russell en español [15]. Ejemplo de firewall con iptables bien explicado [16]. Opciones de iptables (pagina de redhat ) [17]. Todo sobre iptables (en ingles pero completisimo) [18]. Scripts avanzados de ejemplo (en ingles) [19]. [20] * UN SCRIPT DE EJEMPLO Este es un script para /etc/rc.d/rc.local, es decir que aplicara todo lo que le digamos cuando arrranque el sistema (con el kernel ya cargado, no desde un gestor) voy a explicar muy por encima lo que hace, la idea es que se pueda ver claramente una politica aceptable de como aplicar las reglas de iptables. ###--- Flush de reglas, esto digamos que es imprescindible :) ----### iptables -F iptables -X iptables -Z iptables -t nat -F ###----- Aqui vamos a definir la politica por defecto-------### iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT iptables -P FORWARD ACCEPT iptables -t nat -P PREROUTING ACCEPT iptables -t nat -P POSTROUTING ACCEPT ### ------Comienzo de las reglas---------### ###-------- A localhost le dejamos todo --------### /sbin/iptables -A INPUT -i lo -j ACCEPT ###------Con esto evitamos responder a un ping-----### echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all ###------Con esto evitamos un tipo de ataque por filtrado de bytes---### iptables -A INPUT -i ppp0 -f -m length --length 0:40 -j DROP ###------Activamos el servidor solo para localhost----# iptables -A INPUT -p tcp -s ! 127.0.0.1 --dport 80 -j DROP ###-----Ahora cerramos todo tanto por tcp como udp, desde el 1 al 1024---### iptables -A INPUT -p tcp --dport 1:1024 iptables -A INPUT -p udp --dport 1:1024 Con esto terminado, es un script muy simple pero practico e ilustrativo de que con muy pocas lineas se puede construir un firewall basado en iptables potente y util, ademas se puede ver el principio de flexibilidad que tiene iptables, esto seria el tipico firewall de ejemplo de uso de las funciones mas basicas. En la seccion de documentacion podeis ver muchos mas ejemplos y su explicacion, por supuesto se puede hacer lo que se nos pase por la cabeza, mirar la documentacion que es una buena recopilacion. Atras - inicio - Siguiente -------------------------------------------------------------- * PORTSENTRY Este es un software que nos prestara muchisima ayuda, hemos visto que con iptables podemos crear autenticos muros entre redes, un ejemplo practico (y casi fue real) seria un script que actuase cuando se necesita (unicamente permitir la salida-entrada de datos durante un tiempo determinado y por una serie de puertos determinados, solo se permiten conexiones para revisar-mandar correo (cada 15 minutos se revisa el correo y se manda el saliente) despues toda la red esta aislada, y cuando se conecta solo permite entrada por el 110 pop3 y salida por 25 smtp). Pero claro nuestro querido linux nos permite ir mucho mas lejos, una manera de controlar ataques, sobre todo DoS y busqueda de agujeros de seguridad (escaneo de puertos, correr exploits remotos para buscar vulnerabilidades del sistema, etc,,,,) es logeando el acceso y el trafico de nuestra maquina, hay una herramienta [21], que nos va ha hacer la vida mas facil. Con portsentry podremos actuar de una manera determinada conforme a una serie de reglas que nosotros definimos, de manera que podremos actuar contra ciertos tipos molestos de trafico (escaneado de puertos, busqueda de exploits, DoS y demas sutilezas), las reglas van a definir que hacer con esas direcciones y/o paquetes, podemos ignorarlos, redericcionarlos, o ejecutar comandos, etc,, por ejemplo aplicarles una regla de iptables a determinados comportamientos definidos (escaneo de puertos= DROP all -- 99.99.99.99 0.0.0.0/0 ) O lo que nos de la gana. Logicamente esto lo hara de manera automatica, con lo que nos despreocupamos de una cosa mas y sobre todo, controlamos un detalle importante del sistema. La utilidad de portsentry esta fuera de toda duda, eso si, hay que actuar con cuidado cuando estamos detras de un servicio al publico, puesto que no es tan flexible como iptables, de todas maneras con portsentry se pueden configurar comportamientos del sistema realmente anti-intrusion automatica Portsentry posee niveles de actuacion distintos, independientemente de las reglas que le apliquemos, es decir nosotros definimos una serie de cosas en portsentry.conf Ejemplo util de configuracion de portsentry ###-----Esta linea viene por defecto, indica los puertos a monitorear---### TCP_PORTS="1,7,9,11,15,70,79,80,109,110,111, . . . , 40425,49724,54320" UDP_PORTS="1,7,9,66,67,68,69,111,137,138, . . . ,32774,31337,54321" . . . . ###------Modificamos el ignore, para decidir que hacer con el atacante----### # 0 = Dont block UDP/TCP scans # 1 = Block scan atacks # 2 = Run external command only BLOCK_UDP= "2" BLOCK_TCP="2" ###-----Aqui definimos lo que hacer con la direccion, se manda un mail a root avisando---### KILL_RUN_CMD="/bin/echo '$TARGET$ -> $PORT$' | /usr/bin/Mail -s 'ATACK $TARGET$' root" Pero podemos definir que tipo de escucha queremos que realice, o bien el modo clasico o estandart, con sus variantes (normal o steath, este ultimo abarca un rango mayor de puertos) en el cual se monitorea los puertos definidos en portsentry.conf y se realizan las acciones determinadas, o bien con el modo avanzado, en este modo todo parece cerrado y de echo casi lo esta, pero lo que hace es pedirle al kernel que le notifique si llega alguna petición a algún puerto menor al especificado en las opciones ADVANCED_PORTS_TCP y ADVANCED_PORTS_UDP. Util para quitarnos trabajo de encima, aunque cuidado con este modo. De todas maneras en [22] mini tutorial esta bien explicado el uso de portsentry, tambien tienes un [23] en la linea de linuxfocus, muy sencillo de entender. Ademas podemos guardar log's, usarlo con tcpwraper y hacer muchas cosillas con el, eso ya es cosa de la imaginacion. Atras - inicio - Siguiente -------------------------------------------------------------- * SNORT Snort es un sistema de deteccion de intrusos, este es un programa complejo que permite hacer realmente maravillas, podemos dar servicio al mundo si que este nos vea, es un herramienta muy potente y que pronto espero poder conocer a fondo. Su funcionamiento es por reglas, en la [24] hay ya muchas reglas, y ademas conforme se descubren nuevas vulnerabilidades se añaden, por supuesto podemos modificarlas a nuestro antojo, tambien posee reglas "internas" que podemos aplicar y modificar a nuestro gusto, snort monitoriza todo tipo de trafico, dentro y fuera de un firewall, dentro de la maquina, de las redes internas y externas (atentos a esto), vamos que podemos hacer lo que queramos, si bien portsentry nos servia como un monitor de accesos y ejecucion de comandos internos, snort se presenta como una solucion mucho mas avanzada y potente, sobre todo para redes internas, puesto que es capaz de actuar directamente sobre demonios incluso de correr como demonio el mismo. La problematica de este programa es la enorme posibilidad de uso , por lo que lo dificil sera como hacerlo para usar en conjuncion con otros programas y que podamos extraerle el rendimiento del que es capaz, tambien existe una manera sencilla usar las reglas actualizadas que disponen en su pagina, mas que suficiente para un usuario desktop. De todas maneras usando el man podemos ver casi todo lo relativo al programa pero [25] teneis una explicacion de como crear nuevas reglas, en la [26] de snort en español puedes consultar y leer mucha informacion, dudas, enlaces, reglas, bug's etc... Atras - inicio - Siguiente -------------------------------------------------------------- * BASTILLE Bastille es una herramienta que nos sirve para casi todo lo anterior, pero que yo prefiero usar solo para algunas cosas (solo determinar politicas de inicio en sistemas recien instalados, como bien indican en su pagina web), basicamente nos permite configurar nuestra maquina para crear una politica aceptable. [27] por si sola es una herramienta capaz de hacer muchas cosas por nosotros, esta escrito en perl, pero posee una interfaz grafica basada en [28] concretamente [29]. Una de las ventajas de bastille, es que nos hace un firewall mas o menos personalizado, y lo hace de una manera muy amena, nos pregunta cada opcion, y nos muestra informacion sobre nuestras decisiones, esto es muy util en muchas preguntas, (sobre todo para gente que nunca ha tocado la seguridad en un sistema linux). Se divide en modulos, cada modulo consta de una serie de preguntas, aqui algunas que te hara bastille. -ipchains (obsoleto) -Obtener parches (nos busca parches de bind, sendmail etc,,, experimental) -Permisos de archivos, de grupos y usuarios.(cuentas, directorios, etc...) -Arranque, parametros de seguridad.(contraseñas, logins, etc...) -Seguridad en inetd (muy util funcion). -Herramientas del sistema (permite determinar que pueden usar lso usuarios, como, etc,,,) -Uso de syslog muy practico. -Control de demonios, (desde habilitar servidores para uso local, cuentas ftp, ssh, sendmail, etc...) En cada seccion hay una buena explicacion y serie de preguntas sobre los aspectos de seguridad relevantes de la seccion (agujeros y debilidades conocidas). En defenitiva bastille se presenta como el unico firewall completo que he visto, hay muchos basados en iptables que nos permiten hacer eso, configurar iptables en modo grafico, otros para netfilter, y algunos que lo intentan juntar todo, pero bastille sobresale con mucha diferencia, puesto que es muy transparente y sobre efectivo, si buscas un firewall completo en modo grafico esto es lo mejor que podras encontrar, recuerda que con iptables filtramos pero con bastille tambien seremos capaces de desactivar servicios, opciones de estos ultimos, logs, y control sobre permisos y ejecuciones en el sistema. Atras - inicio - Siguiente -------------------------------------------------------------- * IPTRAF Bien, ahora ya tenemos un sistema como nosotros queremos, bueno pues con [30] podremos testear que todo esta correcto, esta herramienta nos permite ver con mucha transparencia el flujo de datos de nuestra maquina o red, digamos que es imprescindible para poder ver con claridad que es lo que esta pasando por nuestra maquina. Monitorea todo el trafico de red y ademas como es tonica :-) nos permite adaptarlo a nuestras necesidades, monitorear por un rango de ip, por una ip concreta, por interfaz, etc,,, Nos muestra toda la informacion de los paquetes que circulan por la red y ademas podemos usar scripts tan practicos como [31] para crear archivos de log's importantes. Iptraf es el sniffer definitivo, hay un front-end por algun sitio, lo tengo guardado , pero la direccion donde lo encontre no existe actualmente y por raro que parezca no encontre mas, si alguien lo necesita que me lo pida y lo dejare en algun servidor. En la [32] de iptraf hay numerosa documentacion. Atras - inicio - Siguiente -------------------------------------------------------------- * CONSIDERACIONES BASICAS Un gestor de arranque puede convertirse en el mayor fallo de seguridad de todo un sitema perfectamente protegido del exterior, usa claves de acceso para el gestor de arranque, no para ponerlo a funcionar (logico) si no para que no se puedan pasar nignun tipo de argumentos al kernel, ojo con esto en cibercafes, oficinas, colegios y lugares donde se encuentren ordenadores de uso publico. Muchisimo cuidado con los permisos de ejecucion de ficheros y directorios (no permitas nunca que se puedan ejecutar binarios que no residan en un grupo y en el sistema, no a los compiladores, a directorios tipo /etc /boot /dev /proc /var, etc...) cambia el byte. Ten cuidado con los accesos, bloquea las cuentas de acceso sin login (daemon, nobody, ftp,,,,) Revisar siempre que se puedan los log's del sistema. Y recuerda ningun sistema es 100% seguro mientras este conectado o se tenga acceso fisico a el. La mejor ocpion es estar al tanto de actualizaciones o de anuncios de bug's o fallos graves de seguridad, otra opcion es subscribirse a alguna lista de correo y estar al tanto de lo que pasa, pero sobre todo, recuerda muchas veces el fallo no es de la configuracion del sistema o de la herramienta que usemos, si no de la torpeza de los propios usuarios, y contra eso no podemos luchar, si alguien manda archivos de M$ office por e-mail mal asunto , eso es una problema casi seguro, pero el problema es que la gran mayoria lo hace, si tienes suerte y usas linux pero emulas con wine (triste realidad, en muchos lugares) cuidado con kmail, que te ejecutara todo, en fin la lista es interminable y no podemos reproducirla aqui, pero espero que por lo menos sepas por donde empezar a trabajar en el aspecto de la seguridad. Atras - inicio - Siguiente -------------------------------------------------------------- * NOTAS DE LA VERSION Copyrigth Xento Figal © 2003 xento@xento.tk[33] Este documento se puede distribuir bajo licencia GNU/GPL Version 0.2 del 0.1 Version en html , html.tar.gz , ps.tar.gz en http://xinfo.sourceforge.net/documentos/mini-sec/[34] Actualizaciones e hilos [35] -------------------------------------------------------------- -------------------------------------------------------------- List of References Document's URL: //datos/websf/firewall.html [1] mailto:xento@xento.tk [2] http://validator.w3.org/check/referer [3] http://www.securityfocus.com/ [4] http://www.distrowatch.com [5] http://slashdot.org [6] http://www.nmap.org/ [7] http://www.nmap.org/ [8] http://es.tldp.org/LinuxFocus/pub/mirror/LinuxFocus/Castellano/July2001/article170.shtml [9] http://www.nessus.org/demo/index.html [10] http://www.nessus.org/ [11] http://www.netfilter.org [12] http://www.linuxfocus.org/Castellano/May2003/article289.shtml [13] http://www.gulic.org/comos/LARTC/lartc.html [14] http://linuca.org/body.phtml?nIdNoticia=99 [15] http://hacknet.tk/kp/iptables/iptables-HOWTO.html [16] http://www.escomposlinux.org/jcantero/linux/simple-firewall-netfilter.php [17] http://www.europe.redhat.com/documentation/rhl7.2/rhl-rg-es-7.2/s1-iptables-options.php3 [18] http://iptables-tutorial.frozentux.net/ [19] http://monmotha.mplug.org/firewall/index.php [20] http://www.gulic.org/comos/LARTC/lartc.html [21] http://www.psionic.com/download [22] http://www.gwolf.cx/seguridad/portsentry/ [23] http://es.tldp.org/LinuxFocus/pub/mirror/LinuxFocus/Castellano/September2001/article214.shtml [24] http://www.snort.org [25] http://nautopia.coolfreepages.com/snort_cap3.htm [26] https://listas.hispalinux.es/mailman/listinfo/snort-es [27] http://bastille-linux.sourceforge.net [28] http://www.tcl.tk [29] http://www.cpan.org [30] ftp://iptraf.seul.org/pub/iptraf/iptraf-2.4.0.tar.gz [31] http://www.ieduca.net/iptraf/preparalog.iptraf.pl.txt [32] http://cebu.mozcom.com/riker/iptraf/ [33] mailto:xento@xento.tk [34] http://xinfo.sourceforge.net/documentos/mini-sec/ [35] http://xinfo.sourceforge.net/