Académique Documents
Professionnel Documents
Culture Documents
Pgina 1 de 11
Publicaciones
Bolet n
Como es natural cuando la demanda no era grande, no haba muchos problemas derivados de la recepcin y el proceso manual de las solicitudes, pero en el caso de que se diera una actuacin sobre el DNS (alta, baja, modificacin), si haba que afrontar la posibilidad de errores al manipular los ficheros de la Base de Datos del DNS.
http://www.rediris.es/difusion/publicaciones/boletin/52/enfoque2.html
08/06/2013
Al aparecer en la red la posibilidad de acceder a la informacin por medio de navegadores Web, se dise una pgina en el servidor del CPD con un formulario similar al de papel cuyo acceso, en un principio, se restringi por medio de un nombre de usuario y una palabra de paso y posteriormente mediante la colocacin del formulario en un Servidor Web seguro. A este sistema solo podan acceder el personal de apoyo de cada Campus y el personal del CPD. Cada solicitud generaba un correo que formalizaba la peticin. Con esto se consigui reducir el tiempo de llegada de la solicitud. Una vez recibida la peticin, esta deba ser procesada manualmente. Se tenan que comprobar los datos de la peticin y modificar la Base de Datos del Servidor DNS con toda la problemtica que esto lleva consigo: realizacin de una copia de seguridad, actualizacin "a mano" de los ficheros de la Base de Datos, reinicializar el servidor de DNS para que los cambios tuvieran efecto, comprobar el correcto funcionamiento, archivar la peticin y comunicar que la peticin se haba realizado.
3.- Necesidades
Se plante la posibilidad de agilizar todo lo posible este proceso. Conseguir al mismo tiempo simplificarlo y reducir la posibilidad de errores. Crear una aplicacin que automatizara todo lo posible la parte manual del proceso. Lo ideal seria que desde los centros perifricos en los que fuera posible, se pudiera actualizar directamente la Base de Datos del Servidor DNSde manera automtica, pero manteniendo dos criterios: que dicha actualizacin fuera segura y fcil de realizar. Crear una aplicacin que accediera a la Base de Datos, pero aislando la complejidad del formato de la misma de manera que fuera fcil realizar las actualizaciones y al mismo tiempo, que las actualizaciones fueran correctas, sin errores e inmediatas. Para los casos en que se tuviera que modificar los datos de un sistema y ste se encontrara en un Centro que no dispusiera de personal de apoyo, se podra seguir realizando la peticin mediante el formulario en papel, pero en vez de actualizar la Base de Datos del DNS manualmente, la realizara algn miembro del Grupo de Comunicaciones del CPD utilizando la aplicacin. Insistiendo en el criterio de la seguridad, se pretenda adems de impedir que personas desconocidas pudieran manipular los datos del Servidor DNS, garantizar que las personas que accedieran a la aplicacin solo pudieran manipular la informacin que les afectara directamente. Cada centro perifrico tiene un rango de direcciones asignadas, ciertas subredes sobre las que tienen una responsabilidad ms directa. No debera ser posible que desde un Centro Perifrico se pudieran hacer modificaciones que afectaran a otro Campus o ms aun a la generalidad de la Red de la Universidad. Por otra parte se exiga que el proceso manual continuara siendo posible, para casos especiales, aquellos que no contemplara la aplicacin o simplemente para el control por parte de los gestores del Servidor DNS. Otro requisito era que se siguiera teniendo constancia de las modificaciones que se realizan sobre la Base de Datos del Servidor DNS, en forma de correo para su posterior archivo en papel. En general estos fueron los requisitos previos que se tuvieron en cuenta al desarrollar la aplicacin, pero luego surgieron otros. Por ejemplo, se planteo lo til que seria tener una base de Datos que guardara las direcciones Ethernet asociadas a las direcciones IP. Hasta ese momento, sta informacin solo constaba en los archivos en papel de cada peticin y dicha informacin no es posible almacenarla en la base de datos del Servidor DNS. Tambin se planteo que dicha aplicacin pudiera ser utilizada como herramienta de consulta de la Base de Datos del DNS y poder realizar por ejemplo: listados por subredes, consultas por nombres de Host, estadsticas de ocupacin de subredes, o obtener esa informacin que siempre resulta tan importante a la hora de configurar el protocoloTCP/IP en una maquina, como es su gateway de salida y su mscara de red.
http://www.rediris.es/difusion/publicaciones/boletin/52/enfoque2.html
08/06/2013
4.- Solucin
De stas necesidades surge la aplicacin Web-DNS. sta consta de una serie de pginas Web con formularios de entrada de datos, pginas Web de salida de resultados, programas CGI y tres ficheros de configuracin. La aplicacin es muy modular: hay un proceso CGI para cada accin tpica (un CGI para dar de alta, un CGI para realizar consultas por direccin IP, etc.) por lo que resultara muy fcil ampliarla con nuevas funciones. A la aplicacin se accede desde uno de los Servidores Web Seguros del CPD de la Universidad de Sevilla, de tal forma que su uso est restringido a determinados usuarios que desde los centros perifricos realizan las actualizaciones y a los miembros del grupo de Comunicaciones del CPD. De manera fcil y a travs de mens, el usuario puede realizar las tareas tpicas que se pueden realizar con cualquier aplicacin de Base de Datos: altas, bajas, modificaciones, consultas, listados y estadsticas. Cualquier persona que tenga acceso al Servidor Seguro, puede acceder a la aplicacin en modo consulta, en este caso, adems de los operadores de los Centros Perifricos, todo el personal del Centro de Proceso de Datos.
http://www.rediris.es/difusion/publicaciones/boletin/52/enfoque2.html
08/06/2013
las pginas con los formularios asociados a las distintas opciones del programa. La aplicacin consta de dos opciones de men: uno para realizar operaciones sobreHost, y otro para realizar operaciones sobre direcciones e intercambiadores de correo. Cuando se accede a la aplicacin Web-DNS, lo hacemos usando un cierto usuario. El Servidor Web seguro recibe el certificado del cliente e identifica el certificado con un nombre de usuario y ste nombre se le proporciona a la aplicacin. Dependiendo del usuario, Web-DNS nos permitir realizar ciertas acciones de acuerdo con el perfil definido en la aplicacin para ese usuario. Se han creado una serie de usuarios que se corresponden con los operadores que existen en los distintos Campus de la Universidad de Sevilla, adems de los que existen dentro del propio CPD. Dependiendo del usuario con el que se accede a la aplicacin, se pueden realizar modificaciones sobre ciertas redes y ciertos dominios. Esto permite mantener la seguridad de que una persona no pueda realizar modificaciones en redes o dominios que son responsabilidad directa de otras personas o son generales de toda la Red Universitaria. Si una persona intenta realizar una modificacin que no esta de acuerdo con su perfil, se genera un mensaje de error. Este mensaje aparece en el navegador y adems es notificado al CPD mediante un correo. Las restricciones de seguridad solo afectan a las altas, bajas y modificaciones. Para las dems operaciones, Web-DNS no comprueba la identidad y, por tanto, pueden realizarlas cualquier persona que pueda acceder al Servidor Web seguro (cualquier persona que disponga de un certificado de nuestra Autoridad de Certificacin). Si por ejemplo queremos realizar un alta de una maquina, se accede a la pgina respectiva, se rellenan los campos del formulario que se nos presenta y se pulsa el botn para enviar los datos. La aplicacin en el servidor, procesa los datos y si son correctos actualiza la Base de Datos del DNS y nos devuelve el resultado. Si los datos introducidos en el formulario no son correctos, se muestra una pgina de error informando al usuario de dicha circunstancia.
El men de mantenimiento de Host, consta de consta de 8 opciones: Altas : Desde ste formulario se realizan las altas de Host en el Servidor DNS. Adems tambin se utiliza para crear nuevos Aliasde Host y aadir nuevas direcciones IP aHost ya existentes en la Base de Datos delDNS. Bajas : ste formulario se utiliza para realizar bajas de Host. Ya sea dar de baja una direccin IP de un Host (si est tuviera varias direcciones) o dar de baja completamente el Host. Tambin desde est formulario se pueden dar de baja nombres de Alias de Host. Modificaciones : Desde ste formulario se realizan las modificaciones en la direccinIP de un Host y/o modificaciones en el nombre de un Host. Tambin se pueden hacer modificaciones en el nombre de un Alias de un Host y modificaciones en la direccin Ethernet de una DireccinIP. Consultas : Con ste formulario se realizan consultas por direccin IP, direccinEthernet y varios tipos de consulta por nombre (de Host o de Alias). Listados : De igual forma, desde ste formulario se realizan los listados por direccionesIP y direcciones Ethernet.
http://www.rediris.es/difusion/publicaciones/boletin/52/enfoque2.html
08/06/2013
Logs : Desde sta opcin se puede consultar los ficheros histricos de acciones y errores que se generan al ejecutar la aplicacin. Por ejemplo, cada vez que un usuario realiza un alta o una consulta, o cada vez que al usar la aplicacin, se produce un error, se guarda en el histrico la accin, el usuario, fecha y hora y la direccin IP desde donde se realiz. Los usuarios normales solo pueden consultar los logs de acciones o errores que han provocado ellos mismos, mientras que los administradores pueden consultar todo el Histrico. Estadsticas: Desde sta opcin se pueden obtener estadsticas grficas de la Base de Datos del Servidor DNS sobre los dominios, subredes e intercambiadores de Correo. Peticiones : Est opcin es una puerta abierta que permite a los usuarios que no tienen derechos para realizar una cierta accin con la aplicacin Web-DNS, que soliciten una peticin completando est formulario, y un miembro del grupo de comunicaciones del CPD la comprobar y realizar. El men demantenimiento de direcciones de Correo, tiene 5 opciones: Altas : Desde ste formulario se realizan las altas de Direcciones de Correo. Se puede crear la relacin de un Host real o una Direccin de Correo virtual con un Host que actuara como Intercambiador de Correo del Host o Direccin. Bajas : De igual forma, ste formulario se utiliza para realizar bajas de Direcciones de Correo. Modificaciones : Desde ste formulario se pueden realizar modificaciones en las Direcciones de correo: se pude modificar los nombres y dominios de la Direccin de Correo, del Intercambiador de Correo o el valor de preferencia. Consultas : Con ste formulario se realizan consultas de Direcciones de Correo. La utilidad de ste formulario est en que si se utiliza la consulta de Host para buscar Direcciones de Correo virtuales, stos no aparecern ya que no existen como Host reales (no tienen direccin IP). Se puede utilizar est consulta para estos casos. Logs : Igual que en el men de mantenimiento de Host.
http://www.rediris.es/difusion/publicaciones/boletin/52/enfoque2.html
08/06/2013
Una de las caractersticas ms interesantes de Web-DNS es la generacin de formularios dinmicos. Los formularios de la aplicacin contienen campos con valores por defecto, como por ejemplo los sudominios o las subredes de RIUS. Si se crea un nuevo subdominio, habra que cambiar todas las pginas Web que contienen esa informacin. Los formularios no contienen esta informacin de manera esttica, sino que contienen variables que son resueltas en tiempo de ejecucin consultando el fichero named.conf. Cuando un usuario pulsa uno de los botones de acciones de los mens, no recibe directamente la pgina Web con el formulario, sino que un proceso CGI interpreta la pgina con el formulario resolviendo las variables que se encuentre. As, realizando los cambios oportunos en named.conf, siempre los formularios que recibe el usuario estn actualizados. Web-DNS permite dos modos de funcionamiento. Uno, para cada peticin de alta, baja o modificacin, una vez que se ha hecho la modificacin sobre los ficheros de la Base de Datos, se genera una seal de reinicializacin del demonio namedpara que los cambios tengan efecto inmediato. El otro modo, es diferido: se realizan las modificaciones oportunas sobre los ficheros de la Base de Datos, pero no se re-inicializa el named. Hay un proceso peridico en el sistema que re-inicializa el named para que se tengan en cuenta todos los cambios realizados. Nosotros utilizamos ste segundo sistema. Por otra parte, teniendo en cuenta que ste programa puede ser utilizado por varias personas al mismo tiempo, y que esto podra provocar problemas de concurrencia en el acceso a los ficheros de las Bases de Datos, se ha usado como mtodo de seguridad un semforo para la aplicacin. En este caso, se ha definido un semforo con dos posibles valores: verde y rojo, como los semforos de circulacin. Cuando un usuario realiza una peticin, se ejecuta el CGI asociado a la peticin. Nada mas iniciarse el CGI, intenta colocar el semforo en rojo para apropiarse en exclusividad de las Bases de Datos y que ningn otro usuario pueda realizar una modificacin mientras se este procesando la suya. Al terminar, se vuelve a colocar el semforo en verde y finaliza su ejecucin. Si un CGI intenta colocar el semforo en rojo y ya lo est (la Base de Datos esta en uso por otro usuario), el proceso espera hasta que se libera y pueda poner el semforo en rojo. Los registros SOA de los ficheros de la Base de Datos del DNS tienen un elemento llamado Serial. El Seriales un cdigo numrico que indica cuando fue la ultima vez que se modifico el fichero. El formato es aaaammddcc, dondeaaaa es el ao, mm es el mes, dd es el da y cc es l numero de versin dentro de ese da. Web-DNS cada vez que realiza una modificacin en algn fichero que tenga Serial, actualiza el valor del mismo. Adems realiza una copia de seguridad de todos los ficheros que modifica, con el mismo nombre pero aadindole al final del nombre el carcter '_' y el ao, mes y da de la actualizacin. Web-DNS siempre realiza copias de seguridad ante cualquier modificacin y nunca borra fsicamente ninguna lnea de los ficheros sino que comenta las lneas. Como el primer cdigo cc que se utiliza es el 01 y el mayor posible con dos dgitos es 99, se puede observar que solo son posibles un mximo de 99 modificaciones en un fichero de la Base de Datos del DNS en un da. De echo, en la actual implementacin, el programa no permite mas modificaciones sobre un fichero si ya se encuentra al mismo con el valor deserial a 96. Se reserva los siguientes valores para actualizaciones "a mano" de urgencia.
http://www.rediris.es/difusion/publicaciones/boletin/52/enfoque2.html
08/06/2013
'usersdns.cfg': Contiene la informacin referente a los perfiles de cada usuario con la aplicacin WebDNS. 'ethernet.cfg': Contiene la ruta donde se encuentra la Base de Datos de direcciones Ethernet y sus ficheros. Por analoga podramos decir que 'ethernet.cfg' es en la Base de Datos de direccionesEthernet lo que 'named.conf' es en la base de Datos del DNS. Puede darse el caso de que si usamos directivas 'include' en los ficheros directos de la Base de Datos del DNS, la informacin que nos proporciona 'named.conf' no sea suficiente para saber en que fichero tenemos que dar de alta una cierta direccin IP. Se usa 'dns.cfg' para obtener dicha informacin. Por cada dominio e intervalo de red, se indica en que fichero directo hay que realizar el alta. Adems, como informacin que se proporcionara en las consultas, tambin se guarda la mscara de red y elgateway respectivo del intervalo de red. El ficherodns.cfg solo se usa para altas y consultas (informacin sobre mscaras de red y gateways); para realizar bajas o modificaciones, Web-DNS solo necesita la informacin proporcionada por named.conf.Ejemplo de fichero dns.cfg: ;********************************************************************************** ; fichero dns.cfg de configuracin de Web-DNS ; ; FORMATO: ; SUBDOMINIO ; IP_INICIAL IP_FINAL MASCARA GATEWAY FICHERO_A_INSERTAR ; ;********************************************************************************** ; DOMINIO us.es ;********************************************************************************** ; us.es 150.214.9.0 150.214.9.255 255.255.255.192 150.214.9.1 vlan-default.hosts 150.214.130.0 150.214.130.255 255.255.255.0 150.214.130.1 filoygeo.hosts ... 150.214.186.64 150.214.186.127 255.255.255.192 150.214.186.65 cpd.hosts 150.214.186.128 150.214.186.255 255.255.255.128 150.214.186.129 enfrente.hosts ... 193.147.162.0 193.147.162.255 255.255.255.0 193.147.162.1 esi162.hosts ;********************************************************************************** ; DOMINIO fie.us.es ;********************************************************************************** fie.us.es 150.214.141.0 150.214.141.255 255.255.255.0 150.214.141.1 fie.us.hosts 150.214.142.0 150.214.142.255 255.255.255.0 150.214.142.1 fie.us.hosts ;********************************************************************************** ; DOMINIO cs.us.es ;********************************************************************************** cs.us.es 150.214.141.0 150.214.141.255 255.255.255.0 150.214.141.1 cs.us.hosts 150.214.142.0 150.214.142.255 255.255.255.0 150.214.142.1 cs.us.hosts ... El fichero 'usersdns.cfg' contiene los privilegios de los usuarios con la aplicacin. Adems incluye una seccin especial donde se indican rangos de direcciones IP reservadas que nadie puede manipular con la aplicacin Web-DNS (seccin NADIE). Con esto se evita la posibilidad de accidentes y que por ejemplo se pueda dar de baja las direcciones IP de los propios servidores DNSprimario y secundarios o de cualquier otra maquina que consideremos importante. Los usuarios que no aparecen reflejados en este fichero, se les permite realizar consultas, listados y estadsticas, pero ningn tipo de alta, baja o modificacin. Si un usuario realiza una peticin y al confrontarla con los datos de este fichero, se comprueba que no est permitido que pueda realizarla, se genera un Intento de Violacin de Seguridad. Dicho mensaje de error se enva al CPD mediante correo y salida impresa.
http://www.rediris.es/difusion/publicaciones/boletin/52/enfoque2.html
08/06/2013
Ejemplo de fichero usersdns.cfg: ;************************************************************************* ; Fichero de privilegios de los usuarios de la aplicacin Web-DNS ; ; NADIE puede dar de alta o de BAJA en los intervalos ... ; en opalo.us.es y en los servidores DNS (jade.us.es, onix.us.es) ; ;************************************************************************* nadie ALTA 150.214.130.10 150.214.130.10 150.214.130.15 150.214.130.15 150.214.186.69 150.214.186.69 BAJA 150.214.130.10 150.214.130.10 150.214.130.15 150.214.130.15 150.214.186.69 150.214.186.69 ; ;Operador de Informtica ; informtica ALTA 150.214.138.0 150.214.138.255 150.214.141.0 150.214.141.255 150.214.142.0 150.214.142.255 150.214.187.0 150.214.187.255 BAJA 150.214.138.0 150.214.138.255 150.214.141.0 150.214.141.255 150.214.142.0 150.214.142.255 150.214.187.0 150.214.187.255 ALTA-ALIAS fie.us.es cs.us.es lsi.us.es BAJA-ALIAS fie.us.es cs.us.es lsi.us.es ALTA-MX us.es us.es VIRTUAL fie.us.es fie.us.es VIRTUAL fie.us.es cs.us.es VIRTUAL cs.us.es cs.us.es VIRTUAL cs.us.es us.es VIRTUAL lsi.us.es lsi.us.es VIRTUAL lsi.us.es us.es BAJA-MX us.es us.es VIRTUAL fie.us.es fie.us.es VIRTUAL fie.us.es cs.us.es VIRTUAL cs.us.es cs.us.es VIRTUAL cs.us.es us.es VIRTUAL lsi.us.es lsi.us.es VIRTUAL lsi.us.es us.es E-MAIL pablo@fie.us.es ... ; ;operador CPD, Paco Lobato ; operador ALTA BAJA ALTA-ALIAS BAJA-ALIAS ALTA-MX VIRTUAL BAJA-MX VIRTUAL ; E-MAIL
* * * * * * paco@cpd.us.es
* *
http://www.rediris.es/difusion/publicaciones/boletin/52/enfoque2.html
08/06/2013
Web-DNS, adems de ser una aplicacin de gestin de la Base de Datos del DNS, aade una Base de Datos de direcciones Ethernet que se relaciona con la Base de Datos del Servidor DNS. Esto nos permite por ejemplo que de igual forma que podemos realizar consultas por direcciones IP, tambin podamos consultar por direccin Ethernet. Simblicamente esta Base de Datos es una tabla en la que se almacenan el par (direccin IP, direccinEthernet). Fsicamente, esta tabla se implementa de una forma similar a como se implementa la Base de Datos del DNS, a partir de ficheros de texto planos. Por una parte existen una serie de ficheros directos, con los cuales, a partir de una direccinIP podemos obtener la direccin Ethernet, y una serie de ficheros inversos, con los cuales, a partir de una direccin Ethernet, podemos obtener la direccinIP. El fichero 'ethernet.cfg' nos proporciona la informacin necesaria para manipular la Base de Datos de direcciones Ethernet. Ejemplo de fichero ethernet.cfg: ;************************************************************************* ; ; Fichero de configuracin de Web-DNS ethernet.cfg ; ;************************************************************************* ; ; Directorio donde esta la Base de datos de Direcciones Ethernet ; directorio /etc/ethernet ; ; Ficheros directos (Bsqueda a partir de IP) ; Subred Fichero ; directo 150.214.9 9.dir 150.214.130 130.dir ... 193.147.179 179.dir ; ; Ficheros inversos (Bsqueda a partir de direcci n Ethernet) ; Nmero mgico Fichero ; inverso 0 0.inv 1 1.inv ... 96 96.inv Como se puede ver en el fichero de configuracin, los ficheros directos se obtienen a partir de la subred de la IP. Los ficheros inversos, se obtienen calculando un nmero mgico a partir de la direccinethernet. La forma de calcular ste nmero a partir de una direccin ethernet genrica x1:x2:x3:x4:x5:x6 es mediante una funcin Hashing de la forma: (x1+x2+x3+x4+x5+x6) modulo 97 Esta formula siempre da un nmero comprendido entre 0 y 96, distribuyendo homogneamente el resultado en dicho intervalo. El nmero 97 se decidi por ser un nmero primo lo suficientemente mayor que l nmero de subredes que actualmente dispone la Red de la Universidad de Sevilla. Por ejemplo, si queremos saber la direccin IP de la direccin ethernet 00:01:02:03:04:05, el nmero mgico sera (0+1+2+3+4+5) modulo 97 = 15 y por tanto el fichero inverso donde buscar seria el 15.inv. Como se puede observar, es muy fcil hacer modificaciones "a mano" en los ficheros directos de la Base de Datos de direcciones ethernet, pero ms complejo en los ficheros inversos. Teniendo presente esto, se han incluido una serie de script en la aplicacin, que se ejecutan desde terminal para poder realizar modificaciones en la Base de Datos de direcciones ethernet de forma manual. Ejemplos de ficheros directos e inversos de la Base de Datos de direcciones Ethernet (189.dir y 36.inv):
http://www.rediris.es/difusion/publicaciones/boletin/52/enfoque2.html
08/06/2013
; Direcciones Ethernet de la red 150.214.189 ; 150.214.189.1 00:00:0c:01:6d:d5 150.214.189.4 00:e0:29:0f:2b:12 ... 150.214.189.253 00:e0:29:0f:2b:10 150.214.189.254 00:00:c0:09:cd:e9
; Direcciones Ethernet cuyo nmero mgico es 36 ; 00:00:c0:3c:43:69 150.214.189.165 00:a0:c9:4c:a2:d5 150.214.189.116 ... 08:00:2b:e6:5d:93 150.214.189.17 Con todo esto logramos que el concepto de direccin Ethernet aparezca unido y ligado a la Base de Datos del DNS como si verdaderamente esa informacin se almacenara en ella.
10.- Bibliografa
http://www.ietf.org/rfc/rfc1035.txt RFC (Request for comment) 1035: Domain Names-Implementation and specification de P. Mockapetris. La referencia oficial sobre DNS. "Los secretos de Internet" de John R. Levine y Carol Boroudi (Anaya multimedia, 1995). Una referencia mucho ms prctica sobre DNS. http://www.w3.org/pub/WWW Word Wide Consortium (W3C). Todo sobre laWeb.
http://www.rediris.es/difusion/publicaciones/boletin/52/enfoque2.html
08/06/2013
http://www.w3.org/hypertext/WWW/MarkUp/html3/CoverPage.html Especificacin oficial del Lenguaje HTML en su versin 3. "HTML Creacin de pginas Web" de Alonso lvarez Garca (Anaya multimedia, 1996). Una referencia practica sobre el lenguaje HTMLy construccin de programas CGI. http://developer.netscape.com/docs/manuals/javascript.html Referencias sobre el lenguajeJavaScript. http://www.iec.csic.es/criptonomicon/cgi/ Ideas muy prcticas sobre construccin de programas CGI seguros. http://home.netscape.com/eng/security/certs.html Referencia sobre Certificados digitales y protocolo SSL. "UNIX. Programacin avanzada" de Francisco Javier Mrquez (RA-MA, 1996). Un libro muy til para laprogramacin de sistemas Unix. Daniel Daza Muoz
daniel [at] cpd [dot] us.es
http://www.rediris.es/difusion/publicaciones/boletin/52/enfoque2.html
08/06/2013