Está en la página 1de 37

El sistema de nombres de dominio: Bind 9.2.4 Por Jaume Sabater, publicado el 27 de mayo de 2002. Art culo distribuido ba!

o licencia "reati#e "ommons by$nc$sa. %ndice &esumen. 'b!eti#os. (ntroducci)n *+u, es el -.S/ *+ui,n necesita el -.S/ &e0uerimientos y datos t,cnicos. (nstalaci)n. 1raducci)n de nombres a direcciones (P. 1raducci)n in#ersa. Ser#idores secundarios. 1rans2erencia se3ura de 4onas +u, es una 1S(5 y para 0u, se necesita. "reaci)n de una cla#e 1S(5. "omentarios sobre la actuali4aci)n din6mica, la se3uridad de las 1S(5 y las A"7. &ies3os a los 0ue se e8pone un Bind inse3uro. Entonces, *0u, medidas es necesario tomar/ Ser#idores recursi#os y no recursi#os. 7ocali4aci)n de ser#icios. 1ipos de re3istro del -.S. 9istas. 7a :erramienta &.-". Personali4aci)n de los lo3s. 1a8onom a de un ser#idor de nombres. 1ipos de sentencias usadas en el named.con2. E!emplo de personali4aci)n de lo3s. 1abla de caracteres especiales utili4ados en los re3istros de recursos. 1abla de mecanismos de se3uridad en el named.con2. 1abla de cate3or as de lo33in3 en Bind 9. ":root. "rear el usuario. Estructura de directorios. "opiar los 2ic:eros necesarios. ;ic:eros de sistema. 7o33in3 Endureciendo los permisos. (nstalaci)n. "ambios en la con2i3uraci)n. Arrancando B(.-. &ecursos en l nea. 7os &;". <istorial de re#isiones. &esumen. =illones de :osts se encuentran conectados a (nternet. *")mo se consi3ue mantener la pista de todos ellos cuando pertenecen a tantos pa ses, redes y 3rupos administrati#os distintos/ -os pie4as b6sicas de in2raestructura mantienen todo eso !unto: el sistema de nombres de dominio >-.S, del in3l,s -omain .ame System?, cuya 2unci)n es saber 0ui,n es cada :ost, y el sistema

de enrutado de (nternet, 0ue se encar3a de conocer c)mo est6n conectados. Este art culo :ace re2erencia a la porci)n 0ue supone el -.S en ese sistema. 'b!eti#os. 7os ob!eti#os de un ser#idor de nombres de dominio >-.S, del in3l,s -omain .ame Ser#ice? son dos: Por una parte, traducir una direcci)n can)nica en una direcci)n (P >del in3l,s, (nternet Protocol?. Por e!emplo, linu8silo.net es, a 2ec:a de creaci)n del art culo, @@.79.AB2.20A. Por otra parte, traducir una direcci)n (P en una o #arias direcciones can)nicas. Es lo 0ue se conoce como traducci)n in#ersa. <aciendo un s mil, el primer punto e0ui#aldr a a buscar en una a3enda el nCmero de tel,2ono de una persona, dado su nombre y apellidos, mientras 0ue el se3undo ser a el proceso in#erso: dado un nCmero de tel,2ono a#eri3uar a 0u, persona corresponde. 7a correlaci)n entre una direcci)n (P y un nombre de dominio no tiene por0u, ser Cnica. Esto es debido a lo 0ue se conocen como dominios #irtuales. -e :ec:o, es :abitual 0ue una direcci)n (P e0ui#al3a a #arios nombres de dominio. Por e!emplo, la direcci)n (P @@.79.AB2.20A es e0ui#alente a linu8silo.net, DDD.linu8silo.net, 2tp.linu8silo.net, popE.linu8silo.net y otros. Sin embar3o, esto no si3ni2ica 0ue la misma m60uina >o :ost? @@.79.AB2.20A est, o2reciendo todos esos ser#icios. Esto es posible 3racias a lo 0ue se conoce como enrutamiento >del in3l,s, routin3? de pa0uetes, pero no #iene al caso del art culo. (ntroducci)n. *+u, es el -.S/ -.S es un sistema !er6r0uico con estructura de 6rbol. El inicio se escribe F.F y se denomina ra 4, al i3ual 0ue en las estructuras de datos en 6rbol. Ba!o la ra 4 se :allan los dominios de m6s alto ni#el >17-, del in3l,s, 1op 7e#el -omain?, cuyos e!emplos m6s representati#os son '&5, "'=, E-G y .E1, si bien :ay muc:os m6s. -el mismo modo 0ue un 6rbol, tiene una ra 4 y ramas 0ue de ella crecen. Si el lector est6 #ersado en ciencias de la computaci)n, reconocer6 el -.S como un 6rbol de bCs0ueda y ser6 capa4 de encontrar en ,l los nodos, nodos :o!a y otros conceptos. "uando se busca una m60uina, la consulta se e!ecuta recursi#amente en la !erar0u a, empe4ando por la ra 4. Si se desea encontrar la direcci)n (P de 2tp.aHane.linu8silo.net., el ser#idor de nombres >del in3l,s, nameser#er? tiene 0ue empe4ar a pre3untar en al3Cn sitio. Empie4a mirando en su cac:,. Si conoce la respuesta, pues la :ab a buscado anteriormente y 3uardado en dic:a cac:,, contestar6 directamente. Si no la sabe, entonces eliminar6 partes del nombre, empe4ando por la i40uierda, comprobando si sabe al3o de aHane.linu8silo.net., lue3o de linu8silo.net., lue3o net. y, 2inalmente, de F.F, del cual siempre se tiene in2ormaci)n ya 0ue se encuentra en uno de los 2ic:eros de con2i3uraci)n en el disco duro. A continuaci)n pre3untar6 al ser#idor F.F acerca de 2tp.aHane.linu8silo.net. -ic:o ser#idor F.F no sabr6 la contestaci)n, pero ayudar6 a nuestro ser#idor en su bCs0ueda d6ndole una re2erencia de d)nde se3uir buscando. Estas re2erencias lle#ar6n a nuestro ser#idor :asta el ser#idor de nombres 0ue conoce la respuesta. As pues, empe4ando en F.F encontramos los sucesi#os ser#idores de nombres para cada ni#el en el nombre de dominio por re2erencia. Por supuesto, nuestro ser#idor de nombres 3uardar6 toda la in2ormaci)n obtenida a lo lar3o del proceso, a 2in de no tener 0ue pre3untar de nue#o durante un buen rato. En el 6rbol an6lo3o, cada F.F en el nombre es un salto a otra rama. I cada parte entre los F.F son los nombres de los nodos particulares en el 6rbol. Se trepa el 6rbol tomando el nombre 0ue 0ueremos >2tp.aHane.linu8silo.net? pre3untando a la ra 4 >F.F? o al ser#idor 0ue sea padre desde la ra 4 :acia 2tp.aHane.linu8silo.net acerca de los cuales ten3amos in2ormaci)n en la cac:,. Gna

#e4 se alcan4an los l mites de la cac:,, se resuel#e recursi#amente pre3untando a los ser#idores, persi3uiendo las re2erencias >ramas? :acia el nombre. 'tro concepto del cual no se :abla tanto, pero 0ue no es menos importante, es el dominio in$ addr.arpa, 0ue tambi,n se encuentra anidado como los dominios FnormalesF. in$addr.arpa nos permite :acernos con el nombre del :ost cuando tenemos su direcci)n. =erece la pena destacar a0u 0ue las direcciones (P est6n escritas en orden in#erso en el dominio in$addr.arpa. Si se tiene la direcci)n de una m60uina tal como A92.A@B.0.A, el ser#idor de nombres proceder6 del mismo modo 0ue con el e!emplo 2tp.aHane.linu8silo.net. Es decir, buscar6 los ser#idores arpa., lue3o los ser#idores in$addr.arpa., lue3o los A92.in$addr.arpa., lue3o los A@B.A92.in$addr.arpa. y, por Cltimo, los ser#idores 0.A@B.A92.in$addr.arpa. En este Cltimo encontrar6 el re3istro buscado: A.0.A@B.A92.in$addr.arpa. *+ui,n necesita el -.S/ El -.S de2ine: Gn espacio de nombres !er6r0uico para los :osts y las direcciones (P. Gna tabla de :osts implementada como una base de datos distribuida. Gn traductor >del in3l,s, resol#er? o librer a de rutinas 0ue permite reali4ar consultas a esa base de datos. Enrutamiento me!orado para el correo electr)nico. Gn mecanismo para encontrar los ser#icios en una red. Gn protocolo para intercambiar in2ormaci)n de nombres. Para ser aut,nticos ciudadanos de (nternet, los sitios necesitan el -.S. =antener un 2ic:ero local JetcJ:osts con un mapeado de todos los :osts 0ue los usuarios puedan 0uerer contactar no es 2actible. "ada sitio mantiene una o #arias pie4as de la base de datos distribuida 0ue posibilita el ser#icio 3lobal del sistema -.S. Su pie4a de la base de datos consiste en dos o m6s 2ic:eros de te8to 0ue contienen re3istros para cada uno de los :osts. "ada re3istro es una sencilla l nea consistente en un nombre >normalmente el nombre de un :ost?, un tipo de re3istro y di#ersos #alores o datos. El -.S es un sistema clienteJser#idor. 7os ser#idores >de nombres? car3an los datos de sus 2ic:eros de -.S en memoria y los usan para responder las consultas tanto de los clientes de la red interna como de los clientes y otros ser#idores en la red (nternet. 1odos sus :osts deber an ser clientes del -.S, pero relati#amente pocos necesitan ser ser#idores de -.S. Si su or3ani4aci)n es pe0ueKa >unos pocos :osts en una Cnica red?, puede e!ecutar un ser#idor en uno de sus e0uipos o pedirle a su (SP >del in3l,s, (nternet Ser#ices Pro#ider? 0ue le proporcione ese ser#icio en su nombre. Gn sitio de tamaKo medio con di#ersas subredes deber a tener mCltiples ser#idores de -.S para reducir la latencia de las consultas y me!orar la producti#idad. Gn sistema muy 3rande puede di#idir sus dominios de -.S en subdominios y usar al3unos ser#idores para cada subdominio. &e0uerimientos y datos t,cnicos. En este art culo se aprender6 a instalar y con2i3urar B(.- >del in3l,s, BerHeley (nternet .ame -omain? sobre un sistema 7inu8. Se dar6n por supuestos ciertos conocimientos m nimos de redes 1"PJ(P >del in3l,s, 1ransmission "ontrol Protocol J (nternet Protocol? y de administraci)n 7inu8 o, al menos, un conocimeinto b6sico del 2uncionamiento de un sistema de este tipo. Estos son los puntos 0ue se tratar6n y el so2tDare y :ardDare usado. So2tDare: -ebian 5.GJ7inu8 Sar3e Bind 9.2.4

-.S Gtils Bind -ocs Ser#icios: 1raducci)n de nombres a direcciones (P. 1raducci)n in#ersa >de direcciones (P a nombres?. 7istas de control de acceso. Ser#idores secundarios. 1rans2erencia se3ura de 4onas entre ser#idores primarios y secundarios >y puertos?. 7ocali4aci)n de ser#icios >re3istros S&9 $ &;"20L2, del in3l,s, &e0uest ;or "omments?. &espuestas parametri4adas en 2unci)n del ori3en de la petici)n >#istas?. Gso de la :erramienta rndc. 7o3s a medida. Para este art culo se usar6 el ;+-. >del in3l,s, ;ully +uali2ied -omain .ame? linu8silo.net y los ser#idores de nombres nsA.linu8silo.net y ns2.linu8silo.net. Gn ;+-. est6 2ormado por un :ost y un nombre de dominio, incluyendo el dominio de m6s alto ni#el. Por e!emplo, DDD.linu8silo.net es un ;+-.. DDD es el :ost, linu8silo es el dominio de se3undo ni#el y net es el dominio de m6s alto ni#el. Gn ;+-. siempre empie4a con el nombre del :ost y continua subiendo directo al dominio de m6s alto ni#el, por lo 0ue 2tp.aHane.linu8silo.net es tambi,n un ;+-.. aHane no es un ;+-.. (nstalaci)n. -e este tipo de so2tDare siempre es m6s 0ue recomendable tener la Cltima #ersi)n, pues podemos :allar en ella importantes errores y 2allos de se3uridad corre3idos, as como nue#as 2uncionalidades 0ue 2aciliten nuestra tarea como administradores de sistemas. El proceso de instalaci)n en una distribuci)n -ebian de 7inu8 es tan sencillo como e!ecutar >como root, por supuesto, del mismo modo 0ue en el resto del art culo?: apt$3et install bind9 bind9$doc dnsutils -ependiendo de la #ersi)n de -ebian, el pa0uete Bind9 no estar6 disponible >por e!emplo, en Potato se encuentra la #ersi)n B?, por lo 0ue deberemos actuali4ar a una #ersi)n m6s actual >Moody o Sid en el momento de escribir este art culo? y proceder. 7a instalaci)n nos de!a un Bind con una con2i3uraci)n b6sica >en JetcJbindJ? y 2uncionando, por lo 0ue tan s)lo deberemos con2i3urarlo se3Cn nuestras necesidades. Empe4aremos por la traducci)n de nombres a direcciones (P. El pa0uete -ebian bind9 se instala con una con2i3uraci)n ya 2uncional para la inmensa mayor a de los ser#idores terminales sin 0ue sea necesaria la acci)n del usuario. El 2ic:ero de con2i3uraci)n named.con2 del demonio >del in3l,s, daemon? named >nombre en el sistema del demonio del ser#idor de nombres de dominio Bind? se encuentra en JetcJbind, de modo 0ue todos los 2ic:eros est6ticos de con2i3uraci)n relacionados con Bind est,n en el mismo lu3ar. Se recomienda encarecidamente no modi2icar esta con2i3uraci)n, m6s en un sistema 5.GJ-ebian 7inu8. -e todos modos, si es necesario :acerlo, posiblemente la me!or manera sea usando un enlace simb)lico a la locali4aci)n 0ue desee usarse. 7os 2ic:eros de datos de las 4onas para los ser#idores ra 4 y las 4onas de traducci)n de direcciones >del in3l,s, 2orDard? y de traducci)n in#ersa >del in3l,s, re#erse? para el :ost local >del in3l,s, local:ost? se encuentran tambi,n en JetcJbind. El directorio de traba!o >del in3l,s, DorHin3 directory? de named es J#arJcac:eJbind. Por lo tanto, cuales0uiera 2ic:eros temporales 3enerados por named, como los 2ic:eros de la base de datos de las 4onas 0ue son secundarias para el demonio, ser6n escritos en el sistema de 2ic:eros de J#ar, 0ue es a donde pertenecen.

Para conse3uir 0ue esto 2uncione, el named.con2 proporcionado con la instalaci)n usa e8pl citamente rutas absolutas >del in3l,s, 2ully$0uali2ied o absolute pat:names? para re2erenciar los 2ic:eros en JetcJbind. A di2erencia de anteriores pa0uetes -ebian de Bind, los 2ic:eros named.con2 y todos los db.N de la instalaci)n se consideran 2ic:eros de con2i3uraci)n. Por ello, si tan s)lo se re0uiere una con2i3uraci)n Fde cac:,F para un ser#idor 0ue no :a de ser el autori4ado >del in3l,s, aut:oritati#e? de nin3Cn dominio, se puede e!ecutar la con2i3uraci)n proporcionada tal cual. Si es necesario cambiar opciones en el named.con2, o incluso re2erentes al init.d, puede :acerse sin compromiso, pues las 2uturas actuali4aciones respetar6n dic:os cambios, si3uiendo la pol tica de pa0uetes de -ebian. Si bien el lector es libre para idear la estructura 0ue m6s le pla4ca para los ser#idores de los cuales necesita ser el autori4ado, se su3iere 0ue todos los 2ic:eros db para las 4onas de las cuales se es ser#idor primario >del in3l,s, master? est,n en JetcJbind >0ui46s incluso en una estructura de subdirectorios, dependiendo de la comple!idad?, y usar rutas absolutas en el 2ic:ero named.con2. "uales0uiera 4onas de las 0ue se es ser#idor secundario >del in3l,s, secondary? deber an con2i3urarse en el named.con2 como nombres de 2ic:ero sin ruta, de 2orma 0ue los 2ic:eros de datos terminen cre6ndose en J#arJcac:eJbind. A lo lar3o del art culo se ilustrar6 este concepto para una me!or comprensi)n. 1raducci)n de nombres a direcciones (P. El primer paso es editar el 2ic:ero JetcJbindJnamed.con2.options, donde cambiaremos al3unos de los #alores por de2ecto y aKadiremos todo lo necesario para 0ue nuestro dominio sea accesible desde el e8terior. A menos 0ue seamos un pro#eedor de ser#icios de internet, se nos :abr6n proporcionado una o m6s direcciones (P de ser#idores de nombres estables, 0ue se3uramente 0uerremos usar como redireccionadores >del in3l,s, 2orDarders?, si bien no es imprescindible para conse3uir los ob!eti#os b6sicos de este art culo. Para ello deberemos descomentar el blo0ue casi al principio del 2ic:ero: JJ 2orDarders O JJ 0.0.0.0P JJ QP I de!arlo en al3o como esto: 2orDarders O @@.79.A@0.EP QP -onde las (Ps son las correspondientes a nuestro (SP. Esta directi#a le indica a nuestro ser#idor 0ue pase a otro ser#idor de nombres todas las peticiones para las cuales no es el autori4ado o no tiene la respuesta en cac:,. En el caso de no especi2icarlos, se usar6n los ser#idores ra 4 de -.S. 'tras opciones interesantes de Bind >dentro de la directi#a options y 2inali4adas en punto y coma? son: pid$2ile FJ#arJrunJnamed.pidFP, 0ue de2inir a la locali4aci)n del 2ic:ero 0ue contiene el P(- >del in3l,s, Process (-enti2icator? del demonio named, stacHsi4e E0=P, 0ue determinar a un tamaKo de pila de treinta me3abytes, datasi4e 20=P, 0ue especi2icar a un tamaKo m68imo de memoria dedicado a almacenar datos de #einte me3abytes,

trans2er$2ormat many$ser#ersP, 0ue pro#ocar a la trans2erencia en paralelo de #arias 4onas a los ser#idores secundarios, acelerando el proceso, alloD$trans2er O sla#esP QP, 0ue acotar a 3lobalmente las trans2erencias de 4onas a los ser#idores secundarios en la lista sla#es >#er m6s aba!o el uso de listas de control de acceso?, y #ersion F-.S ser#erFP, 0ue ocultar a la #ersi)n de Bind 0ue se est6 e!ecutando, en aras a una mayor se3uridad del sistema. Acto se3uido se proceder6 a dar de alta las 4onas para nuestros dominios. Si abrimos con un editor de te8tos el JetcJbindJnamed.con2 0ue #iene por de2ecto con la instalaci)n encontramos cinco 4onas: 7a ra 4 >el punto? local:ost A27.in$addr.arpa 0.in$addr.arpa 2LL.in$addr.arpa =ediante la primera damos a conocer los ser#idores ra 4 a nuestro ser#idor de -.S, mientras 0ue con las otras cuatro nos :acemos car3o de la traducci)n normal e in#ersa del local:ost. A partir de a0u , abrimos el 2ic:ero JetcJbindJnamed.con2.local y en ,l creamos la 4ona de nuestro dominio: 4one Flinu8silo.netF O type masterP 2ile FJetcJbindJdb.linu8silo.netFP alloD$0uery O anyP QP alloD$trans2er O sla#esP QP QP El orden de las 4onas es completamente irrele#ante, pero se recomienda de!arlas en orden al2ab,tico para una m6s 26cil locali4aci)n en el 2uturo. .)tese 0ue el nombre de la 4ona no termina en F.F >punto?. Este es el cometido de los par6metros de cada 4ona: type masterP si3ni2ica 0ue el ser#idor de dominios es primario o maestro de la 4ona. =6s adelante, al con2i3urar ser#idores secundarios, se usar6 type sla#eP. 2ile FJetcJbindJdb.linu8silo.netFP es el 2ic:ero donde especi2icaremos la con2i3uraci)n de esa 4ona. .)tese 0ue se usa una ruta absoluta, si3uiendo la pol tica de directorios de -ebian. El contenido de este 2ic:ero se especi2icar6 en bre#e. alloD$0uery O anyP QP si3ni2ica 0ue se permiten consultas >del in3l,s, 0ueries? e8ternas a la 4ona. Esto es al3o Ctil y necesario, a menos 0ue se 0uiera ser muy paranoico con la se3uridad. Simplemente se o2rece de 2orma t,cnicamente ordenada la in2ormaci)n 0ue es pCblicamente accesible. alloD$trans2er O sla#esP QP posibilita la trans2erencia autom6tica de esta con2i3uraci)n a los ser#idores secundarios de las 4onas ba!o nuestro control 0ue se especi2i0uen en la lista sla#es. Se pro2undi4ar6 m6s en el punto de trans2erencia de 4onas. Se3uramente, el lector se :abr6 percatado ya de 0ue se :an usado dos palabras especiales, any y sla#es, 0ue re0uieren una menci)n especial. E2ecti#amente, adem6s de :acer notar la sinta8is similar a la del len3ua!e de pro3ramaci)n ", con la 0ue se debe ser e8tremamente cuidadoso, :ay dos comentarios e8tras 0ue :acer:

any es una palabra reser#ada de la sinta8is de bind 0ue si3ni2ica Fcual0uier direcci)n (PF, como era l)3ico. Su uso es muy comCn y necesario. 'tras palabras reser#adas importantes son none, 0ue si3ni2ica Fnin3Cn :ostF, local:ost, 0ue si3ni2ica el :ost local desde cual0uiera de las inter2aces del sistema, y localnets, 0ue representa a todos los :osts de las redes para las cuales el sistema tiene una inter2a4. sla#es, en cambio, no es nin3una palabra reser#ada de bind, sino 0ue corresponde al concepto de lista de control de acceso >A"7, del in3l,s, Access "ontrol 7ist?. Estas listas de direcciones (P nos a:orran traba!o pues, de este modo, tan s)lo tenemos 0ue especi2icarlas una #e4 y, dado 0ue les as3inamos un identi2icador de 3rupo, podemos re2erenciarlas de 2orma m6s simple y r6pida. Este es el c)di3o de la A"7 usada en el e!emplo 0ue, por supuesto, debe especi2icarse en al3Cn lu3ar del documento antes de ser usada: acl Fsla#esF O 2AE.9@.79.79P QP El lector se :abr6 dado cuenta en se3uida de las 3randes #enta!as de usar estas listas, bien sea por0ue la lista se use en #arias 4onas, bien por0ue ten3amos m6s de un ser#idor escla#o. .)tese 0ue en los identi2icadores de las A"7 se di2erencian mayCsculas y minCsculas >en in3l,s, case sensiti#e?. A continuaci)n se detalla el contenido del 2ic:ero de datos de la 4ona linu8silo.net: P P B(.- data 2ile 2or 4one linu8silo.net P R117 @04B00 S (. S'A linu8silo.net. :ostmaster.linu8silo.net. > 200L0L240A P Serial yyyyJmmJddJid A0B00 P &e2res: >E :ours? 7200 P &etry >2 :ours? A29@000 P E8pire >AL days? A72B00 ? P .e3ati#e "ac:e 117 >2 days? S S S S S S S (. (. (. (. (. (. (. .S nsA.linu8silo.net. .S ns2.linu8silo.net. =T 20 m8A.linu8silo.net. =T E0 m82.linu8silo.net. 1T1 F7inu8 Silo -ot .etF <(.;' F(ntel Pentium (9F F-ebian 7inu8F 7'" E9 E4 LB . 2 EB 2 E A00m A0000m 20m A00m

S (. A @@.79.AB2.20A nsA (. A @@.79.AB2.20A ns2 (. A 2AE.9@.79.79 m8A (. A @@.79.AB2.20A m82 (. A 2AE.9@.79.79 DDD (. A @@.79.AB2.20A DDD2 (. A @@.79.AB2.20A Debmail (. A @@.79.AB2.20A ss:.tcp S&9 0 0 22 linu8silo.net. smtp.tcp S&9 0 0 2L m8A.linu8silo.net.

:ttp.tcp S&9 0 E B0 linu8silo.net. :ttp.tcp S&9 0 A B0 DDD2.linu8silo.net. :ttps.tcp S&9 A 0 44E linu8silo.net. popEs.tcp S&9 0 0 99L m8A.linu8silo.net. N.tcp S&9 0 0 0 . N.udp S&9 0 0 0 . Se comentan acto se3uido todas y cada una de las directi#as y opciones de estos 2ic:eros de con2i3uraci)n >un punto y coma, FPF, indica 0ue todo lo 0ue :ay a su derec:a es un comentario?: R117 @04B00: directi#a obli3atoria a partir de la #ersi)n 9 de Bind >&;"A0EL y &;"2E0B?, indica el tiempo de #ida >117, del in3l,s, 1ime 1o 7i#e? de la in2ormaci)n contenida en el 2ic:ero. Es decir, el tiempo m68imo de #alide4, tras el cual deber6 re2rescarse o actuali4arse >para comprobar 0ue no :aya cambiado?. Es lo 0ue se conoce como cac:, positi#aJne3ati#a >del in3l,s, positi#eJne3ati#e cac:in3?, como se especi2ica en el &;"2E0B. Por de2ecto se usan se3undos >@04B00 se3undos e0ui#ale a siete d as e8actos?, pero pueden usarse tambi,n semanas >R117 AD?, d as >R117 7d?, :oras >R117 A@B:? y minutos >R117 A00B0m?. Estas abre#iaturas se usan asimismo en el re3istro S'A, 0ue se e8plica a continuaci)n. 'tra directi#a interesante, aun0ue no se use en los e!emplos, es R(."7G-E U4one$2ileV, 0ue :ace 0ue named incluya otro 2ic:ero de 4ona en el lu3ar donde la directi#a se usa. Esto permite almacenar par6metros de con2i3uraci)n comunes a #arias sub4onas en un lu3ar separado del 2ic:ero de la 4ona principal. S (. S'A linu8silo.net. :ostmaster.linu8silo.net.: el re3istro S'A >del in3l,s, Start '2 Aut:ority? se encuentra siempre tras las directi#as y proclama in2ormaci)n rele#ante sobre la autoridad de un dominio al ser#idor de nombres. Es siempre el primer recurso en un 2ic:ero de 4ona. El s mbolo FSF >arroba? e0ui#ale a la directi#a R'&(5(. >o el nombre de la 4ona si dic:a directi#a no se :a usado $ caso m6s 2recuente? como espacio de nombres de dominio de2inido por este re3istro. Este ser a el es0ueleto de este re3istro: S (. S'A Uprimary$name$ser#erV U:ostmaster$emailV > Userial$numberV Utime$to$re2res:V Utime$to$retryV Utime$to$e8pireV Uminimum$117V ? El ser#idor de nombres primario 0ue es el autori4ado de este dominio se usa en Uprimary$name$ ser#erV y el correo electr)nico de la persona a contactar acerca de este espacio de nombres >del in3l,s, namespace? se sustituye en U:ostmaster$emailV >n)tese 0ue no tiene por0u, corresponder con una direcci)n del propio dominio?. El campo Userial$numberV es un nCmero 0ue se incrementa cada #e4 0ue se modi2ica un 2ic:ero de una 4ona, de 2orma 0ue Bind se d, cuenta de 0ue tiene 0ue recar3ar esta 4ona. Se recomienda usar la 2ec:a de modi2icaci)n en 2ormato AAAA==--, donde AAAA es el aKo en 2ormato de cuatro ci2ras, == es el mes en dos ci2ras, y -- es el d a de mes en dos ci2ras, se3uido de un nCmero de dos ci2ras, empe4ando por el 0A. -e este modo se podr6n reali4ar :asta cien cambios por d a. El campo Utime$to$re2res:V le dice a los ser#idores secundarios >escla#os? cu6nto tiempo deben esperar antes de pre3untar a su ser#idor principal >maestro? si se :a :ec:o al3Cn cambio en la 4ona. El #alor del campo Userial$numberV es usado por los escla#os para determinar si se est6 usando in2ormaci)n anticuada 0ue deba actuali4arse.

El campo Utime$to$retryV especi2ica a los ser#idores escla#os el inter#alo de tiempo a esperar antes de solicitar una actuali4aci)n en el caso de 0ue el ser#idor de nombres principal no est, respondiendo. Si el ser#idor maestro no :a respondido a la petici)n de actuali4aci)n antes de 0ue e8pire el tiempo del campo Utime$to$e8pireV, el escla#o de!ar6 de actuar como ser#idor el autori4ado de ese espacio de nombres >4ona?. El campo Uminimum$117V solicita a otros ser#idores de dominio 0ue almacenen en su cac:, la in2ormaci)n de esta 4ona durante al menos la cantidad de tiempo en ,l especi2icada. .)tese 0ue el campo Uprimary$name$ser#erV termina en un punto, 0ue es obli3atorio poner, y 0ue representa, se3Cn lo e8plicado en el apartado introductorio del art culo, el ser#idor de nombres ra 4. Asimismo, este punto aparecer6 en todas las re2erencias e8pl citas al dominio a lo lar3o del 2ic:ero. "uando se con2i3ura un :ost o subdominio, por e!emplo 2tp, se :ace una re2erencia impl cita y Bind aKade autom6ticamente el dominio, 0ue saca de la FSF del re3istro S'A. En cual0uier caso, es posible usar re2erencias impl citas o e8pl citas indistintamente. .S nsA.linu8silo.net. y .S ns2.linu8silo.net.: indican los ser#idores de nombre 0ue tienen autoridad sobre el dominio. .)tese 0ue la arroba nos a:orra tener 0ue escribir el nombre del dominio completo. -e :ec:o, el pre2i!o, (. tambi,n es prescindible. Esta omisi)n es posible 3racias a 0ue Bind toma las caracter sticas omitidas del re3istro S'A anterior, es decir, S (.. -esde lue3o, ambas 2ormas son correctas. =T 20 nsA.linu8silo.net.: se trata de un re3istro =T >del in3l,s, =ail eTc:an3er? e indica d)nde mandar el correo destinado a un espacio de nombres controlado por esta 4ona. El d 3ito 0ue si3ue a la palabra =T representa la prioridad respecto a otros re3istros =T para la 4ona, 0ue se especi2icar an en posteriores l neas >=T E0 ns2.linu8silo.net.?, si3uiendo el mismo 2ormato pero #ariando dic:o d 3ito >increment6ndolo a medida 0ue pierdan prioridad 2rente a anteriores re3istros?. Es decir, cuanto m6s ba!o es el #alor de pre2erencia, mayor prioridad ad0uiere. 1T1 F7inu8Silo.net -.S ser#erF: este es un re3istro a descripti#o, en te8to plano >del in3l,s, plain te8t?, del ser#idor. Puede usarse libre y arbitrariamente para prop)sitos di#ersos. Aparecer6 como resultado de una consulta sobre este tipo de re3istro :ec:a al ser#idor de nombres sobre esta 4ona. <(.;' F(ntel Pentium (9F F-ebian 7inu8F: otro re3istro, tambi,n a t tulo in2ormati#o y totalmente opcional >del in3l,s, <ost (.;'rmation?, cuyo prop)sito es in2ormar sobre el :ardDare y el sistema operati#o, en este orden, delimitados por dobles comillas y separados por un espacio o tabulador, de la m60uina sobre la cual el ser#idor de nombres se e!ecuta. 1anto este tipo de re3istro ><(.;'? como el anterior >1T1? pueden usarse en cada uno de los subdominios >no Cnicamente en el dominio principal de la 4ona?, como se #er6 m6s aba!o. 7'" E9 E4 LB . 2 EB 2 E A00m A0000m 20m A00m: re3istro de locali4aci)n 3eo3r62ica del ser#idor, de nue#o opcional, 0ue es usado por las :erramientas de representaci)n 3r62ica de locali4aciones de ser#idores, por e!emplo las de la asociaci)n "A(-A >del in3l,s, "ooperati#e Association 2or (nternet -ata Analysis? y otras. Puede encontrarse in2ormaci)n sobre este tipo de re3istro en el &;"AB7@. 7as coordenadas >latitud, lon3itud y di6metro del ob!eto? se encuentran en 2ormato M5S$B4 >del in3l,s, Morld 5eodetic System, del aKo A9B4?. 7a locali4aci)n usada en el art culo corresponde a Palma, =allorca, (slas Baleares, EspaKa. El 2ormato a se3uir es el si3uiente: UoDnerVU117VUclassV 7'" > dA WmA WsAXX OF.FYFSFQ d2 Wm2 Ws2XX OFEFYFMFQ altWFmFX Wsi4WFmFX W:pWFmFX W#pWFmFXXXX ?. -onde: Par6metro Si3ni2icado Gnidad 9alores "omentario dA 7atitud >3rados? Z 0..90 Porci)n en 3rados de la latitud mA 7atitud >minutos? [ 0..L9 Porci)n en minutos de la latitud. Si se omite se toma por de2ecto 0[

sA 7atitud >se3undos? F 0..L9,999 Porci)n en se3undos de la latitud. Si se omite se toma por de2ecto 0F .JS 7atitud >:emis2erio? .JS <emis2erio terrestre norteJsur d2 7on3itud >3rados? Z 0..AB0 Porci)n en 3rados de la lon3itud m2 7on3itud >minutos? [ 0..L9 Porci)n en minutos de la lon3itud. Si se omite se toma por de2ecto 0[ s2 7on3itud >se3undos? F 0..L9,999 Porci)n en se3undos de la lon3itud. Si se omite se toma por de2ecto 0F EJM 7on3itud EJM 7on3itud E\esteJM\oeste alt Altitud m $A00000.00 .. 42B49@72,9L Altitud con precisi)n de 0.0A m. si4 1amaKo m 0..90000000,00 -i6metro de la es2era 0ue contiene el punto indicado. Si se omite se toma por de2ecto A m. :p Precisi)n :ori4ontal m 0..90000000,00 Precisi)n :ori4ontal en metros. Si se omite se toma por de2ecto A0.000 m. #p recisi)n #ertical m 0..90000000,00 Precisi)n #ertical en metros. Si se omite se toma por de2ecto A0 m.

local:ost A A27.0.0.A: re3istro 0ue relaciona el :ost local con su (P de loopbacH. linu8silo.net. A @@.79.AB2.20A: re3istro 0ue relaciona el nombre de dominio de se3undo ni#el >el FprincipalF de la 4ona? con la (P donde est6 :ospedado. Este es el re3istro m6s usado, pues cual0uier petici)n a linu8silo.net ser6 resuelta mediante este re3istro, se use el protocolo de comunicaciones 0ue se use >por e!emplo, :ttp:JJlinu8silo.net?. nsA A @@.79.AB2.20A: a partir de a0u empie4a la traducci)n de subdominios del dominio para el cual somos el autori4ado: los dominios de tercer ni#el y sucesi#os. ; !ese el lector en 0ue debe crearse un re3istro para cada uno, sin posibilidad de Fa3ruparF de nin3Cn modo. Asimismo, n)tese 0ue, al ser subdominios de la 4ona, se :a omitido el su2i!o linu8silo.net., 0ue se encuentra impl cito debido a 0ue no termina en F.F >punto?. Es simplemente una cuesti)n de claridad y a:orro de espacio, pues las representaciones en ambas 4onas son $ repetimos de nue#o $ i3ualmente correctas. 'tros re3istros similares se citan, a3rupados, a continuaci)n: ns2 A 2AE.9@.79.79 1T1 F7inu8Silo.net secondary nameser#erF <(.;' F(ntel Pentium ==TF F-ebian 7inu8F DDD A @@.79.AB2.20A popE A @@.79.AB2.20A smtp A @@.79.AB2.20A 2tp A @@.79.AB2.20A ts A 2AE.9@.79.79 1T1 F7inu8Silo.net 1eam SpeaH ser#erF <(.;' F(ntel Pentium ==TF F-ebian 7inu8F -ese cuenta el lector de 0ue se :an usado dos direcciones (P distintas, lo 0ue indicar a a priori 0ue, en realidad, todos estos :osts >dominios de tercer ni#el? se encuentran tan s)lo en dos m60uinas distintas. Pero esto no tiene por0u, ser cierto, pues podr a tenerse una misma (P pCblica pero #arias m60uinas sir#iendo los distintos puertos usados en estos ser#icios, 3racias a la acci)n de un router. A prop)sito del concepto de alias >DDD, popE, smtp y 2tp son de :ec:o el mismo :ost? e8iste una contro#ertida discusi)n sobre si es me!or usar el tipo de re3istro ".A=E >del in3l,s, "anonical .A=E? o (. A. =uc:os 3urCs de Bind recomiendan no usar re3istros ".A=E en absoluto, si bien esa discusi)n se escapa de los ob!eti#os de este art culo. En cual0uier caso, es

muy recomendable se3uir la re3la de 0ue los re3istros =T, ".A=E y S'A nunca deben re2erenciar un re3istro ".A=E, sino e8clusi#amente al3o con un re3istro tipo FAF. Por lo tanto, no es aconse!able usar: Deb ".A=E DDD Pero s ser a correcto: Deb ".A=E ns 1ambi,n es se3uro asumir 0ue un ".A=E no es un :ost adecuado para una direcci)n de correo electr)nico: DebmasterSDDD.linu8silo.net, ser a incorrecta dada la con2i3uraci)n de arriba. 7a manera de e#itar esto es usar re3istros FAF >y 0ui46s al3unos otros tambi,n, como el re3istro =T? en su lu3ar. El autor de este art culo se decanta por el uso de (. A y recomienda dic:a pr6ctica. 1raducci)n in#ersa. En estos momentos, los pro3ramas son ya capaces de con#ertir los nombres en linu8silo.net y baleariHus$party.or3 a direcciones a las cuales pueden conectarse. Pero tambi,n se re0uiere una 4ona in#ersa, capa4 de permitir al -.S con#ertir una direcci)n en un nombre. Este nombre es usado por muc:os ser#idores de di2erentes clases >;1P, (&", MMM y otros? para decidir si 0uieren F:ablarF con el cliente o no y, si es el caso, 0ui46s incluso cu6nta prioridad se le debe asi3nar. Para poder tener acceso completo a todos estos ser#icios en (nternet es necesario una 4ona in#ersa. En el 2ic:ero JetcJbindJnamed.con2 :allamos #arias 4onas in#ersas 0ue #ienen por de2ecto con la instalaci)n, !usto deba!o de dos l neas de comentario como estas: JJ be aut:oritati#e 2or t:e local:ost 2orDard and re#erse 4ones, and 2or JJ broadcast 4ones as per &;" A9A2 A: podemos encontrar la traducci)n de 4onas in#ersas para local:ost, A27.in$addr.arpa, 0.in$ addr.arpa y 2LL.in$addr.arpa, 0ue no es necesario modi2icar para nada e8cepto en el primer caso. 1ras ellas deberemos aKadir nuestra 4ona: EB.A27.2A7.in$addr.arpa >recu,rdese 0ue se escriben en orden in#erso, como se e8plica en el apartado introductorio de este art culo?: 4one FEB.A27.2A7.in$addr.arpaF O type masterP 2ile FJetcJbindJdb.2A7.A27.EBFP QP 7a sinta8is es id,ntica a la utili4ada en las 4onas de traducci)n de nombres e8plicadas en el punto anterior, y los comentarios anteriores mantienen su #alide4 a0u . Pasemos a #er el contenido del 2ic:ero JetcJbindJdb.2A7.A27.EB: P P B(.- re#erse data 2ile 2or 4one 2A7.A27.EB P R117 @04B00 S (. S'A linu8silo.net. :ostmaster.linu8silo.net. > 200A0BAL0A P Serial A0B00 P &e2res: >E :ours? 7200 P &etry >2 :ours?

A29@000 P E8pire >AL days? A72B00 ? P .e3ati#e "ac:e 117 >2 days? S (. .S nsA.linu8silo.net. .S ns2.linu8silo.net. AL@ (. P1& nsA.linu8silo.net. Este ser a el aspecto de la 4ona in#ersa local:ost, 0ue deberemos modi2icar li3eramente a partir del ori3inal: P P B(.- data 2ile 2or local loopbacH inter2ace P R117 @04B00 S (. S'A local:ost. :ostmaster.linu8silo.net. > 200A0@AL0A P Serial @04B00 P &e2res: B@400 P &etry 24A9200 P E8pire @04B00 ? P .e3ati#e "ac:e 117 (. .S nsA.linu8silo.net. A (. P1& local:ost.nsA.linu8silo.net. El mapeado in#erso de la direcci)n del :ost local >A27.0.0.A? nunca cambia, por lo 0ue los tiempos entre cambios son lar3os. .)tese el nCmero de serie, 0ue codi2ica la 2ec:a: el 2ic:ero 2ue cambiado por Cltima #e4 durante el #erano del 200A, 2ec:a en 0ue el ser#idor 2ue creado. .)tese asimismo 0ue s)lo el ser#idor maestro se lista en el dominio local:ost. El #alor de FSF a0u es 0.0.A27.in$addr.arpa. -e nue#o, los conceptos son los mismos >la FSF $ arroba $ indica el dominio de la 4ona linu8silo.net., el F.F $ punto $ del 2inal :ace re2erencia al ser#idor de nombres ra 4 y el re3istro FS'AF tiene e8actamente la misma estructura y 2uncionalidad?, e8cepto las dos Cltimas l neas: S (. .S nsA.linu8silo.net. y .S ns2.linu8silo.net.: indican a 0u, ser#idores de nombres debe pre3untarse por la traducci)n in#ersa de una direcci)n (P de esta 4ona. AL@ (. P1& nsA.linu8silo.net.: este es el re3istro 0ue se usar6 para de#ol#er el nombre 0ue 0ueremos 0ue corresponda con la direcci)n (P 0ue nos pertenece >cuidado al crear estos re3istros, pues debe :acerse re2erencia e8clusi#amente a direcciones (P 0ue sean de nuestra propiedad o pro#ocar amos un con2licto?. En este caso se indica 0ue la direcci)n AL@ >impl citamente se le aKade el su2i!o .EB.A27.2A7.in$addr.arpa, lo 0ue indica 0ue se trata de FnuestraF direcci)n (P @@.79.AB2.20A? e0ui#ale al :ost nsA.linu8silo.net. Es ob#io 0ue a0u F2alta in2ormaci)nF, pues la direcci)n (P @@.79.AB2.20A e0ui#ale, en realidad, a m6s :osts, tal y como :emos especi2icado en el 2ic:ero JetcJbindJdb.linu8silo.net. Esto es cierto, pero el autor es de la opini)n de 0ue es redundante aKadir l neas del estilo: AL@ AL@ AL@ AL@ W..X (. (. (. (. P1& P1& P1& P1& 2tp.linu8silo.net. popE.linu8silo.net. smtp.linu8silo.net. DDD.linu8silo.net.

Es decir, se estima m6s adecuado especi2icar un Cnico ;+-. por (P. Por supuesto, si se poseyera un ran3o de direcciones (P, por e!emplo de @@.79.AB2.20A a 2A7.A27.EB.A@0, ambos inclusi#e, aparecer an re3istros similares a los si3uientes >#ariar an en 2unci)n del caso concreto?: AL@ AL7 ALB AL9 A@0 (. (. (. (. (. P1& P1& P1& P1& P1& nsA.linu8silo.net. 2tp.linu8silo.net. smtp.linu8silo.net. ss:.linu8silo.net. DDD.linu8silo.net.

Para este e!emplo, se deduce 0ue la 4ona linu8silo.net. est6 di#idida en cinco m60uinas distintas, una para cada uno de los ser#icios mencionados >.S, ;1P, S=1P, SS< y MMM, respecti#amente?. *Por 0u, la traducci)n in#ersa no 2unciona/ <ay una serie de Fatenciones especialesF 0ue prestar en este punto 0ue a menudo se pasan por alto al con2i3urar un ser#idor de nombres de este tipo. Se discuten a continuaci)n dos errores comunes en las traducciones in#ersas: 7a 4ona in#ersa no :a sido dele3ada. "uando se solicita un ran3o de direcciones (P y un nombre de dominio a un pro#eedor de ser#icios, el nombre de dominio es 3eneralmente dele3ado por norma. Gna dele3aci)n es el ser#idor de nombres espec 2ico 0ue permite ir saltando de un ser#idor de nombres a otro tal y como se e8plica en la secci)n introductoria de este art culo. 7a 4ona in#ersa tambi,n debe ser dele3ada. Si se obtiene la red 2A7.A27.EB con el dominio linu8silo.net a tra#,s de un pro#eedor, es preciso 0ue dic:o pro#eedor aKada un re3istro .S para nuestra 4ona in#ersa as como para nuestra 4ona directa. Si se si3ue la cadena desde in$ addr.arpa :acia arriba :asta lle3ar a nuestra red, probablemente se encontrar6 una 2ractura en la cadena, muy probablemente a la altura de nuestro pro#eedor de ser#icios. <abiendo encontrado el eslab)n roto, contacte con su pro#eedor de ser#icios y p dales 0ue corri!an el error. Su subred no pertenece a una clase de2inida. Este es un concepto m6s a#an4ado, pero las subredes sin clase >del in3l,s, classless subnet? son muy comunes en la actualidad y probablemente ten3a una si la suya es una empresa pe0ueKa. Gna subred sin clase es lo 0ue consi3ue 0ue (nternet si3a 2uncionando :oy en d a. <ace al3unos aKos se discut a muc:o sobre la 2alta de direcciones (P. 7os cerebros del (E1; >del in3l,s, (nternet En3ineerin3 1asH ;orce?, 0ue mantienen (nternet 2uncionando, se e8primieron la cabe4a y :allaron la soluci)n al problema, aun0ue a cierto coste. El precio es 0ue se obtiene menos 0ue una subred de tipo F"F y al3unas cosas pueden de!ar de 2uncionar. 7a primera parte del problema es 0ue su (SP debe entender la t,cnica utili4ada. .o todos los pe0ueKos pro#eedores de ser#icios tienen un conocimiento pr6ctico de su 2uncionamiento, por lo 0ue 0ui46s deba usted e8plic6rselo y ser al3o insistente >aun0ue ase3Crese primero 0ue lo entiende?. Entonces, ellos deber6n preparar una 4ona in#ersa en su ser#idor cuya correctitud puede ser e8aminada mediante la utilidad di3 del pa0uete dnsutils. 7a se3unda y Cltima parte del problema es 0ue usted debe entender la problem6tica y su soluci)n. Si no est6 se3uro, :a3a a0u una pausa y bus0ue m6s in2ormaci)n sobre ello. S)lo entonces, deber a usted con2i3urar su 4ona in#ersa para su red sin clase. Pero :ay aCn otra trampa oculta en este concepto. 7os ser#idores de nombres de dominio anti3uos no ser6n capaces de se3uir el re3istro ".A=E en la cadena de traducciones y errar6n en la traducci)n in#ersa de su m60uina. Esto puede terminar en la asi3naci)n de una clase de

acceso incorrecta por parte de un ser#icio, una dene3aci)n de ser#icio o al3o a medio camino entre ambos. Si se encuentra en este caso, la Cnica soluci)n es 0ue su (SP inserte directamente su re3istro P1& directamente en su 4ona de red sin clase en lu3ar de usar re3istros ".A=E. Al3unos (SP o2recen di#ersas alternati#as para tratar este problema, como 2ormularios Deb 0ue le permitir6n introducir su mapa de re3istros de traducci)n in#ersa, etc. Ser#idores secundarios Gna #e4 se :an con2i3urado correctamente las 4onas en el ser#idor principal >maestro?, es necesario preparar al menos un ser#idor secundario >escla#o?, 0ue proporcionar6 robuste4 y 2iabilidad. Si el ser#idor maestro cae los usuarios aCn ser6n capaces de obtener in2ormaci)n del escla#o acerca de las 4onas 0ue se representan. El ser#idor escla#o deber a estar lo m6s le!os posible del maestro, debiendo ambos compartir la menor cantidad posible de las si3uientes caracter sticas: suministro el,ctrico, red de 6rea local >7A., del in3l,s, 7ocal Area .etDorH?, (SP, ciudad y pa s. Si todas ellas son distintas entre el maestro y el escla#o, entonces se tiene un ser#idor secundario realmente bueno. Gn ser#idor escla#o es simplemente un ser#idor de nombres 0ue replica los 2ic:eros de las 4onas de un maestro. Se con2i3uran tal 0ue as : 4one FbaleariHus$party.or3F O type sla#eP 2ile Fsec.baleariHus$party.or3FP alloD$0uery O anyP QP masters O @@.79.AB2.20AP QP QP 4one Flinu8silo.netF O type sla#eP 2ile Fsec.linu8silo.netFP alloD$0uery O anyP QP masters O @@.79.AB2.20AP QP QP .)tese 0ue la estructura es la misma 0ue para el ser#idor primario, cambiando Cnicamente al3unos par6metros: type sla#eP: indica 0ue el ser#idor es escla#o para esta 4ona. 2ile Fsec.baleariHus$party.or3FP y 2ile Fsec.linu8silo.netFP: como se :a e8plicado en la introducci)n del art culo, para se3uir la pol tica de directorios de -ebian, los arc:i#os temporales de las 4onas 3enerados autom6ticamente por el ser#idor secundario deben 3uardarse en el directorio por de2ecto J#arJcac:eJbind, por lo 0ue tan s)lo se especi2ican 2ic:eros >sin ruta, o con ruta relati#a impl cita, 0ue es lo mismo?. 9,ase el punto si3uiente para m6s in2ormaci)n sobre el contenido de estos 2ic:eros. alloD$0uery O anyP QP: mismo concepto 0ue en el ser#idor primario. masters O @@.79.AB2.20AP QP: de2ine 0u, ser#idor es maestro para esta 4ona >de la cual, recordemos, se es escla#o?. Podr a :aberse usado una A"7 a0u , de la misma manera 0ue se :ace en el JetcJbindJnamed.con2 del maestro, pero no se :a estimado oportuno pues e8iste un Cnico maestro para ambas 4onas. -e todos modos, si el lector debe administrar una red de ser#idores de nombres, donde el papel de maestro y escla#o es desempeKado a la #e4 por el mismo :ost en 2unci)n de la 4ona, ser a entonces muy con#eniente crear #arias A"7, de 2orma

0ue se 2acilite el mantenimiento y el control en la asi3naci)n de maestro y escla#os para cada 4ona. 7as dem6s opciones de con2i3uraci)n se usar an de modo id,ntico al del ser#idor maestro, siempre y cuando las condiciones sean las mismas. Es decir, se aplican las mismas directi#as >por e!emplo, options, en la cual incluir amos la opci)n 2orDarders? y posibilidades. Por Cltimo, se desea destacar este apartado un aspecto 0ue no debe pasarse por alto: las 4onas in#ersas, aun0ue especiales, tambi,n son 4onas y deben trans2erirse del ser#idor primario a los secundarios. En este momento, el 0ue :asta a:ora era ser#idor primario pasa a ser adem6s ser#idor secundario, pues ns2.linu8silo.net es maestro de su 4ona in#ersa >79.9@.2AE.in$ addr.arpa?, 0ue trans2erir6 a nsA.linu8silo.net, con#irti,ndolo en escla#o Cnicamente para esa 4ona. -el mismo modo, nsA.linu8silo.net actuar6 como maestro de su 4ona in#ersa >EB.A27.2A7.in$addr.arpa?, 0ue trans2erir6 a ns2.linu8silo.net al i3ual 0ue #en a ocurriendo con las 4onas baleariHus$party.or3 y linu8silo.net. A continuaci)n se presentan los cambios en los 2ic:eros de con2i3uraci)n. En el named.con2 de nsA.linu8silo.net: 4one FEB.A27.2A7.in$addr.arpaF O type masterP 2ile FJetcJbindJdb.2A7.A27.EBFP alloD$trans2er O sla#esP QP QP 4one F79.9@.2AE.in$addr.arpaF O type sla#eP 2ile Fsec.db.2AE.9@.79FP masters O 2AE.9@.79.79P QP QP I en el named.con2 de ns2.linu8silo.net: 4one F79.9@.2AE.in$addr.arpaF O type masterP 2ile FJetcJbindJdb.2AE.9@.79FP alloD$trans2er O @@.79.AB2.20AP QP QP 4one FEB.A27.2A7.in$addr.arpaF O type sla#eP 2ile Fsec.db.2A7.A27.EBFP masters O @@.79.AB2.20AP QP QP El contenido de las 4onas se mantendr a e8actamente i3ual. 1ras estos cambios, en el directorio J#arJcac:eJbind de nsA.linu8silo.net aparecer a el 2ic:ero sec.db.2AE.9@.79 y en el mismo directorio de ns2.linu8silo.net aparecer a el 2ic:ero sec.db.2A7.A27.EB, todo 3racias a la trans2erencia autom6tica de 4onas 0ue pasa a #erse a continuaci)n. 1rans2erencia se3ura de 4onas. El lector se :abr6 dado cuenta de 0ue no se :a comentado nada de los 2ic:eros sec.baleariHus$ party.or3 y sec.linu8silo.net especi2icados en las directi#as 4one del ser#idor secundario. Esto es debido a 0ue usaremos un procedimiento 0ue permitir6 0ue esos 2ic:eros se creen de 2orma automati4ada a partir de los 0ue creemos en el ser#idor primario, de 2orma 0ue las tareas de mantenimiento se 2acilitan enormemente.

Para ello, se deber6n :aber utili4ado, como se :a :ec:o en el e!emplo, las opciones alloD$ trans2er O sla#esP QP y masters O @@.79.AB2.20AP QP en las 4onas de2inidas en los 2ic:eros JetcJbindJnamed.con2 de los ser#idores primario y secundario, respecti#amente. Esto permitir6 0ue, reali4ados los cambios deseados en el 2ic:ero JetcJbindJdb.baleariHus$party.or3 o JetcJbindJdb.linu8silo.net, incluyendo el incremento del nCmero de serie identi2icati#o del re3istro S'A, y :abi,ndole ordenado al ser#idor de nombres 0ue recar3ue una, #arias o todas las 4onas, estos cambios se re2le!en en el secundario de 2orma 0ue se 3eneren los correspondientes 2ic:eros J#arJcac:eJbindJsec.baleariHus$party.or3 y J#arJcac:eJbindJsec.linu8silo.net. Para 0ue esta trans2erencia de 4onas se :a3a de 2orma se3ura y controlada, impondremos ciertas restricciones en el JetcJbindJnamed.con2 y 3eneraremos cla#es 0ue nos ase3urar6n la pri#acidad en la comunicaci)n. Estas son las l neas 0ue aKadiremos en el JetcJbindJnamed.con2 del ser#idor primario >@@.79.AB2.20A en el e!emplo?: controls O inet A27.0.0.A alloD O A27.0.0.AP Q Heys O F20020L2A0A.linu8silo.net.tsi3Hey.FP QP QP ser#er 2AE.9@.79.79 O Heys O F20020L2A0A.linu8silo.net.tsi3Hey.FP QP QP I estas las 0ue aKadiremos en el JetcJbindJnamed.con2 del secundario: controls O inet A27.0.0.A alloD O A27.0.0.AP Q Heys O F20020L2A0A.linu8silo.net.tsi3Hey.FP QP QP ser#er @@.79.AB2.20A O Heys O F20020L2A0A.linu8silo.net.tsi3Hey.FP QP QP Acto se3uido se e8plica el si3ni2icado de ambas directi#as: controls O inet A27.0.0.A alloD O A27.0.0.AP Q Heys O F20020L2A0A.linu8silo.net.tsi3Hey.FP Q QP es la directi#a 0ue ciKe el control sobre el ser#idor a tra#,s de la cla#e 20020L2A0A.linu8silo.net.tsi3Hey. Cnicamente al :ost local. Es decir, deberemos :abernos conectado >:abitualmente de 2orma remota mediante SS<? al ser#idor y, desde all , e!ecutar los comandos 0ue controlan las acciones de Bind >normalmente mediante la utilidad rndc, 0ue se e8plicar6 m6s adelante?. -e a0u se deduce 0ue, tanto la trans2erencia remota de 4onas como el

control sobre el ser#idor >recar3a de 4onas, parada, arran0ue, etc.? se reali4a a tra#,s de esta cla#e ci2rada. Adem6s, se deduce tambi,n 0ue mediante esta restricci)n no ser6 posible controlar Bind remotamente, como ya se :a dic:o. Esta es la opci)n por de2ecto y la 0ue el autor de este art culo recomienda. ser#er 2AE.9@.79.79 O Heys O F20020L2A0A.linu8silo.net.tsi3Hey.FP QP QP es una directi#a 0ue indica al ser#idor cu6ndo debe usarse la cla#e. Al usar esta cl6usula se obli3a al ser#idor a usar cierta cla#e cuando se comuni0ue con una determinada direcci)n (P. Para cada ser#idor es con#eniente especi2icar una directi#a ser#er, especi2icando la direcci)n (P de la otra m60uina y el nombre de la cla#e a utili4ar. En el e!emplo se usa la misma cla#e para la comunicaci)n entre ser#idores y para el control del ser#idor desde el :ost local $ :abiendo accedido por SS< $ mediante la utilidad rndc .)tese 0ue, si se cambia la cla#e, la :erramienta rndc puede de!ar de 2uncionar correctamente. Al reali4ar este proceso se recomienda para el ser#idor >rndc stop o JetcJinit.dJbind9 stop?, sustituir las cla#es y arrancarlo de nue#o >JetcJinit.dJbind9 start?. Antes de e8plicar c)mo crear una cla#e de este tipo, #eamos el #erdadero por0u, de su necesidad y los problemas 0ue un 2allo de se3uridad podr a causar. Acerca de los puertos, Bind usa el LE 1"P para las trans2erencias y el LE G-P para las consultas. +u, es una 1S(5 y para 0u, se necesita El -.S traba!a sobre un modelo pre3unta$respuesta. Si un cliente necesita in2ormaci)n del -.S, manda una petici)n al ser#idor de -.S y ,ste le de#uel#e una respuesta. <asta :ace poco s)lo era posible basarse en la direcci)n (P de ori3en para discernir si deb a o no contestarse una consulta. Pero esto no es precisamente FidealF. 7a autenticaci)n basada Cnicamente en la direcci)n (P de ori3en se considera inse3ura. 7as transacciones 2irmadas >1S(5, del in3l,s, 1ransaction S(5natures? aKaden las 2irmas cripto3r62icas como m,todo de autenticaci)n en una con#ersaci)n del -.S. Se usa una cla#e secreta compartida para establecer la con2ian4a entre las partes in#olucradas. 7as 1S(5 se usan para ase3urar 0ue la in2ormaci)n del -.S 0ue pretende pro#enir de cierto ser#idor es realmente de ese ser#idor. Se usan principalmente para la autenticaci)n en la trans2erencia de 4onas entre el ser#idor de nombres primario y los secundarios. Se 0uiere ase3urar 0ue los ser#idores secundarios no ser6n nunca en3aKados para 0ue acepten una copia de una 4ona para la cual es el autori4ado de un impostor 0ue escuc:a en la direcci)n (P del ser#idor primario. 7as transacciones 2irmadas se de2inen en el &;"2B4L. En el e!emplo anterior se :a usado la cla#e tsi3Hey.linu8silo.net.200A0922 para autenticar el tr62ico del -.S entre los dos ser#idores, el primario >@@.79.AB2.20A? y el secundario >2AE.9@.79.79?. "reaci)n de una cla#e 1S(5 En la instalaci)n por de2ecto del pa0uete -ebian se 2acilita una cla#e 1S(5 pre#iamente 3enerada y totalmente 2uncional. Pero es, desde lue3o, la misma para todo a0uel 0ue se instala ese pa0uete. Por lo tanto, es m6s 0ue recomendable cambiarla. A continuaci)n se muestra c)mo 3enerar una cla#e particular y c)mo usarla para 0ue la trans2erencia de 4onas se :a3a de 2orma se3ura. 1S(5 usa una cla#e secreta compartida 0ue es incorporada a una dispersi on >del in3l,s, :as:? =-L de la in2ormaci)n a ser 2irmada. Bind #iene con una :erramienta para crear este tipo de cla#es, llamada dnssec$Hey3en, cuyos par6metros son numerosos >e!ecute dnssec$Hey3en $$:elp

para #er la lista completa y man dnssec$Hey3en para la p63ina del man a prop)sito de esta utilidad?. Estos son los pasos a se3uir para crear r6pidamente una cla#e: =ediante la e!ecuci)n del comando dnssec$Hey3en $a <=A"$=-L $b LA2 $n <'S1 20020L2A0A.linu8silo.net.tsi3Hey. se crea una cla#e llamada 20020L2A0A.linu8silo.net.tsi3Hey. usando el al3oritmo <=A"$=-L, de LA2 bits >del in3l,s, B(nary di3i1? y tipo <'S1 >0ue es precisamente el uso para el cual #a destinada?. -e los dos 2ic:eros 3enerados, ]20020L2A0A.linu8silo.net.tsi3Hey.^AL7^E0A9A.Hey y ]20020L2A0A.linu8silo.net.tsi3Hey.^AL7^E0A9A.pri#ate, se usar6 s)lo el se3undo. Se apro#ec:a para mencionar 0ue el 2ormato de salida de los nombres de los 2ic:eros 3enerados es ]nnnn. ^aaa^iiiii, donde nnnn es el nombre de la cla#e, aaa es la representaci)n num,rica del al3oritmo e iiiii es la marcaJ:uella del identi2icador de la cla#e >del in3l,s, 2ootprint?. Por supuesto, los nombres de cada cla#e 3enerada deben ser Cnicos, es decir, dos cla#es no deber an compartir !am6s el mismo nombre, de a0u el nombre tan inusual 0ue se le :a dado. 7a cla#e, propiamente dic:a, es el con!unto de caracteres 0ue se encuentra tras la palabra ]ey: en la Cltima l nea del 2ic:ero con su2i!o .pri#ate. El si3uiente paso es editar el 2ic:ero JetcJbindJrndc.Hey y sustituir la cla#e 0ue #iene por de2ecto por la 0ue acaba de ser 3enerada. Para ello, es su2iciente con cambiar el nombre de la cla#e por de2ecto de Frndc.HeyF al 0ue le :emos dado al crearla, en este caso 20020L2A0A.linu8silo.net.tsi3Hey.. Por Cltimo, :ay 0ue cambiar el #alor del campo secret por el #alor de la cla#e 3enerada 0ue, como se acaba de decir m6s arriba, se encuentra tras la palabra ]ey: en la Cltima l nea del 2ic:ero terminado en .pri#ate. En el caso de e!emplo usado para el art culo, se :a 3enerado la cla#e Dln+b&+=J7@rol085HEdm W..X ==lG;&7<pen+\\, pero el lector no debe tomar ,sta como una re2erencia, pues #ariar6 en cada nue#a 3eneraci)n. Este es el contenido del 2ic:ero ]20020L2A0A.linu8silo.net.tsi3Hey.^AL7^E0A9A.pri#ate: Pri#ate$Hey$2ormat: #A.2 Al3orit:m: AL7 ><=A"_=-L? ]ey: Dln+b&+=J7@rol085HEdm W..X ==lG;&7<pen+\\ Este es el contenido del 2ic:ero JetcJbindJrndc.Hey 0ue #iene por de2ecto con la instalaci)n del pa0uete -ebian: Hey Frndc$HeyF O al3orit:m :mac$mdLP secret FbstyL7I-s'Bin2m^n2J.sD\\FP QP I este es, 2inalmente, el 2ic:ero JetcJbindJrndc.Hey resultante del uso de la nue#a cla#e: Hey F20020L2A0A.linu8silo.net.tsi3Hey.F O al3orit:m :mac$mdLP secret FDln+b&+=J7@rol085HEdm W..X ==lG;&7<pen+\\FP QP 7os dos 2ic:eros creados al 3enerar la cla#e, terminados en .Hey y .pri#ate, pueden ser eliminados sin problemas. El lector, durante sus pruebas, se dar6 cuenta de 0ue, si se omite el F.F al 2inal del nombre de la cla#e, dnssec$Hey3en lo aKadir6 autom6ticamente, pudi,ndose crear con2usi)n acerca de si el nombre 0ue corresponde a la cla#e 3enerada es con punto o sin punto al 2inal. 7le3ados a este punto, el autor recomienda usar el nombre tal y como se 3ener), aun0ue con una simple prueba de ensayo$error >comprobar 0ue se trans2ieren las 4onas? se puede lle3ar 26cilmente a la soluci)n correcta.

Por Cltimo, resaltar 0ue una cla#e secreta es eso: secreta. Por lo tanto, es preciso 0ue sea copiada e instalada en ambos ser#idores de modo se3uro. Adem6s, se recomienda encarecidamente cambiar los permisos de los 2ic:eros JetcJbindJnamed.con2 y JetcJbindJrndc.Hey, tanto del ser#idor primario como del secundario, a @00 >c:mod @00 JetcJbindJnamed.con2 y c:mod @00 JetcJbindJrndc.Hey?, de manera 0ue sean Cnicamente accesibles por el usuario root. 7a #eri2icaci)n de una 1S(5 re0uiere la posibilidad de escribir un 2ic:ero temporalmente. Ase3Crese de 0ue named tiene permisos de escritura en su directorio por de2ecto >cl6usula directory de la directi#a options, 0ue en -ebian es, por de2ecto, J#arJcac:eJbindJ?. 7a implementaci)n de =icroso2t de las 1S(5 no usa el al3oritmo del &;"2B4L ><=A"$=-L?. El 5SS$ 1S(5 de =icroso2t no cumple el est6ndar y, consecuentemente, no interoperar6 adecuadamente con Bind. =6s in2ormaci)n en los documentos &;"2LEL, &;"2B4L y &;"2LE9 "omentarios sobre la actuali4aci)n din6mica, la se3uridad de las 1S(5 y las A"7 Es cr tico 0ue la cla#e sea 3uardada en secreto, lo 0ue si3ni2ica, por e!emplo, 0ue: named.con2 y rndc.Hey no deben tener permisos de lectura para nadie 0ue no sea named o el usuario 0ue e!ecute rndc o nsupdate. la cla#e no debe ser transmitida por emails, a menos 0ue est,n ci2rados. cual0uiera a 0uien le d, esta cla#e es de con2ian4a: por ello, d,sela e8clusi#amente a 0uienes la necesiten, y nunca a personas de las 0ue descon2 e. debe considerar cambiar de cla#e cada cierto tiempo, despu,s de cambios en el personal, o si se tienen sospec:as de 0ue se pueda :aber comprometido el secreto. Si ambos :osts est6n en la misma subred, es m6s di2 cil monitori4ar >del in3l,s, spoo2in3? la direcci)n (P 0ue :acerse con una copia de la cla#e >por e!emplo si los routers en contacto con el e8terior 2iltran (Ps monitori4adas?, de modo 0ue una A"7 de direcciones (P ser a m6s e2ecti#a. Es i3ualmente #6lido especi2icar una A"7 o una cla#e 1S(5. Por e!emplo alloD$update OHey updaterP updatersP QP, 0ue si3ni2icar a 0ue tanto la 1S(5 como la A"7 de direcciones (P son #6lidas para las actuali4aciones. .o es posible re0uerir a la #e4 una 1S(5 y control de acceso por (P. 7os desarrolladores de Bind no creen 0ue esto sea Ctil, pues ellos se concentran en el control a ni#el de usuario m6s 0ue a ni#el de :ost de cara a las actuali4aciones din6micas >de a0u el ,n2asis puesto en la nue#a pol tica de actuali4aciones 0ue permite a los usuarios con direcciones (P din6micas actuali4ar sus re3istros en el -.S?. 7as actuali4aciones din6micas no pueden aKadir o eliminar dominios, tan s)lo re3istros de esos dominios. Gn :ost cliente 0ue 0uiera actuali4ar un ser#idor Bind Cnicamente necesita el binario nsupdate y la cla#e apropiada. .o se re0uieren otros binarios o librer as >del in3l,s, libraries? adicionales. nsupdate soporta el par6metro F$dF para tareas de depuraci)n >del in3l,s, debu33in3?. nsupdate tambi,n puede usar 1"P >del in3l,s, 1ransmission "ontrol Protocol? en lu3ar de G-P >del in3l,s, Gser -ata3ram Protocol? para las actuali4aciones >par6metro F$#F?, lo 0ue proporciona un me!or rendimiento si son muc:as las actuali4aciones a reali4ar y mayor se3uridad ya 0ue 1"P es un protocolo orientado a cone8i)n. Adem6s, una cone8i)n 1"P tiene la posibilidad de ser diri3ida >del in3l,s, piped? a tra#,s de un canal >del in3l,s, tunnel? SS< >del in3l,s, Secure S<ell?para m6s se3uridad >encriptaci)n y control de acceso?.

7a pol tica de actuali4aciones es una nue#a caracter stica de Bind 9 0ue permite 0ue las actuali4aciones se restrin!an a ciertos nombres espec 2icos. Por e!emplo, para permitir 0ue un usuario de A-S7 >del in3l,s, Asymmetric -i3ital Subscriber 7ine? o -<"P >del in3l,s, -ynamic <ost "on2i3uration Protocol? pueda actuali4ar el nombre de su propio :ost >es decir, a0uellos a 0ue cambian de direcci)n (P?. "on esta pol tica de actuali4aciones, puede con2i3urarse una lista de cla#es por :ost y permitir a cada cla#e 0ue actualice Cnicamente el :ost o 4ona asociada. &ies3os a los 0ue e8pone un Bind inse3uro *Es realmente necesario preocuparse tambi,n por el -.S/ Bien, un -.S comprometido puede e8ponerse a al3unos ries3os interesantes: Gn atacante puede obtener in2ormaci)n muy interesante si se permiten trans2erencias de 4onas: la lista completa de :osts y encaminadores >del in3l,s, routers? con sus direcciones (P, nombres y, posiblemente, comentarios indicando su situaci)n, etc. -ene3aci)n de ser#icio >del in3l,s, -enial o2 ser#ice?: si todos sus ser#idores de -.S caen, Su sitio Deb >del in3l,s, Debsite? ya no es #isible >los otros Debsites no pueden traducir su direcci)n (P?. 7os correos electr)nicos ya no pueden ser en#iados >al3unos sitios en (nternet con los cuales se intercambia in2ormaci)n a menudo :abr6n 3uardado en su cac:, los re3istros de -.S, pero eso no durar6 m6s 0ue unos pocos d as?. Gn atacante podr a inciar un 2also ser#idor de -.S 0ue 2in3e ser el suyo y en# a in2ormaci)n de -.S 2alsa a (nternet acerca de su dominio. Es decir, p,rdida de inte3ridad $ #e6se la si3uiente secci)n. P,rdida de inte3ridad: si un atacante puede cambiar los datos del -.S o 2acilitar >mediante spoo2in3? a otros sitios 2alsa in2ormaci)n >esto se conoce como en#enenamiento de -.S >del in3l,s, -.S poisonin3?, la situaci)n se #uel#e muy pelia3uda: ;alsi2icar >del in3l,s, 2aHe? su Debsite, de manera 0ue pare4ca el suyo, y capturar las entradas de los usuarios 0ue iban destinadas a su sitio, por lo 0ue se estar a :ablando de robar cual0uier cosa, desde nombres de usuario >del in3l,s, lo3ins? y contraseKas >en in3l,s, passDords? :asta nCmeros de tar!etas de cr,dito. 1odo el correo podr a ser rediri3ido a un ser#idor repetidor >del in3l,s, relay? 0ue podr a copiar, cambiar o borrar correo antes de pasarlo a su sitio. Si su corta2ue3os >del in3l,s, 2ireDall? o cual0uier :ost accesible desde (nternet usa nombres de :ost de -.S >del in3l,s, -.S :ostnames? para autenticarse o para relaciones de con2ian4a, ,stas pueden ser completamente comprometidas, especialmente si un d,bil 2iltro de pa0uetes es 0uien prote3e los ser#idores de (nternet y la (ntranet. (ma3ine un pro8y Deb con2i3urado para permitir peticiones pro8y s)lo desde N.midominio.com. El atacante aKade su :ost al dominio, por lo 0ue el pro8y Deb pasa a permitir peticiones 0ue pro#en3an de ,l, permitiendo al atacante acceso por <11P a la (ntranet. (ma3ine un administrador de sistemas 0ue usa SS< >3ran in#ento cripto3r62ico?, pero los :osts corta2ue3os tienen un .s:osts con2iando en admin.midominio.com, donde admin es la estaci)n de traba!o del administrador. Si el atacante puede sustituir la entrada para admin.midominio.com en el -.S, pasa a tener un acceso libre y sin necesidad de contraseKa a los :osts del corta2ue3os. El -.S se :a con#ertido en el ob!eti#o 2a#orito de los :acHers, como prueban las :erramientas para reali4ar ata0ues autom6ticos y los 3usanos 0ue usan los 2allos del -.S 0ue aparecieron durante el in#ierno de 200A.

Entonces, *0u, medidas es necesario tomar/ 7os ries3os de Bind pueden ser reducidos considerablemente con al3unas medidas de pre#enci)n: Aislamiento de los recursos: use un ser#idor dedicado y ase3urado para el -.S de (nternet, no lo comparta con otros ser#icios y, especialmente, no permita el acceso remoto de usuario. =inimi4ar los ser#icios y usuarios si3ni2ica reducir la cantidad de so2tDare e!ecut6ndose y, por lo tanto, la probabilidad de e8ponerse a ata0ues de red. 7a separaci)n pre#iene contra la posibilidad de 0ue otros ser#icios o usuarios localicen debilidades en el sistema y las usen para atacar a Bind. &edundancia: instale un secundario en una cone8i)n a (nternet di2erente >rama ale!ada de su empresa, otro (SP, etc.?. Si su sitio cae, al menos el resto de sitios no pensar6n 0ue usted :a Fde!ado de e8istirF, sino 0ue tan s)lo creer6n 0ue Fno est6 disponibleF, por lo 0ue, por e!emplo, sus emails no se perder6n sino 0ue entrar6n en una cola de espera >t picamente de :asta cuatro d as?. Gse la Cltima #ersi)n. "ontrol del acceso: restrin!a la trans2erencia de 4onas para minimi4ar la cantidad de in2ormaci)n 0ue est, disponible en su red para los atacantes. "onsidere el uso de transacciones 2irmadas. "onsidere restrin3ir o no permitir las consultas recursi#as. E!ecute Bind con los m nimos pri#ile3ios: como usuario no root, con una umasH muy restricti#a >por e!emplo, A77?. =ayor aislaci)n de recursos: e!ecute Bind en un entorno >del in3l,s, !ail? c:root, de modo 0ue sea muc:o m6s di2 cil 0ue un demonio Bind comprometido daKe el sistema operati#o o comprometa otros ser#icios. "on2i3ure Bind para 0ue no in2orme de su #ersi)n. Al3unas personas no creen en esta medida, pues es Fse3uridad por ocultaci)nF, pero entienda 0ue, al menos, ayudar6 contra !o#encillos con scripts 0ue rastrean la red buscando ob!eti#os ob#ios. -e2enderse de los pro2esionales es otro asunto. -etecci)n: monitorice los lo3s buscando acti#idad inusual y cambios no autori4ados en el sistema mediante un anali4ador de inte3ridad. =ant,n3ase continuamente al d a de las no#edades y ase3Crese 0ue se le noti2ica la salida de nue#os problemas de Bind en un tiempo ra4onable. Ser#idores recursi#os y no recursi#os. 7os ser#idores de nombres pueden actuar recursi#amente o no permitirla. Si un ser#idor no recursi#o tiene la respuesta a una petici)n cac:eada de una transacci)n pre#ia o es el autori4ado del dominio al cual la consulta pertenece, entonces proporciona la respuesta apropiada. -e otro modo, en lu3ar de de#ol#er una contestaci)n real, de#uel#e una re2erencia al ser#idor autori4ado de otro dominio 0ue sea m6s capa4 de saber la respuesta. Gn cliente de un ser#idor no recursi#o debe estar preparado para aceptar re2erencias y actuar en consecuencia. Aun0ue los ser#idores no recursi#os puedan parecer pere4osos, tienen :abitualmente un buen moti#o para des:acerse del traba!o e8tra. 7os ser#idores ra 4 y los ser#idores de m6s alto ni#el son todos no recursi#os, pero es 0ue A0.000 consultas por se3undo bien son una e8cusa para serlo.

Gn ser#idor recursi#o de#uel#e Cnicamente respuestas reales o mensa!es de error. Se encar3a de se3uir las re2erencias por si mismo, descar3ando al cliente de esa tarea. El procedimiento b6sico para traducir una consulta es, esencialmente, el mismoP la Cnica di2erencia es 0ue el ser#idor de nombres se preocupa de de :acerse car3o de las re2erencias en lu3ar de de#ol#erlas al cliente. 7ocali4aci)n de ser#icios Gn re3istro S&9 especi2ica la locali4aci)n de los ser#icios o2recidos por un dominio. Por e!emplo, el re3istro S&9 permite consultar un dominio remoto directamente y pre3untarle por el nombre de su ser#idor ;1P. <asta a:ora, en la mayor a de ocasiones, :ab a 0ue probar suerte. Para contactar el ser#idor ;1P de un dominio remoto, uno esperaba 0ue el administrador de sistemas de ese dominio :ubiese se3uido el est6ndar >el 3usto me!or dic:o? actual y tu#iese un ".A=E para 2tp en su ser#idor de -.S. 7os re3istros S&9 ad0uieren muc:a importancia en este tipo de consultas y son realmente una me!or manera para los administradores de sistemas de trasladar ser#icios y controlar su uso. Sin embar3o, deben ser solicitados y anali4ados e8pl citamente por los clientes, por lo 0ue sus e2ectos se ir6n #iendo 3radualmente a medida 0ue pase el tiempo. 7os re3istros S&9 se parecen a re3istros =T 3enerali4ados con campos 0ue permiten al administrador local 3uiar y balancear la car3a de las cone8iones pro#enientes del mundo e8terior. El 2ormato es ser#icio.proto.nombre WttlX (. S&9 pri Dt puerto destino donde ser#icio es uno de los ser#icios de2inidos en la base de datos de nCmeros asi3nada por la (A.A, proto puede ser tcp o udp, nombre es el dominio al cual el ser#icio :ace re2erencia, pri es una prioridad al estilo de los re3istros =T, Dt es el peso usado para balancear la car3a entre di2erentes ser#idores, puerto es el puerto en el cual el ser#icio escuc:a, y destino es el nombre de :ost del ser#idor en el cual se pro#ee ese ser#icio. El re3istro A del destino :abitualmente es de#uelto de 2orma autom6tica !unto a la respuesta en# ada a una consulta S&9. Gn #alor F0F para el par6metro Dt si3ni2ica 0ue no se reali4a nin3Cn tipo especial de balanceo de car3a. Gn #alor de F.F para el destino si3ni2ica 0ue el ser#icio no se e!ecuta en ese sitio. En la 4ona linu8silo.net del e!emplo, adaptado del &;"20L2 >donde se de2ine S&9?, se tiene lo si3uiente: 2tp.tcp ss:.tcp telnet.tcp smtp.tcp S&9 0 0 2A 2tp.linu8silo.net. S&9 0 0 22 linu8silo.net. S&9 0 0 2E linu8silo.net. S&9 0 0 2L smtp.linu8silo.net.

P EJ4 de las cone8iones al principal, AJ4 al secundario :ttp.tcp S&9 0 E B0 linu8silo.net. :ttp.tcp S&9 0 A B0 ns2.linu8silo.net. P para 0ue 2uncionen tanto :ttp:JJDDD.linu8silo.net como :ttp:JJlinu8silo.net :ttp.tcp.DDD S&9 0 E B0 linu8silo.net. :ttp.tcp.DDD S&9 0 A B0 ns2.linu8silo.net. P ser#idor principal en el puerto 44E, secundario $ en caso de 2allo $ en otra m60uina y otro puerto :ttps.tcp S&9 A 0 44E linu8silo.net. :ttps.tcp S&9 2 0 444E ns2.linu8silo.net.

:ttps.tcp.DDD S&9 A 0 44E linu8silo.net. :ttps.tcp.DDD S&9 2 0 44E ns2.linu8silo.net. popEs.tcp S&9 0 0 99L popE.linu8silo.net. N.tcp N.udp S&9 0 0 0 . S&9 0 0 0 .

Este e!emplo ilustra el uso tanto el par6metro Dt >del in3l,s, Dei3t:? para <11P como el par6metro de prioridad para <11PS. Ambos ser#idores <11P ser6n usados, di#idi,ndose el traba!o entre ellos. El ser#idor secundario ns2.linu8silo.net s)lo ser6 usado para <11PS cuando el principal no est, disponible. 1odos los ser#icios no especi2icados est6n e8cluidos. El :ec:o de 0ue el demonio de, por e!emplo, 2in3er no apare4ca en el -.S no si3ni2ia 0ue no se est, e!ecutando, sino tan s)lo 0ue no se podr6 locali4ar ese ser#icio a tra#,s de -.S. =icroso2t usa los re3istros S&9 est6ndar en MindoDs 2000, pero los inserta en el sistema de -.S de una manera incompatible e indocumentada. 1ipos de re3istros del -.S 1ipo .ombre ;unci)n `ona S'A Start '2 Aut:ority -e2ine una 4ona representati#a del -.S .S .ame Ser#er (denti2ica los ser#idores de 4ona, dele3a subdominios B6sicos A -irecci)n (P#4 1raducci)n de nombre a direcci)n AAAA -irecci)n (P#@ ori3inal Actualmente obsoleto A@ -irecci)n (P#@ 1raducci)n de nombre a direcci)n (P#@ P1& Puntero1raducci)n de direcci)n a nombre -.A=E &edirecci)n &edirecci)n para las traducciones in#ersas (P#@ =T =ail eTc:an3er "ontrola el enrutado del correo Se3uridad ]EI "la#e pCblica "la#e pCblica para un nombre de -.S .T1 .e8t Se usa !unto a -.SSE" para las respuestas ne3ati#as S(5 Si3nature `ona autenticadaJ2irmada 'pcionales ".A=E "anonical .ame .icHs o alias para un dominio 7'" 7ocali4aci)n 7ocali4aci)n 3eo3r62ica y e8tensi)n &P Persona responsable Especi2ica la persona de contacto de cada :ost S&9 Ser#icios Proporciona la locali4aci)n de ser#icios conocidos 1T1 1e8to "omentarios o in2ormaci)n sin ci2rar 9istas 7as #istas >del in3l,s, #ieDs? son una nue#a caracter stica de Bind 9 0ue permite mostrar a las m60uinas internas una #isi)n distinta de la !erar0u a de nombres de -.S de la 0ue se #e desde el e8terior >se entiende FinteriorF y Fe8teriorF respecto del router 0ue da salida a la empresa a (nternet?. Por e!emplo, le permite re#elar todos los :osts a los usuarios internos pero restrin3ir la #ista e8terna a unos pocos ser#idores de con2ian4a. ' podr a o2recer los mismos :osts en ambas #istas pero proporcionar re3istros adicionales >o di2erentes? a los usuarios internos. Este tipo de con2i3uraci)n >llamada en ocasiones F-.S partidoF, del in3l,s Fsplit -.SF? se est6 :aciendo muy popular. En el pasado, se implementaba con2i3urando ser#idores separados para las #ersiones interna y e8terna de la realidad. 7os clientes locales apuntaban a los ser#idores de distribuci)n 0ue conten an la #ersi)n interna de la 4ona, mientras 0ue los re3istros .S de la 4ona padre apuntaban a ser#idores 0ue corr an la #ersi)n e8terna. 7a sentencia #ieD de Bind 9 simpli2ica la con2i3uraci)n permitiendo tener !untos ambos con!untos de datos en la misma copia de named. named busca correspondencias en listas de direcciones para adi#inar 0u, clientes deben recibir 0u, datos. 7a sentencia #ieD empa0ueta un lista de acceso 0ue controla 0ui,n #e la #ista, al3unas opciones 0ue se aplican a todas las 4onas en la #ista y, 2inalmente, las propias 4onas. 7a sinta8is es:

#ieD Fnombre$de$la$#istaF O matc:$clients O address_matc:_listP QP opcion$de$#istaP ... sentencia$de$4onaP ... QP 7a cl6usula matc:$clients controla 0ui,n puede #er la #ista. 7as #istas son procesadas en orden secuencial, por lo 0ue las m6s restricti#as deben ir primero. 7as 4onas en distintas #istas pueden tener el mismo nombre. 7as #istas son una proposici)n de todo o nadaP si las usa, todas las sentencias 4one en su 2ic:ero named.con2 deben aparecer dentro del conte8to de una #ista. Este es el e!emplo para los dominios linu8silo.net y baleariHus$party.or3, creado a partir de la documentaci)n de Bind 9 0ue si3ue el es0uema de -.S partido descrito m6s arriba. 7as dos #istas de2inen ambas 4onas, pero con di2erentes re3istros. acl FlanF O A92.A@B.0.0J24P QP JJ 9ieD 2or all computers on local area netDorH #ieD FinternalF O matc:$clients O lanP QP recursion yesP JJ be aut:oritati#e 2or t:e local:ost 2orDard and re#erse 4ones, and 2or JJ broadcast 4ones as per &;" A9A2 JJ prime t:e ser#er Dit: HnoDled3e o2 t:e root ser#ers 4one F.F O type :intP 2ile FJetcJbindJdb.rootFP QP JJ &esto de 4onas in#ersas por de2ecto omitidas para abre#iar 4one FEB.A27.2A7.in$addr.arpaF O type masterP 2ile FJetcJbindJdb.2A7.A27.EBFP alloD$trans2er O sla#esP QP QP 4one F79.9@.2AE.in$addr.arpaF O type sla#eP 2ile Fsec.db.2AE.9@.79FP masters O 2AE.9@.79.79P QP QP 4one F0.A@B.A92.in$addr.arpaF O type masterP 2ile FJetcJbindJdb.A92.A@B.0FP QP

JJ add entries 2or ot:er 4ones beloD :ere 4one FbaleariHus$party.or3F O type masterP 2ile FJetcJbindJdb.baleariHus$party.or3.internalFP QP 4one Flinu8silo.netF O type masterP 2ile FJetcJbindJdb.linu8silo.net.internalFP QP QP JJ 9ieD 2or all computers outside t:e local area netDorH #ieD Fe8ternalF O matc:$clients O anyP QP recursion noP JJ be aut:oritati#e 2or t:e local:ost 2orDard and re#erse 4ones, and 2or JJ broadcast 4ones as per &;" A9A2 JJ prime t:e ser#er Dit: HnoDled3e o2 t:e root ser#ers 4one F.F O type :intP 2ile FJetcJbindJdb.rootFP QP JJ &esto de 4onas in#ersas por de2ecto omitidas para abre#iar 4one FEB.A27.2A7.in$addr.arpaF O type masterP 2ile FJetcJbindJdb.2A7.A27.EBFP alloD$trans2er O sla#esP QP QP 4one F79.9@.2AE.in$addr.arpaF O type sla#eP 2ile Fsec.db.2AE.9@.79FP masters O 2AE.9@.79.79P QP QP JJ add entries 2or ot:er 4ones beloD :ere 4one FbaleariHus$party.or3F O type masterP 2ile FJetcJbindJdb.baleariHus$party.or3FP alloD$0uery O anyP QP alloD$trans2er O sla#esP QP QP

4one Fclan$bin.or3F O type masterP 2ile FJetcJbindJdb.clan$bin.or3FP alloD$0uery O anyP QP alloD$trans2er O sla#esP QP QP QP 7a red local interna es A92.A@B.0.0, de a0u 0ue se use una lista de acceso 0ue en3loba a cual0uier :ost 0ue sea de esa red >red A92.A@B.0.0, m6scara 2LL.2LL.2LL.0, especi2icada como suma de unos binarios, es decir, 24?. Esta nue#a situaci)n nos lle#a a precisar una nue#a de2inici)n de 4ona in#ersa, la correspondiente a la red local 0.A@B.A92.in$addr.arpa, 0ue se muestra a continuaci)n: P P B(.- re#erse data 2ile 2or 4one A92.A@B.0 P R117 @04B00 S (. S'A linu8silo.net. :ostmaster.linu8silo.net. > 200A0BAL0A P Serial A0B00 P &e2res: >E :ours? 7200 P &etry >2 :ours? A29@000 P E8pire >AL days? A72B00 ? P .e3ati#e "ac:e 117 >2 days? S (. .S nsA.linu8silo.net. A (. P1& nsA.linu8silo.net. .)tese 0ue, a:ora, las 4onas in#ersas, tanto las 0ue se proporcionan con la instalaci)n por de2ecto para el 2uncionamiento b6sico como las de2inidas por el administrador, se reparten adecuadamente entre ambas #istas. En cambio, las 4onas directas son duplicadas, una ocurrencia para cada #ista. Por supuesto, los 2ic:eros de 4ona apuntados contienen re3istros distintos, en consonancia con la #ista. Acto se3uido se 2acilitan los re3istros de los 2ic:eros de 4onas directas internas >las e8ternas se mantienen i3ual, por lo 0ue son #6lidas las e8puestas anteriormente en este art culo?. P P B(.- data 2ile 2or 4one baleariHus$party.or3, internal #ieD P R117 @04B00 S (. S'A baleariHus$party.or3. :ostmaster.linu8silo.net. > 20020LA00A P Serial yyyyJmmJddJid A0B00 P &e2res: >E :ours? 7200 P &etry >2 :ours? A29@000 P E8pire >AL days? A72B00 ? P .e3ati#e "ac:e 117>2 days? baleariHus$party.or3. (. .S nsA.linu8silo.net. baleariHus$party.or3. (. =T L nsA.linu8silo.net. local:ost (. A A27.0.0.A baleariHus$party.or3. (. A A92.A@B.0.A DDD (. A A92.A@B.0.A

popE (. A A92.A@B.0.A smtp (. A A92.A@B.0.A 2tp (. A A92.A@B.0.A P P B(.- data 2ile 2or 4one linu8silo.net, internal #ieD P R117 @04B00 S (. S'A linu8silo.net. :ostmaster.linu8silo.net. > 20020LA00A P Serial yyyyJmmJddJid A0B00 P &e2res: >E :ours? 7200 P &etry >2 :ours? A29@000 P E8pire >AL days? A72B00 ? P .e3ati#e "ac:e 117>2 days? .S nsA.linu8silo.net. =T L nsA.linu8silo.net. local:ost A A27.0.0.A linu8silo.net. A A92.A@B.0.A nsA A A92.A@B.0.A ns2 A 2AE.9@.79.79 DDD A A92.A@B.0.A popE A A92.A@B.0.A smtp A A92.A@B.0.A 2tp A A92.A@B.0.A ts A 2AE.9@.79.79 aHane A A92.A@B.0.A ranma A A92.A@B.0.@ 3enma A A92.A@B.0.L Hasumi A A92.A@B.0.4 nabiHi A 2AE.9@.79.79 primetime A A92.A@B.0.E 7a :erramienta &.-" El comando rndc es una Ctil :erramienta para manipular named. 7a si3uiente tabla muestra al3unas de las opciones 0ue acepta. 7os par6metros 0ue pro#ocan la creaci)n de 2ic:eros lo :ar6n en el directorio especi2icado como :ome de named en el JetcJbindJnamed.con2 >cl6usula directory, cuyo #alor por de2ecto es J#arJcac:eJbind en -ebian?."omando ;unci)n :elp 7ista los opciones de rndc disponibles status =uestra el estado actual del named en e!ecuci)n trace (ncrementa el ni#el de depuraci)n en A notrace -esacti#a la depuraci)n dumpdb 9uelca la base de datos de -.S a named_dump.db stats 9uelca estad sticas a named.stats reload &ecar3a named.con2 y los 2ic:eros de 4onas reload 4ona &ecar3a s)lo la 4ona especi2icada restart &einicia named, #aciando la cac:, 0uerylo3 Acti#a el se3uimiento de las consultas entrantes

&ndc usa el puerto 9LE G-P para el control remoto. Si se si3uen las pautas mostradas en este art culo, no es necesario 0ue ese puerto sea accesible desde el e8terior $ con2i3urarlo en el

router $ pues el control se :ar6 siempre desde el :ost local y las trans2erencias de 4onas se reali4an por el puerto LE 1"P Personali4aci)n de los lo3s 7os lo3s en Bind se con2i3uran con la sentencia lo33in3 en el named.con2. Primero se de2inen canales, 0ue son los posibles destinos de los mensa!es. 7ue3o se les dice a #arias cate3or s de mensa!es 0ue #ayan a un canal particular.1,rmino Si3ni2icado canal Gn lu3ar a donde los mensa!es pueden ir: syslo3, un 2ic:ero o Jde#Jnull cate3or a Gna clase de mensa!es 0ue Bind puede 3enerarP por e!emplo, mensa!es sobre actuali4aciones din6micas o mensa!es acerca de respuestas a consultas m)dulo El nombre del m)dulo de ori3en 0ue 3enera un mensa!e lu3ar El nombre de un lu3ar syslo3. -.S no tiene su propio destino, por lo 0ue tendr6n 0ue esco3erse los est6ndar. importancia 7o FmaloF 0ue es un mensa!e de errorP a lo 0ue syslo3 se re2iere como prioridad

"uando se 3enera un mensa!e, se le asi3na una cate3or a, un m)dulo y una importancia en su punto de ori3en. -espu,s es distribuido a todos los canales asociados con esa cate3or a y m)dulo. "ada canal tiene un 2iltro de importancia 0ue de2ine 0u, ni#el de importancia debe tener un mensa!e para pasar. 7os canales 0ue lle#an al syslo3 tambi,n son 2iltrados de acuerdo a las re3las del JetcJsyslo3.con2. Este es el es0ueleto de una sentencia lo33in3: lo33in3 O de2inici)n_de_canalP de2inici)n_de_canalP ... cate3ory nombre_cate3or a O nombre_canalP nombre_canalP ... QP QP Gna de2inici)n_de_canal es li3eramente di2erente dependiendo de si el canal es un 2ic:ero o un canal syslo3. Se debe ele3ir 2ile o syslo3 para cada canalP un canal no puede ser ambas cosas a la #e4. c:annel Fnombre_del_canalF O 2ile ruta W#ersions nCm#ers Y unlimitedX Wsi4e si4especXP syslo3 2acilityP se#erity importanciaP print$cate3ory yes Y noP print$se#erity yes Y noP print$time yes Y noP QP En un 2ic:ero, nCm#ers especi2ica cu6ntas #ersiones de copia de un 2ic:ero 3uardar, y si4espec dice lo 3randes 0ue pueden lle3ar a ser esos 2ic:eros >por e!emplo, 204B, A00H, 20m, AL3, unlimited, de2ault?.

En el caso de syslo3, 2acility especi2ica 0ue nombre de lu3ar usar al 3uardar el mensa!e. Puede ser cual0uiera de los est6ndar. En la pr6ctica, s)lo daemon y de local0 a local7 son elecciones ra4onables. El resto de sentencias en una de2inici)n de canal son opcionales. importancia puede tomar los #alores >en orden descendente? critical, error, Darnin3, notice, in2o o debu3 >con un ni#el num,rico opcional, por e!emplo se#erity debu3 E?. El #alor dynamic tambi,n es #6lido y representa el ni#el de depuraci)n actual del ser#idor. 7as di#ersas opciones print aKaden o suprimen pre2i!os del mensa!e. El syslo3 incluye la 2ec:a y :ora y el :ost de ori3en en cada mensa!e 3uardado, pero no la importancia o la cate3or a. En Bind 9, el 2ic:ero de ori3en >m)dulo? 0ue 3ener) el mensa!e tambi,n est6 disponible como opci)n print. Ad0uiere sentido entonces acti#ar print$time s)lo para canales 2ic:ero, pues los re3istros del syslo3 ponen la 2ec:a y :ora ellos solos. A continuaci)n se listan los cuatro canales prede2inidos por de2ecto, 0ue deber n ser su2iciente para la mayor a de casos:.ombre del canal 7o 0ue :ace de2ault_syslo3 =anda importancia in2o al syslo3 con el destino daemon de2ault_debu3 5uarda en el 2ic:ero named.run, importancia puesta a dynamic de2ault_stderr =anda mensa!es a la salida de error est6ndar de named, importancia in2o null Se descartan todos los mensa!es

7a con2i3uraci)n de lo33in3 por de2ecto de Bind 9 es: lo33in3 O cate3ory de2ault O de2ault_syslo3P de2ault_debu3P QP QP -eber a ec:ar un #ista4o a los 2ic:eros lo3 cuando :a3a 3randes cambios en Bind, y 0ui46s incrementar el ni#el de depuraci)n. Entonces, recon2i3Crelo para preser#ar Cnicamente mensa!es importantes una #e4 named est, estable. Al3unos de los mensa!es de lo3 m6s comunes se listan a continuaci)n: 7ame ser#er. Si recibe este mensa!e acerca de una de sus 4onas es 0ue :a con2i3urado mal al3una cosa. El mensa!e es relati#amente poco importante si es sobre al3una 4ona en (nternet, pues si3ni2ica 0ue es problema de al3Cn otro. Bad re2erral. Este mensa!e indica una descoordinac n en la comunicaci)n entre los ser#idores de nombres de una 4ona. .ot aut:oritati#e 2or. Gn ser#idor escla#o no es capa4 de obtener in2ormaci)n representati#a de una 4ona. +ui46s est6 apuntando al maestro e0ui#ocado o 0ui46s el maestro :a tenido al3Cn problema car3ando esa 4ona. &e!ected 4one. named rec:a4) esa 4ona por0ue conten a errores. .o .S &&s 2ound. El 2ic:ero de una 4ona no tiene re3istros .S tras el re3istro S'A. Podr a ser 0ue no est6n o 0ue no empie4an con un tabulador o un espacio en blanco. En este Cltimo caso, los re3istros no se interpretan correctamente.

.o de2ault 117 set.. 7a me!or manera de establecer el 117 por de2ecto es con una cl6usula R117 al principio del 2ic:ero de la 4ona. Este mensa!e de error indica 0ue el R117 no est6 presente. .o root name ser#er 2or class. Su ser#idor est6 teniendo problemas para encontrar los ser#idores ra 4. "ompruebe su 2ic:ero JetcJbindJdb.root y la cone8i)n a (nternet de su ser#idor. Address already in use. El puerto en el 0ue named 0uiere e!ecutarse ya est6 siendo usado por otro proceso, probablemente otra copia de named. Si no #e otra copia de named en memoria, podr a :aberse col3ado, de!ando el socHet de control de rndc abierto. 1a8onom a de un ser#idor de nombres1ipo de ser#idor -escripci)n (n3l,s EspaKol aut:oritati#e autori4ado Gn representante o2icial de una 4ona. master maestro El repositorio principal de los datos de una 4onaP lee los datos de 2ic:eros del disco. sla#e escla#o 'btiene los datos del maestro. stub .JA Parecido a un escla#o, pero s)lo copia los datos del ser#idor de nombres >no los datos del e0uipo?. distribution distribuci)n Gn ser#idor 0ue s)lo es #isible>a? desde dentro de un dominio >un Fser#idor ocultoF?. nonaut:oritati#e>b? no autori4ado &esponde una consulta a partir de su cac:,P desconoce si los datos son aCn #6lidos. cac:in3reser#a 5uarda los datos de consultas pre#iasP :abitualmente no tiene 4onas locales. 2orDarder redireccionador&eali4a consultas en nombre de muc:os clientesP mantiene una cac:, 3rande. recursi#e recursi#o "onsulta en su nombre :asta 0ue de#uel#e una respuesta o un error. nonrecursi#e no recursi#o 7e pasa a otro ser#idor si no es capa4 de responder a la consulta. a. Gn ser#idor de distribuci)n puede ser #isible por cual0uiera 0ue cono4ca su direcci)n (P. b. <ablando estrictamente, Fno autori4adoF es un atributo de la respuesta a una consulta -.S, no de un ser#idor. 1ipos de sentencias usadas en el named.con2Sentencia -escripci)n include (nterpola un 2ic:ero >p.e., cla#es de con2ian4a accesibles s)lo por named?. options Establece opciones 3lobales de con2i3uraci)n del ser#idor de nombres y #alores por de2ecto. ser#er Especi2ica opciones preser#idor. Hey -e2ine in2ormaci)n de autenticaci)n. acl -e2ine listas de control de acceso. 4one -e2ine una 4ona de re3istro de recursos. trusted$Heys Gsa cla#es pre#iamente con2i3uradas. controls -e2ine canales utili4ados para controlar el ser#idor de nombres con rndc. lo33in3 Especi2ica cate3or as de lo3s y sus destinos. #ieD -e2ine una #ista de un espacio de nombres. E!emplo de personali4aci)n de lo3s JJ -e2inimos tres canales de lo3s >mensa!es importantes del JJ syslo3, depuraci)n media y mensa!es de car3a de 4onas? JJ y lue3o les asi3namos cate3or as a cada uno. lo33in3 O c:annel syslo3_errors O syslo3 localAP se#erity errorP QP

c:annel moderate_debu3 O se#erity debu3 EP JJ ni#el E de depuraci)n 2ile Fdebu3.lo3FP JJ al 2ic:ero debu3.lo3 print$time yesP JJ 2ec:a actual a las entradas del lo3 print$cate3ory yesP JJ imprimir el nombre de la cate3or a print$se#erity yesP JJ imprimir el ni#el de 3ra#edad QP c:annel no_in2o_messa3es O syslo3 local2P se#erity noticeP QP cate3ory parser O syslo3_errorsP de2ault_syslo3P QP cate3ory lame$ser#ers O nullP QP JJ .o 3uardar este tipo en los lo3s cate3ory load O no_in2o_messa3esP QP cate3ory de2ault O de2ault_syslo3P moderate_debu3P QP QP 1abla de caracteres especiales utili4ados en los re3istros de recursos"aracter Si3ni2icado P (ntroduce un comentario S El nombre de dominio actual >? Permite partir una sentencia en m6s de una l nea N "omod n >s)lo en el nombre del campo?. 1abla de mecanismos de se3uridad en el named.con2"aracter stica Sentencias especi2ica alloD$0uery options, 4one +ui,n puede consultar la 4ona o ser#idor. alloD$trans2er options, 4one +ui,n puede solicitar trans2erencias de 4onas. alloD$update 4one +ui,n puede :acer actuali4aciones din6micas. blacH:ole options +u, ser#idores deben i3norarse completamente. bo3us ser#er +u, ser#idores no deben ser !am6s consultados. acl #arios 7istas de control de acceso. 1abla de cate3or as de lo33in3 en Bind 9"ate3or a +u, incluye de2ault "ate3or s sin una asi3naci)n e8pl cita de canal. 3eneral =ensa!es sin clasi2icar. con2i3 An6lisis y procesado de 2ic:eros de con2i3uraci)n. 0ueriesJclient Gn mensa!e corto de lo3 por cada consulta 0ue el ser#idor recibe. dnssec =ensa!es de -.SSE". lame$ser#ers Ser#idores 0ue se supone 0ue sir#en una 4ona, pero no lo est6n>a?. statistics Estad sticas a3rupadas del ser#idor de nombres. panic Errores 2atales >duplicados en esta cate3or a?. update =ensa!es sobre actuali4aciones din6micas. ncac:e =ensa!es sobre cac:, ne3ati#a. 82er$in 1rans2erencias de 4onas 0ue el ser#idor est6 recibiendo. 82er$out 1rans2erencias de 4onas 0ue el ser#idor est6 en#iando. dbJdatabase =ensa!es sobre operaciones con bases de datos. pacHet 9olcados de pa0uetes recibidos y en#iados>b?. noti2y =ensa!es acerca del protocolo de noti2icaciones F4ona modi2icadaF. cname =ensa!es del tipo F...points to a ".A=EF. +u,

security Peticiones aprobadasJdene3adas. os Problemas del sistema operati#o. insist "omprobaciones de 2allos de consistencia interna. maintenance Sucesos peri)dicos de mantenimiento. load =ensa!es de car3a de 4onas. response$c:ecHs "omentarios sobre pa0uetes de respuesta mal2ormados o in#6lidos. resol#er 1raducci)n de -.S, p.e., bCs0uedas recursi#as para clientes. netDorH 'peraciones de red. a. Bien la 4ona padre o bien la 4ona :i!a podr an ser la culpableP es imposible determinarlo sin in#esti3arlo. b. 'bli3atoriamente debe ser un canal simple. ":root Este apartado describe al3unas precauciones e8tras relacionadas con la se3uridad 0ue puede usted tomar al instalar B(.-. Se e8plica c)mo con2i3urar B(.- de manera 0ue resida en una !aula c:root, lo 0ue si3ni2ica 0ue no pueda #er o acceder a 2ic:eros 2uera de su propio reducido 6rbol de directorios. 1ambi,n se e8plica c)mo con2i3urarlo para 0ue se e!ecute como un usuario di2erente a root. 7a idea 0ue :ay detr6s de un c:root es bastante sencilla: acotar el acceso 0ue un indi#iduo malicioso pueda obtener e8plotando #ulnerabilidades de B(.-. Por esa misma ra4)n es bueno e!ecutarlo como un usuario no root >en 5.GJ-ebian 7inu8 a partir de la #ersi)n 9.2.4$L?. "uando se e!ecuta B(.- >o cual0uier otro proceso? en una !aula c:root, el proceso simplemente es incapa4 de #er cual0uier otra parte del sistema de 2ic:eros 0ue se encuentre 2uera de la !aula. Por e!emplo, en este apartado con2i3uraremos B(.- en modo c:root en el directorio J#arJlibJnamed. Entonces, para B(.-, el contenido de este directorio ser6 la ra 4 J. .ada 2uera de este directorio le ser6 accesible. =uy probablemente ya se :a encontrado usted ante una !aula c:root con anterioridad, por e!emplo al acceder mediante ;1P a un sistema pCblico. Este proceso deber a considerarse un complemento de las precauciones de se3uridad :abituales >e!ecutar la Cltima #ersi)n, usar listas de control de acceso, etc.?, y nunca como una manera de reempla4arlas. "rear el usuario 1al y como se menciona en la introducci)n, no es una buena idea e!ecutar B(.- como root. Por ello, antes de empe4ar, se crear6 un usuario separado para B(.-. .)tese 0ue nunca deber a usarse un usuario 3en,rico e8istente del tipo nobody para este prop)sito. Este proceso es reali4ado autom6ticamente por el script de instalaci)n del pa0uete -ebian, pero a continuaci)n se resume el procedimiento manual para conse3uirlo. Es necesario aKadir una l nea parecida a esta en el 2ic:ero JetcJpassDd: bind:8:A0E:A0E::J#arJcac:eJbind:JbinJ2alse I una similar a la si3uiente en el 2ic:ero JetcJ3roup: bind:8:A0E: En este e!emplo no s)lo #amos a e!ecutar B(.- como un usuario no root, sino 0ue tambi,n lo :aremos en un entorno c:root >la instalaci)n por de2ecto en -ebian Cnicamente cubre el primer aspecto en la actualidad?.

Estas l neas crean un usuario y un 3rupo llamados bind para B(.-. El lector debe ase3urarse de 0ue tanto el G(- >del in3l,s, Gser (denti2ier? como el 5(- >del in3l,s, 5roup (denti2ier? son Cnicos en su sistema >ambos A0E en este e!emplo?. 7a consola se :a de!ado en JbinJ2alse por0ue este usuario !am6s tendr6 necesidad de :acer un lo3in. Estructura de directorios Acto se3uido es necesario crear una estructura de directorios para la !aula c:root en la cual se e!ecutar6 B(.-. Puede :acerse en cual0uier lu3ar del sistema de 2ic:erosP a0uellos m6s paranoicos incluso 0uerr6n ponerlo en un #olumen separado. Se usar6 J#arJlibJnamed. Empiece por crear la si3uiente estructura de directorios: J#arJlibJ ^$$$ named ^$$$ de# ^$$$ etc ^$$$ #ar ^$$$ run ^$$$ cac:e ^$$$ bind ^$$$ usr ^$$$ sbin =ediante el comando mHdir podr a crearse la mencionada estructura de directorios. Estos son los comandos a e!ecutar y sus par6metros: a mHdir $p J#arJlibJnamed a cd J#arJlibJnamed a mHdir $p de# etcJbind #arJrun #arJcac:eJbind usrJsbin "opiar los 2ic:eros necesarios Asumiendo 0ue usted ya :a reali4ado una instalaci)n est6ndar de B(.- 9 y 0ue lo est6 usando, tendr6, por lo tanto, un 2ic:ero named.con2 y di#ersos 2ic:eros de 4onas. Esos 2ic:eros deben ser mo#idos >o copiados, para mayor se3uridad? dentro de la !aula c:root, de modo 0ue B(.- sea capa4 de encontrarlos. named.con2 y los 2ic:eros de 4onas #an dentro de J#arJlibJnamedJetcJbind. Por e!emplo: a cp $p JetcJbindJN J#arJlibJnamedJetcJbindJ a cp $a J#arJcac:eJbindJN J#arJlibJnamedJ#arJcac:eJbindJ a cp JusrJsbinJnamed J#arJlibJnamedJusrJsbinJ Adem6s, ser6 preciso copiar tambi,n las librer s 0ue el e!ecutable JusrJsbinJnamed necesita, 0ue pueden obtenerse e!ecutando el comando ldd JusrJsbinJnamed. "on los si3uientes comandos crearemos los subdirectorios necesarios y copiaremos las librer s: a a a a a a a a a a cd J#arJlibJnamed mHdir $p usrJlib lib cp JusrJlibJliblDres.so.A usrJlibJ cp JusrJlibJlibdns.so.L usrJlibJ cp JusrJlibJlibcrypto.so.0.9.@ usrJlibJ cp JusrJlibJlibiscc23.so.0 usrJlibJ cp JusrJlibJlibisccc.so.0 usrJlibJ cp JusrJlibJlibisc.so.4 usrJlibJ cp JlibJlibnsl.so.A libJ cp JlibJlibpt:read.so.0 libJ

a cp JlibJlibc.so.@ libJ a cp JlibJlibdl.so.2 libJ a cp JlibJld$linu8.so.2 libJ B(.- #a a necesitar escribir dentro de los subdirectorios J#arJlibJnamedJ#arJcac:eJbind y J#arJlibJnamedJ#arJrun, en el primero para 3uardar las 4onas de las cuales est, actuando como ser#idor escla#o y en el se3undo para 3uardar in2ormaci)n estad stica de su e!ecuci)n. Por lo tanto, es pertinente e!ecutar las dos instrucciones si3uientes: a c:oDn $& bind:bind J#arJlibJnamedJ#arJcac:eJbind a c:oDn $& bind:bind J#arJlibJnamedJ#arJrun ;ic:eros de sistema Gna #e4 0ue B(.- est, e!ecut6ndose en la !aula c:root, no ser6 capa4 de acceder a 2ic:eros 0ue se encuentren 2uera de la !aula de nin3Cn modo. Sin embar3o, necesita acceder a al3unos 2ic:eros esenciales. Gno de los 2ic:eros 0ue necesita dentro de su !aula es Jde#Jnull. 'tros son Jde#J4ero y Jde#Jrandom. Pueden usarse los si3uientes comandos: a a a a mHnod J#arJlibJnamedJde#Jnull c A E mHnod J#arJlibJnamedJde#Jrandom c A B mHnod J#arJlibJnamedJde#J4ero c A L c:mod @@@ J#arJlibJnamedJde#JOnull,random,4eroQ

1ambi,n ser6 necesario otro 2ic:ero en el directorio Jetc dentro de la !aula. Es preciso copiar JetcJlocaltime a: dentro de modo 0ue B(.- 3uarde los lo3s con 2ec:as correctas. El si3uiente comando se resol#er a el problema: a cp JetcJlocaltime J#arJlibJnamedJetcJ 7o33in3 .ormalmente, B(.- 3uarda los lo3s a tra#,s de syslo3d, el demonio del sistema encar3ado de 3uardar los lo3s. Sin embar3o, este tipo de lo33in3 se lle#a a cabo en#iando las entradas del lo3 a un socHet especial, Jde#Jlo3. -ebido a 0ue se encuentra 2uera de la !aula, B(.- no #a a poder usarlo. A2ortunadamente, :ay una soluci)n para este problema. 1odo lo 0ue :ay 0ue :acer es aKadir el par6metro $a J#arJlibJnamedJde#Jlo3 a la l nea de comandos 0ue lan4a el syslo3d. En -ebian, este script se encuentra en JetcJinit.dJsysHlo3d. -ebe buscar las l neas si3uientes: a 'ptions 2or startJrestart t:e daemons a ;or remote G-P lo33in3 use SIS7'5-\F$rF a SIS7'5-\FF I cambiar la Cltima de las l neas por esta: SIS7'5-\F$a J#arJlibJnamedJde#Jlo3F Gna #e4 reiniciado el demonio, deber a #er un 2ic:ero en J#arJlibJnamedJde# llamado lo3, tal 0ue as : srD$rD$rD$ A root root 0 .o# 2B A4:22 lo3

;inalmente, remarcar 0ue, en el caso de una actuali4aci)n del pa0uete sysHlo3d, podr an perderse los cambios reali4ados en dic:o script por una potencial sobreescritura del 2ic:ero e8istente. Por lo tanto, se recomienda tener cuidado al actuali4ar. Endureciendo los permisos Antes de nada, si,ntase libre de restrin3ir acceso en todo el directorio J#arJlibJnamed Cnicamente al usuario bind. a c:oDn bind:bind J#arJlibJnamed a c:mod 700 J#arJlibJnamed Si desea aumentar aCn m6s las restricciones, en los sistemas 7inu8 puede conse3uirse la inmutabilidad de al3unos de los 2ic:eros usando la :erramienta c:attr en los sistemas de 2ic:eros e8t2 y e8tE. a cd J#arJlibJnamed a c:attr ^i etc etcJlocaltime #ar "onsulte la p63ina del man para m6s in2ormaci)n: man c:attr. Ser a interesante poder :acer esto mismo sobre el directorio de# pero, des3raciadamente, eso imposibilitar a 0ue el syslo3d crease el socHet de#Jlo3. 1ambi,n puede ele3ir acti#ar el bit de inmutabilidad en otros 2ic:eros dentro de la !aula, como los de las 4onas primarias, en el caso de 0ue no #ayan a cambiar. (nstalaci)n Si se desea reali4ar una instalaci)n a partir de los 2uentes, se recomienda usar el pa0uete -ebian de 2uentes bind9, disponible mediante el comando apt$3et source bind9. 7ue3o tan s)lo ser a necesario e!ecutar un .Jcon2i3ure y un maHe o, m6s 26cil aCn, dpH3$buildpacHa3e, 0ue nos :ar6 los dos pasos anteriores y nos de!ar6 listos una serie de pa0uetes -ebian 0ue nos e#itar6n tener 0ue :acer un maHe install a mano. Suponiendo 0ue usted ya dispone de una instalaci)n de B(.- 9 en su sistema, tan s)lo deber6 modi2icar li3eramente el script de arran0ue del demonio para 0ue use estos par6metros: $u bind, 0ue le indica a B(.- el usuario con el 0ue debe e!ecutarse. $t J#arJlibJnamed, 0ue le dice a B(.- 0ue :a3a un c:root sobre s mismo dentro de la !aula 0ue se le :a preparado. $c JetcJnamed.con2, 0ue le dice a B(.- d)nde encontrar su 2ic:ero de con2i3uraci)n dentro de la !aula. En -ebian, es muy 26cil cambiar el script de inicio de B(.-, 0ue encontrar6 en JetcJinit.dJbind9, para 0ue acepte estas nue#as opciones. 1an s)lo debe buscar estas l neas: a 2or a c:rooted ser#er: F$u nobody $t J#arJlibJnamedF 'P1S\FF I cambiar la Cltima l nea por la si3uiente: 'P1S\F$u bind $t J#arJlibJnamed $c etcJnamed.con2F "ambie, por Cltimo, el e!ecutable 0ue se llama desde ese script de JusrJsbinJnamed a J#arJlibJnamedJusrJsbinJnamed, de manera 0ue sea el e!ecutable de dentro de la !aula el 0ue el script llame y no el ori3inal.

Si su #ersi)n del pa0uete -ebian de B(.-9 es la 9.2.4$L o superior, B(.- se estar6 e!ecutando con el usuario bind y el G(-J5(- A0E, por lo 0ue puede saltarse los pasos re2eridos a la creaci)n del usuario y el 3rupo y pasar directamente al en!aulamiento. Si la #ersi)n de su pa0uete es in2erior >en 5.GJ-ebian Moody es la 9.2.4$4?, entonces deber6 se3uir todos los pasos. "ambios en la con2i3uraci)n -eber6 usted tambi,n cambiar o aKadir unas pocas opciones a su named.con2 a 2in de mantener ciertos directorios en orden. En particular, deber a aKadir >o cambiar, si ya las tiene? las si3uientes directi#as en la secci)n de opciones: directory FJetcJbindFP pid$2ile FJ#arJrunJnamed.pidFP statistics$2ile FJ#arJrunJnamed.statsFP Ia 0ue este 2ic:ero #a a ser le do por el demonio named, todas las rutas #an a ser, e#identemente, relati#as a la !aula c:root. En el momento de escribir esta parte del documento, B(.- 9 no soporta muc:as de las estad sticas y 2ic:eros de #olcado 0ue las #ersiones pre#ias soportaban. Presumiblemente, #ersiones posteriores s lo :ar6nP si est6 e!ecutando una de esas #ersiones, 0ui46s deba aKadir al3unas entradas adicionales para 0ue B(.- las escriba en el directorio J#arJrun tambi,n. Arrancando B(.A:ora ya tan s)lo 0ueda por :acer el paso m6s elemental: arrancar de nue#o el demonio B(.-. Para ello, es preciso e!ecutar el si3uiente comando en una distribuci)n 5.GJ-ebian 7inu8: a JetcJinit.dJbind start &ecursos en l nea 1:e -.S &esources -irectory -.S <oD1o Securin3 -.S Dit: 1ransaction Si3natures All About -.S -.S ")mo 7os &;" 7os &;" 0ue de2inen el sistema de -.S est6n disponibles en DDD.r2c$editor.or3. 7as ideas iniciales y en desarrollo aparecen primero como borradores y son m6s tarde 2ormali4adas como &;". A continuaci)n se listan un con!unto relacionado con Bind, incluidos los 0ue :an supuesto 0ue Bind 9 se :aya reescrito desde cero >estos documentos est6n todos en in3l,s?: 7os ori3inales y de2initi#os est6ndares: A0E4 $ -omain .ames: "oncepts and ;acilities. A0EL $ -omain .ames: (mplementation and Speci2ication. Est6ndares propuestos: A99L $ (ncremental `one 1rans2ers in -.S. A99@ $ A =ec:anism 2or Prompt .oti2ication o2 `one ":an3es. 2AE@ $ -ynamic Gpdates in t:e -omain .ame System. 2ABA $ "lari2ications to t:e -.S Speci2ication. &;" de se3uimiento de nue#os est6ndares: 2LEL $ -omain .ame System Security E8tensions. 2@7A $ E8tension =ec:anisms 2or -.S >E-.S0?. 2@72 $ .on$1erminal -.S .ame &edirection >-.A=E?. 2@7E $ Binary 7abels in t:e -omain .ame System.

&;" di#ersos: ALEL $ A Security Problem... Dit: Midely -eployed -.S So2tDare. ALE@ $ "ommon -.S (mplementation Errors and Su33ested ;i8es. A9B2 $ Serial .umber Arit:metic. 2LE@$2L4A $ 9arios &;" sobre -.SSE". 1ipos de re3istros de recursos: AABE $ .eD -.S && -e2initions: A;S-B, &P, T2L, (S-., &1. A70@ $ -.S .SAP &esource &ecords. AB7@ $ A =eans 2or E8pressin3 7ocation (n2ormation in -.S. 20L2 $ A -.S && 2or Speci2yin3 t:e 7ocation o2 Ser#ices >S&9?. 2A@B $ &esolution o2 Gni2orm &esource (denti2iers usin3 -.S. 22E0 $ ]ey E8c:an3e -ele3ation &ecord 2or t:e -.S. -.S e (nternet: AA0A $ -.S Encodin3 o2 .etDorH .ames and 't:er 1ypes. AA2E $ &e0uirements 2or (nternet <osts: Application and Support. AL9A $ -omain .ame System Structure and -ele3ation. 2EA7 $ "lassless in$addr.arpa -ele3ation. 'peraciones de -.S: ALE7 $ "ommon -.S -ata ;ile "on2i3uration Errors. A9A2 $ "ommon -.S 'perational and "on2i3uration Errors. 2AB2 $ Selection and 'peration o2 Secondary -.S Ser#ers. 22A9 $ Gse o2 -.S Aliases 2or .etDorH Ser#ices. 'tros &;" relacionados con el -.S: A4@4 $ Gsin3 -.S to Store Arbitrary Strin3 Attributes. A7AE $ 1ools 2or -.S debu33in3. A794 $ -.S Support 2or 7oad Balancin3. 2240 $ A 7e3al Basis 2or -omain .ame &etrie#al. 2E4L $ -omain .ames and "ompany .ame &etrie#al. 2EL2 $ A "on#ention 2or Gsin3 7e3al .ames as -omain .ame

También podría gustarte