You are on page 1of 168

'

OREILLY' 1.1111111
41146157

Administracin de sistemas Linux


De todos los sistemas Unix, Linux es una plataforma servidora excelente
un buen
sistema de escritorio y el centro en torno al cual gira una gran parte de
la
innovacin del mundo informtico actual. Linux es probablemente el que ms
mbitos abarca de todos los sistemas operativos, desde sistemas pequeos como
un telfono mvil hasta cisteres de computadores ms grandes que un edificio. Est presente
en los campos de las telecomunicaciones, sistemas embebidos, satlites, equipamiento mdico
sistemas militares y grficos por computador e informtica de escritorio.

Administracin de sistemas Linux ofrece numerosos consejos para gestionar un amplio rango
de sistemas y servidores. Este libro resume los pasos para implantar desde hubs SOLIO,
servidores web y servidores LAN, hasta cisteres de carga balanceada y servidores virtuales.
Tambin le ayudar a conocer las herramientas necesarias para administrar
y mantener de
forma eficaz estos entornos de trabajo.

Con este libro aprender a:

Instalar, configurar, mantener y resolver problemas en un servidor usando BINO.

Configurar un servidor de correo Postfix con autentificadn SASL, un servidor POP y un


servidor IMAP.

Gestionar usuarios y configurar elementos de red comunes, tales como OCHO y software
para pasarelas en recles de rea local (LAN).

Definir Xen, VMware en un equipo Linux y luego aadir sistemas operativos invitados.

Instalar y configurar Apache, PHP y MySQL en un servidor web desde cero.

Hacer copias de seguridad y restaurar ciatos con rsync, tar, cdrecord, Amanda y
herramientas MySQL.

Tom Adelstein comenz su carrera en el mundo de las inversiones bancadas, donde sus
conocimientos tcnicos ayudaron a algunas empresas de servicios financieros a convertirse en
lderes de su sector. Ahora es administrador de sistemas y escritor tcnico.

Bill Lubanovic comenz desarrollando software para Unix en la dcada de 1970, interfaces
grficas de usuario en la dcada de 1980 y para la Web en la dcada de 1990. Actualmente
trabaja en el. rea de visualizacin Web para una compaa ele energa elica.

2327258

iffif ^
ANAYA
'

:S'-

MULTIMEDIA*
http://www.AnayaMultimedia.6s
O'REILLY

Ttulo de la obra original:

Linux System Administraron

Responsable editorial:
VctorManuel Ruiz Caldern
Alicia Czar Concejil

Traduccin:
Jorge Martnez Gil

Realizacin de cubierta:
Sandra Cordova Yusta

Tom Adelstein
BilKLubano-vic

an m
mm MULTIMEDIA
Este libro no existira sin la contribucin de muchas personas. Aunque es im-
posible incluirlas aqu a todas. En primer lugar, queremos dar las gracias a Andy
Oram cuyos esfuerzos de edicin, redaccin y gestin son destacadles. Aparte de
su trabajo como editor, Andy ha contribuido materialmente al contenido de este
libro. Andy ha ejercido como gestor del proyecto y ha demostrado paciencia
y
disciplina.

Tampoco podemos olvidar las contribuciones de Falko Timme, Phil Howard y


Herschel Cohn. Falki nos ha prestado su tiempo y experiencia en los captulos 2
y 4. Phil ha escrito gran parte del captulo 1 i y nos ha proporcionado el framework
Todos ios nombres propios de programas, sistemas operativos, equipos hardware, del captulo 10 y el apndice de los scripts. Herschel ha escrito varias secciones de
etc., que aparecen en este libro son marcas registradas de sus respectivas captulos, entre los que estn el captulo 8 y 0, y ha contribuido con su expe-
1

compaas u organizaciones. riencia en el captulo . Los tres, adems, han revisado otras partes del libro.
Muchas gracias tambin a los expertos tcnicos, que han pasado innumera-
derechos. contenido
bles horas revisando,probando y haciendo sugerencias sobre el trabajo: Markus
Reservados todos los El

de esta obra est protegido por que la ley, Amersdorfer, Keitb Burgess, Robert Day, Animar Ibrahim, and Yaman Saqqa.
establece penas de prisin y/o multas, adems Y un agradecimiento especial a Yvonne Adelstein y Mary Lubanovic, nuestras
de las correspondientes indemnizaciones por esposas, que han demostrado una gran paciencia. No habramos podido realizar
daos y perjuicios, para quienes reprodujeren,
este trabajo sin su apoyo.
plagiaren, distribuyeren o comunicasen publi-
camente, en todo o en parte, una obra literaria,
artstica o cientfica, o su transformacin,
interpretacin o ejecucin artstica fijada en
cualquier tipo de soporte o comunicada a

travs de cualquier medio, sin la preceptiva


autorizacin. Tom Adelstein comenz su carrera en el mundo de las inversiones bancarias,
donde sus conocimientos tcnicos ayudaron a algunas empresas de servicios fi-
nancieros a convertirse en lderes de su sector. Ahora es administrador de siste-
Copyright 2007 by O'Reilly Media, Inc. mas y escritor tcnico.
Authorized translation from the English language edition published by O'Reilly Media, Inc.
Bill Lubanovic comenz desarrollando software para Unix en la dcada de
All rights reserved
1970, interfaces grficas de usuario en la dcada de 1980 y para la Web en la
dcada de 990. Ahora trabaja en el rea de visualizacin Web para una compa-
1

a de energa clica.
EDICIONES ANAYA MULTIMEDIA (GRUPO ANAYA, S.A.), 2007
28027 Madrid.
Juan Ignacio Lea de Tena, 15.
Depsito legal: M-3 .807-2007 1

ISBN: 978-84-415-2234-3
Printed n Spain.
Imprime: Artes Grficas Guemo, S.L.

Febrero, 32. 28022 Madrid.


Agradecimientos 5
Sobre los autores 5

Introduccin 15

Cmo se organiza el libro i 6


Convenciones usadas en este libro 17

Captulo 1. Requisitos para un administrador de sistemas Linux 19


f
Sobre este libro 20
Cmo podemos ayudarle? 21
Por dnde empezar? 21
Necesita un libro? 21
Quin le necesita? 22
Ayuda demandada 23
Analizando los conjuntos de habilidades 24
Qu deberan saber los gestores de sistemas sobre Linux 25
Qu es lo prximo? 26
Contenido Contenido

Captulo 2. Configurando un servidor Linux muitifuncin ........................... 27 El archivo de zona inversa 84


Bsquedas de prueba 86
Requisitos del servidor 28
Configurando el servidor de nombres secundario 88
Instalando Deban 29
Herramientas BIND 89
Autentificndose remotamente 31
nslookup 89
Configurando la red 32
rndc 91
Cambiando los paquetes por defecto de Deban 34
Resolucin de problemas en BIND 92
Configurando cuotas 36
No se puede conectar usando rndc 92
Ofreciendo servidos de nombre de dominio 38
named se inicia pero no resuelve nombres 94
Aadiendo una base de datos relacional: MySQL 4 i

No se reconocen los equipos 95


Configurando el manera segura con
correo de Postfix, POP3 e IMAP 43
Qu es lo prximo 98
Haciendo funcionar Apache 54
Aadiendo servicios FTP con ProFTPD 56
Recopilando las estadsticas Web con Webalizer 57
Sincronizando el reloj del sistema 57 Instalando ISPConfig 102
Instalando los diferentes mdulos Perl requeridos por SpamAssassin 58 Requisitos 103
Qu es lo prximo 59 Comenzando 104
Estructura de directorios de ISPConfig Til
Captulo 3. El sistema de nombres de dominio 61 Configurando un servidor y usuarios con ISPConfig 112
Aadiendo clientes y sitios Web 112
Aspectos bsicos de DNS 61
Gestionando usuarios y correo electrnico 119
Ventajas de la administracin localizada de DNS 62
Directorios pblicos, de usuario y de inicio 123
Introduccin a BIND 63
Configuracin del cliente de correo electrnico 1.23
Componentes de BIND 63
Salvaguardando un servidor Web Linux 124
Configurando un servidor DNS 64
El papel de demonio monitorizador de demonios 125
Usando un entorno chroot seguro 66
r Instalando y configurando monit 126
Configurando un servidor DNS autoritativo 68
Qu es lo prximo 130
Su responsabilidad en DNS 69
Elmtodo distribuido para resolver nombres de dominio 69
Encontrando un dominio 70
Respondiendo consultas 71 Aspectos claves del servicio de correo 132
Servidores DNS primarios y secundarios 72 Postfix, Sendmail y otros MTA 132
Servidores de solo cach 74 El servidor SMTP de correo Postfix en Deban 134
Editando los archivos de configuracin 74 Paquetes de Deban relacionados con Postfix 135
named.conf 74 Instalando Postfix en Deban 136
El archivo de zona primaria 77 Configuracin bsica de Postfix 138
Mejoras y caractersticas avanzadas 80 Probando el correo 141
10 Contenido Contenido 1

Aadiendo autentificacin y encriptacin 142 CG 171


Autentificacin SASL 142 Location 172
Configurando Postfix con SASL para autentificar Sufijo del archivo 1 72
usuarios con cuentas 143 Directivas especficas del mdulo PHP 173
El demonio saslauthd 145 Hosts Virtuales 174
Configurando Postfix con SASL para autentificar Hosts virtuales basados en IP 174
usuarios sin cuentas 146 Hosts virtuales basados en nombres 174
Encriptacin TLS 147 mod_vhost_a.lias 175
Configurando los agentes de entrega de correo POP3 e IMAP 150 Archivos log 176
Configuracin del cliente de correo 152
Divisin y rotacin de logs 176
Qu es lo prximo 153
Dividiendo los logs con vlogger 177
Analizando logs con Webalizer 178
Captulo 6. Administrando Apache 155
Encriptacin SSL/TLS 178
Archivos estticos y dinmicos 155 Soporte para suEXEC 180
Instalacin bsica de LAMP 156 Rendimiento

180
Instalacin 157 Instalando y administrando Drupal 182
Apache 157 Instalando Drupa! con apt-get 182
PHP 153 Instalando Drupa! desde las fuentes 184
MySQE 159 Configurando Drupal 185
Archivos de configuracin de Apache 160 Resolucin de problemas 186
Directivas de archivos de configuracin 162 La pgina Web no aparece en el navegador 186
Directivas de usuarios y grupos 164 Los Hosts Virtuales no funcionan: 189
Directiva Listen 164 SSl no funciona 189
Directiva DocurnentRoot 164 Un programa CGI no se ejecuta 190
Autentificacin y autorizacin 134 F SSL no funciona 190
Archivos de usuario 165
Captulo 7. Clusters de carga balanceada 191
Archivos de grupo 167
Contenedores y alias 167 Balanceo de carga y alta disponibilidad 192
Rutas absolutas: Directorio 167 Software para balanceo de carga 192
Rutas relativas: Ubicacin 168 IPVS en el balanceador de carga 193
Reconocimiento de patrones: Archivos Idirectord 194
y Comparacin de archivos 168 Configurando los servidores reales (Nodos Apache) 195
Alias 168 Configurando el balanceador de carga 196
Lmites 169 Probando el sistema 197
Tecnologa de servidor 169 Aadiendo HA a LB 199
12 Contenido Contenido 1

Aadiendo otros servicios LB 200 Instalando VMware 246


Escaiabilidad sin LB y HA 200 Instalando sistemas operativos invitados en VMware 250
Otras lecturas 201 Virtualizacin, una moda pasajera? 252

Captulo 8. Servicios efe red de rea local 203 Captulo 10. Scripting... 255

Comenzando con bash 256


Sistemas de archivos distribuidos 204
Rutas y permisos 257
Introduccin a Samba 205
La ruta por defecto 259
Configurando la red 206
Redireccin de E/S 260
DHCP 209
Variables 261
Instalando DHCP 209
Elementos tiles para bash Scripts 263
Iniciando el servicio DHCP 212
Expresiones 263
Ofreciendo direcciones IP estticas 212
Aritmtica 264
Asignando direcciones IPv6 con radvd 213
If 265
Servicios de pasarela 214
Depurando un script sencillo 266
El papel de una DMZ 215
Bucles 269
Otra aproximacin a los servicios de pasarela 217
Tareas cron 271
Servicios de impresin 222
Problemas con los lenguajes de script 272
Consideraciones sobre el software de impresin 223
Formato de los datos: El archivo /etc/passwd 274
Impresin en plataforma cruzada 223
Versiones de script 274
Controlando las colas de impresin desde la lnea de comandos 226
El bash script 275
Gestin de usuarios 227
El script Perl 276
Eliminando a un usuario 230
El script PHP 279
Sellando el directorio personal 232
El script Python 280
Gestores grficos de usuarios 232
Escogiendo un lenguaje de script 281

Captulo 9. Virtualizacin en la empresa moderna. 235 Otras lecturas 282

236 Captulo 11. Haciendo copia de seguridad de los datos 283


Por qu la virtualizacin es tan popular
Computacin de alto rendimiento 237 Salvaguardando ios datos de usuario en un servidor con rsync 284
Continuidad comercial y gestin de la carga de trabajo 238 Aspectos bsicos de rsync 284
Abastecimiento rpido 239 Haciendo un script para copias de seguridad de usuario 286
Cmo ayuda la virtualizacin 240 Listando archivos en el servidor de copias de seguridad 287
instalando Xen en Fedora 5 240 Restaurando archivos perdidos o daados 288
Instalando sistemas operativos invitados en Xen 243 Copias de seguridad automatizadas 289
Fedora Core 5 243 Archivos tar 289
Otros invitados 244 Creando un nuevo archivo 291
14 Contenido

Extrayendo datos de un archivo 291


Un ejemplo completo de compresin y descompresin con tar 292
Resumen 294
Guardando archivos en medios pticos 294
Accediendo a su unidad CD-R 295
Opciones por defecto 296
Preparando los archivos para grabar un CD -R 297
Grabando el CD-R 298
Verificando el grabado 299
Copias de seguridad en DVD 300
Haciendo copias de seguridad y guardndolas
en una cinta con Amanda 300
InstalandoAmanda 301
Configurando Amanda 302
Cuando Bill Lubanovic y yo estbamos dando los retoques finales a este libro
Restaurando archivos replicados con Amanda 304 escuch, sin quererlo,una conversacin entre dos compaeros de trabajo en nues-
Replicando datos MySQL 304 tro laboratorio Cisco acerca de Linux. Uno de los dos era experto en redes y haca
una puntualizacin muy que a pesar de todos sus conoci-
interesante. Deca
Apndice. Bash Scripts de ejemplo 309 mientos, se senta un profesional incompetente porque nunca haba aprendido
309 Linux. Un poco despus, el otro hombre se gir y me mir. Sonre y continu
Aadiendo usuarios
trabajando.
Generador de contraseas aleatorias 31.0
Por la noche, nuestro director de Tecnologas de la Informacin me hizo un
Bsqueda del DNS autor ilativo 312
comentario improvisado y nada usual durante una conferencia. Me dijo que quera
Enviando archivos entre sesiones shell 3
aprender Apache, y cuando le pregunt por qu, me respondi: "Simplemente
1

integrando ssh y screen 320 quiero aprender", y la cosa qued ah.


Despus en la conferencia, nuestro director pidi al grupo una solucin para
ndice alfabtico 327
lagestin de parches, explicando y haciendo uso de rsync como ejemplo. Dijo
que quera algo similar, mientras entraba en detalles acerca de una herramienta
para la gestin de parches de manera incrementa! y acumulativa.

En ambos casos, y en muchos otros, dese tener este libro acabado para reco-
mendrselo a toda esa gente que aunque posea experiencia y habilidades, quera
aprender a administrar Linux. Quizs usted tenga experiencias similares y le
hubiese gustado tener un libro como este a mano en aquellos momentos. Sospe-
cho que conversaciones parecidas a las que acabo de contar ocurren muy a me-
nudo en muchos lugares, incluso diariamente.
Cuando Andy Orara, y yo comenzamos a debatir acerca de un libro para 1a.
administracin de sistemas Linux, tenamos una idea ligeramente diferente de lo
que queramos hacer. Andy hablaba de un libro en el que cada captulo mostrar
a los usuarios los pasos para construir y desplegar servidores sin. entrar en deta-
introduccin introduccin

lies. l propona debatir primero acerca de los captulos y luego acerca de los Captulo . Administrando Apache: Proporciona una visin rpida de
pasos tcnicos. la popular combinacin Apache, MySQL y PHP (a la que junto con Linux

Despus, yo propuse que hiciramos de cada captulo un mdulo y as permi- se le llama servidor LAMP), incluyendo autentificacin SSL.

tir allector completar los mdulos que quisiera o que necesitase. A medida que el Captulos Clusters de carga balanceada: Extiende el captulo previo
7.
libro evolucionaba, sentamos que se estaba cumpliendo este objetivo. No es nece- de configuracin de Apache con el servidor de IP Virtual y Idirectord para
sario que lea este libro de principio a fin para convertirse en un administrador de ofrecer gran capacidad.
sistemas Linux. Simplemente, comience por donde le interese. Captulo 8. Servicios de red de rea local: Muestra cmo gestionar
Cuando yo empec a manejar Linux, la comunidad estaba compuesta en su usuarios y configurar elementos de red comunes, tales como DCHO y soft-
mayor parte por programadores y aficionados. No creo recordar ninguna lista de ware para pasarelas en redes de rea local (LAN).
discusin que se centrar en aplicaciones comerciales o de escritorio. Accedamos Virtualizacin de la empresa moderna: Muestra cmo de-
Captulo 9.
a internet mediante un demonio de inicio. No tenamos conexiones ni navegadores
finir Xen, VMware en un equipo Linux y luego aadir sistemas operativos
Web como que estn disponibles hoy en da.
los
invitados.
La gran mayora de la gente que yo conoca o eran administradores de su
Captulo 10. Scripting: Muestra algunas tcnicas bsicas para escribir
propio sistema o estaban aprendiendo. Me estoy refiriendo a una poca en la que
script potentes y robustos que pueden ahorrar mucho tiempo de adminis-
los usuarios de Linux eran unos 30.000 en todo el planeta, todava me sorprendo
tracin.
con la cantidad de gente que usa Linux a da de hoy sin tener la menor idea de
cmo escribir un archivo de configuracin. Los foros de Linux se llenan de perso- Captulo 11. Haciendo copia de seguridad de los datos: Presenta un
nas que preguntan qu tienen que hacer para conseguir que CLIPS o Samba fun- amplio rango de tcnicas para realizar esta funcin crucial, desde el rsync
bsico y el tar hasta el potente sistema Amanda.
cionen.
En gente mantiene debates acerca de detalles tcnicos de
las listas de correo, la Apndice. Bash scripts de ejemplo: Contiene unos cuantos shell Scripts
proyectos como Postfix, JBoss y Monit. Muchas personas an sienten curiosidad que nos han sido tiles para administrar sistemas y tambin proporciona
por aprender las grandes posibilidades de Linux como plataforma de aplicaciones. consejos a tener en cuenta a la hora de escribir tus propios scripts.
Si usted ya usa Linux a nivel de usuario, y quiere ir un paso ms ali, es decir,
quiere convertirse en administrador, este libro le ayudar en la transicin, puesto
que hemos escrito este libro pensando en usted.

Para ayudarle a sacar el mayor partido al texto y saber dnde se encuentra en


cada momento, a lo largo del libro utilizamos distintas convenciones:

Captulo 1. Requisitos para un administrador de sistemas Linux:


^ Las combinaciones de teclas se muestran en negrita, por ejemplo Con-
Repasa los objetivos del libro y qu se conseguir al leerlo. trol-A. Los botones de las distintas aplicaciones tambin se muestran en

Captulo 2. Configurando un servidor Linux multifuncin: Le inicia


en el manejo de servidores sencillos para Internet. Los nombres de archivo, URL y cdigo incluido en texto se muestran en
un tipo de letra monoespacial.
Captulo 3. El sistema de nombres de dominio: Muestra ios aspectos
bsicos para configurar servidores DNS primarios y secundarios. Los ments, submens, opciones, cuadros de dilogo y dems elementos
de la interfaz de las aplicaciones se muestran en un. tipo de letra Aria!
Captulo 4. Un entorno para Internet: lisa el software de
inicial listo
configuracin ISPConfig para introducirle en un conjunto de servicios con
los que podr practicar mientras lee el resto del libro. Nota: En estos cuadros incluye informacin importante directamente
se.

relacionada con el texto adjunto. Los trucos, sugerencias y comentarios afines


Captulo 5. Correo: Configura un servidor de correo Postfix con autenti-
relacionados con el tema analizado se reproducen en este formato.
ficacin SASL, un servidor POP y un servidor 1MAP,
Nos gusta Linux. De tocios los sistemas Unix y parecidos a Unix que hemos
usado, muchos ahora olvidados, Linux es nuestro favorito. Es una plataforma
,

servidora excelente, un buen sistema de escritorio y el centro en torno al cual


gira mucho de la innovacin del mundo informtico actual.
Linux es probablemente aspectos abarca de todos los sistemas
el que ms
operativos, desde sistemas pequeos telfono mvil hasta clsteres de
como un
computadores ms grandes que un edificio. Est presente en los campos de las
telecomunicaciones, sistemas embebidos, satlites, equipamiento mdico, siste-
mas militares y grficos por computador, y por ltimo, pero no por ello menos
importante, informtica de escritorio.
En un perodo de tiempo relativamente corto, Linux ha pasado de ser el pasa-
tiempo de un hacker finlands a un sistema avanzado de nivel empresarial res-
paldado por gigantes como IBM y Oracle. La base de usuarios ha crecido
considerablemente desde las 30.000 personas que haba en 1995 hasta los cien-
tos de millones que hay a da de hoy. Durante el boom de Internet en la dcada de
1 990, muchos administradores de Unix se
sorprendieron gratamente al descu-
brir que un Linux sobre un PC poda hacer las mismas tareas que carsimas esta-
ciones y servidores UNIX. Muchos administradores de Windows y de Novell vieron
que Linux poda manejar DNS, correo electrnico y servicios de archivos ms
eficientemente y con menos soporte humano que sus diferentes plataformas. El
crecimiento de Internet, y especialmente la Web, sirvi de combustible para la
rpida expansin del uso de los servidores Linux y la necesidad de personal para
gestionarlos.
Este libro es para administradores de sistemas Linux. No obstante, puede que
sea un veterano de Unix, un bravo MCSE o un estoico administrador de.
Requisitos para un administrador de sistemas Linux Requisitos para un administrador de sistemas Linux

mainframes. Pero est explorando un nuevo territorio


y necesita mapa y com-
ps. Algunos aspectos le sonarn familiares, pero otros sern una tierra sin ex-
plorar. Este libro cubre muchos temas que se acaban de aadir a la tendencia
Las personas que trabajan en Linux resuelven problemas. Un usuario medio de
actual, por ejemplo los clsteres de carga balanceada
y la virtualizacin. Linux puede levantar un pequeo servidor, obtener una conexin con una IP est-
El xito de Internet y del software de cdigo abierto est cambiando los nego-
tica en su casa, registrar un nombre de dominio y poner en marcha el servidor en
cios. Google, Amazon, eBay y otros han levantado granjas de servidores con
Internet. Si es de los que estn en esta categora, puede leer los otros temas del libro
hardware manejable y relativamente pocos administradores en comparacin con algunos, todo esto les parecer como
las instalaciones de PC y mainframes tradicionales. y ampliar sus posibilidades profesionales. A
escalar una montaa de 10.000 metros. Si no es uno de ellos, comience por cual-
Los conocimientos necesarios para desarrollar y mantener tales sistemas dis- quier parte. Como dice el refrn, come al elefante de una vez y luego saboralo.
tribuidos y las aplicaciones no se ensean en los colegios, sino que se aprenden de Quizs tenga certificaciones de otros sistemas operativos distintos a Linux.
la experiencia, unas veces ms amarga y otras ms dulce.
Aunque ya sabr aplicar parches y corregir fallos, aqu aprender a desplegar el
servidor Apache, a manejar su propio DNS o a cambiar Exchange por Zirnbra.
Nota: Mientras escribamos este libro hemos estado de forma constante Si solo quiere aprender o tiene la obligacin de aprender, necesitar ayuda
probando las ltimas distribuciones y herramientas,
y mantendremos para escalar la curva de aprendizaje de Linux. Para eso es exactamente para lo
nuestros experimentos hasta despus de que el libro est terminado.
que estamos: para ayudarle a explorar el sistema Linux sin tener que pasar por
Invitamos a los lectores a que visiten el sitio Web que hemos levantado por
experiencias traumticas
el libro, http://www.centralsoft.org, donde publicaremos actua-

lizaciones de los ejemplos, enlaces a nuevas


y tiles herramientas que
vayamos descubriendo y otros consejos.

Este libro resume pasos que tiene que seguir para desplegar servidores
los
Sobre este libro
autnomos. Si necesita levantar un servidor de correo, crear un servidor Web
con capacidad para blogs o configurar una pasarela para su LAN, puede dirigirse
Los libros de administracin de sistemas suden ser fcilmente predecibles. a la mitad del libro. No tiene que leer "Administracin de sistemas Linux" desde el
Ensean cmo gestionar usuarios, sistemas de archivos, dispositivos, procesos, principio hasta el final.
impresoras, redes, etc. Pero no indican qu tiene que hacer cuando surge un pro- Comenzaremos explicando, paso por paso, la manera levantar un servidor
blema. Si su sitio Web se convierte en popular, tendr que aprender rpidamente captulo siguiente. Puede elegir ei camino que le convenga, desde
Linux en el
a usar servidores proxy, diferentes niveles de cach, balanceado de carga, auten-
crear un ciuster para servicios Web o reforzar los servidores gracias a ia
tificadn distribuida y otros detalles complejos. Si aade una base de datos, ne- virtualizacin, hasta configurar un servidor para una red de rea local.
cesitar saber cmo ampliarla y aprender a evitar los ataques de inyeccin SQL. Hacer funcionar un sistema operativo moderno es muy barato. Puede confi-
De noche a la maana, el sitio se ha convertido en una misin crtica, y deber
la
gurar un sofisticado centro de aprendizaje sobre hardware que en muchos sitios
ser capaz de hacer copias calientes en sistemas 24 x 7.
consideran obsoleto y lo regalan. Nosotros comenzamos con una caja que conte-
Si ya ha realizado muchos simulacros de incendios, estar cansado de hacerlo
na una CPU de Intel dos generaciones ms antigua que los modelos actuales, le
todo de la manera ms difcil, pero tendr que hacer frente a nuevos retos tcni- pusimos una versin antigua de discos duro y memoria, y una versin sin extras
cos prcticamente a diario y con la ayuda de muy pocas fuentes de ayuda. La
y gratuita de Linux.
documentacin tcnica, ya sea de software comercial o software libre, rara vez
tiene que ver con la tecnologa, y suele pecar de ser demasiado abstracta. Por
ejemplo, ios servidores de directorios de cdigo abierto se han convertido en algo
importante para gestionar ordenadores, usuarios y recursos. Los productos co-
merciales suelen cumplir los protocolos del RFC original, pero la buena docu- Los libros tcnicos han adquirido popularidad a medida que Internet ha ma-
mentacin para proyectos abiertos es sorprendentemente escasa. durado. Para conseguir un libro de xito hoy en da, el autor tiene que proporcio-
22 Requisitos para un administrador de sistemas Linux Requisitos para un administrador de sistemas Linux

nar un valor aadido al lector. Una historia interesante sobre uno de los prime- que hay en el planeta. Segn el Lawrence Livermore National Laboratory de
ros sitios de comercio electrnico ayuda a explicar qu debera ofrecer un libro. Livermore (California), Linux se ejecuta en 10 de sus sistemas ms robustos,
Una compaa que fabricaba tartas de queso puso un anuncio en los primeros todos incluidos entre la lista de los 500. Entre estos sistemas se incluye el BlueGene/
das de la Web. Segn la historia, pasaron varios meses sin que la compaa L, el supercomputador ms potente, y el Thunder, que actualmente
ocupa el

recibiera un pedido. En un movimiento mida comn, el presidente de la compa- puesto diecinueve (http: //www. topBOO .org/list/2006/11/100).
a public la receta secreta de la tarta de queso. Al cabo de unas horas, su lnea
de telfono estaba colapsada. La gente empez a pedir muchos pasteles de queso.
Se dieron cuenta de que se necesitaba un esfuerzo considerable para hacer sus
propios pasteles y por tanto vieron el valor de comprrselos a la compaa. Los administradores Linux estn muy solicitados. Para que se haga una idea de
Muchos de los ingredientes de este libro han sido recopilados de Internet, de que se espera de ellos, hemos recopilado una pequea seleccin de algunas de las
listasde correos, foros, grupos de discusin, mientras que otros han sido extra- miles de tareas que un administrador Linux puede desempear segn un sitio

dos de libros, revistas y la experiencia de amigos. Nosotros solucionamos mu- Web de una agencia nacional de empleo. He aqu algunas de las responsabilidades:
chos problemas cuyas soluciones estaban completamente indocumentadas antes Administrar y gestionar un gran entorno de servidor Linux, con nfasis
de aparecer este libro, y ahora se las ofrecemos.
en el rendimiento, la monitorizacin, la personalizacin y la gestin.
Muchos proyectos
excelentes tienen una documentacin inadecuada. Los 41
Supervisar el diseo fsico de las bases de datos, su administracin y su
desarrolladoreshan trabajado mucho para ofrecer un excelente software libre, documentacin.
pero no una documentacin adecuada para el cdigo por varias razones: falta de
tiempo, falta de recursos, falta de inters,
Ofrecer soluciones a los problemas que puedan surgir en la red, dar sopor-
la barrera del lenguaje, etc.
te a la ampliacin de servicios y la monitorizacin proactiva de sistemas
Junto con nuestros lectores, editores y revisores, esperamos que esta tenden-
crticos.
cia disminuya, al menos en. esta pequea parcela del mundo de la informtica.
Ofrecer consejos y aportar soluciones tecnolgicas a la organizacin; en-
trenar y tutorizar a los administradores noveles.
Ofrecer soporte tcnico diario y resolver consultas relativas al hardware y
al sistema operativo; administrar la infraestructura del servidor Linux para

Hace unos cuantos aos, la mayora de los administradores de sistemas Linux mantener la estabilidad, as como maximizar la eficiencia del entorno.
dedan que no haba escogido esta carrera, sino que. Linux es haba escogido
ellos Instalar, configurary solucionar los fallos relativos al hardware, perifricos
a ellos. En aquellos tiempos, Linux era como un Unix adolescente. La mayora de equipamiento necesario para mantener la integridad del sistema; ofre-
y
los administradores de sistemas Linux aprendan el funcionamiento en una esta- cer soporte para ampliaciones.
cin de trabajo y en pequeas redes. Linux hered algunos servidores de Unix
Ofrecer soporte efectivo de primer/segundo nivel para entornos Linux a
(BINO, Sendmail, Apache), pero tambin software de oficina algunas aplicacio-
y travs de sus servidores.
nes. Hoy en da, la administracin de sistemas Linux involucra a miles de paque-
Gestionar todos los aspectos relativos a la integridad del entorno, inclu-
tes y ia interoperabilidad con otros sistemas operativos.
yendo la seguridad, la monitorizacin (de 1a capacidad y del rendimiento),
Quin necesita administradores Linux? El centro para ciencias de la compu- el control de cambios v la gestin del software.
tacin de la NASA (NCSS)
y el Centro para vuelos espaciales Goddard. Los clsteres
para computacin de alto rendimiento basados en Linux se disean para mejorar Interactuar con otros grupos de soporte interno como el de Control de
el tiempo de respuesta de aplicaciones, que van desde el estudio del
Cambios, Desarrollo de Aplicaciones, Ingeniera, Administradores de Ba-
tiempo y del
cambio climtico hasta la simulacin de fenmenos astrofsicos. Linux permite a ses de Datos, Servicios Web, Almacenamiento, Seguridad, Operaciones y

la arquitectura de la NCSS soportar hasta 4 billones de operaciones Centros de rdenes.


en coma flo-
tante por segundo (TFLOPS) en su configuracin de alto rendimiento. Linux es el 8 Administrar servicios de infraestructura como: DN5, NIS, LDAP, FTP,
sistema operativo que ms supercomputadores hace funcionar en el mundo. De SMTP, Postfix/Sendmaii, NFS, SAMBA, y servidores de aplicaciones y de
hecho, a da de hoy da soporte a un 75 por 100 de los 500 supercomputadores bases de datos, con nfasis en ia automatizacin y en la monitorizacin.
Requisitos para un administrador de sistemas Linux Requisitos para un administrador de sistemas Linux

Linux es ahora una plataforma estndar encuadran dentro de la categora de "habi-


y el talento no abunda. S quieres El resto de las responsabilidades se
aprender Linux podrs mejorar tu salario, como as lo evidencia la creciente de- lidades ligeras". En el pasado, nadie esperaba que un administrador de sistemas
manda de trabajadores con conocimientos de administracin Linux. aprendiera a funcionar corno enlace con otros grupos internos de soporte como
el de Desarrollo de Aplicaciones, Ingeniera, Administradores de Bases de datos o

Servicios Web. Sin embargo, un administrador de sistemas no es slo un tcnico


con conocimientos de algunos sistemas misteriosos, sino el miembro de un gru-
Pregunte a distintos gestores de sistemas de informacin sobre el papel que po capaz de tomar decisiones.
debe jugar el administrador del sistema y obtendr una gran variedad de res- Uno normalmente consigue unas habilidades bsicas y espedaiizacion.es des-
puestas. El mercado se ha visto sorprendido por el hecho de que la mayora de pus de estudiar los aspectos bsicos. Quizs cubramos algunas de esas habilida-
estos gestores carecen de conocimientos acerca de Linux. Ellos no saben qu es lo des en este libro, pero creemos que ese no es el objetivo. Otros libros de O'Reilly y
que deberan saber los profesionales de Linux, y los profesionales de Linux, rara el tiempo le ayudarn a adquirir esas habilidades. Por ahora, le introduciremos
vez entienden a estos gestores. en el rea de la administracin de sistema, puesto que es la que mayor creci-
Muchos gestores de sistemas de informacin que entienden Unix quieren adap- miento experimenta y donde no parecer existir una adecuada documentacin. Al
tar a los administradores de
Linux a los estndares de Unix. Esto no sude funcio- contraro que en otras disciplinas de informtica y de ingeniera, pocos centros
nar. Aunque los administradores Unix crean que la migracin a Linux es fcil, ofrecen cursos de Administracin Linux, dejando incompletos ciertos programas
siempre suelen descubrir que no es as. Los administradores Linux tienen menos de grado. Por lo que si usted quiere aprender administracin de sistemas Linux,
problemas para adaptarse a Unix que al contrario. Una explicacin es que los tiene que buscar materiales y cursos fuera de la universidad. Pero una gran parte
administradores Linux tiene un conocimiento mucho ms amplio de sus siste- del material existente no incluye lo que los expertos en Linux consideran ios
mas, debido a la naturaleza del software del cdigo abierto. asuntos ms importantes.
Las tareas de los administradores de sistemas muy a menudo involucran a La mayora de los administradores Linux son autodidactas, es decir, han apren-
Internet. La mayora de las transacciones estn relacionadas con el correo
y la dido por s solos. Sin embargo, cuando estos administradores autodidactas han
gestin de sitios Web, adems de las telecomunicaciones la movilidad. El correo conseguido un trabajo, normalmente no han podido desarrollar su labor correc-
y
electrnico representa 70 por 100 de todo el trfico de Internet. Hoy en da, las
el tamente, porque no saban todo lo que tenan que hacer. Esta es un rea a la que
aplicaciones de banda ancha como la Voz sobre IP (VoIP) Administracin de sistemas Linux puede contribuir, ayudndole a mejorar su
y otras formas de comu-
nicacin, incluyendo la mensajera instantnea, han incrementado el trfico en productividad a la hora de acometer un amplio rango de tareas de manera rpida
detrimento del correo electrnico. Pero a pesar de los protocolos las aplicacio- eficiente.
y y
nes multimedia, Internet sigue siendo el dominio principal de Linux.
Continuemos analizando las responsabilidades laborales descritas en la sec-
cin previa. La ultima tarea ("Administrar servicios de infraestructura") puede
darle una idea del conjunto de habilidades necesarias en Linux. Las empresas
quieren administradores de sistemas que puedan manejar "infraestructuras de Una de las primeras cosas que los gestores de tecnologas de la informacin
en las tecnologas de internet involucradas. De la lista de com-
servicios". Fjese
deberan saber es que Linux no es Unix. Aunque Linux puede ejecutar la gran
ponentes Linux que es necesario saber, la mayora de las tareas involucran DNS, mayora de los programas Unix, tambin puede ejecutar un amplio rango de
LDAP, FTfJ SMTP y Postfix/Sendmail. Cubriremos la mayor parte de estos com- aplicaciones sobre redes pblicas y privadas.
ponentes en prximos captulos.
Los administradores de Linux pueden configurar las distribuciones escogien-
Las otras descripciones de trabajos se ajustan ms a la categora de necesida- do entre un gran nmero de componentes que hacen trabajos similares. Por ejem-
des internas de la empresa. Entre ellas se incluyen el soporte para el diseo de plo, en casi todas las distribuciones Unix, Sendmail es la nica opcin como agente
servicios escalables, soporte tcnico
y consultor para el entorno del hardware y de transferencia de correo (MTA). Pero con Linux, puede elegir entre muchos
del sistema operativo. La mayora de los administradores de sistemas Linux de-
MTA, dependiendo de si quiere una aplicacin para trabajo colaborativo, un
beran poseer habilidades para ofrecer estos servicios, pero stos estn fueran del backbone de correo a gran escala o simplemente una aplicacin Web para mane-
alcance del libro porque no son de naturaleza tcnica. jar formularios del tipo "Contacte con nosotros".
Requisitos para un administrador de sistemas Linux

Una prueba ms de la flexibilidad de Linux es que es el primer sistema operati-


vo que IBM ha escogido para funcionar en todas sus plataformas hardware, desde
las series de servidores Intel xSeries o las pSeries
y las iSeres, hasta el S/.390 y los
mainframes zSeries. Si quiere un administrador de Linux y usa grandes sistemas
IBM, su candidato debe saber arquitectura de mainframes y estar familiarizado
con trminos como DASD para almacenamiento en disco duro, 1PL para arrancar
el sistema, "catalog" para un directorio
y "lista de comandos" para una interfaz de
comandos. Pero no sea demasiado exigente con ellos. Una vez asistimos a un se-
minario de dos das con un grupo de administradores de Linux, que se estuvieron
en clase un da y luego empezaron a desplegar Linux en ordenadores IBM de la
serie zSeries. Si hay algo que la gente de Linux puede ofrecer, es que aprenden
rpidamente, se adaptan rpidamente y tienen unos conocimientos que no po-
seen otros tecnlogos. Pueden aprender a manejar un sistema Microsoft en me-
nos tiempo que lo que tardara un MCSE en aprender una simple tarea de Linux,

Hay una diferencia real entre leer algo y hacer algo. Por ello muchas escudas
disponen de laboratorios para impartir las clases. Si usted quiere aprender admi-
nistracin de sistemas Linux, necesita un servidor. As es que, la primera tarea de
Sabemos que no le gusta el aprendizaje a paso lento ni los contenidos densos
este libro consiste en desplegar un entorno bsico. Una vez desplegado, podr
(de hecho estamos sorprendidos de que haya llegado hasta este punto del captu-
disfrutar de una buena base para practicar y aprender Linux.
lo), por lo que empezaremos lo ms rpido posible. Queremos proporcionar un

servidor de trabajo que pueda realizar muchas de las tareas que necesita apren- El sistema operativo Linux se parece al eje de un coche que puede tener una

der y usar. Por este motivo, empezaremos a configurar un servidor listo para gran variedad de funciones dependiendo del chasis y de otras caractersticas. Es
Internet en el siguiente captulo. Aprender a desplegar un servidor Web como si al aadir servicios como correo electrnico o bases de datos, el sistema
y de
correo sin importar para qu sea el servidor (incluso aunque est destinado al fuera un personaje distinto. Usted necesita un servidor Web, una plataforma de
soporte de una LAN) y aquellas herramientas que le sern tiles para comenzar. desarrollo, una pasarela o un servidor de archivos y de impresin? Sea lo que sea,

El resto del libro ampla algunos de los temas e introduce otros con los que se
necesita un ncleo, que es lo que este captulo describe. Vamos a comenzar con un

encontrar casi a diario. Administracin de sistemas Linux es una combinacin servidor que funcione en Internet y que pueda albergar sitios Web. Por qu? Por-
de recetario de cocina y gua de viajes; usted podr disfrutar de su desayuno que es posible adaptar un servidor de Internet a muchas tareas adicionales, como
mientras aprende. Normalmente, explicaremos los conceptos al principio del ca- lagestin y autentificacin de usuarios, la comparticin de archivos y de impresoras,
elmanejo de correo local y el ofrecimiento de acceso remoto. Puede ofrecer facilida-
ptulo y luego los pasos y las aplicaciones concretas. Si slo quiere seguir paso
por paso las instrucciones, puede hacerlo. Podr resolver su problema despus. Si des para el alojamiento Web, configurarlo y empezar a ofrecer servicios Web. In-
cluso puede convertirlo en su propiositio, si su ISP le facilita una direccin IP esttica.
sigue nuestros pasos, le aseguramos que ir en la direccin correcta. Adelante!
Configurar un servidor para Internet cambiar su perspectiva de la inform-
tica. Desplegar una red de rea extensa (WAN) es distinto de usar Linux como
equipo de escritorio, como servidor de archivos y de impresin o como cortafuegos.
Las primeras veces, los administradores se confunden al configurar el servi-
dor, debido a que no estn acostumbrados con los trminos y los conceptos. No
tendr la interfaz grfica del sistema X Window y tendr que usar comandos en
lugar de hacer clic sobre iconos. Su trabajo se har en modo consola, desde la
interfaz de lnea de comandos.
Configurando un servidor Linux multifuncin Configurando un servidor Linux multifuncin

Nota: Como parte de nuestra estrategia para ensear administracin, mos usar una distribucin estable de Linux. Las principales distribuciones co-
le
ensearemos cmo disponer de una herramienta basada en Web para el merciales (Red Hat Linux y Novell Suse Linux) tienen precios que los alejan de la
sistema en el prximo captulo (los proveedores de servicios mayora de los usuarios, pero puede obtener Deban gratis. Tambin Red Hat y
usan esta
herramienta basada en Web para gestionar los servidores Linux que
SUSE usan herramientas de gestin propietarias que crean dificultades para trans-
alquilan a los clientes). Por lo que no estar limitado a
una pantalla en ferir conocimiento Linux.
blanco y negro.
Puede aprender ms sobre el comportamiento estndar de Linux usando Deban
que usando SUSE o Red Hat.
Si sigue las instrucciones de este captulo, obtendr un marco
para hospedar una conexin
sitios Web que podr adaptar a otros propsitos. Su sistema dispondr de: Para configurar un Servidor de internet sobre Linux, necesitar
a internet y una direccin IP esttica. Si no puede conseguir una direccin P
s
Un servidor Web (Apache 2.0.x). esttica, puede configurar el sistema con la direccin cedida por su ISP y confi-
s
Un servidor de correo (Postfix). gurarla estticamente. Asegrese de que sabe el tiempo que dura dicha direccin,
Un servidor DNS (BINE) 9). por si necesita cambiarla mientras el sistema est ejecutndose.
0
Un servidor FTP ProFTPD
( )
Tambin necesitar un ordenador, con al menos una CPU Pentium II con un
8
Agentes de transferencia de correo (POP3/POP3/IMAP/IMAP).
mnimo de 256 MB de RAM y 10 GB de disco duro. Obviamente, una CPU ms
moderna y memoria adicional mejorarn el rendimiento.
8
Analizador para estadsticas Web.
Recomendamos usar un
Este captulo se basa en la versin estable de Deban.
Aunque hay muchas formas de configurar un servidor Web remoto, seguir CD con ncleo Netlnstall. El sitio Web de Debian (http //www deban org)
el :
.

que proporcionamos es una buena base para iniciarse en Linux.


las instrucciones ofrece imgenes de CD descargabies.
Una vez que haya aprendido a instalar, tendr la posibilidad de configurar ios
servidores a su medida.

Nota: Durante el proceso de instalacin, probablemente ver


comandos y
conceptos con los que no est familiarizado. Le guiaremos para
que no Asumimos que sabe cmo hacer una instalacin de red de Linux. Slo necesi-
introduzca datos sin pensarlo antes. Aunque intentaremos
explicar todo lo tar unos cuantos pasos para configurar su instalacin base.
posible el proceso de instalacin, probablemente no quedar
satisfecho con
la informacin ele este captulo. Despus de que inicie el equipo con el CD-ROM de arranque de Debian, ver
Es difcil para alguien retener informacin compleja en una primera lectura. una pantalla de autentificarin. Asegrese de introducir Iinux26 para as traba-
As es que, aunque aconsejarle los comandos a
introducir puede parecer
jar sobre la versin 2.6 del kernel que es ms reciente que la antigua versin 2.4.
ineficiente, le permitir retener suficiente informacin
sobre la materia que programa de instalacin le guiar a travs de una serie de pantalla de insta-
El
ms tarde podr asimilar. Cubriremos cada terna con gran detalle en los lacii.Cuando llegue a la pantalla Configure su red, Debian primero sugiere con-
siguientes captulos, y esta experiencia le ayudar a seguir el curso que figurar su red con DHCP. Puede hacerlo si dispone de DHCP. Si no es as, Debian
propone el libro.
por defecto le mostrar una pantalla que le permite configurar la red de manera
manual. Se le preguntar el nombre de host que quiere dar al servidor, un nom-
Usted y su servidor se encuentran en la puerta de un nuevo mundo, bre de dominio, una pasarela, una direccin IP, una mscara de red y un nombre
el de
Linux, as es que comencemos.
de servidor. Si tiene registrado un dominio y una direccin IP esttica, est listo
para continuar. Si no tiene registrado un nombre de dominio, necesitar uno.
Ahora que ya ha configurado su red, puede continuar con las tareas de insta-
lacin hasta que complete la instalacin bsica. El script de instalacin de Debian
le guiar a travs de las siguientes secciones.
Puede usar casi cualquier distribucin de Linux para configurar pantalla de particionamiento de disco. Para ios pro-
un servidor Seguidamente, llegar a la
Web. En este ejercicio, usaremos Deban. Hemos elegido Deban particin con punto de montaje / (barra
porque quere- psitos de este libro, cree slo una el
Configurando un servidor Linux muitifuncin Configurando un servidor Linux muitifuncin

invertida) y una particin swap. Elija la opcin que pone todos los archivos en tarde en este captulo. Mientras tanto, cuando llegue a la pantalla que dice Con-
una particin. Finalmente, elija la opcin de finalizar el particionamiento y es- figurando Exim v4, elija la opcin Sin configuracin. Luego elija S cuando el script
criba los resultados en el disco. ie pregunte "Realmente quiere dejar el sistema de correo sin configurar?"

Finalmente, en la ltima pantalla que tiene que ver con Exim, introduzca el

Nota: Puede obtener un nombre de dominio desde multitud de fuentes desde nombre admin y el correo electrnico del root y del administrador de correo.
3 USD. Busque en internet las palabras "registro de dominios". Ver una
lista de lugares. Muchos vendedores ofrecen sus servicios a precios bajos y
otros los ofrecen gratis. Necesitar dos servidores DNS registrado para [
;

,
yv MTA: Sendfnaii y Alternativas ' >
'

obtener un nombre de dominio inicialmente. Tambin puede usar otro


El proceso de instalacin por defecto de Deban gira en tomo a Exim, aunque
nombre de dominio si no tiene un servidor fsico que ie ofrezca un servidor !

otras distribu iones lirmx: usan Srndnoil por defecto. Snuimuil es de hecho
de nombres secundario. Cada dominio que registre necesita un servidor DNS
i

'
d andar MIA, comerlo prueban las primeras disinbuciom'.s ib i.mux.
ixi
primario y una copia o un servidor DNS secundario.
!
. todos ios procesos en thuix que estn vrdacoi jados con fi correes
as
involucran archivos de configuracin.. Sendrmdl, y la m a y es ra. de las
Nota: La instalacin bsica de Deban que estamos usando tiene tos secciones api unciones de software libre esperan que Peodmati este instalando me!
.

distintas. La primera instala lo que algunos llaman el motor GNU/Linux, i


sistema operativo.
que le permite arrancar el disco duro y obtener una pantalla de root. Adems i Probablemente sea una locura r c e rn p aza r S c k rn a por otro MIA. Si instala
I i i i i

transfiere archivos desde el CD-ROM hasta el disco duro. I Red Hat, .Smdruaii se instala por defecto. Sin embargo. Ral la! \ Adoso
I
vienen con un programa que permite ai ostia no a mina; a Rost ix aunque
i

debe hacerse de manera manual


'

Una vez que primera seccin termina, le pide que extraiga el CD-ROM que
'

la j
;
.

us en Desde este punto en adelante, la instalacin contina usando


la instalacin. i
Los gestores del proyecto Deban eligieron Lxim como d MIA por defiri
porque su creador le otorg la licencia pblica CPL. Ai igual que Porihv
los archivos almacenados en el disco duro.
'

? Exim es un sustituto para Sendmail.


Ahora continan unas cuantas pantallas de instalacin, que le solicitarn que
. 1loy en cha, la prctica, comn es usar Post hx, por muchas razone s que ms
reinicie el ncleo para finalizar la instalacin.
taro- explicaremos De todas formas usted no estropear su sistema a!
Despus de reiniciar, Deban le pedir que aada un usuario sin privilegios reemplazar. Ex.im porlbstfix. De hecho, poda desca gar.Posthx desde los
durante la instalacin, que le permitir autentificarse y usar el comando su para ;
'

repositorios de Deban.
convertirse en root. Por razones de seguridad, los administradores de sistemas
tienen la prctica comn de no entrar en el sistema como root, a menos que
necesiten recuperar el sistema tras un fallo.
Ponga el nombre de Administrador y el ID admin. No use la misma contrase-
Cuando finalice la instalacin, debera acceder al sistema desde la consola re-
a para admin y para root. Usaremos el usuario de ID admin en otros captulos.
mota de su escritorio. Recomendamos que realice las labores de administracin
Cuando ponga el cursor
llegue a la pantalla de seleccin de software Deban,
desde otro sistema (incluso desde un porttil), porque un servidor seguro nor-
en el recuadro Servidor de correo, pulse la barra de espacio y permita que el
malmente se ejecuta en lo que se llama modo headless, es decir, que puede ejecu-
sistema nstale los paquetes por defecto hasta que llegue a la opcin donde se vea tar aplicaciones sin Acostmbrese a administrar su servidor
monitor y sin teclado.
cliente libe.
de esta forma, como si estuviera en un sitio en produccin. En la mquina remo-
Debera instalar el cliente libe con el buzn de correo de Unix en lugar del ta necesitar solamente un cliente SSH, incluido en todas las distribuciones Linux
soporte maildir. Los buzones de correo Unix mantienen todo el correo en un
y que puede descargarse para otros sistemas operativos.
archivo simple, mientras que maildir mantiene cada mensaje en un archivo dis-
La siguiente salida se produce cuando usa por primera vez SSH en su nuevo
tinto. Los buzones de correo de Unix son ms fciles de configurar, por lo que de
servidor Linux:
momento ser con los que trabajemos.
$ ssh admin@serverl.centralsoft.org
Deban tambin querr que configure Exiin como agente de transferencia de
The authenticity of host 'serverl.centralsoft.org (70.253.158.42)' can't
correo (MTA), pero no lo haga. Sustituiremos Exim con Postfix un poco ms be established.
32 Configurando un servidor Linux multifuncin Configurando un servidor Linux multifuncin

RSA key fingerprint is 9f 26 c7 :cc f2 f'6 :da: 74 :af fe: 15 16 97 :4d:b3 e6


: : : : : : : : . # /etc/network/interf aces -- conf iguration file for ifup(8), idown(8)
Are you -sure you want to continu connecting (yes/no) ? yes # The loopback interface
Warning: Permanently added serverl centralsoft org, 70 253 158 42
' . . . (RSA) . . auto lo
i face lo inet loopback
to the list of known hosts.
Password: enter password for admin user here # The first network card - this entry was created during the Debian
Linux serverl 2.6.8-2-386 #1 Thu May 19 17:40:50 JST 2005 686 GNU/ Linux # instaliation
# (network, broadcast, and gateway are optional)
The nrograms inciuded with the Debian GNU/Linux system are free software auto ethO
the exact distribution terms for each program are described in the iface ethO inet static
individual files in /usr/share/doc/*/copyright address 70.153.258.42
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent netmask 255.255.255.248
permitted by applicable law. network 70. 153. 258.
Last login: Sun Dec 25 19:07:38 2005 from 70.255.197.162 broadcast 70.153.258.47
admin@serverl ~$ : gateway 70.153.258.46

Llegados a este punto, ha establecido una conexin remota y puede realizar Despus de editar /etc/network/interf aces file, reinicie la red introdu-
ciendo esto:
tareas como si estuviera delante del monitor de su servidor. Si lo desea, puede
quitar cualquier monitor, teclado y ratn que haya conectado al servidor. # /etc/init . d/networking restart

Necesitar editar /etc/resolv conf y aadir nameservers para resolver los


.

nombres de host relacionados con la correspondiente direccin IR Aunque no


hemos configurado nuestro propio servidor de nombres, lo haremos ms tarde
en este captulo. En este punto, simplemente configuraremos un servidor DNS
Si us DHCP durante la instalacin de Debian, ahora debera configurar su
mnimo. Los otros servidores de nombre deberan especificar la direccin IP de los
servidor con una direccin IP esttica, por lo que podr realizar el test necesario
servidores DNS ofrecidos por tu ISR Nuestro resolv. conf quedara as:
como se explica ms tarde en este mismo captulo. Si usted tuviera una direccin
IP pblica configurada como esttica, puede saltar a la siguiente seccin. search server
nameserver 70.153.258.42
Si instal Debian con un cliente DI1CP para su router o para su proveedor de nameserver 70.253.158.45
acceso a Internet, necesitar reconfigurar la red. Esto supone una leccin valiosa nameserver 151.164.1.8
si quiere explorar la configuracin de red de Linux.

Para cambiar la configuracin y usar una direccin IP esttica, necesitar con- Nota: Asegrese de usar servidores DNS que funcionen con su dominio; en
vertirse en root editar el archivo /etc/network/interf aces de acuerdo a
y caso contrario, su servidor DNS no indicar quin es la autoridad para su
sus necesidades. Como ejemplo, vamos a usar la direccin IP 70. 153.258.42. r dominio.

Nuestro archivo de configuracin comienza as:


Ahora edite /etc/ hosts y aada su direccin IP:

# /etc/network/interf aces -- conf iguration file for ifup(8), ifdown(8)


# The loopback interface 127.0.0.1 localhost localdomain
. localhost serverl
auto lo 70.153.258.42 serverl.centralsoft.org serverl
iface lo inet loopback
# The first network card - this entry was created during
the Debian
Nota: Ignore la informacin IPv6 en el archivo /etc/hosts. Le mostraremos
# instaliation
cmo configurar el servidor IPv6 ms adelante.
# (network, broadcast, and gateway are optional)
# The primary network interface
iface ethO inet dhcp Ahora configure el nombre de host, introduzca estos comandos:
Para aadir la direccin IP 70.153.258.42 a la interfaz ethO, debe cambiar el
# echo serverl.centralsoft.org > /etc/hostname
archivo para que quede as (deber preguntar por esta informacin a su ISP): # /hin/hostname ~F /etc/hostname
34 Configurando un servidor Linux multifuncin Configurando un servidor Linux multifuncin 35

mismos comandos independientemente de cmo configu-


Necesitar usar los Pulsando Y completar la instalacin de los archivos adicionales. Luego, ha-
rara la red durante la instalacin, sustituyendo su nombre de dominio por br que eliminar los servicios que no vaya a usar. Ejecute el siguiente comando y
serverl .cent ral soft org. Luego, verifique que ha configurado su nombre
.
ver una salida como la siguiente:
de host correctamente ejecutando el comando hostname:
# apt-get remove Ipr nfs-common portmap pidentd pcmcia-cs \
~$ hostname pppoe pppoeconf ppp pppconfig
serverl Reading Package Lists... Done
~$ hostname ~f Building Dependency Tree... Done
serverl centralsof t org
. . Package pcmcia-cs is not installed, so not removed
The following packages will be REMOVED:
Si obtiene este resultado, est listo para ir a la siguiente seccin. De no ser as, lpr nfs-common pidentd portmap ppp pppconfig pppoe pppoeconf
0 upgraded, 0 newly installed, 8 to remove and 0 not upgraded.
revise el archivo /etc/hostname. Debera ser parecido a esto:
Need to get OB of archives.
After unpacking 3598k.B disk space will be freed.
#less /etc/hostname
Do you want to continu? [Y/n] Y
serverl
(Reading database ... 22425 files and directori.es currently installed.)
Removing lpr . . .

Oops. Debera leer atentamente serverl centralsof t org. Puede modifi-


. .
Stopping printer spooler: Ipd .

carlo ahora. Removing nfs-common . .

Stopping NFS common Utilities: statd.


Removing pidentd . .

Removing, portmap . .

Stopping portmap daemon: portmap.


Removing pppoeconf . . .

Removing pppoe . .

Comenzamos con paquetes Deban que los desarrolladores colocan en su


ios
Removing pppconfig . .

Como indicamos anteriormente, necesitamos hacer al-


distribucin por defecto. Removing ppp . .

gunos cambios, sobre todo para hacer uso de Posftix. Aunque podra pensar que Stopping all PPP connections done . . .

estamos relegando a un segundo plano el trabajo hecho por el equipo de Deban,


este no es el caso. Nota: Asegrese de revisar los comandos que introduzca. Si comete un error,
equipo Deban ha elegido instalar, por defecto, servicios apropiados para
El Deban le indicar que no puede encontrar el archivo en cuestin. En este
una LAN como el NetworkFile System (NFS). Pero nosotros estamos poniendo el caso, simplemente reintroduzca apt-get, especificando slo el nombre del
paquete. Desde que haga cambios en el paquete de la base de datos, necesita
servidor en Internet, por lo que eliminaremos NFS y otros servicios, mientras
cambiar los Scripts que se ejecutan cuando se arranca. Use los siguientes
que aadiremos otros como OpenSSL. k comandos para modificar los Scripts de inicio:
Para obtener todos los archivos necesarios para este captulo, ejecute el si-
guiente comando:
# update-rc.d -f exim remove
Removing any system startup links for /etc/init d/exim . ...
# apt-get install wget bzip2 rdate fetchmail libdb3++-dev \ # update-inetd --remove daytime
unzip zip neftp xlispstat libarchve-zip-perl \ # update-inetd --remove telnet
zliblg-dev libpopt-dev nmap openssl lynx fileutils # update-inetd --remove time
# update-inetd --remove finger
Ver a Deban descargar archivos en su consola. Luego, la descarga finalizar # update-inetd --remove talk

y ver un mensaje que le preguntar si desea continuar: # update-inetd --remove ntalk


# update-inetd --remove ftp
0 upgraded, 42 newly installed, 0 to remove and 0 not upgraded. # update-inetd --remove discard
Need to get 12.2MB of archives.
After unpacking 35.8MB of additional disk space will be used. Ahora necesita reiniciar inetd, que es el proceso servidor para, los servicios
Do you want to continu? [Y/n] estndares de Internet, inetd normalmente se lanza al arrancar, pero como ha
Configurando un servidor Linux multifuncin Configurando un servidor Linux mutifu ncion

cambiado ios servicios cid sistema, necesita reiniciarlo para que pueda descubrir servidor, aadir una facilidad para cuotas que podr usarse despus. Primero,
ios nuevos servicios del archivo de configuracin. El comando inetd acepta un instala los paquetes de cuotas usando apt-get:
parmetro que apunta al archivo de configuracin listando los servicios que ofrece.
# apt-get install quota quotatool
Pero si no se proporciona un parmetro por lnea de comandos, inetd lee la
informacin de configuracin del archivo /etc/ inetd conf que sirve para nues-
.
,
Le aparecer una pregunta como esta:
tros propsitos. El comando de actualizacin de inetd almacen nuestros cam-
bios en este archivo. Para reinicar inetd usando el archivo de configuracin por Enabie this option if you want the warnquota utility to be run daily
defecto, introduzca: to alert users
when they are over quota.
# /etc/init d/inetd reload
.
Send daily reminders to users over quota?
<Yes> <No>
Ver el siguiente mensaje en su consola:
Aqu debe escoger <No>.
Reloading internet superserver: inetd Deban instalar y configurar los dos paquetes, pero usted tendr que editar
/etc/fstab para activar las cuotas en los sistemas de archivos que desee. Debi-
do a que nuestro sistema tiene una nica particin para todos los archivos de
usuario, puede aadir las opciones usrquota y grpquota a la particin con el
punto de montaje /:
El servidor Web Apache
ofrece a Linux la posibilidad de ofrecer alojamiento
# /etc/fstab: static filesystem Information.
su servidor puede alojar varios sitios Web con nombres de domi-
virtual, es decir,
#
nio que difieren del nombre del servidor fsico. En el archivo de configuracin del # <fiiesystem> cmount point> <type> <opt.ions> <dump> <pass>
servidor Web, puede definir diferentes dominios usando clusulas de alojamiento proc /proc proc defaults 0 0

virtual. Por ejemplo, incluso aunque el dominio usado en este libro es central
/dev/sdal / ext3 def aults errors=remountro,
,

usrquota grpquota 0 1
soft org, podramos tener mothersmagic com, wildbills info u otro do-
. .
/dev/sda.5
,

none swap sw 0
minio que registremos y usemos con la misma direccin IP. Cubriremos este /d.ev/hdc /media/cdromO iso9660 ro, user, noauto 0
concepto con detalle ms adelante. Por ahora, slo piense en la direccin IP como /dev/fdO /media/floppyO auto rw, user noauto 0
,

el nmero de telfono de una casa donde viven diferentes personas. Cuando el

navegador accede al puerto 80, llega hasta el dominio que usted ha configurado. Ahora ejecute los siguientes comandos para aadirlos al directorio raz:

Linux ofrece medios para gestionar el uso del disco para mltiples dominios gra- touch /quota. user /quota group .

cias a una facilidad llamada cuotas. Originalmente, Unix ofreca cuotas para las .,p # chmo 600 /quota.*
cuentas de usuario para que no ocuparan demasiado espacio en el servidor. Por # mount -o remount /

ejemplo, si tuviera 50 usuarios compartiendo espacio en disco en un servidor de # quotacheck -avugm

archivos, sin un sistema de cuotas, un usuario podra llenar el disco, provocando


El kernel de Linux normalmente tiene soporte por defecto para las cuotas. El
que las aplicaciones de todos los usuarios no pudieran guardar ms datos.
kernel ve las opciones de cuota en /etc/fstab y comprueba quota. user y
La facilidad para las cuotas obliga a los usuarios a mantenerse dentro de los quota. group para determinar si los usuarios o los grupos tienen lmites en su
lmites de consumo marcados, evitando la posibilidad de que consuman espacio
espacio en disco.
ilimitado en disco. El sistema lleva en cuenta la cuota por usuario y por sistema de
Ahora ver lo siguiente en su consola:
archivos. Si tiene ms de un sistema de archivos donde los usuarios pueden crear
archivos, configure la facilidad para cada sistema de archivos de manera separada. quotacheck: Scanning /dev/hdal [/] done
Puede usar el mismo sistema de cuota para, limitar el espacio reservado para
Ahora ver un mensaje en su consola parecido a este:
un dominio de su host. Varias herramientas le permiten administrar y automa-
tizar la poltica de cuotas de su sistema. En esta parte de la configuracin del quotacheck: Checked 1912 directories and 28410 files
Configurando un servidor Linux multifuncin Configurando un servidor Linux multifuncin 39
38

Ahora puede ejecutar el prximo comando: Para poner BIND en un entorno seguro, cree un directorio donde el servicio pue-
da ejecutarse sin tener que estar expuesto a los otros procesos. Tambin podr eje-
# quotaon -avug cutarlo como usuario sin privilegios, pero slo el root podr acceder al directorio.
Primero pare el servicio ejecutando el siguiente comando:
Ver los siguientes mensajes:
# /etc/nit d/bind9 stop
.

/dev/hdal [/) group quotas turnea on


/dev/hdal [/] user quotas turned on
Edite el archivo /etc/def ault/bind9 por lo que el demonio se ejecutar como
que ha pasado? Esta secuencia activ las cuotas en el usuario sin privilegios, el directorio ser /var/lib/named. Cambie la lnea:
Ha comprendido lo
sistema. Puede revisar las pginas de ayuda para cuotas si cree que no lo ha
0PTS= " ~u bind"
comprendido. El servidor ahora est listo para usar las cuotas.
para que ponga:

OPTIONS="-u bind -t /var/lib/named"

En el captulo siguiente, aprenderemos cmo manejar nombres


de dominio
Para ofrecer un entorno completo para ejecutar BIND, cree los directorios ne-

Por ahora,
cesarios en /var/lib:
para su servidor y para dominios virtuales que residan en su sistema.
estableceremos una configuracin mnima para BINO, el servidor DNS ubicuo. # mkdir -p /var/lib/named/etc
Deban ofrece una versin estable de BJND en sus repositorios. Nosotros ins- # mkdir /Var/lib/named/dev
talaremos y configuraremos BIND y lo aseguraremos en un entorno chroot, es # mkdir -p /var/lib/named/var/cache/bind
# mkdir -p /var/lib/naraed/var/run/bind/run
decir, donde no ser posible acceder a los archivos que estn fueran de su propio
rbol de directorios. Esta es una tcnica de seguridad importante. El trmino Luego, mueva el directorio config desde /etc a /var/lib/named/etc:
chroot se refiere al truco de cambiar el sistema de archivos raz (el directorio /)
que ve un proceso, por la que la mayor parte del sistema no puede acceder a l. # mv /etc/bind /var/lib/named/etc
Tambin configuraremos BIND para ejecutarlo como un usuario que no sea root.
De esta forma, si alguien consigue el acceso a BIND, no podr obtener privilegios
Ahora cree un enlace simblico al nuevo directorio config desde la localiza-
cin antigua, para evitar problemas cuando BIND se actualice en el futuro:
de root o ser capaz de controlar otros procesos. Para instalar BIND en su servidor
Deban, ejecuta este comando: # ln -s /var/lib/named/etc/bind /etc/bind

# apt-get install bind9 Cree dispositivos nuil y random para que los use BIND y establezca los permi-
sos de los directorios:
Deban baja y configura el archivo como un servidor de Internet. Podr ver el

siguiente mensaje en su pantalla: # mknod /var/lib/named/dev/null c 1 3

# mknod /var/lib/named/dev/ random c 1 8

Setting up bind9 (9. 2. 4-1)


Adding group 'bind' (104) Luego, cambie los permisos y la autora de los archivos:
Done
Adding system user 'bind' # chmod 666 /var/lib/named/dev/null /var/lib/named/dev/random
Adding new user 'bind' (104) with group 'bind' # ehown -R bind:bnd /var/lib/named/ var/*
Not creating home directory. # chown -R bind:bind /var/lib/named/etc/bind
Starting domain ame Service: narned.
Tambin necesitar cambiar el script de inicio /etc/init d/sysklogd para .

que pueda ver mensajes en los logs del sistema. Cambie la lnea:
Nota: Ver salidas similares cuando instale o elimine otros servicios con la
utilidad apt-get. SYSLOGD = "
40 Configurando un servidor Linux multifuncin Conflgurando un servidor Linux multifuncin 41

para que ponga: na en cach cada visita a una pgina Web. Le mostraremos cmo configurar el
servidor DNS
primario y secundario en el captulo siguiente.
SYSL0GD= " -a /var/lib/named/dev/log"
Aunque muchas personas creen que carece de importancia, administrar DNS
Ahora reinicie el proceso de logging con este comando: es crucial porque muchos otros servicios dependen de l. Ya ver como DNS es un
componente crtico de casi todos los servicios de Internet que su sistema ofrece.
# /etc/init . d/sysklogd restart

Ver el siguiente mensaje:

Restarting system log daemorn syslogd.


Los sitios y los servicios Web usan bases de datos relaciones para colocar obje-
Finalmente, ejecute BIND: tos en las pginas Web. Esto permite un acceso rpido a la hora de atender las
peticiones. Los navegadores Web pueden realizar 30 peticiones de una vez,
# /etc/init d/bind9 start
.

incrementando las cargas en la CPU, en la memoria y en el acceso a disco.


Compruebe /var/log/syslog por si hay errores. Puede moverse por el ar- Las bases de datos relaciones, en combinacin con un servidor Web, puede
chivo usando: construir de manera eficiente pginas Web al vuelo.
No vamos a cubrir el complejo asunto de la administracin de bases de datos
# lees /var/log/syslog
en este libro. Sin embargo, los administradores de sistemas Linux a menudo se
Puede asegurarse que BIND se arranc con xito si puede ver: encuentran con que los desarrolladores esperan contar con bases de datos para
su desarrollo, por lo que le mostraremos la manera de configurar su servidor
Start ing domain ame service: named. Linux con una de las bases de datos de cdigo abierto ms populares: MySQL.
Para hacer efectivo el uso de la base de datos, necesitar aprender a:
Ahora, comprobemos si named est funcionando sin problemas. Ejecute este
comando, debera ver un resultado como el siguiente: 1 . Instalar e iniciar MySQL.
2. Crear un usuario root para MySQL.
serverl /home/admin# rndc status
:

3. Crear un usuario MySQL normal, que ser usado por las aplicaciones para
number of zones: 6 acceder a la base de datos.
debug level 0 :

4. Realizar copias de seguridad y restauraciones de la base de datos.


xfers running: 0
xfers deferred: 0 Para instalar correctamente el servidor de bases de datos, un programa diente
soa queries in progrese : 0
adecado para las tareas de administracin y la biblioteca necesaria por ambos,
query logging is OFP
server is up and running use este comando:
serverl /home/admin#
:

# apt-get install mysql - server mysql-cllent libmysqlclientl2 -dev


Si DNS no est funcionando correctamente, en su lugar podr ver algo como
lo siguiente:
Deban descargar MySQL desde sus repositorios y comenzar el proceso de
instalacin. Ver los siguientes mensajes:
serverl:-# rndc status
rndc neither /etc/bind/rndc conf or /etc/bind/rndc key was found
: . .
Install Hints
serverl ~# :
MySQL will only install if you have a NON-NMERIC hostname that is
resolvable via the /etc/hosts file. E.g. if the "hostname" comraand
returns "myhostname then there must be a line like "10.0.0.1
Afortunadamente, nuestro sistema DNS est funcionando correctamente.
myhostname "
Por el momento, no hemos configurado nuestros archivos de zona primaria A new mysql user " deban- sys-maint" will be created. This mysql account
ni hemos configurado DNS para que acte como servidor cach, el cual almace- is used in the start/stop and cron Scripts. Don't delete.
Configurando un servidor Linux muitifuncin 43
42 Configurando un servidor Linux multifuncin

Please remember to set a PASSWORD for the MySQL root userl If you use a Si ha editado /etc/mysql/my cnf, . reinicie MySQL usando este comando:
/root/ my cnf always write the "user and the "password lines in
. . ,

there, never only the password! # /etc/int d/mysql restart


.

See /usr/share/doc/mysql-server/README. Deban for more Information.


<0k> Esta seccin no ha cubierto todas las funciones de las bases de datos que los
desarrolladores esperan de usted. MySQL est ahora configurado para ejecutarse
Desde el punto de vista de la administracin, MySQL es comparable a Linux: en su servidor, no obstante, esto es suficiente para que pueda ciar ios siguientes
cada usuario root tiene el control sobre todo y puede conceder o denegar privile- pasos. Haremos ms cosas con MySQL en prximos captulos.
gios a los otros usuarios. El root MySQL no tiene nada que ver con el root de
Linux, lo nico que tienen en comn es el nombre. Cree el usuario root de MySQL
introduciendo:

# mysqladmin -u root password 'pword'

Elija una cadena que sea difcil de adivinar como contrasea (pwrod).Cuando
quiera administrar SQL en el futuro, deber introducir el siguiente comando y En esta seccin, aadiremos agentes de transporte y de entrega de correo elec-
teclear su contrasea:
trnico e implemen taremos un ligero control sobre el entorno de los sistemas.
Demostraremos cmo autentificar a los usuarios de un sistema de correo elec-
# mysql -u root -p trnico y prevenir el acceso fraudulento a aspectos del correo. Durante ms de
Enter password: 25 aos, Sendmail ha servido como el MIA primario de Internet. Muchas aplica-
ciones escritas para Linux esperan que Sendmail se est ejecutando en el servidor.
Intente asegurarse de que el cliente y el servidor estn trabajando y que pue-
den acceder al servidor. Debera ver en la salida de la consola algo similar a lo
A pesar de que fue escrito antes de que Internet se abriera al pblico, Sendmail
tiene muchos problemas de seguridad que se listan en la lista Common
siguiente:
Vulnerabilities and Exposures (CVE) alojada en http //c ve .mitre org.
:
.

Welcome to the MySQL monitor. Commands end with or \g. ; Afortunadamente, otros MTA han emergido para ocupar el lugar de Sendmail.
Your MySQL connection id is 14 to server versin: 4 0 24_Debian- 10-log . .
El principal problema de estos MTA es que las aplicaciones esperan que sea
Type 'help,-' or '\h' for-help. Type '\c' to olear the buffer.
mysql
Sendmail el que est presente en el servidor Linux. Para solucionar esto, algunos
MTA como Postfix o Exim deben ser capaces de hacer creer a las aplicaciones que
Teclee/q o quit para salir. ellos son Sendmail. Son sustituciones de andar por casa y pueden hacer que el

Ya que el servidor MySQL se est ejecutando, puede ejecutar netstat -tap y sistema se ejecute en modo Sendmail.
ver algo como esto: Postfix es nuestro sustituto preferido para Sendmail. Postfix es ms rpido
que Sendmail, una arquitectura ms segura y modular y ofrece muchas
tiene
tep 0 0 localhost localdo mysql *:*
. : LISTEN 2449/mysqld funciones requeridas por un proveedor de grandes volmenes de correo. Postfix
no soporta protocolos obsoletos, sino que usa el Protocolo Simple de Transporte
MySQL es accesible desde localhost (127.0.0.1) en el puerto 3306. Si no ve
de Correo (SMTP), y es el que tiene el menor nmero de incidencia en la lista
esta lnea, edite /etc/mysql/my cnf (el archivo de configuracin que el diente
.

CVE. Por todas estas razones, usaremos Postfix en lugar de Sendmail como MTA.
y el servidor comprueban para obtener los parmetros) y aada un smbolo #
El correo electrnico seguro involucra mantener fuera del servidor a todos los
para comentar la lnea skip-networking:
usuarios sin autorizacin (por lo que no pueden usarlo para enviar correo an-
#skip-networking nimo), asegurndose de que nadie puede suplantar a los usuarios legtimos y
protegiendo el contenido de cada correo recibido o despachado.
Si quiere que MySQL escuche en todas las direcciones IP disponibles, edite /
Una seguridad dbil hace ms fcil que los impostores suplanten usuarios.
etc/mysql/my cnf y comente. la lnea bind-address = 127.0.0.1
Para proteger la autentificacin, instalaremos con Postfix la Transport Layer
#bind-address 127 .0.0.1 Security (TLS), un protocolo mejor que el conocido Secare Sockets Layer (SSL). Esto
Configurando un servidor Linux multifuncin Configurando un servidor Linux multifuncin

evita enviar contraseas en texto claro desde un cliente de correo electrnico a que mejor se ajuste a nuestras necesidades. Ms tarde podremos aadir esto a la
un servidor. configuracin por defecto.
Tambin queremos que los usuarios se autentifiquen y accedan al servidor de
correo. Para conseguirlo, emplearemos el Simple. Authentication Security Layer
(SASL). Esto crea una extensin (ESMTP) que permite a un cliente SMTP autenti- TU j poi-'ts s*ie tad .$ m shling sfeiy be b/iT dan yy to lly corr gu red
ficar el servidor. Services. cisfault the por? seise ti on is respe? Gnty P O A
Instalar los paquetes es necesario para Postfix y los otros componentes de
correo, introduzca: to you v/snt ;
irc. .ignore possible.- local snc! alWays 'se .lected

# apt-get install postfix postfix-tls libsasl2 sasl2-bin \


Entere port seise ti. or?
libsas!2 -modules ipopd-ssl uw-imapd-ssl
V 'I
:

A '

A/V-T AS '

S '>
'

? A A'l'k I
/ wrisfflETSS':-' MyA.' A T O :
|
;

A medida que Deban instale los paquetes, presentar algunas pantallas que
le preguntarn algunas cuestiones.
Cuando vea la pantalla de configuracin de ipopd mostrada en la figura 2.1, Figura 2.2. Dejando los puertos por defecto para el correo.
seleccione pop3 y pop3s.

Figura 2.1. Pantalla de configuracin de correo de Deban. Figura 2.3. Opciones de configuracin Postfix.
Luego, ver una pantalla parecida a la de figura 2.2, donde debera seleccio-
nar <No> para conseguir flexibilidad a la hora de enrutar los puertos en caso de Cuando configure Postfix para ejecutar el correo, funcionar como un agente
lo que necesite despus. Los puertos por defecto trabajan aqu porque usan TES y de transferencia de correo estndar. No escoja la opcin de la figura 2.4 para usar
el demonio SASL. otro servidor de correo como smarthost. En otras palabras, su sistema ser la
La figura 2.3 es informativa; el instalador Deban est indicando qu opcio- autoridad de correo de su dominio. Si ha usado otro servidor (un portal popular
nes tiene para la configuracin de correo. Haga clic en OK para pasar a la panta- o un IS P ) para enviar y recibir correo en el pasado, su servidor realizar estas
lla de la figura 2.4, que le permite escoger una opcin. Para nuestro propsito, tareas ahora.

escogeremos Interne! Site, porque usaremos SMTP para todo el trfico, tanto para Luego, en la pantalla mostrada en la figura 2.5, responda NONO. Postfix crear
la LAN como para Internet. Deban ofrecer el tipo de archivo de configuracin su propio archivo de alias.
Configurando un servidor Linux multifuncin Configurando un servidor Linux multifuncin

Figura 2.4. Seleccionando el sitio de Internet desde el men de configuracin.


Figura 2.6. Comprobando el nombre de dominio para Postifx.

Figura 2.7. Lista interna de dominios usada en Postfix.

Despus de que Deban acabe la instalacin y vea que la consola vuelve a estar
disponible, necesitar poner a trabajar juntos varios componentes de correo. Esto
significaque deber escribir entradas en el archivo de configuracin Postfx y
Figura 2.5. Opcin para usar una cuenta alias existente. generar certificados y claves de encriptacin.
Le advertimos sobre esta parte al principio del captulo. Algunos de estos co-
En las figuras 2.6 y 2.7, el configurado! Postfx quiere saber para quin acepta
El nombre de dominio es tambin "nombre de correo". mandos no tendrn sentido para usted. Perono se preocupe, le ver el sentido crian-
y despacha el correo. el
do Suelva la vista atrs despus de haber completado las tareas de esta seccin.
Postfx usar este nombre para verificar el correo dirigido al servidor. Cuando al-
cance las pantallas mostradas en las figuras 2.6 y 2.7, tendrn valores por defecto
en las cajas azules de texto. Puede aceptar la figura 2.6 tal y como le mostramos.

Nota: centralsoft.org es el nombre de dominio que usamos en este


libro, asegrese de sustituirlo por su nombre de dominio.

En la figura 2.7, notar que hay dos comas despus del nombre localhost
centralsoft .org. Elimine la segunda coma.
En la figura 2.8, el configurador de Postfx necesita informacin sobre la actua-
lizacin. sncrona. Cubriremos la administracin de servidores de correo con gran
detalle ms adelante. Por ahora, responda <No> a la pregunta y siga avanzando. Figura 2.8. Rechazando actualizaciones sncronas.
Configurando un servidor Linux muitfuncin Configurando un servidor Linux multifuncin

comando postconf reside en el directorio /usr/sbin. Se usar para escribir


El. Country ame (2 letter code) [AU] :

el un parmetro Postfix en el archivo de configuracin main cf


valor de State or Province ame (full ame) [Some-State]
.

Locality ame (eg, city) []


Una vez que Posftix se ha instalado y se ha configurado como un servicio Organization ame (eg, company) [Internet Wdgits Pty Ltd]
Deban, necesitar indicarle a Postfix qu hacer con respeto a la autentificacin centralsof t org
.

segura. Usa los siguientes comandos: Organizational Unt Mame (eg, section) [] web :

Common ame (eg, YOUR ame) []


Email Address []
# postconf -e
:
' smtpd_sasl_local domain ='
# postconf -e 'smtpd sasl auth_enable = yes' Please enter the following 'extra' attributes
# postconf -e smtpd_sasl_security_options = noanonymous
'
' to be sent with your certifcate request
# postconf -e broken_sasl_auth clients = yes'
, A challenge password [] :

An optional company ame [j eso


:
# postconf -e smtpd_recipient_restrictions = \

# openssl x509 -req -days 3650 -in smtpd. csr -signkey smtpd. key
-out \
permit_sasl_authenticated, permit jmynetworks re j ect_unauth_destination'
,

# postconf -e inet interf aces = all'


'
smtpd. crt
Signature ok
subject=/C=US/ST=Taxas/L=Dallas/0=centralsoft .org/OU=web/CN=Tom_Adelstein/
Estos comandos escriben texto en el archivo smtpd conf .
email Address =tom. adelstein@ce.ntralsof t org
.

echo pwchecfc_me thod saslauthd' >> /etc/postf ix/sasl/smtpd. conf


1
Getting Prvate key
# :

Enter pass phrase for smtpd. key:


# echo 'mech_list: plain login' >> /etc/postf ix/sasl/smtpd. conf
# openssl rsa -in smtpd. key -out smtpd. key .unencrypted
Enter pass phrase for smtpd. key:
Ahora cree un directorio para sus certificados SSL y genere tanto los certifica- writing RSA key
dos como las claves de encriptacin: # mv - smtpd. key. unencrypted smtpd. key
# openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out \
# mkdir /etc/postix/ssl cacert.pem -days 3650
# cd /etc/postf ix/ssl/ Generating a 1024 bit RSA prvate key
# openssl genrsa -des3 -rand /etc/hosts -out smtpd. key 1024 ++++++
293 semi-random bytes loaded ++++++
Generating RSA prvate key, 1024 bit long modulus writing new prvate key to 'cakey.pem'
++++++ Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:
e is 65537 (0x10001)
Enter pass phrase for smtpd. key: You are about to be asked to enter information that will be incorporated
Verifying - Enter pass phrase for smtpd. key: into your certifcate request.
What you are about to enter is what is called a Distinguished ame
Luego, ejecute este comando para cambiar los permisos del archivo que con- or a DN.
tiene la clave OpenSSL RSA: r There are quite a few fields but you can leave some biank
For some fields there will be a default valu,
# chmod 600 smtpd. key If you enter the field will be left biank
Country ame (2 letter code) [AU]
Posteriormente, genere otra clave y un certificado y cambie State or Province ame (full ame) [Some-State]
las claves existen-
Locality ame (eg, city) []
tes por las recin generadas:
Organization ame (eg, company) [Internet Widgits Pty Ltd]
Organizational Unit ame (eg, section) []
# openssl req -new -key smtpd. key -out smtpd. csr Common ame (eg, YOUR ame) []
You are about to be asked to enter information that will be incorporated Email Address [J :

into your certifcate request.


What you are about to enter is what is called a Distinguished ame
or a DN.
Nota: Existe un debate acerca de si al generar un certificado se debera pedir
There are quite a few fields but you can leave sorae biank
o no informacin. Nosotros le recomendamos que introduzca la informacin
For some fields there will be a default valu,
If you enter the field will be left biank. apropiada a sus circunstancias.
: "

Configurando un servidor Linux mutifundn Configurando un servidor Linux muitifuncin

Ahora necesita indicarle a Postfix sus claves certificados, para ello use los smtpd_tls session__cache__timeout = 3SOOs
y tls_random_source = dev /dev/urandom
siguientes comandos postconf: :

# postconf -e 'smtpd__tls_auth_only = no' Sisu archivo coincide con este, puede usar este comando para que los cambios
# postconf -e 'smtpuse tls = yes' surtan efecto:
# postconf -e 'smtpdjuse_tls = yes'
# postconf -e 'smtp_tls_note__starttls_of f er = yes' # /etc/init .d/postf ix restart
# postconf -e 'smtpd_tls Jkey_f ile = /etc/postf ix/ssl/smtpd. key' Stoppng mail transport agent Postfix. :

# postconf -e 'sratpd_tls_cert_f ile = /etc/postfix/ssl/smtpd. crt' Starting mail transport agent: Postfix.
# postconf -e 'smtpd_tls CAfile = /etc/postf ix/ssl/cacert pem' .

# postconf -e 'smtpd tls_loglevel = 1 La a identificacin se har a travs de saslauthd, un demonio SASL, pero ten-
# postconf ~e 'smtpd_tls_receivad_header - yes'
dr que cambiar unas cuantas cosas para que funcione correctamente. Debido a
# postconf -e 'smtpd_tls__session_cache_timeout = 3600s'
# postconf -e
tls_random_source = dev: /dev/urandom' que Postfix se ejecuta en modo chroot en /var/ spool /postfix, introduzca ios
siguientes comandos
El archivo /etc/postf ix/main cf debera quedar
. as:
# mkdir -p /var/spool/postf ix/var/run/saslauthd
See /usr/share/postf ix/main. cf.dist for a commented, more complete # rm -fr /var/run/saslauthd
#

# versin
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU) Ahora, tiene que editar /etc/default/saslauthd para activar saslauthd.
biff = no Elimine el smbolo # en la lnea START=yes y aada la linea PARAMS="-m /
# Appending .domain is the MUA' s job var/spool/postf ix/var/run/saslauthd" para que el archivo quede as:
append_dot_mydomain = no
# Uncomment the next line to generate "delayed mail" warnings This needs to be uncommented before saslauthd will be run automatically
#
#delay_warning_time = 4h START=yes
myhostname - serverl example com
. .
PARAMS=-m /var/spool/postf ix/var/run/ saslauthd"
alias_maps = hash /etc/aliases
:
# You must specify the authent i catin mechanisms you wish
to use.
alias database = hash /etc/aliases inelude
:
# This defaults to "para" for PAM support, but may also
myorigin = /etc/mailname # "shadow" or "sasldb", like this:
mydestination = serverl.example.com, localhost.example.com, localhost # MECHANISMS= "pam shadow"
relayhost = MECHANISMS "pam"
mynet works = 127.0.0.0/8
mailbox_command = proemail -a "$EXTENSION" Finalmente, edite /etc/init d/saslauthd. Cambie la lnea:
.

mailbox__size_limit = 0
recipient_delimiter = + dir= 'dpkg-statoverride --list $PWDIR'
inet_interf aces - all
r
smtpd_sasl_local_domain = por:
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous #dir= dpkg-statoverride --list $PWDIR'
'

broken_sasl_auth_clients = yes
smtpd_recipient_restrictions = Luego, cambie las variables PWDIR y PIDF1LE y aada la variable dir cerca del
permit_sasl__authent icated, permi t_mynet works reject_unauth_destination
,
comienzo del archivo:
smtpd_tls_auth_only = no
smtp_use_tls = yes PWDI R= " / var / spoo 1 /pos t f ix /var / run/ $ { AME }
smtpd_use__tls = yes PIDFILE " $ { PWDIR} /saslauthd. pid"
smtp_tls_note_starttls_of f er = yes dir="root sasl 755 ${PWDIR}"
smtpd_t 1 s_key_f ile = /etc/postf ix/ssl/smtpd key .

smt pd_t 1 s_ce rt_f ile = /etc/postf ix/ssl/smtpd. crt El archivo /etc/init d/ saslauthd debera quedar as:
.

sntpd_tls_CAf ile = /etc/postf ix/ssl/cacert pem .

smtpd_tls_loglevel = 1 # /bin/sh -e
!

smtpd_tls_received_header = yes NAME= saslauthd


Configurando un servidor Linux multifuncin Configurando un servidor Linux multifuncin

DAEMON= "/usr/sbin/$ {AME }


echo -n "Stopping ${DESC}: "
DESC= " SASL Authentication Daemon"
if start- stop-daemon --stop --quiet --pidfile "${PIDFILB}" \
DEPAULTS=/etc/defauit/saslauthd --startas $ {DAEMON} --retry 10 --ame ${NAMS) \
PWDIR= /var/ spool/postf ix/var/ run/$ {AME;
>/dev/null 2>&1 then ;
PIDFILE= " $ { PWDIR / saslauthd. pid }
echo "${NAME}."
dir= root sasl 755 ${PWDIR}
else
createdir( >/dev/null 2>&1; then
} {
if start- stop-daemon --test $ { START }
# $1 = user
echo " (not running) .

# $2 = group
exit 0
# $3 = permissions (octal)
else
# $4 = path to directory
echo " (failed) .

-d "$4"
[
|| mkdir -p "$4"
]
exit 1
chown - c ~h '$l:$2" "$4" l

fi
chmod -c " $ 3 " "$4"
fi
}

test -f "
$ { DAEMON " | exit 0
}
restart force-reload)
|

# Source defauits file; edit that file to conFigure this script


$0 stop
if -e " $ { DEFAULTS } ]; then
[
exec $0 start
$ { DEFAULTS

.
}

fi
*)
# If we're not to start the daemon, siraply exit start stop restart force-
echo "Usage: /etc/ init d/ $ {AME } . { j | |

if $ { START " = "yes" ]; then


" } !
[
reload}" >&2
exit 0
exit 1
fi
# If we have no mechanisms defined
esac
if f " x${ MECHANISMS } " = "x" ]; then
exit 0
echo "You need to conFigure $ {DEFAULTS} with mechanisms to be used"
exit. 0
f.i
Ahora inicie saslauthd:

# Add our mechanisms with the necessary flag


PARAMS= " $ { PARAMS -a $ {MECHANISMS }
# /etc/init.d/saslauthd start
}

START-"- -start --quiet --pidfile ${ PIDFILE} --startas ${DAEMON} Starting SASL Authentication Daemon: changed ownership of
--ame '/var/spool/postf ix/var/run/saslauthd' to root sasl
$ AME { -- $ {PARAMS }"
}

# Consider our options


saslauthd.
case "${1}" in
start) Para ver si SMTP-AUTH y TLS funcionan correctamente, ejecute el siguiente
echo -n "Starting ${DESC} : comando:
y
tfdir= 'dpkg-statoverride --list $PWDIR
test -z "$dir" createdir $dir | |
# telnet localhost 25
if start -stop-daemon $ {START} >/dev/null 2>&1 then ;
Trying 127 .0.0.1...
echo "${NAME}." Connected to localhost localdomain .

else Escape character is


f start -stop-daemon --test $ {START} >/dev/nuil 2>&1;
then 220 serverl.centralsoft.org ESMTP Postfix (Debian/GN)
echo "(failed)."
exit 1 Esto establece una conexin con Postfix. Ahora introduzca:
else
echo " $ { DAEMON already running." } # ehlo localhost
exit 0
fi
Si puede ver estas lneas:
fi
serverl /etc/postf ix# telnet localhost 25
:

stop)
Trying 127.0.0.1. .
Configurando un servidor Linux multifuncin Configurando un servidor Linux muitifuncin

Connected to localhost localdomain


# apt-get install libapache2~mod-php4 libapache2 -mod-perl2 \
.

Escape character is
php4 php4-cli php4-comroon php4~curl php4-dev php4-domxml \
.

220 serverl.centralsoft.org ESMTP Postfix (Debian/GNU)


php4-gd php4-imap php4~ldap php4~mcal php4-mhash php4-mysql \
ehlo localhost
php4-odbc php4-pear php4-xslt curl libwww-perl imagemagick
250-serverl centralsof t org
. .

2S0-PIPELINING
250-SIZE 10240000
comando captura y configura 48 archivos, por lo que tardar un
Este
250-VRFY rato. Una vez hecho, puede saltar al siguiente paso. Cambie la directiva
250-ETRN Directorylndex del archivo /etc/apache2/apache2 conf .

250-STARTTLS
250-ATH LOGIN PLAIN Di rectory Index index.html ndex. cgi index.pl ndex. php ndex. xhtml
250 -AUTH-LOGIN PLAIN
250 8BITMIME por:

su configuracin debera funcionar y ya habr completado esta parte de la Directorylndex index.html index.htm ndex. shtral ndex. cgi ndex. php
configuracin del correo. Puede teclear quit y pasar a la siguiente seccin. ndex. php 3 index.pl ndex. xhtml

Luego, aada smbolos # tal y como se muestra, para comentar las siguientes
lneas en el archivo /etc/mime types:
.

#application/x~httpd-php phtml pht php


Como mencionamos anteriormente en este mismo captulo, vamos a incluir #application/x-httpd-php- source phps
un servidor Web en nuestra configuracin inicial porque es importante aprender #application/x-httpd-php3 php3
#application/x-httpd-php3-preprocessed php3p
algunos aspectos bsicos de administracin de servidores, y porque el servidor php4
ttapplicat ion/x -httpd -php4
puede servir de alojamiento para otras herramientas. Al final del captulo, lo
usaremos para ofrecer estadsticas Web generadas con Webalizer. Tambin necesitar comentar dos lneas ms en /etc/apache2/mods-
En noviembre de 2006, Netcraft public un informe en el que se deca que el enabled/php4 .conf:
60 por 100 de los sitios Web en Internet usaban Apache. Esto lo convierte en el
servidor ms usado de todos los otros ser vidores juntos. <If Module mod_php4.c>
#AddType application/x-httpd-php .php .phtml .php3
Apache est bien integrado con la mayora de las distribuciones Linux. En #AddType application/x-httpd-php-source .phps
esta seccin, seguiremos un patrn familiar e instalaremos </IfModule>
y configuraremos
Apache ejecutando el siguiente comando:
Despus, asegrese de que las siguientes dos lneas estn presentes en el ar-
# apt-get install apache2 apache2-doc chivo /etc /apache2 /port s conf, adalas si es necesario.
.

Setting up ssl-cert (1.0-11) ...


Setting up apache2 -utils (2.0.54-5) ... Listen 80
Setting up apache2 - comraon (2.0.54-5) ... Listen 443
Setting Apache2 to Listen on port 80. If this is not desired, please edit
/etc/apache2/ports.conf as desired. Note that the Port directive no longer Ahora, tiene que activar algunos mdulos Apache (SSL, rewrite y suexec) para
works
lo que tendr que crear los siguientes enlaces simblicos en el subdirectorio rnods-
Module userdir installed; run /etc/init d/apache2 force-reload to enable.
.

Setting up apache 2 -mpm-worker (2.0.54-5) ... enabled:


Starting web server: Apache2
Setting up apache2 (2.0.54-5) ... # cd /etc/apache2/mods -enabled
Setting up apache2-doc (2.0.54-5) ... # ln -s /etc/apache 2 /mods-available/ssl .conf ssl.conf
# ln -s /etc/apache2/mods-available/ssl.load ssl.load
# ln -s /etc/apache 2 /mods-available/rewrite.load rewrite. load
lina vez que Deban acabe de instalar adecuadamente servidor apache httpd, -s /etc/apache 2 /mods-available/suexec load suexec. load
el
# ln .

ejecute lo siguiente: # ln -s /etc/apache2/mods-available/ inelude. load nclude.load


Configurando un servidor Linux multifuncin Configurando un servidor Linux multifuncin

Como vio al instalar otros procesos en secciones previas de este captulo, ins-
talar los mdulos apropiados con apt-get inicia automticamente Apache en el
sistema. Sin embargo, y debido a que ha hecho varios en la configuracin, nece-
sitar reiniciar Apache para que los cambios surtan efecto sin tener que reiniciar
el servidor. Introduzca este comando:

# /etc/init d/apache2 restart


.

El servidor Web se reiniciar y activar los nuevos mdulos, junto con los
cambios de configuracin.

Junto con el servidor httpd que muestra pginas Web en un navegador, nece-
Figura 2.9. Pantalla de configuracin Deban para ProFfPD.
sitarimplantar un servidor de trasfcrencia de archivos (FTP). Usaremos una
herramienta de cdigo abierto llamada ProFTPD para este propsito porque es
popular, segura y configurable.
El servidor FTP usa un archivo de configuracin principal, con directivas
y
grupos de directivas que cualquier administrador que haya usado alguna vez el Webalizer crea informes estadsticos a partir de los archivos del servidor Web.
servidor Apache comprender. ProFTPD tiene archivos f tpaccess de configu-
. Puede usarlo con un navegador Web estndar y produce informes detallados y
racin por directorios, de manera anloga a los archivos htaccess de Apache,. fcilmente configurables en formato HTML. El proyecto Deban incluye Webalizer
que obligan a los usuarios a introducir sus ID de usuarios y sus contraseas para en sus repositorios estables, por lo que puede instalarlo con este comando:
acceder a los directorios individuales.
# apt-get install webalizer
ProFTPD le permite configurar mltiples servidores FTP virtuales y servicios
de FTP annimos. No invoca ningn programa externo se ejecuta como usua- Durante la instalacin, necesitar verificar el directorio de instalacin (/var/
y
rio sin privilegios. Instale ProFTPD ejecutando este comando: www/webalzer), el nombre que se usar para los ttulos de los informes estads-
ticos (podra especificar un nombre de dominio, por ejemplo) y la localizacin del
# apt-get install proftpd archivo log del servidor Web (que en su sistema est en /var/log/apache/
accQss.log. 1):
La figura 2.9 muestra la pantalla que ver una vez que Deban haya descar-
gado y comience a instalar ProFTPD. ste puede ejecutarse bien como aplicacin Which directory should webalizer put the output in?
/ var /www/webal i z er
autnoma o bien como un servicio desde inetd. Por razones de seguridad, ejecu-
Enter the title of. the reporte webalizer wiil generate.
taremos ProFTPD en modo autnomo. Usage Statistics for serverl.centralsoft.org
Posteriormente, aada las siguientes lneas al archivo /etc/prof tpd conf
.
What is the filename of the rotated Webserver log?
/var/log/apache/access log . .

DefaultRoot ~
IdentLookups off
Serverldent on "FTP Server ready. 1

Ahora, ai igual que hemos hecho con los otros procesos, reinicie ProFTPD
Los relojes de los ordenadores tienden a desviarse. Por tanto, existe una tarea
usando este comando:
bsica de configuracin que conecta su sistema con un servidor NetWork Time
# /etc/init. d/proftpd restart Protocol (NTP) que mantendr la hora correcta.
.

Configurando un servidor Linux multifuncin Configurando un servidor Linux multifuncin

Para sincronizar su sistema con un servidor NTP, aada las siguientes lneas a > install HTML: Parser
/var/ spool/cron/crontabs/root; > install DB__File
> install Net: :DNS
# update time with NTP server
0 3,9,15,21 * * * /usr/sbin/rdate 128,2.136.71 |
logger -t NTP respeto a activar los test, responda no
Y con
un mdulo ya existiera en el sistema, ver un mensaje como HTML Parser
Si :

Si el archivo no existe, puede crearlo con comando:


se ha actualizado. Cuando un mdulo se instale con xito, ver algo como /
el

# touch /var/spool/cron/crontabs/root usr/bin/make install - OK.


Una vez que est hecho, simplemente pulse q para abandonar Perl y volver a
La direccin IP 128.2.136.71 pertenece al servidor de tiempo de la Universi- la consola del sistema.
dad de Carnegie Mellon. Puede usar un tiempo diferente si lo desea.
Modifique los permisos en el archivo crontab ejecutando:

# chmod 600 /var/spool/cron/crontabs/root

y reinicie el servicio cron mediante: Ahora que ya ha completado las tareas asociadas a la configuracin del servi-
dor, ahora podr empezar a usarlo en modo de produccin. Necesitar configu-
# /etc/init .d/cron restart
rar los servicios de DNS y notificar al registrador dnde ha configurado su dominio
(esto ser objeto de estudio en siguiente captulo). Una vez que la configura-
el

cin DNS est acabada, puede instalar una aplicacin basada en Web (nosotros
usaremos ISPConfig) y comenzar a explorar cmo funcionan las aplicaciones Web.

Muchas herramientas dependen del lenguaje de programacin Perl u ofrecen


una interfaz Perl que permite personalizarlas (aunque otros lenguajes estn ga-
nando adictos en los mundos del software libre y de Unix). SpamAssassin es una
herramienta crtica para administradores de correo (e incluso usuarios de co-
rreo), es un programa que usaremos en implementanclo en Perl.
este libro y est
Como administrador del sistema, incluso aunque no quiera programar en Perl,
debera ser capaz de descargar mdulos Perl del repositorio ms popular
y segu-
ro, el Comprehensiva Perl Archive NetWork (CPAN).

Para darle una ligera idea de cmo instalar mdulos Perl, aadiremos algunos
usando la consolaCPAN de Perl. Que es un entorno para buscar archivos e insta-
lar mdulos.
Entre en la lnea de comandos como root y ejecute el siguiente comando para
entrar en la consola CPAN de Perl:

server 1 /home/admin# perl -MCPAN -e Shell


:

/etc/perl/CPAN/Conf ig.pm initialized.

Responda a todas las preguntas presionando la teda Intro para aceptar los
valores por defecto. Luego ejecute los siguientes comandos para instalar los m-
dulos que usaremos en d prximo captulo:
Este captulo le muestra cmo construir un Sistema de Nombres de Dominio
(DNS) usando BIND. Cuando acabe este captulo, debera saber instalar, configu-
rar, mantener y resolver las incidencias de cualquier dominio que registre. Em-
pezaremos con una introduccin a DNS, la cual se podr saltar para ir a la seccin
de instalacin y configuracin paso por paso. Si le surgen problemas, siempre
puede volver atrs y leer o revisar el material inicial.

Aspectos bsicos de DNS


Si busca un poco acerca de DNS en Internet, podr comprobar que DNS es la
base de datos ms grande del mundo. Aunque comparndola con otros sistemas
gestores de bases de datos como Oracle o MySCIL es un poco diferente. De hecho,
DNS es el directorio digital distribuido ms grande del mundo. Al igual que un
directorio telefnico que se usa para asociar nombres con nmeros, DNS asocia
la direccin IP con el nombre de los servidores conectados a Internet, que abarcan
desde pequeos sitios Web hasta granjas de servidores como Google o Amazon.
Al igual que las bibliotecas publicas tienen una coleccin de guas telefnicas
clasificadas por estados, DNSsepara los dominios en categoras. La coleccin de
categoras reside en lo que se llama el directorio raz. Esta coleccin est divida en
dominios de alto nivel (TLD), de manera similar a como la coleccin de guas
telefnicas est dividida en estado. En lugar de buscar un nmero de telfono con
el cdigo de rea de Nueva York, DNS busca los nombres segn el sufijo .edu,
.org, .com, .net, .mil, .de, .fr, etc. Los dominios de cada TLD apuntan a la direc-
cin que puede usar para comunicarse con el servidor.
62 Ei sistema de nombres de dominio El sistema de nombres de dominio 63

El DNS
(que originalmente se defini en el RFC 882 en 1983 y luego se revis Por qu podra necesitar un administrador de sistema gestionar sus propios
como RFC 1034 y 1035) introdujo varias ideas para gestionar el mapeo de los servidores DNS? Usted debe ofrecer las direcciones de dos o ms servidores de su
nombres comunes de Internet a direcciones IPS. El sistema distribuye los datos y dominio al registrador (por lo menos dos, para garantizar que alguno de los dos

los nombres de los equipos de manera jerrquica en un espacio de nombres de funcione cuando alguien solicite un nombre). Debe gestionar los nombres de do-
dominio. Cada dominio se parece a una rama de un rbol y cada rama contiene a minio de los sistemas que van a ser pblicos: los servidores Web, los servidores de
su vez sub-ramas. Los programas llamados servidores de nombres ofrecen infor- correo, etc. A medida que aprenda DNS, se ir dando cuenta de que es muy intui-
macin sobre las partes del rbol y otros programas llamados resolvers piden tivo. Muchas veces la jerga parece un idioma extranjero. No le encontrar el sen-

informacin a los servidores de nombres de parte de los programas clientes. tido hasta que no haya trabajado con ella durante un tiempo. Le ensearemos

Los esquemas de nombres jerrquicos como DNS evitan la duplicacin de los cmo levantar un servidor DNS en un momento. Luego, revisaremos algunos
datos. Cada dominio es nico, y puede tener tantos servidores como quiera para aspectos y trminos clave antes de sumergirnos en los archivos de configuracin.
su dominio, simplemente debe aadir un prefijo a los equipos del dominio. Un
sitio que controle centralsoft.org, por ejemplo, puede tener equipos que se
llamen serverl.centralsoft.org, ldap.centralsoft.org y Introduccin a B1ND
mail centralsof t org.
. .

La mayora de los servidores DNS del mundo se ejecutan gracias al Sistema de


Ventajas ele la administracin localizada de DNS Nombres de Dominio de Berkeley o BIND. BIND es un estndar en todas las ver-
siones de Unix y de Linux. Puesto que los administradores necesitan usarlo, este
Las organizaciones pequeas a menudo permiten a sus ISP administrar el DNS captulo cubrir BIND en detalle.
por ellos. Aunque configurar sus propios servidores tiene ventajas. Le da el con-
trol total sobre qu sistemas alojan los servicios pblicos (por ejemplo, servicios
Web o correo electrnico), y poner DNS en su infraestructura permite mayor Nota: La alternativa ms popular para BINO es la suite djbdns. Funciona
bien, la usan muchos servidores de nombres y es fcil de configurar. Vase
escalabilidad:puede aadir servidores segn se vaya necesitando e incluso ba-
http://cr.yp.to/djbdns.html para ms detalles.
lancear la carga entreellos. Esto se convierte en importante si posee y opera en
varios dominios activos o en servicios internos de autentificacin. Tambin tiene
ms control a la hora de mantener los nombres actualizados. Resumiendo, es No vamos a ofrecer una clase de historia sobre BIND, porque el lector proba-
valioso controlar su propios DNS en el panorama actual, en lugar de tener a
blemente se dormira. Slo sealaremos una ancdota histrica y es que hay
alguien que lo haga. gente que todava usa la antigua y obsoleta versin 4 de BIND. En este captulo,
usaremos la nueva versin 9.
Muchas empresas han migrado a la Web
sus principales procesos de negocio.
En lugar de reemplazar los sistemas existentes, prefieren ofrecer sus aplicaciones a Si usa un sistema con la sintaxis de los archivos de configuracin DNS distin-
travs de interfaces Web novedosas. Lo consiguen usando sistema basados en Web ta de la que se muestra en probablemente el sistema est usando
este captulo,

capaces de conectar sistemas heterogneos. Los departamentos de tecnologas de BIND 4. Como dijimos antes, las empresas odian reemplazar los sistemas que
la informacin usan servidores de aplicaciones como JBoss (propiedad de Red Hat)
funcionan, debera ocurrir una catstrofe para que un departamento de tecnolo-
Webshpere de IBM o BEA WebLogic en segundo plano y otros productos para la gas de la informacin pudiera actualizar a BIND 8 o 9. Debido a que hay graves

presentacin. En cada caso, DNS es una parte integrante de los sistemas basados riesgos de seguridad para BIND 4, le recomendamos que se actualice (y ya de

en Web, porque dichos sistemas usan servidores de directorios para comunicarse. paso, salte a la versin 8 como mnimo, no a la versin 5, 6 7).

DNS tambin ocupa un lugar importante en reas emergentes como la de los


servicios Web y la Internet ejecutable, donde la gente puede usar aplicaciones
ofrecidas por Google, Yahoo y otros. Resolver las direcciones IP de forma rpida y
segura es importante para el xito de estos productos en Internet y en empresas. BIND viene con tres componentes. El primero es el servicio o demonio que
Por tanto, considere la configuracin y la gestin de DNS como uno de los cono- ejecuta la parte servidora de DNS. Este componente se llama named. Es el encar-
cimientos ms importantes de la administracin de sistemas que puede poseer. gado de responder al telfono cuando suena.
64 Ef sistema ele nombres ele dominio El sistema de nombres de dominio 65

El segundo elemento de BIND es la librera resol atora. Este componente es el Despus de las etapas iniciales de la instalacin de Debian, ver una pantalla
que los navegadores Web, el software de correo y otras aplicaciones consultan grfica indicndole que escoge el tipo de instalacin que desea. La pantalla ser
cuando intentan encontrar un servidor por su nombre DNS en la jungla de ms o menos as:
Internet.
Entorno de escritorio
Algunas personas piensan que un resolutor es un cliente dentro de BIND. Pero { )

{ ) Servidor Web
al contrario que el servidor, el cliente no es un programa simple, sino que es una Servidor de impresin
{ )

librera que enlaza con cada navegador Web, diente de correo, etc. El cdigo del { ) Servidor DNS
resolutor lanza consultas sobre los servidores DNS para intentar traducir nom- { ) Servidor de archivos
( ) Servidor de correo
bres en direcciones IP
( ) Base de datos SQL
Este elemento de BIND usa su propio resol v.conf que
directorio llamado { ) Seleccin manual de paquetes
est presente en cada ordenador. Es su tarea configurar resolv. conf. He aqu
cmo se vera el archivo resolv. conf en los equipos del dominio No ninguna opcin, solo pulse la tecla Tab. Haga clic en el botn
seleccione
centralsof t org:.
OK y el instalador Debian comenzar a descargar y a instalar paquetes. Durante
la descarga, ver una pantalla grfica. Esta pantalla le preguntar si quiere con-
search centralsoft.org figurar Exim (Exim-config). Elija Sin configuracin. Le preguntar "Seguro que
nameserver 70.253.158.42
nameserver 70.253.158.45 desea dejar el sistema de correo sin configurar?" Responda S.
Una vez que se haya completado la instalacin mnima de Debian, debera elimi-
Como puede ver, el archivo de configuracin del resolutor BIND es simple. La nar algunos programas innecesarios que tiene alguna utilidad en una LAN pero no
primera lnea busca un servidor en el dominio local. Las otras lneas indican en un servidor de correo de Internet: puede eliminarlos usando la utilidad apt-get:
direcciones de servidores de nombres que el administrador conoce, si una consul-
ta falla, se procede con la siguiente lnea. # apt-get remove lpr nfs-common portmap pidentd pcmcia-cs pppoe \
pppoeconf ppp pppconfig
La tercera parte de BIND ofrece herramientas tales como el comando dig para
probar DNS. Vaya a la consola, teclee dig yahoo com (u otro dominio conocido)
.
Si ha decidido usar SUSE o Fedora en lugar de Debian, puede eliminar estos
y vea lo que ocurre. Analizaremos la herramienta dig y otras utilidades del kit paquetes con su mtodo preferido.
ms tarde.
Ahora, desactivemos algunos servicios y reiniciemos inetd:

# update-inetd --remove daytime


Configurando un servidor DNS # update-inetd --remove telnet
# update-inetd --remove time
Para levantar nuestro servidor, vamos a hacer una instalacin de la ltima , .
# update-inetd --remove finger
# update-inetd --remove talk
versin estable de Debian y configurarla con el nmero mnimo de paquetes. Si update-inetd --remove ntalk
#
todava no tiene el disco de instalacin basada en red usado en el captulo ante- # update-inetd --remove ftp
rior,descrguelo de http://www.us.debian.org/CD/netinst. Realice una # update-inetd --remove discard
instalacin de red y asegrese de indicar un nombre de dominio adecuado. Luego # /etc/init d/inetd reload
.

configure deban como se sugiere aqu.


Para instalar BIND en su servidor Debian, ejecute el comando:
Cuando tenga la versin actual de Debian GNU/Linux, encontrar diferencias
entre sta y la versin que usamos para escribir las siguientes instrucciones. Los # apt-get install bind9

desarrolladores de Linux actualizan sus distribuciones frecuentemente, y los pro-


Debian descargar el archivo y lo configurar como un servicio de Internet.
cesos de instalacin cambian debido a las actualizaciones, los parches y las nue-
Podr ver los siguientes mensajes en la consola:
vas versiones del kernel de Linux. Si encuentra diferencias en los procesos de
instalacin que describimos, busque la esencia del asunto que explicamos y no Setting up b.ind9 (9. 2. 4-1)
tendr problemas para instalar la ltima versin. Adding group 'bind' (104)
El sistema de nombres de dominio
El sistema de nombres de dominio

Done Ahora cree un enlace simblico que apunte al nuevo directorio config desde el
Adding system user 'bind' emplazamiento antiguo y as evitar problemas cuando BIND se actualice en el
Adding new user 'bind' (104) with group 'bind' futuro:
Not creating borne directory.
Starting domain ame Service: named. #ln -s /var/lib/named/etc/bind /etc/bind

Crea dispositivos nuil y random para que BIND los use y asigne los permisos
de directorio:

Muchos administradores de seguridad recomiendan ejecutar BIND como un #mknod /var/lib/named/dev/null c 1 3


usuario no root en un directorio aislado llamado entorno chroot. Esto protege # mknod /var/lib/named/dev/random c 1 8

contra oportunidades de explotar fallos que se detecten en la versin de BINO,


Luego, cambia los permisos y la propiedad de los archivos:
que podran desembocar en que un extrao atacar el demonio named y consi-
guiera acceso al sistema. Incluso si se ataca named, un entorno chroot limita #chmod 666 /var/lib/named/dev/null /var/lib/named/dev/random
cualquier dao que pueda hacerse a los servicios de nombres. # chown -R bind:bind /var/lib/named/var/*
# chown -R bind:bind /var/lib/named/etc/bind
Para poner BIND en un entorno chroot, necesita crear un nuevo directorio
donde el servicio puede ejecutarse sin estar expuesto a los otros procesos. Tam- Tambin necesita cambiar el script de inicio /etc/init .d/sysklogd para
bin se ejecutar como usuario sin privilegios y slo el root podr acceder al que pueda ver los mensajes en los logs del sistema. Cambie la lnea:
directorio. El directorio contendr todos los archivos que BIND necesita, y pa-
recer ser un sistema de archivos totalmente completo despus de ejecutar el SYSL0GD= "
comando chroot.
por:
Primero pare el servido ejecutando este comando:
SYSLOGD= " -a /var/lib/named/dev/log"
# /etc/init.d/bind9 stop
Ahora reinicie el proceso de log con el comando:
Luego, edite el archivo /etc/default/bind9 y as el demonio se ejecutar
como un usuario sin privilegios, defina el entorno chroot como /var/lib/named. #/etc/init d/sysklogd reatart
.

Cambie la lnea:
Ver el siguiente mensaje:
OPTS="-u bind"
Restarting system log daemon: syslogd.
para que ponga:
Finalmente, inicie BIND:
OPTIONS= " -u bind -t /var/lib/named"
#/etc/init d/bind9 start
.

Para ofrecer un entorno completo para la ejecucin de BIND, cree los directo-
rios necesarios en /var/lib: Compruebe /var/log/syslog por si hubiera errores. Puede moverse por el

contenido del archivo usando:


#mkdir -p /var/lib/named/etc
# mkdir /var/lib/named/dev
#less /var/log/syslog
# mkdir -p /var/lib/named/var/cache/bind
# mkdir -p /var/lib/named/var/run/bind/run
Normalmente, sabr si BIND se ha iniciado sin problemas si el archivo syslog
Luego mueva el directorio config desde /etc hasta /var/lib/named/etc: muestra:

#mv /etc/bind /var/lib/named/etc Starting domain ame Service: named.


68 El sistema de nombres de dominio El sistema de nombres de dominio 69

Desgraciadamente, named puede iniciarse pero fallar al. cargar ios archivos de servidores DNS
mismo tiempo, y manejar mltiples dominios independientes
al
datos iniciales, lo que lo dejara inoperativo. Por tanto, compruebe si named est alojados en el mismo servidor.
funcionando introduciendo:
Cada sitio Web es un dominio diferente, por lo que tiene que escribir archivos
#rndc status de zona para cada sitio Web. En las bases de datos de los registrantes, su servidor
number of zones: 6 DNS estar listado como el servidor de nombres de sus nombres de dominio. En
debug level 0 :
otras palabras, serverl . centralsoft.org est listado como el chico con el
xfers running: 0
que los de fuera tienen que contactar para encontrar a los otros chicos de la casa
xfers deferred: 0
soa queries in progresa: 0
(linhelp com, supportcall org y los otros).
. .

query logging is OFF El archivo que se corresponde con la lista de nmeros de telfonos mviles de
server is up and running nuestra casa es /etc/named. conf En cierto modo, /etc/named conf es su
. .

serven /home/admin#
directorio de archivos de zona, puesto que ofrece informacin acerca de la locali-
:

En cambio, si DNS no est funcionando correctamente, podr ver algo como zacin de cada zona en su sistema.
lo siguiente:

#rndc status
rndc: neither /etc/bind/rndc conf or /etc/bind/rndc.key was found
.

Como se coment anteriormente, DNS distribuye su directorio. Cuando usted


Si obtuvo este error, chele un vistazo al final de este captulo. paga una tasa y registra un dominio, una de las cuestiones a las que ha de res-
ponder tiene que ver con sus servidores de nombres. Usted tiene que ofrecer los
nombres y las direcciones de dos servidores, y stos tienen que estar registrados
en el. sistema DNS.
Ahora ya se puede hacer una idea de lo que involucra el trabajo de adminis-
trador de sistema. Tiene que configurar los servidores de nombres de sus domi-
Si quiere encontrar el nmero de telfono de Jane Doe en una gua telefnica,
nios conforme a las especificaciones de la Internet Engineering Task Forc (IETF). Si
la compaa telefnica publica esa informacin. Pero si quiere encontrar
no sigue los protocolos especificados, su sistema no pasar a formar parte del
janedoe com, un administrador de sistemas, tiene que haber publicado el nom-
.

servicio de directorio universal. Afortunadamente, lo anterior le ha dado la idea


bre de dominio junto con el nmero (la direccin IP) y haberlos hecho parte de
de qu es DNS. Ahora le explicaremos cmo conseguir entrar a formar parte de
un directorio DNS distribuido. Los administradores hacen esto creando listas que
ese directorio de trabajo.
en la jerga de DNS
llaman archivos de zona de llamada.
se
Una zona contiene la informacin de un dominio o, si continuamos con la
analoga del telfono, de una familia. Imagine que hay 1 5 nios viviendo en su
casa, y que alguien que est buscando a uno de ellos le llama. Cada nio tiene un
Revisemos la estructura del directorio DNS de nuevo. El directorio tiene tres
telfono mvil, pero usted no sabe todos los nmeros de memoria. Sin embargo,
niveles. Elprimer grupo de servidores que se llama servidores raz, debido a que
s tiene un listado, es decir, un directorio donde puede buscar el nmero de tel-
ofrecen el punto de inicio para las consultas. El segundo grupo que consiste en
fono mvil del chico que el que llama est intentando localizar.
los servidores de dominios de alto nivel. El TLD incluye .com, .net, .org, .mil,
De manera anloga, usted puede tener 15 servidores en su centro de datos, o .gov, .edu, etc, adems de los dominios de cada pas como .de. (Los nombres de
15 sitios Web alojados en su servidor. Para ilustrar esto, digamos que usted ad- dominio no son sensibles a las maysculas, es decir .com y .COM son el mismo
ministra un senador que aloja cinco sitios Web diferentes, cada uno con un nombre dominio.)
de dominio completamente diferente. Supongamos que uno es central soft org .
La figura 3.1 describe la estructura DNS. En la parte de arriba de la figura,
mientras que los otros son linhelp com, supportcall org, jdshelp net y
. . .
puede ver una representacin de los servidores raz de Internet. Estos servidores
linuxconf net. Todos los propietarios de los sitios Web tienen que pedirle que
.

contienen slo los nombres y la direccin P del siguiente nivel de servidores y


maneje sus registros DNS. La versatilidad de BINO le permite manejar varios
slo son responsables de redirigir las peticiones a los TLD concretos.
70 Ei sistema de nombres de dominio El sistema de nombres de dominio 71

En centro de la figura, puede ver algunos de los servidores del TLD


el org. .
conoce la direccin de sitio Web. Si el servidor DNS no conoce la direccin, pre-
Estos servidores contienen los nombres y las direcciones IP de todos los servido- gunta al servidor raz dicha direccin.
res DNS registrados con el sufijo .org. Si registra un dominio con el sufijo .org,
El servidor raz responde "No la conozco, pero s dnde puede encontrarla la
su direccin IP residir en cada servidor TLD org. Tendr que ofrecer la infor-
.
respuesta. Empiece por los servidores TLD .com". Y ofrece la direccin IP de un
macin restante de cada subdominio, incluyendo los servidores de su dominio. servidor que conoce los dominios(que son muchos) que estn registrados bajo
La parte de abajo de la figura 3.1 representa un servidor de nombres primario .com. En nombre de tu navegador, el resolutor del servidor DNS luego consulta
llamado serverl centralsof t org. Funciona como el servidor de nombres
. .
un servidor .com para la direccin. El servidor .com dice "No tengo la informa-
para un nmero determinado de dominios, como ver ms tarde. Por ahora, slo cin, pero conozco un servidor de nombres que s la tiene. Tiene la direccin
necesita saber que serverl centralsof t org representa la parte del sistema
. .
64.233.16 7.99 y su nombre es risl.google.com".
DNS que tiene que gestionar. Su servidor DNS se dirige a la direccin, lee la informacin que el directorio
nsl.google.com ofrece y regresa a decirle a su navegador la direccin de
www.google.com. Luego, el servidor DNS coloca esa informacin en su cach
para no tener que volver a buscar la direccin de Google de nuevo.
Bsicamente, resolv conf controla las consultas que los navegadores y otros
.

clienteshacen sobre nombres de dominios, y named responde a las consultas y se


asegura que la informacin se mantenga actualizada para todos los servidores.

La figura 3.2 describe el proceso para responder a una consulta. Vamos a


analizarla. En la esquina superior izquierda de la figura est dibujada la torre de
un servidor (en nuestro ejemplo este servidor se llama serverl centralsof t
.

org; realiza la misma funcin que nsl google com). Suponemos que el servi-
.
.

dor est ejecutando Linux y BIND. Un servidor del nivel ms alto dirige a los
resolutores al sistema (en el caso de serverl centralsoft.org, un servidor
.

de nombres TLD para el dominio org enva las peticiones).


.

Encontrando un dominio

Como se mencion anteriormente, adems de proveer un demonio para escri-


bir entradas en el directorio distribuido, BIND ofrece mecanismos para leer el
directorio. Cuando su equipo necesita encontrar la direccin de un sitio Web,
consulta los servidores DNS que especifique (que normalmente est en su red
local o en su ISP). Figura 3.2. Respondiendo a una pregunta.

Imaginemos que su navegador quiere encontrar www google cora. El "dien-


.
.
El demonio escucha en el puerto 53 UDP para cualquiera que haga peticio-
te" BIND ejecuta un comando que esencialmente pregunta, al servidor DNS si nes de nombres del dominio. Cuando named recibe una peticin, consulta su
; ;

72 El sistema de nombres de dominio Ei sistema de nombres de dominio 73

archivo de configuracin, /etc/named. conf S el servidor tiene informacin servidor dnde conseguir el maestro es la direc-
la informacin. En este ejemplo,
.

del dominio en cuestin, mira en el archivo de la zona apropiada. Si el archivo cin 1P 70.253.158.42. Esta direccin coincide con la que pusimos en el archivo
de zona tiene la informacin solicitada, el servidor se la enva al sistema que resolv conf antes. El archivo resolv conf ayuda a un
.
cliente a conectarse a
.

pidi dicha informacin. DNS, mientras que la entrada anterior ayuda a un servidor secundario a encon-

Algunas personas se refieren a los archivos de configuracin como archivos trar el servidor primario.
de regla. Esto tiene algo de sentido porque una operacin DNS correcta requiere
v
que se cumplan ciertas normas y protocolos. No obstante, los archivos de zona |
;
AW y -
Cuestiones relativas a los cortafuegos ;a
j 7y
actualmente funcionan como parte del directorio DNS. Su funcin primaria es
ofrecer informacin, no cumplir las reglas. !
Si tieneun cortafuegos en su servidor primario, asegrese de desbloquearte / .

.
y para
:
puerto UDP 53. Este puerto se usa para recibir y responder las
el ;.y ..

y consultas. Si los- se? vidores secndanos residen- en la otra- parte de un


i'oftaf uegos, tambin tendr "qti.o desbloquear r puerto TCP 5.5 Los servidores
:

secndanos usan tanto R'INorno UiH pasa rravar las transieren^, ui<. .ir yyy
zonas, lo rales necesario para .mantener los servidores acusa! izados. :
r :

Como dijimos anteriormente, tiene que proporcionar el nombre de al menos j

dos servidores DNS cuando registre su dominio. Si quiere, puede hacer un dupli-
Designar el servidor secundario como esclavo lo habilita para que peridica-
cado exacto de la informacin que us para el primer servidor DNS y colocarlo
mente compruebe han producido cambios en los
si en el servidor primario se
en el lugar del segundo servidor. Algunos proveedores hacen esto, pero una prc-
archivos del directorio del dominio. El archivo named conf de cada servidor es- .

tica ms comn y ms til es considerar a un servidor como el primario o servi-


pecifica cmo se hace el sondeo y la transferencia de zonas. Los valores actuali-
dor maestro (donde se harn todas las actualizaciones manuales) y otro servidor
zados indican al servidor secundario con qu frecuencia debe sondear al servidor
secundario o servidor esclavo. Luego, BIND permite que el servidor secundario se
maestro. El nmero de serie es un valor que debe incrementar en el servidor
comunique con el primero y automticamente replique el directorio, lo que en la
primario cada vez que cambie la informacin que ofrece. El servidor secundario
prctica se llama zona de transferencia.
compara el valor primario con su propio valor para determinar si procede una
Los servidores secundarios son autoritativos, al igual que los servidores pri-
transferencia de zona. El archivo de configuracin primario tambin especifica el
marios. Es decir, los servidores secundarios pueden responden a las consultas y
valor de reintentos, que el servidor secundario usar para actualizar los valores
dar informacin de todas las zonas de las que son responsables. La diferencia es
en caso de que no pueda conectarse al servidor primario. Esto puede suceder si el
que cuando hace cambios, debera hacerlos solamente en el servidor primario. servidor maestro o la red fallan. En este caso, el servidor secundario enmascara al
Los servidores secundarios obtendrn la informacin del servidor primario.
primario durante ese rato.
El servidor primario no transfiere la nueva configuracin a los servidores se-
Aunque un servidor secundario no puede actuar como mascara indefinida-
cundarios inmediatamente. En su lugar, cada servidor secundario sondea al ser-
mente. De manera eventual, su informacin podra caducar, por lo que sera
vidor primario a intervalos regulares de tiempo para detectar los cambios que se
preferible dejar de responder a las peticiones. Por lo tanto, el archivo de configu-
han producido. Un servidor secundario sabe que debera sondear a su "hermano racin tambin especifica un tiempo de expiracin. Si este tiempo transcurre sin
mayor", ya que est etiquetado con el trmino esclavo (slave) en el archivo que se produzca una actualizacin, el servidor secundario sigue intentando con-
named conf, como se muestra aqu:
.
tactar con el servidor primario pero deja de responder a las peticiones.

zone "centralsoft.org ( Hay algunos valores ms que debera conocer antes de manejar los archivos
type slave de configuracin: ei tiempo de vida (TIL). Cuando un servidor DNS remoto reci-
file "sec.centralsoft.org"; be una respuesta a una pregunta suya, almacena el cach esa informacin y la
masters { 70.253.158.42; };
reutiliza mientras sea vlido ei valor TIL. Esta tcnica mejora el rendimiento de
DNS. Gracias a la cach, si alguien pasa una hora visitando varias pginas Web
}

No discutiremos sobre la sintaxis y el papel de la entrada por ahora. Las cosas de su sitio (cada una de las cuales involucra varias descargas), un servidor prxi-
importantes en las que hay que fijarse son el tipo esclavo; lnea que define a este mo al usuario slo necesitar preguntar el nombre de dominio una vez, puesto
servidor como secundario, y la lnea donde pone maestro (master), que le dice al que ser capaz de satisfacer cada peticin en base a la cach. Para evitar que la
. ;

E sistema de nombres de dominio El sistema de nombres de dominio 75

informacin de la cach caduque, TTL asegura que el servidor descartar el valor


que le pide,
y acudir al servidor autoritativo para obtener el valor actual.

Ver todos estos valores en su archivo de zona, no en el archivo named conf .

El archivo named conf apunta a la localizacin de su archivo de zona.


.

Servidores de solo cach

Adems de los servidores primario y secundario, DNS ofrece servidores de slo


cach. Los administradores los usan para reducir la carga de los servidores
autoritativos. Un servidor de cach no tiene autoridad, simplemente hace que
DNS trabaje ms rpido almacenando los nombres de dominio que obtiene de los
figura 3.3. Archivos de configuracin de BIND.
servidores autoritativos y ofrecindoselos a los clientes.
El servidor que configure para alojar los dominios, a menudo est ocupado res- este punto,
no entiende
Veamos atentamente un archivo named. conf simple. Si
pondiendo a las consultas de otros servidores DNS de Internet. Esta tarea consume slo trate de familiarizarse con l. Entraremos en ms detalles dentro de un mo-
muchos recursos, por lo que los administradores
usan servidores de cach para al- mento.
macenar localmente la informacin que los usuarios demandan. Ver servidores de
Recuerde, este archivo est normalmente instalado en su servidor Linux por
cach usados por los ISE por ejemplo, para dar servicio a sus clientes. Luego, usan
defecto. Dependiendo de la distribucin, named conf puede residir en diferentes
.

otro servidor para ofrecer nombres de dominio de Internet a los sitios que alojan.
directorios (est en /etc/bind/named conf para BIND 9 bajo Deban). Su apa-
.

Cuando instala BIND, se configura un servidor de cach por defecto. Cuando


riencia puede variar ligeramente. Algunas veces, por ejemplo, el archivo viene
realiza una consulta, el servidor de cach mantiene los resultados en la cach. La
muy comentado. Aqu tenemos nuestro ejemplo. Los comentarios van a conti-
prxima vez que intente encontrar el mismo sitio Web, no tendr que repetir el
nuacin de la doble barra invertida.
proceso entero: slo tendr que obtener la direccin IP del equipo de la cach.
options {
pid-file "/var/ run/bi.nd/ run /named. p.id" ;

Editando los archivos de configuracin directory "/etc/bind";


// query-source address * port 53; };
//
Hasta aqu, hemos hecho una exploracin de alto nivel del sistema de nom- // configuracin de servidor de nombres maestro
bres de dominio y hemos explicado las partes que tiene que mantener. Ahora //
r zone " " .
{
vamos a entrar en detalle acerca de los archivos de configuracin que puede es- type hint;
cribir, modificar o arreglar cuando sea necesario. file "db.root";
Cuando instala BIND en paquete genera los archivos de configura-
Linux, el };
zone "0.0.127. in-addr. arpa" {
cin por usted; no tiene que
cada archivo desde cero. La figura 3.3 ilustra
escribir
type master;
los archivos bsicos. Empezaremos por el archivo named conf, que coordina el
. file "db. local";
sistema entero en cada servidor BIND y apunta al resto. } ;

zone "158 253 70 . in-addr .arpa" {


. .

type master;
namecf.conf file "pri 158 253 70 in-addr arpa"
. . . . .

};

Recuerde que cuando named reciba una peticin, consultaba su propio direc- zone "centralsoft.org" {
type master;
torio, el archivo de configuracin named. conf. Esto hace apuntar a named al
file "pri.centralsoft.org";
archivo de zona para el dominio solicitado. };
7 El sistema de nombres de dominio El sistema de nombres de dominio 77

cular de! archivo de zona primaria. Puede reconocer un archivo de zona


inversa porque tiene una extensin in-addr-arpa y usa registros PTR
(que se describirn despus).
8 Archivo de zona primaria (para la zona, "ceiitralsoft.org"): Este archi-
vo, algunas veces llamado base de datos de dominios, define la mayor par-
te de la informacin necesaria para resolver las consultas sobre el dominio
que administra. No viene preconfigurado cuando instala BIND. Normal-
mente, tiene que escribir este archivo desde cero o usar uno de los archi-
vos que acompaan a BIND como plantilla. El archivo de zona primaria
asocia nombres a direcciones IP y ofrece informacin sobre los servicios
que los equipos ofrecen en Internet (incluyendo servidores Web y FTP,
servidores de correo, servidores de nombres, etc.).

archivo de configuracin por defecto contiene las dos primeras sentencias


El
de zona (para los servidores raz y los archivos locales, estos archivos tpicamen-
te aparecen cuando instala BIND y no necesita cambiarlo). Tendr que aadir
entradas para los archivos de zona inversa y zona primaria. Los archivos de zona
El archivo de ejemplo named conf alude a los otros cuatro archivos de confi-
.

usan varios tipos de registros, entre los que se incluyen:


guracin. La tercera lnea tiene el directorio que los contiene, /etc/bind.
La sentencia de opciones contiene dos lneas. La primera muestra la localiza- 8
SOA (Comienzo de autoridad).
cin de named pid que simplemente contiene el ID del proceso del demonio named
. - NS (Servidor de nombres).
que se est ejecutando. Que puede parecer informacin extraa para almacenar,
pero que es muy til cuando se quiere parar o reiniciar named. La segunda lnea
8
MX (Pasarela de correo, que identifica un servidor de correo en el dominio).
de la sentencia de opciones define el directorio que contiene los archivos relacio- A (Asocia un nombre de equipo a una direccin).
nados con su ejecucin. 8 CNAME (Nombre cannico, que define un alias para un equipo en un re-
Las subsiguientes sentencias de zona, un ejemplo de lo que vimos antes, iden- gistro A).
tifican la localizacin de varios archivos que contienen la informacin de confi-
PTR (Puntero, que asocia direcciones con nombres).
guracin. En resumen, named conf necesitar apuntar a los siguientes archivos
.

en las sentencias de zona: Noes necesario intentar memorizar o comprender estos tipos de registros en
este punto. Tendr la oportunidad de usarlos cuando profundicemos en el tema.
a
Archivo Hints (para Sa zona El archivo contiene los nombres
y las Ahora, revisaremos en detalle un archivo de zona primaria.
direcciones de los servidores raz de Internet, namecl debe conocer las di-
recciones de estos servidores para poder empezar a consultar cuando nin-
guno de los componentes del dominio solicitado est almacenado en la El archivo de zona primaria
cach.
* Archivo local host (para la zona "0.0.127.m-addr.arpa"): El archivo El grueso de la informacin de configu-
archivo de zona primaria contiene el

representa su propio sistema (direccin IF 127.0.0.1). La ventaja de crear racin que DNS necesita. El no est estandarizado, pero los
formato del archivo

archivos de zona local para cada aspecto de su sistema es la de reducir el elementos que contiene estn especificados en el RFC 1035.
trfico y permitir al software funcionar de la misma forma, independien- Si est usando el conjunto de archivos que la instalacin ofrece, debera darle
temente de que est accediendo a un equipo local o a uno remoto. un nombre a su archivo de zona primaria aadiendo un prefijo a su dominio.
* Archivo de zona inversa (para la zona "158.253.70.in-addr.arpa"): Hemos nombrado el archivo de zona para el dominio centralsof t otg como .

El archivo convierte las direcciones IP en nombres. Es una imagen espe-


pri centralsof t org (el prefijo pri le ayudar a reconocer que es el prima-
. .
El sistema de nombres de dominio
El sistema de nombres de dominio

Describiremos cada parte del archivo aqu, para verlo entero, eche punto (.) que denote la raz de la jerarqua DNS para poder indicar que la
rio). un vista-
zo al final del captulo.
ruta es un nombre de dominio completo.

Las primeras lneas ofrecen la informacin necesaria para sincronizarlo con Direccin de Email: La direccin de correo electrnico de la persona que es
el
servidor secundario o esclavo: responsable del dominio. Hay otra convencin DNS especfica aqu, no
puede usar la @
que aparece en todas las direcciones de correo de Internet,
@ IN SOA serverl.centralsoft.org. root localhost . . ( porque como hemos visto, una @
tiene otro significado en este archivo.
2006012103; serial-no Por tanto, se sustituye con un punto. Aqu tenemos que especificar el
28800; refresh, seconds
7200; retry, seconds
usuario root del sistema local o root@localhost, pero tenemos que es-
604800; expiry, seconds pecificar dicha direccin con un formato inusual: root localhost F-. .

86400 minimum-TTL, seconds


) ; jese que la direccin tambin debe acabar con un punto.

Las siguientes lneas de los registros SOA contienen aspectos necesarios para
Eso es un registro SOA. SOA es el Comienzo de Autoridad, que lo distingue
los servidores esclavos:
como informacin para servidores autoritativos (tanto primarios como secun-
darios) en contraposicin con los servidores de slo cach. A la vez que escribe su Serial-no: El nmero de serie para configuracin actual. Usted
la
parte en el directorio DNS distribuido, el sistema le cede la autoridad de su parte incrementa este nmero cada vez que hace un cambio en la configura-
a usted. Por lo que su archivo de zona tiene que indicar dnde empieza la autori- cin, por lo que servidores esclavos sabrn cundo ha actualizado la in-
dad, es decir, el dominio que est sirviendo. formacin. Este nmero est a menudo en formato de fecha YYYYMMDD,
con una etiqueta de doble dgito al final (lo que le permite editar el archivo
Nota: Un punto y coma (;) no indica el final de una lnea, slo indica el varias veces cada da). De esta forma, cada nmero de serie es mayor que
comienzo de un comentario. Por tanto, si no quisiera aadir el comentario el anterior e indica la fecha en que fueron hechos los cambios. Cada escla-

"serial-no", podra escribir la siguiente lnea: vo comprueba peridicamente el nmero de serie para ver si ha cambiado.
Si el nmero actual del servidor es mayor que el que tiene el esclavo, ste
2006012103; serial-no
realiza una transferencia de zona. 2006 12 103 es el nmero de serie ini-
simplemente como: cial en nuestro archivo de zona de ejemplo.

Refresh: El intervalo en que un servidor DNS esclavo debera sondear al


el
2006012103
maestro para determinar si es necesaria una transferencia de zona. El va-
lor est representado en segundo. En nuestro archivo de ejemplo, usamos
Fijmonos en la primera comienza por el valor 28800 (28.800 segundos = 8 horas).
lnea, el smbolo (@). De izquierda a
derecha los campos son:
Retry: Con qu frecuencia debera intentar conectarse al maestro si una
ame: El nombre raz de la zona. El smbolo @ es la referencia abreviada a conexin fallara. El intervalo en nuestro ejemplo es 7200 (7200 segundos
la zona actual /etc/ named conf En otras palabras, es equi-
del archivo . .
= 2 horas).
valente a usar serverl centralsof t org en nuestro ejemplo. El sm-
. . Expiry: La cantidad de tiempo que un esclavo debera intentar conectar
bolo @tambin se conoce como origen en la jerga DNS. con el maestro antes de que los datos que contiene caduquen. Si los datos
0
Class: La claseDNS. Existe un nmero de clases, pero la gran mayora de expiran y el esclavo es incapaz de conectar con el servidor para actualizar
usan la dase 1N (Internet). Las otras clases estn para protocolos
los sitios la informacin, las futuras consultas irn dirigidas a los servidores raz.

y funciones que no son de internet. Eltiempo especificado aqu es tambin la cantidad de tiempo que un servi-
Tvpe: El tipo del registro de recurso DNS. En este caso, es un registro de dor esclavo debera continuar respondiendo a las peticiones, incluso aun-
recurso SOA. que no haya podido actualizar el archivo de zona; representa el valor que
puede tolerar el manejo de informacin obsoleta. En nuestro ejemplo, usa-
e
Nameserver: El nombre completo del servidor de nombres primario. Algu-
mos 604800 (604.000 segundos = 7 das).
nos detalles son bastante importantes: el nombre debe terminar con un
.

E[ sistema de nombres de dominio El sistema de nombres de dominio

Minimum-TTL: tiempo de vida por defecto para este dominio en segun-


El
Registros MX
dos. Cualquier registro de recursosque no tenga especificado el TTL usa el
valor por defecto que es 86400. Ya que 86400 segundos son un da, el Como ha visto, un registro MX se parece a esto:
registro de consultas a cach durar un da. MX 10 serverl.centralsoft.org.

El registro SOA va seguido de una Este registro indica la direccin de correo electrnico que el dominio
lista de nombres de equipos de varios tipos:
centralsoft.org debera despachar al serverl.centralsoft.org (el ser-
NS serveri.centraisoft.org.; vidor de correo para el dominio) cuya prioridad debe ser 10.
NS server2.centralsoft.org.;
Las prioridades entran en juego en configuraciones ms complejas, donde
Estos registros NS especifican ios servidores de nombres del dominio (los que ms de un servidor de correo est disponible. Nmeros ms bajos indican priori-
proporcion cuando registr el dominio). Una vez ms, no es necesario un punto dades ms altas (el 1 es la prioridad ms alta). El sistema de prioridades funcio-
na de esta forma: el servidor de correo remoto intenta conectar con el servidor
y coma, pero es conveniente en caso de que quiera aadir un comentario ai final
de la lnea. que en su lista tiene la prioridad ms alta, si no responde, el servidor lo vuelve a
intentar con el servidor cuya prioridad es la segunda ms alta, y as sucesiva-
Lo siguiente es un registro MX que identifica el servidor de correo del dominio:
mente. Por tanto, proporcione una lista con ms de una pasarela de correo, como
MX 10 serverl.centralsoft.org. se muestra aqu:

Hemos usado MX 10 serverl.centralsoft.org.


un servidor de correo en nuestro ejemplo, pero la mayora
solo
MX 20 mail.someotherdomain.com.
de entornos de produccin ofrecen varios (bien para gran volumen de trfico o
como respaldo por si uno falla). El segundo campo de este registro (10 en nuestro Ahora correo va a centralsof t org, el MTA de origen primero intenta
si el .

ejemplo) puede usarse para indicar el orden en que debera intentar conectarse conectarse a serverl centralsof t .org, ya que tiene la prioridad ms alta
.

(10). Si serverl centralsof t org no est disponible, el MTA de origen


con los servidores MX, usar
es decir, prioriza los servidores. . .

el siguiente servidor, mal someotherdomain com, que tiene


una prioridad de
El registro MX de nuestro archivo de zona primaria va seguido por varios .
.

registros A: 20 .

centralsoft.org. A 70.253.158.42 Nota: DNS no especifica cmo tratar mltiples servidores de correo con la
www A 70.253. 158 42 .
misma prioridad. Muchas pasarelas eligen uno de manera aleatoria para
serven A 70.253.158.42
server2 A 70.253.158.45
implementar un tipo primitivo de balanceo de carga.

Un registro A asocia un nombre a una direccin IP. Debido a los mltiples Hasta ahora, hemos definido registros MX slo para el correo dirigido a
nombres que pueden asignarse a un equipo, puede tener mltiples registros A user@centralsof t .org. Qu sucede si quiere enrutar correo a distintos de-
apuntando a una nica direccin IR Sin embargo, cada nombre de equipo no partamentos de una compaa o a la seccin de una agencia gubernamental?
puede tener ms de un registro A. Nuestro archivo tiene cuatro registros A, aso- Puede hacerlo aadiendo subdominios a sus registros MX.
ciando tres nombres a una direccin otro nombre a otra direccin diferente.
y De esta forma, aadir accounting centralsof t org simplemente reque-
. .

rira otro registro:


Mejoras y caractersticas avanzadas accoanting.centralsoft.org. MX 10 serverl.centralsoft.org.

Fjese en el al final de accounting.centralsoft.org. Si no anade el


Si un archivo con los contenidos de la seccin previa, asegrese de in-
define
escribi:
punto, el origen de la zona se agrega al nombre. Por ejemplo, si
sertar los nombres de equipo apropiados a la direcciones IP de su entorno, tendr
funcionando un archivo de zona primaria (aunque necesitar los otros archivos accounting.centralsoft.org MX 10 serverl.centralsoft.org.
tambin, como explicaremos ms tarde). No obstante, deber tener en cuenta
sin el punto al final, esto se transformara en accounting centralsof t.

algunas cosas tiles que puede hacer con el archivo de zona primaria.
org . centralsof t org, . lo que es incorrecto.
. . .

El sistema de nombres de dominio 83


El sistema de nombres de dominio

Registros A
Los registros NS y MX usan nombres de equipo como centralsoft.org,
serverl centralsof t
.

Org y server2 centralsof t org, pero el archivo de zona primaria tam-


. .

bin debe especificar la direccin IP con la que se deben asociar estos nombres.
Los registros A realizan esta asociacin. Muchas personas los consideran los re-
gistros DNS ms importantes porque puede usarlos para crear direcciones como
www centralsof t org, donde www
. . es el equipo.

El siguiente registro A simple de nuestro archivo de zona primaria indica que


centralsoft.org tiene la direccin IP 70.253.158.42:

cenfcralsoft.org. A 70.253.158.42
Registros CNAME
(Recuerde aadir punto al final del nombre.)
el
CNAME es la abreviatura de nombre cannico; puede pensar que es un alias
En un navegador, probablemente estar acostumbrado a introducir
para un registro A. Por ejemplo:
www. centralsof t org en lugar de centralsof t .org. www. centralsof t org,
. .

que es tcnicamente diferente de centralsof t org, pero la mayora de los visi-


. ftp CNAME www
tantes esperan ver el mismo sitio Web, independientemente de si estn incluyen-
do www. o no. Por tanto, hemos creado este registro: quiere decir que ftp cent ralsof t org es
. un nombre alternativa para www
.

centralsof t org, por lo que ftp


. centralsof t org apunta a la misma m-
. .

WWW A 70.253.158.42 quina que www centralsof t org.


. Podra encontrar
. situaciones, especialmente

Las www no van seguidas de un punto, por lo que BIND aade el origen de la al descargar paquetes Linux, donde el repositorio fuera http / / f tp mirrors : . .

zona. El efecto es el mismo que especificar:


kernerl .org. En estos casos es casi siempre cierto que un registro CNAME se
ha usado para asignar la parte ftp del nombre del equipo a un sistema que tiene
www.centralsoffc.org. A 70.253.158.42 un nombre distinto en su registro A. Un CNAME debe siempre apuntar a un
registro A, no a otro registro CNAME. Adems, no debera usar nombres de equi-
Especifique la direccin IP de serverl.centralsoft.org y server2
centralsof t org: .
.

po CNAME en registros MX o SOA. Esto, por ejemplo, no est permitido:

MX 10 ftp
serven A 70 253 158 42
. . .

server2 A 70 253 158 45


. . .

El uso de registros CNAME tiene pros y contras. Muchos especialistas en DNS


El registro para server2 centralsof t .org apunta a diferentes direccio-
.
desaconsejan su uso. Aunque todava
se puede encontrar funciones para los re-

nes III lo que tiene sentido ya que es nuestro servidor de nombres secundario y gistros CNAME. su directorio DNS contiene muchos registros A
Por ejemplo, si

por tanto tiene que estar en un sistema diferente para el caso de que nuestro apuntando a la misma direccin IP y migra a otro servicio de alojamiento que
servidor de nombres primario se caiga. asigna una direccin IP distinta, tendr que actualizar cada registro A. Pero si
tiene un solo registro A y todos los otros nombres en registros CNAME, solamen-
te tendr que actualizar el registro A. Por lo que los registros CNAME todava
i
El problema del Bootstrapping y los registros pegamento; -

juegan un pequeo papel en el mundo del DNS.


i Podna preguntarse tomo serve-rl central? <if t
, 9 ser ver 2 ng Registros TXT y SPF
1 acostumbrados a; frasear registros de
putdejf estar
!
ct-n.tr '-i! cof or, si estn en la zona -ru debe buscarse, este es el clsico-
..

Los registros TXT le permiten aadir texto a una zona. La gente suele usar los
pi ohlema del bootstraping no puede usarl misma tcnica para iniciar la
j
registros TXT para embeber registros SPF (Framework de poltica de envos), que
controla si las pasarelas de correo deberan aceptar correo enviado a nuestro do-
. . . : ; ; .

El sistema de nombres de dominio El sistema de nombres de dominio

minio. Los grandes proveedores de correo como Yahoo! y Hotmail usan ios regis- Por qu querra alguien usar el archivo de zona inversa? En el pasado, mu-
tros SPF para evitar el spam que llega a su dominio. Si un correo electrnico llega chas organizaciones no le permitan usar sus servicios si no podan hacer un
procedente de un equipo que no est listado en el registro SPF, un MTA lo clasifi- ping inverso a su dominio. Hoy en da, muchos servidores de Internet usan el
car como spam. Puede encontrarse un asistente para crear registros SPF en ping inverso para verificar el origen del correo y as evitar el spam; este es el
http //www. openspf .org/wi zard.html ?mydomain=&x= 2 6 &y=8. Nosotros
: propsito de los registros SPF que se vieron antes. El sistema que hemos descrito
hemos usado este asistente para crear dos registros SPF para centralsof t org, . aqu tiene un problema a la hora de despachar correo que ser explicado ms
luego los hemos embebido en registros TXT y despus los hemos aadido a nues- adelante. El DNS indica qu MTA es responsable del correo para el dominio de la
tro archivo de zona: direccin de correo del remitente. Muchos difusores de spam intentan difundir el
correo usando distintos MTA, pero el agente de correo receptor no puede hacer
centralsoft.org. TXT "v=spfl a mx ~all" una bsqueda inversa, por lo que detecta una irregularidad y rechaza el correo
serverl.centralsoft.org. TXT "v=spfl a -all"
no deseado. Ya que no queremos que el correo originado en el domino
centralsoft.org sea clasificado como spam, crearemos un archivo de zona
inversa. Primero, para apuntar a este archivo, tenemos que colocar esta entrada
Ahora echemos un vistazo a nuestro archivo de zona, pri centralsof t .
en nuestro archivo named conf .

org.Fjese en que hemos aadido registros CNAME y TXT a las partes que
zone "158.253.70. in-addr arpa" {
.

comentamos antes: type master;


file "pri. 15 8. 2 5 3. 70. in-addr. arpa"
1N SOA serverl.centralsoft.org. root localho3t . . ( };
2006012103; serial-no
28800 refresh, seconds
; Los nmeros pueden parecer extraos, pero siguen un patrn simple, cen-
7200; retry seconds ,
tral -soft org est en la red 70.253.158, por lo que invertimos los elementos
604800; expiry, seconds
86400
70.253.158 para producir 158.253.70 y usarlos en la sentencia zona en
mnimum -TTL, seconds
named conf. El dominio in-addr arpa es el dominio de alto nivel usado para
)

.
.

NS serverl.centralsoft.org.; las bsquedas inversas.


NS server2.centralsoft.org.;
Llamaremos a nuestro archivo de zona inversa pri. 158. 253. 70. in-
MX 10 serverl.centralsoft.org. addr arpa y colocaremos el archivo en el mismo directorio que nuestro archivo
.

de zona primaria, pri centralsof t org. El comienzo depri 158 .253 70 in-
. .
. .

centralsof t org.
. A 70.253.158.42 addr arp se parece mucho a pri centralsof t org:
. . .

WWW A 70.253 .158.42


serverl A 70.253 158.42.
IN SOA serverl.centralsoft.org. root localhost . . (

server 2 A 70.253.158.45 **
2006012103; ser.ial-no
ftp CNAME www 28800; refresh, seconds
centralsof t org
. TXT "v=spfl a mx -all 7200; retry, seconds
server .centralsoft.org. TXT "v=spfl a -all" 604800; expiry, seconds
86400 mnimum- TTL, seconds
) ;

inversa NS serverl.centralsoft.org.;
NS server2 centralsof t org. . .

Con nuestro archivo de zona primaria completo, los programas pueden bus- Pero aqu no aadimos ningn registro A, MX o CNAME. En su lugar, crea-
car el dominio centralsoft.org y todos los subdominios DNS. Pero todava
mos registros PTR.
necesitamos un archivo de zona inversa. Un archivo de zona inversa asocia di-
recciones 1P a nombres. Es como si fuera un espejo del archivo de zona primaria, Registros PTR
en lugar de listar los nombres primeros, el archivo de zona inversa lista las direc- abreviatura de puntero, y es precisamente esto: un puntero a un
PTR es la
ciones IP primero.
nombre de dominio. Creemos uno que comience por la direccin de
: )

El sistema de nombres de dominio El sistema de nombres de dominio

centralsof t . org, 70.253.158.42. El archivo named conf ya ha


. indicado, a El comando rnde se discutir con ms detalle pronto.
travs de la sentencia zona que mostramos en la seccin anterior, que este archi- Ahora podemos probar nuestra configuracin haciendo una bsqueda con la
vo define los equipos del dominio 70.253.158. Por lo que todos los registros PTR herramienta de lnea de comandos dig. Primero, buscaremos la direccin P de
tienen que especificar la parte final de la direccin IP del equipo, 42: centralsof t org: .

42 PTR centralsoft.org. #dig centralsoft.org

Cree exactamente un registro PTR para cada direccin IP de su dominio. Para ; <<>> DG 9.2.1 <<>> centralsoft.org
nuestro ejemplo, la otra direccin IP que usamos es 70.235.158.45 (para ;; global options: printcmd
;; Got answer:
server2 centralsof t org), por lo que aadiremos:
. .

;; - >>HEADER - opeode QUERY, status: NOERROR, id: 48489:

;; flags: qr rd ra; QUERY: 1, ANSWER: 1, ATHORITY O, ADDITIONAL: : O


45 PTR server2.centralsoft.org.

;; QUESTION SECTION
Entonces esto es todo. Nuestro archivo de zona inversa se debera parecer a lo
; central soft org . . 1N A
siguiente:
;; ANSWER SECTION:
IN SOA serverl.centralsoft.org. root localhost . . {
centralsoft.org. 86400 IN A 70.253.158.42
2006012103; serial-no
;; Query tme: 198 tnsec
28800 refresh, seconds
;; SERVER: 81 169 163 104#53 (81 169 163 104)
;
. . . . . .

7200; retry, seconds Sat Mar 11 18:55:21 2006


;; WHEN :

604800; expiry, seconds


;; MSG SIZE revd: 49
86400 minimum-TTL, seconds
) ;

NS serverl.centralsoft.org.,- Como puede observar, esta bsqueda devuelve automticamente la direccin


NS server2.centralsoft.org.; IP 70.253.158.42.

42 PTR centralsoft.org.
Ahora podemos hacer una bsqueda inversa:
45 PTR server2.centralsoft.org.
# dig -x 70.253.158.42

; <<>> DiG 9.2.1 <<>> -X 70.253.158.42


;; global options: printcmd
;; Got answer:
Una vez que ha editado todos los archivos de configuracin y de zona, necesi- ;; - >>HEADER<< - opeode QUERY, status: NOERROR, id: 4096
:

ta que BINO conozca los cambios. Puede parar y arrancar named as: **
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, ATHORITY: 0, ADDITIONAL: 0

# /etc/init d/bind9 stop


. ;; QUESTION SECTION:
# /etc/init d/bind9 start
. ; ; 42 158 253 70 in-addr arpa
. . . . . . IN PTR

Si se produce algn error o si el servido BIND no hace que se espera, por


lo ;; ANSWER SECTION:
42. 158. 253. 70. in-addr. arpa. 5304 IN PTR centralsoft.org.
favor, dirjase a la seccin de resolucin de problemas para ver en detalle los pro-
blemas ms comunes. Query time: 2 rasec
;;
En el futuro, si el nico cambio que hace es actualizar el archivo de zona con ;; SERVER: 81 169 163 1C4#53 81 169 163 104
. . . { . . .

una nueva entrada DNS para el dominio correspondiente, es suficiente con que le ;; WHEN: Sat Mar 11 18:57:54 2006
;; MSG SIZE revd: 98
indique a BIND que recargue la informacin de zona (en lugar de reiniciar el
servicio entero):
La bsqueda directa y la inversa se complementan. Nuestro servidor primario
ffrndc reload centralsoft.org est completo.
; ; ; ;

El sistema de nombres ele dominio El sistema de nombres de dominio

Herramientas BINO
Ahora, levantaremos nuestro servidor de nombres secundario,
Como hemos mencionado anteriormente en este captulo, BINO se divide en
server2 centralsof t org. Actuar como copia de seguridad en caso
. .

tres partes: el demonio named, la librera resoluta y algunas herramientas.


de que el servidor primario (serverl centralsof t org) falle, por lo que . .

las personas todava podrn buscar centralsof t .org y sus subdominios.


Una herramienta que ya ha usado es dig, que los administradores usan para
consultar los servidores de nombres DNS. dig hace bsquedas DNS y muestra las
El archivo named conf para server2 centralsof t org es parecido al del
. .

respuestas devueltas por los servidores de nombres y las estadsticas sobre la


.

servidor de nombres primario con algunas diferencias:


consulta.

options La mayora delos administradores DNS usan dig para solucionar tos proble-
{

pid-file "/var/run/bind/run/named.pid" mas de DNS


debido a su flexibilidad, facilidad de uso y claridad. Otras herra-
directory "/etc/bind"; mientas de bsqueda suelen tener menos funcionalidad. Otra alternativa podra
// query- source address * port 53;
ser, no obstante, nslookup. Tambin echaremos un vistazo a rnde, una herra-
1 ;

mienta de administracin til que se incluye con BIND.


zone " " { .

type hint
file "db.root"; nstookup
} :

nslookup trabaja de manera similar a dig pero est obsoleto en Linux. Usarlo
zone " 0 0 127 in-addr arpa "
. . . .
{
requiere ms trabajo, pero debera serle familiar porque Microsoft Windows an
type master;
file "db local " .
lo usa como herramienta primaria de bsqueda.
}; nslookup consulta servidores de nombre de dominio de Internet en dos mo-

zone "centralsoft.org
dos: interactivo y no interactivo. El modo interactivo permite consultar los ser-
vidores de nombres para obtener informacin sobre varios equipos y dominios, o
{

type slave
file "sec.centralsoft.org"; para imprimir una lista de equipos en un dominio. El modo no interactivo sim-
masters 70.253.158.42; }; { plemente imprime el nombre y la informacin solicitada para un equipo o domi-
};
nio. Por ejemplo, podra ejecutar la siguiente bsqueda para encontrar informacin
sobre el servidor Google:
La diferencia ms importante es la que se coment antes en este mismo cap-
tulo. El tipo esclavo, quese indica en la sentencia final indica que es una zona #nslookup nsl.google.com
r
esclava. En la lnea del archivo especificamos el nombre del archivo donde se debe Server: 68.94.156.1
Address: 68 94 156 1#53
guardar la zona esclava, y en la lnea maestra especificarnos la direccin IP del
. . .

servidor de nombres primario. Non-authortative answer:


Esto es todo lo que tenemos que hacer para configurar el servidor de nombres ame: nsl.google.com
secundario. Address: 216.239.32.10

Reinicie named en server2 centralsof t org y luego debera encontrar el


. .
Enel modo interactivo, nslookup ofrece una interfaz donde se pueden ejecu-
archivo / etc/bind/ sec centralsof t org en su servidor de nombres secun-
. .
tar comandos. Por ejemplo:
dario. Qu ha ocurrido? El servidor de nombres secundario ha contactado con el
servidor de nombres primario que le ha transferido la zona. #nslookup
>
Ahora, cada vez que actualice una zona en el servidor de nombres primario,
asegrese de que el nmero de serie se incrementa. En caso contrario, la zona Desde la interfaz se pueden hacer varias bsquedas simples, como la de una
actualizada no se transferir al servidor de nombres secundario. direccin IP:
: . .

El sistema de nombres de dominio El sistema de nombres de dominio

> 70.253.158.42 Esta informacin viene de la direccin 1P 68.94.156.1, puerto 53, qu es el


Server: 172.30.1.2 servidor de nombres especificado en el archivo resolv.conf del equipo que
Address: 172 30 1 2#53
realiz la bsqueda. Puede usar host de nuevo para averiguar el nombre de este
. . .

Non-authoritative answer: servidor:


42 158 253 70 in-addr .arpa
. . . . ame = adsl- 70-253 -158 -42 dsl rcsntx
. .

> host 68.94.156.1


swbell .net
1 . 156 94 68 in-addr arpa domain ame pointer dnsrl.sbcglobal.net.
. . . .

Authoritative answer s can be found frorn:


158 253 70 in-addr arpa nameserver
. . . . = nsl.swbell.net.
Introduzca exit para cerrar la sesin de bsqueda interactiva.
158 253 70 in-addr arpa nameserver
. . . . = ns2.swbell.net. Tambin puede usar named para arreglar fallos en algunas situaciones. Por
> ejemplo, para averiguar el nmero de versin de su implementacin BND, eje-
cute el siguiente comando:
Puede ejecutar varios comandos, incluyendo Iserver (que usa su servidor local
para hacer una bsqueda), server (que usa otro servidor para hacer una bsque- ># named -v
da) y host. El comando Iserver produce una salida como la siguiente: named 8.4. 6 -REL-NOESW Tue Feb 1 10:10:48 UTC 2005
buildd@rockhopper /build/buildd/bind- 8 .4.6/ src/bin/named
:

> Iserver google.com


Default server: google.com
Address: 64 233 167 99#53. . . rndc
Default server: google.com
Address: 64 233 187 99#53. . .
BINO ofrece un comando rndc como parte de la instalacin, rndc permite
Default server: google.com
Address: 72 14 207 99#53
administrar named usando la lnea de comandos. La utilidad enva los comandos
. . .

introducidos mediante lnea de comandos al servidor que ejecuta server, que los
subcomando host ofrece una utilidad simple para realizar bsquedas. Cuando
El procesa. El script de inicializacin de BIND 9 tambin usa rndc.
no dan argumentos u opciones, host imprime un pequeo resumen en la lnea
se
Para evitar que los usuarios no autorizados accedan a su servidor de nombres,
de comando de los argumentos y las opciones. La gente lo usa principalmente debera usar una clave secreta para autentificar el acceso. Para que rndc ejecute
para convertir nombres a direcciones IP y viceversa. He aqu un ejemplo:
los comandos en un servidor de nombres, incluso en un equipo local, ambos

> host centralsoft.org


deben compartir la misma clave. Esta clave est almacenada en el archivo /etc/
centralsoft.org has address 70.253.158.42 bind/rndc .key, y tanto named como rndc leern la clave desde esta localiza-
cin. El archivo rndc key debera haberse creado durante
. la instalacin de BIND.
Cuando pone host en modo completo con la opcin -v, ofrece informacin
El comando rndc tiene la siguiente forma:
similar al comando dig:
r-

> host -v centralsoft.org #rndc rndc-options command command-options


Trying "centralsoft.org"
;; ->>HEADER<<- opcode QUERY, status: NOERROR, id: 43756 :
Ahora veremos algunas opciones de rndc comunes que podra necesitar (lea
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY 1, ADDITIONAL: : O las pginas-manual de rndc para ver la lista completa):

;; CUESTION SECTION -k key-file: Usa el archivo con la clave especificado en lugar del archivo
,-centralsoft .org . IN A por defecto /etc/bind/ rndc key. .

;; ANSWER SECTION:

-s server: Enva el comando al servidor especificado en lugar de al servi-

centralsoft.org. 86400 IN A 70.253.158.42 dor local.

AUTHORITY SECTION:
-V: Activa el modo de informacin completo.
;;
centralsoft.org. 29437 IN NS serverl.centralsoft.org. Aqu se muestran algunos de los comandos que rndc suele enviar a named (para
Received 71 bytes from 68 94 156 1#53 in 30 ms . . .
una lista completa de los comandos, simplemente introduzca el comando rndc):
. :

El sistema de nombres de dominio Ei sistema de nombres de dominio

a
halt: Para el servidor de nombres inmediatamente. nuestro servidor DNS. Probemos a entrar en el sistema como root y ejecutar ei

querylog: Activa o desactiva el log de todas las consultas hechas por los comando:
clientes a este servidor de nombres. Es un comando de conmutacin: con-
serverl -# rnde status
:

muta al estado activo si estaba desactivado y viceversa. number of zones: 6


reload [zone]: Recarga los archivos de zona, pero mantiene todas las res- debug level 0
:

xfers running: 0
puestas que se almacenaron previamente en cach. Esto permite hacer
xfers deferred: 0
cambios en los archivos de zona y que tengan efectos en sus servidores soa queries in progress: 0
maestros y esclavos sin perder todos los nombres ya resueltos. Si los cam- query logging is OFF
bios afectan a una nica zona, puede indicar que slo se recargue esa server is up and running
serverl ~#
:

zona.
retransfer zone: Obliga a volver a transferir la zona especificada sin te- El comando rnde depende de una clave compartida en el archivo /etc/bind/
ner que comprobar el nmero de serie. rndc.key para que named acepte sus comandos. Problemas con este archivo
s
stats: Vuelca las estadsticas actuales de named al archivo named stats .
pueden evitar que rnde enve los comandos.
status: Muestra Aqu un ejemplo de que deberamos ver si el archivo de la clave no existiera:
el estado actual del servidor de nombres.
stop: Detiene el servidor, guardando y actualizando dinmicamente los serverl:-# rnde status
datos antes de salir. rnde: neither /etc/bind/rndc conf or /etc/bind/rndc key was found
. .

serverl ~#
:

Podemos comprobar que el archivo no existe con este comando:


Resolucin de problemas en BINO
serverl:-# ls -1 /etc/bind/rndc key .

ls: /etc/bind/rndc .key No such file or directory


:

En este punto del captulo, debera tener un conocimiento funcional acerca de


DNS. Tambin debera saber cmo configurar sus archivos cmo corregir pro-
y Podemos solucionar el problema regenerando el archivo de la misma forma
blemas de sintaxis, como errores tipogrficos. que lo hace la instalacin de BIND:
En esta seccin, cubriremos algunos aspectos bsicos, problemas comunes que
serverl:-# rndc-confgen -a
puede encontrar cuando BIND y DNS estn funcionando. No es un tratado ex- serverl:-# ls -1 /etc/bind/rndc key .

haustivo, pero debera ayudarle a ejecutar DNS en su servidor Linux s tiene -rw 1 root bind 77 Jul 19 22:38 /etc/bind/rndc key .

problemas para que su dominio resuelva nombres de equipos o haga transferen- serverl
cias de zona.
Debido a que named no tiene esta nueva clave, debemos matar el proceso
named y reiniciarlo. Para ello, haremos uso del comando del sistema killall, que
Nota: diseo del sistema de nombres de dominio es robusto, pero en oca-
El coge la ruta completa del nombre del programa named.
siones pueden aparecer errores. Siguiendo estrictamente los patrones para
Para detener named de manera correcta, ejecutaremos el comando killall dos
crear archivos de zona descritos anteriormente en este captulo, puede evitar
veces en un intervalo de unos cuantos segundos, luego remidamos named:
problemas que estn fuera del alcance de este libro.

serverl:-# killall -TERM /usr/sbin/named


serverl:-# killall -KILL /usr/sbin/named
/usr/sbin/named: no process killed
serverl:-# /etc/init d/bind9 start
.

Starting domain ame Service: named.


Para empezar, veamos un consejo sobre resolucin DNS. Anteriormente, vi- serverl:-# rnde status
mos cmo el comando status de rnde muestra el estado actual de ejecucin de number of zones; 6
94 El sistema de nombres de dominio El sistema de nombres de dominio

debug leve! 0 :
/var/lib/named/etc/bind/
# ls
xfers runnng: 0 db.O db. local named. conf local

. pri centralsof t org
. .

xfers deferred: 0 db.127 db.root named. conf options .


pri opensourcetoday
.

soa queras in progress : 0 org


query loggir.g is OPF db.255 named. conf pri 156 18 67 in-addr arpa
. . . . . rndc key
.

server is up and running zones .rf cl918


db.empty named. conf- pri 156 18 67 in-addr .arpa
. . . .

serverl
#

named se inicia pero no resuelve nombres


Si estos archivos no existen, el entorno chroot no est configurado adecuada
Ahora, veamos algunas situaciones donde named no funciona correctamente. o completamente. Vuelva al comienzo del captulo y siga las instrucciones con
La localizacin incorrecta de los archivos BIND a menudo causa problemas, es- cuidado para asegurarse de que cada archivo est en su lugar.
pecialmente en entornos chroot donde los archivos BIND estn en un directorio Una vez arreglado el problema, necesitar parar y reiniciar named para que
aislado. Si named se inicia bien pero no carga ningn archivo de zona, puede que rndc pueda conectar con el servidor. Use la secuencia de comandos kiliall descrita
no estn en el directorio aislado. Necesitar mirar el archivo /var/log/syslog en la seccin previa:
para ver si este es el caso. He aqu un ejemplo de log:
serverl:-# kiliall -TERM /usr/sbin/named
starting BIND 9.2.4 -u bind -t /var/lib/named serverl:-# kiliall -KILL /usr/sbin/named
using 1 CPU /usr/sbin/named: no process killed
loading conf iguraton from /etc/bind/named conf ' .
'
serverl:-# /etc/init d/bind9 start
.

listening on IPv4 interface lo, 127.0.0.1#53 Starting domain ame Service: named.
listening on IPv4 interface ethO, 70 253 158 42#53 . . .
serverl ~# :

command channel listening on 127 0 0 1#953 . . .

command channel listening on ::1#953 Ahora, compruebe el archivo /var/log/ syslog para ver si los archivos de
running
zona se han cargado. Debera ver algo como esto:
log muestra que BIND se ha iniciado, pero no incluye lneas indicando que
El
starting BIND 9.2.4 -u bind -t /var/lib/named
losarchivos de zona se han cargado. Ya que named se ejecuta en un entorno using I CPU
chroot en / var/lib/named, buscar todos los archivos relativos del directorio. loading conf iguraton from /etc/bind/named conf
' .
'

Por lo que realmente est leyendo el archivo /var/lib/named/etc/bind/ listening on IPv4 interface lo, 127.0.0. 1#53
named conf para. de zonas que debe cargar. Cada uno de estos archivos
la lista
listening on IPv4 interface ethO, 70 253 158 42#53 . . .

command channel listening on, 127 0 0 1#953 . . .

de zona debe colocarse en la ruta relativa del directorio /var/lb/named.


command channel listening on ::1#953
Otro error comn es el fallo de una conexin que involucra a rndc al recargar zone 0 0 127 in-addr arpa/IN: loaded serial 1
. . . .

o reiniciar el servidor de nombres: r zone 158 253. 70. in-addr. arpa/IN: loaded serial. 2006070401
.

zone centralsoft.org/IN: loaded serial 2006070502


#/etc/init d/ bind9 reload
. zone supportcall.org/IN: loaded serial 2006062704
Stopping named: rndc: connect failed: connection refused running
EOK]
Starting named: [OKj
# No se reconocen los equipos
Este tipo de error tambin puede suceder como resultado de ejecutar BIND en
El siguiente paso es comprobar el correcto funcionamiento de DNS para ase-
un entorno chroot, cuando uno o ms archivos no est en el directorio aislado.
gurarse de que las consultas acerca de sus equipos se responden de manera ade-
Puede comprobar si los archivos estn en las localizaciones correctas as:
cuada. Primero, necesita asegurarse de que el archivo /etc/resolv. conf lista
# 1 s -1/var/lib/named/ etc /bind/ named. conf sus servidores de nombres con las direcciones correctas. La mayora de los pro-
-rw-r--r-- 1 root bind 1611 2006-09-07 12:21 /var/lib/named/etc/bind/ gramas usan las direcciones de este archivo para determinar qu servidores de
named conf .
nombres deben consultar y en qu orden:
: : . : : .. . . )

El sistema de nombres de dominio El sistema de nombres de dominio

serverl:-# cat /etc/resolv. conf www. centralsof t org . 86400 IN A 70.253.158.42


search centralsoft.org
nameserver 70.253.158,42 ; AUTHORITY SECTION:
;

centralsof t org 86400 IN NS serverl centralsof t org


. .

nameserver 70.253.158.45 .

serverl ~# :
centralsof t org . 86400 IN NS server2 centralsof t org
. .

El comando simple bsqueda DNS usando los servidores lista-


host hace 1111a ;; ADDITIONAL SECTION:
serverl centralsof t org . 86400 IN A 70 .253 158 42
. .

dos en el archivo /etc/resolv conf Necesita el equipo a buscar como


.

.
server2 centralsof t org
. . 86400 IN A 70 .253 158 .45
.

parmetro, y un segundo parmetro opcional hace que el comando consulte a


un servidor de nombres especfico. ie aqu dos ejemplos del comando host y sus
l ; ;Query time: 1 msec
resultados: ;; SERVER: 70 253 158 42#53 70 253 158 42 . . . ( . . .

;; WHEN Mon Jul 17 23:30:51 2006


:

serverl:-# host iiiww.centralsoft.org ; MSG SIZE rcvd 129


; :

www.centralsoft.org has address 70.253.158.42 serverl


serverl:-# host www.centralsoft.org server2.centraisoft.org
Using domain server: La primera parte de la salida indica varios cdigos de estado y banderas. Pres-
ame: serverl.centralsoft.org te atencin particular al valor del estado de la cuarta lnea. Es este ejemplo, el
Address: 70 253 158 45#53
valor es NOERROR. Cualquier otro valor indica algn tipo de problema.
. . .

Aliases
Los datos para la zona actual se dividen en cuatro secciones:
www.centralsoft.org has address 70.253.158.42
serverl ~# :
QUESTION: Esta seccin actualmente detalla una consulta. Se muestra
como un comentario porque no es la informacin que debera estar en un
Una alternativa a host es el comando dig, que es ms complejo pero ofrece archivo de zona.
respuestas ms detalladas. Tambin tiene ms opciones que le posibilitan realizar 8
ANSWER: Esta seccin contiene los resultados actuales solicitados por la
consultas ms especficas. La salida de dig est formateada segn la sintaxis del consulta. Mostrar los registros especficos solicitados, si estn disponi-
archivo de zona. Esto es una ventaja, puesto que una vez que haya aprendido
bles, o todos los registros si se est usando el tipo de consulta especial.
qu formato tienen los registros en un archivo de zona, puede comprender fcil-
AUTHORITY: Esta seccin identifica los servidores de nombres oficiales
mente los detalles de estos registros en la salida de dig. dig tambin ofrece infor-
macin adicional sobre los resultados de la consulta en los comentarios que para la zona de la que viene la transferencia.

empiezan por el carcter ADDITIONAL: Esta seccin ofrece las direcciones de algunos o de todos los
Echemos un vistazo al resultado del comando dig. Muchas lneas de la salida nombres de las secciones anteriores, para evitar el problema de hacer ms
de dig son muy largas y no caben en el diseo de pgina de este libro. En el consultas para obtener esa informacin. Ahora, veamos lo que debera
siguiente listado, las hemos divido en lneas. Podr ver un resultado similar cuando
' hacer si se produjera un error. El ejemplo anterior usaba un nombre de
lo ejecute en su lnea de comandos: equipo vlido para el servidor Web. Esta vez lanzaremos una consulta
para el nombre de un servidor FTP que no hayamos configurado en nues-
serverl:-# dig www.centralsoft.org a tro archivo de zona:

; <<>> DiG 9.2.4 <<>> www.centralsoft.org a serverl:-# dig ftp.centralsoft.org a

; global options: printcmd


;; Got answer ; <<>> DiG 9.2.4 <<>> ftp.centralsoft.org a
; ; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 1633 ; ;global options: printcmd
;? flags: qr aa ra ra; QUERY: 1, ANSWER: 1, AUTH0R1TY 2, ADDITIONAL: : 2 Got answer
;

;; - > >HEADER< - opcode; QUERY, status: NXDOMAIN, id: 6531


<

;; QUESTION SECTION: flags: qr aa rd ra; QUERY: 1, ANSWER: O, AUTHORITY: 1, ADDITIONAL: O


; ; www centralsof t org
. . . IN A
; QUESTION SECTION:
;

; ; ANSWER SECTION: ; ftp centralsof t org


. . . IN A
El sistema de nombres de dominio El sistema de nombres de dominio

;; AUTHORITY SECTION: encontrar en este captulo todo lo que necesitan, pero los administradores de
centralsoft.org. 86400 IN SOA serverl.centralsoft.org. admin.
centralsoft.org. 2006070502
sistemas empresariales seguro que se encontrarn con aspectos ms complejos
28800 7200 604800 86400
de los que puede tratar un nico captulo de un libro.
;; Query time: 1 msec Hay algunos libros que pueden ofrecer informacin mucho ms detallada para
SERVER: 70 253 158 42#53 (70 253 158 42)
;; . . . . . .
administradores DNS de grandes empresas. Entre estos libros destacan "DNS y
;; WHEN: Mon Jul 17 23:30:59 2006
; ; MSG SIZE rcvd: 87 B1ND" de Cricket Liu y Paul Abitz (O'Reilly), "DNS & BINO Cookbook" de Cricket
Liu {O'Reilly), "Pro DNS and BIND" de Ron Aitchison (Apress) y "DNS in Action: A
serverl ~# :
Detailed and Practical Guide to DNS Implementation, Configuraron, and
Administration" de L. Dostalek y A. Kableova (Packtj.
Fjese en que el estado para la consulta es NXDOMAIN, que en esencia significa
Ahora que ya tiene un nombres respondiendo consultas y un ser-
servidor de
"no existe tal nombre de dominio". Si usted no tiene o introduce mal el nombre de
vidor secundario o esclavo que acta como copia de seguridad, en el prximo
equipo en el archivo de zona, obtendr este error.
captulo podr aprender a instalar una aplicacin de servicios Web. Esta nueva
Otro tipo de error que podra ver con dig es cuando un nombre de dominio
aplicacin usar los servicios configurados en el captulo anterior. Una vez que
ha sido delegado a su servidor de nombres, pero el dominio no est configurado
llamada ISPConfig est configurada y se est ejecutando, podr ver
la aplicacin
en el servidor o falla al cargarse. Este error devuelve un estado dcSERVFAIL. Si
un ejemplo de un sitio Web completamente operativo. Podemos empezar explo-
ve este error para alguno de sus dominios, necesita aadir el dominio a su ar-
rando cmo administrar la suite completa de los servicios para Internet que ofre-
chivo named conf y asegurar que existe un archivo de zona vlido. Si el error
.

ce Linux.
ocurre despus de haber dado estos pasos, compruebe el archivo /var/log/
syslog para ver los mensajes que indican por que no se ha cargado la zona.
Demostraremos el problema con un nombre de dominio que est registrado,
pero que no est en uso:

serverl:-# dig linhelp.org a

; <<>9 DiG 9.2.4 <<>> linhelp.org a


; global options: printcmd
; ; Got answer:
; ;
- >>HEADER<<- opcode QUERY, status: SERVFAIL, id:
: 29949
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL : 0

;; QUESTION SECTION:
; linhelp.org. IN A

;; Query time: 2 ms'ec


; ; SERVER: 70 253 158 42#53 (70 25.3 158 42)
. . . . . .

; ; WHEN: Mon Jul 17 23:47:14 2006


;; MSG SIZE rcvd: 37

serverl ~# :

Por ahora, ya debera estar familiarizado con los aspectos bsicos de DNS y
BIND. Los administradores de negocios de pequeo y mediano tamao deberan
Una de las grandes ventajas de Linux es su flexibilidad. Las compaas comer-
como Cisco han ocultado Linux debajo
ciales de interfaces simples que hacen de
sus routers Linksys productos amigables. Nosotros tambin podemos hacer esto.
ISPConfig (http://ispconfig.org), un Linux amigable bajo licencia de
software libre (BSD), permite levantar servidores multifuncionales que trabajen
en Internet desde una aplicacin disponible para descargar. Una vez que lo he-
mos instalado, dispondremos de una herramienta que nos ayuda a configurar y
mantener fcilmente un servidor que nos permite gestionar sitios Web; ofrecer
servicios de nombres de dominio, realizar transferencias de archivos y de correo,
y aadir usuarios, administradores y otros para que puedan acceder al sistema y
realizar tareas administrativas. Adems, hemos mencionado que permite reali-
zar todas estas tareas de administracin desde una interfaz grfica?
Hemos seleccionado ISPConfig principalmente porque nos permite desplegar
servidores de aplicaciones muy potentes sobre Linux sin sacrificar su potencia o
su flexibilidad. Adems:
ISPConfig usa demonios estndar que vienen con las distribuciones Linux.
Usaremos Apache para servir sitios Web. Postfix para el correo electrni-
co. ProFTPD para el FTP, BIND para el DNS y MySQL como gestor de Bases
de datos.
La instalacin de ISPConfig configura de manera automtica varios servi-
dores de componentes.
Los paquetes incluidos en ISPConfig funcionan con la mayora de las dis-
tribuciones Linux disponibles.
Pueden usarse paquetes estndar de las distribuciones.
.

Un entorno inicia! listo para Internet Un entorno inicial listo para In te rn et

9
Puede encontrarse soporte en internet para cada componente. SSL
9
0
El equipo de ISPConfig ofrece soporte en lnea para la aplicacin entera. Acceso a la lnea de comandos.
9 Escner de correo (antivirus).
A medida que avance en el captulo, deberahacindose una idea de lo que
ir
9
un servidor necesita para y funcionar. Tambin aprende-
ofrecer varios servicios Firewall.
r cmo decidir s necesita usar un panel administrativo visual en lugar de una
interfaz de lnea de comandos. Requisitos
ISPConfig no ofrece una interfaz de lnea de comandos. En su lugar, le permi-
te gestionar a travs de una interfaz administrativa basada en Web, o un panel, En este momento, los requisitos del sistema son:
que se describir ms adelante en este captulo. Tendr que ejecutar algunas r- 9
Sistema Operativo: Linux (kernel 2.4 o posterior con la librera glibc).
denes desde la lnea de comandos al principio del capt ulo, al configurar ISPConfig
puesto que no instala todo secuencialmente, pero en las siguientes secciones, nos Las siguientes distribuciones lo permiten:
centraremos exclusivamente en la interfaz visual. 9 CentOS 4.1, 4.2, 4.3 y 4.4.
panel Web de ISPConfig simplifica la ejecucin de muchas tareas adminis-
El 9
Deban Versin 3.0 o posterior.
trativas de Linux, pero es importante saber cmo usar las utilidades de lnea de
0 Fedora Core de la 1 a la 6
comando para obtener los mismos resultados. Cubriremos estos aspectos en los
captulos posteriores. Esto no supone que tenga que estar atado a ISPConfig,
9
Mandrake Linux Versin 8.1o posterior.

pero si elige trabajar sin l, es conveniente que sepa para qu sirve. 9 Mandriva 2006 y 2007.
9 Red Hat Linux Versin 7.3 o posterior.
SIISE Linux Versin 7.2 o posterior.
Instalando ISPConfig
Ubuntu desde 5.04 a la 6.10.
9
Paquetes Linux: Los mantenedores del proyecto aseguran que son necesa-
ISPConfig viene del Projektfarm GmbH. La aplicacin fue desarrollada por Till
rios varios componentes en el sistema antes de instalar ISPConfig. Estos
Brehm y Falko Timme, que originalmente la vendieron como una aplicacin pro-
componentes son:
pietaria en http://4 2go.de. Ahora puede descargarla desde http://
sourceforge net/proj ects/ispconf ig.
.
Apache web server Versin 1.3.12 o posterior, o 2.0.40 o posterior.

El proyecto configura estos servicios:


9
BIND 8 o 9.
9
iptables o ipchains.
httpd (equipos virtuales, basados en dominio y basados enlP).
p
0
FTP.
9
MySQL.
6
BINO.
9
OpenSSL y mod_ssl para la creacin de host virtuales.
8 PHP 4.0.5 o posterior como modulo Apache.
9
POP3 de autorespuesta.
9 POP3/IMAP, demonio que soporta el formato de buzn tradicional de
9 Cliente de MySQJL
Unix (por ejemplo, gnu-pop3d, qpopper, ipop3d, popa3d o vm-pop3d)
Estadsticas Webalizer. o el format maildir (por ejemplo, Courier-Imap, Dovecot).
Cuotas de disco duro. 9 Proemail.
Cuotas de correo. ProFTP como versin independiente o vsftpd como versin inetd/xinetd/
Lmites de trfico. independiente.
9
Direcciones IP. Paquete de cuotas.
9
9
SSL. Sendmail o Postfix.
. . . .

Un entorno inicial listo para Internet Un entorno inicial listo para Internet
:V5

Es importante comprender que estos servidores y paquetes deben estar insta- En este captulo supondremos que comienza en un directorio de su sistema
lados en sistema como se describi anteriormente, antes de instalar ISPConfg.
el llamado /root. Puede descargar la distribucin ISPConfig con este comando (en
SPConfig no viene con estos servicios, pero necesita que existan en el sistema. La una lnea, sustituyendo la URL por la versin ms reciente ofrecida en el sitio
ventaja de esta solucin es que puede usar los paquetes por defecto de su distri- SourceForge):
bucin y actualizarlos despus usando las herramientas de su distribucin. No
tiene que compilar estos servicios a partir de las fuentes con opciones especficas # wget -c http://superb-west.dl.sourceforge.net/sourceforge/ispconfig/
ISPConf ig-2 2.

para ISPConfig, los paquetes por defecto ya lo hacen. 6 tar gz


.
.

ISPConfig configura dos directorios que contienen los archivos y los


el panel de aplicacin: /root/ispconf ig
Su terminal mostrar mensajes parecidos al siguiente:
subdirectorios que integran y /home/
admispconf ig. Puede desinstalar ISPConfig y volver al servidor basado en texto --16:20:48-- http: //superb-west .di sourceforge.net/sourceforge/
ejecutando /root/ ispconf ig/uninstall; algunos lectores harn esto despus ispconf ig/ISPConf .ig-2 .2.1. tar .gz
de leer este libro. => ISPConf ig-2 2 1 tar gz
1
. . .
.

Resolving superb-west.dl.sourceforge.net... 209.160.59.253


Connecting to superb-west di sourceforge.net |209.160.59.253 :80.
. .

Demonios especiales de ISPConfig connected.


HTTP request sent, awaiting response... 200 OK
Adems de gestionar as aplicaciones que ha instalado en el .sistema, Length: 26,633,490 (25M) [application/x-gzip]
ISPCon fig mantiene sus propias versiones de unas cuantas aplicaciones que 24% [========> 6,533,049
] 252.80K/s ETA 01:32
Bar. Puede encontrar las fuentes de estas aplicaciones en el directorio
ispconf i g/ compile aps. Estos servicios redundantes existen Descomprima el archivo con el comando:
puede continuar gestionando SPConfig incluso si ios servicios
# tar xvfz ISPConf ig* tar gz .
.

corno el servidor pblico Apache) se caen.


permite tanto a los servidores pblicos como a los internos i
que crea un directorio llamado install_ispconf ig. Muvase del directorio
usando un puerto no estndar. hr ejemplo, el servidor interno /root/ al install_ispconf ig. Compruebe el archivo dist txt y vea si los .

para ISPConfig escuc ha en e! puerto 81 en lugar de en el 80. que valores son apropiados para su servidor Linux.
es el utilizado normalmente por el servidor Web para ofrecer sitios Web
Para Deban 3.1, los valores de dist.txt seran:

di st_init_scripts=/etc/init d . ## # debia.n.31
dist__runlevei=/etc ## # debian31

El archivo contiene 1 9 valores adicionales para Deban que no estn listados


Al igual que muchos paquetes Linux y Unix, ISPConfig se ofrece como un con- aqu.-A menos que tenga cierta experiencia en administracin Linux y est fami-
junto de archivos comprimidos con la utilidad tar, el resultado de ello a menudo se liarizado con ISPConfig, respete los valores por defecto. Debera funcionar siem-
llama tarball. Al hacer clic en el enlace Download dehttp // sourcef orge net/
: .
pre y cuando est usando una de las distribuciones que se listaban con anterioridad.
projeets/ ispconf ig, le dirige a uno de los mirrors de SourceForge. Un sitio Los administradores con conocimientos pueden cambiar los valores, aunque res-
que normalmente tiene ISPConfig es http://superb-west.dl. petando el formato del archivo.
sourceforge net/sourcef orge/ispeonf ig/lSPConf ig-2 .2.6 tar .gz.
. .
Ahora inicie la instalacin. Ejecute el comando de instalacin /setup desde .

Puede hacer clic en el enlace Download para descargar el archivo, pero debido la lnea de comandos. El script de instalacin empezar a compilar Apache con
a que el archivo es muy grande, le ser ms til copiar la URL
y pegarla en una PHP 5 que escuchar en el puerto 81. Primero, tendr que decidir qu idioma
ventana de terminal a la hora de invocar el comando wget. La ventaja de usar quiere:
wget es que un archivo se puede recuperar a pesar de que se haya interrumpido
la descarga. Si usa el comando con la opcin ~c, puede reanudar la descarga sin server2 ~/install_ispconf ig # ./setup
:

SuSE 10.0
tener que volver a empezar: si la descarga se interrumpe, simplemente vuelva a
Neu installation eines XSPConf ig-Systems . / Installation of a new
ejecutar la orden wget y la descarga se retomar por donde se dej. ISPConfig system. /
: . :

Un entorno inicial listo para Internet Un entorno inicial listo para Internet
mam

Installation d'ISPConfig sur un nouveau systeme. that are allowed to run Perl/CGI scripts, the directory should be within
Whlen Sie Ihre Sprache (deutsch/englisch/spanisch/franzsisch/italienisch/ suExec 'sdocument root On Debian and Fedora/Red Hat, suExec 's default
.

niederlndisch/polnisch/ document root is /var/www, while on SUSE it's /srv/www. If you' re


enabling suExec, the document root is a good choice for the directory in
schwedisch) / Please choose your ianguage (German/English/Spanish/
:

French/Italian/ which to put ISPConfig:


Dutch/Polish/Swedish) / Merci de choisir votre langue (Aliemand/
:
########## WEB SERVER ###.##.#####
Anglais/Espagnol/ Checking for program httpd. .

Francais/Italen/Nerlandais/Polonais/Sudois) /usr/sbin/httpd
OJC
1} de
2) en Checking the syntax of the httpd.conf...
Syntax OK
3) es
The syntax is ok!
4) fr
it
Web-Root: /home/www
5)
ni Is this correct? [y/n] n
6)
Web-Root: /var/www
7) pl
8) se
Ihre Wahl / Your Choice: / Votre Choix:
Nota: suExec es una mejora de seguridad en un servidor Web que necesita
:

CGI para poder ejecutarse por parte de ciertos usuarios.


scripts
Ver una pantalla de advertencia:

With the system installation, sorae system files are replaced where En este punto la instalacin comienza compilando el servidor Apache que se
adjustments were
made. This can lead to loss of entries in httpd.conf, named.conf as usar para presentar la interfaz Web ISPConfig en el puerto 81. Cuando el Apa-
well as in the che para ISPConfig est completo, ver un certificado SSL compilado. El progra-
Sendmail conf iguration. ma de instalacin le preguntar varios valores. Puede aceptar los valores por
Do you want to continu with the installation? [y/n] y defecto o introducir los suyos propios. La pantalla ser similar a esta:

El sistema mostrar una licencia, debera leerla y aceptarla: SSL Certifcate Generation Utility (mkcert.sh)
Copyright (c) 1998-2000 Ralf S. Engelschall, All Rights Reservad.
Do you accept the license? [y/n] y Generating custom certifcate signed by own CA [CUSTOM]
The system will display a license, which you should read and then accept:
El programa de instalacin proceder a preguntarle cuestiones acerca de la Do you accept the license? [y/n] y
configuracin del sistema (p. Ej, por el MTA, servidor FTP, servidor Web, logs,
etc...) debido a que tiene que tener instalados todos los paquetes en su sistema,
STEP 0: Decide the signature algorithm used for certif icates
The generated X.509 certif icates can contain either
debera ser capaz de responder a todas las preguntas.
* RSA or DSA based ingredients. Select the one you want to use.
Durante la primera parte de la instalacin, el script le preguntar en qu modo Signature Algorithm ((R)SA or (D)SA) [R]
quiere ejecutar la instalacin. Seleccione el modo experto: [ca.keyT
STEP 1: Generating RSA prvate key for CA (1024 bit)
1) standard
1698765 semi-random bytes loaded
2) expert Generating RSA prvate key, 1024 bit long modulus
Your Choice: 2 ++++++

En modo experto, tendr que elegir algunas opciones que ISPConfig asigna e is 65537 (0x10001)
por defecto en el modo estndar.
STEP 2: Generating X.509 certifcate signing request for CA [ca.csr]
When prompted for a default directory, you can choose any directory You are about to be asked to enter Information that will be incorporated
you like, but make sure it is on a partition with enough disk space for into your certifcate request.
the web sites you plan to host. Furthermore if you want to configure What you are about to enter is what is callad a Distinguished ame or a DN.
,

quotas with ISPConfig, make sure you enabled quotas for that partition There are quite a few fields but you can leave some blank
as described in Chapter 2. If you want to enable suExec for web sites
For some fields there will be a default valu,
..
. : ) :: :: ::
: : :

108 Un entorno inicia! listo para Internet Un entorno inicial listo para Internet

if you enter ' .


the f ield will be left blank.
' , snakeoil dom/emailAddress=www@snakeoil dom
. .

Country ame (2 letter code) [XYJ : Getting CA Prvate Key


2 State or Province ame (full ame) [Snake Desertj : Verify: matching certifcate signature
3 Local i ty ame (e.g, city) [Snake Town] ./conf /ssl crt/server crt OK
. . . :

4 . Organization ame (e.g, company) [Snake Oil Ltd] ,

5 . Organizational Unit ame (e.g, section) [Certifcate Authority] En los pasos 7 y 8 del proceso de creacin del cert ificado, se le preguntar si
6 . Common ame {eg, CA ame) [Snake Oil CA] quiere encriptar las claves respectivas:
7. Email Address (e.g, name@FQDN) [ca@snakeoil.domj :

8. Certifcate Validity (days [365] :

STEP 7: Enrypting RSA prvate key of CA with a pass phrase for security
STEP 3: Generating X.509 certifcate for CA signed by itself [ca.crt] [ca.key]
Certifcate Versin (1 or 3) [3] The contents of the ca.key file (the generated prvate key) has to be
Signature ok kept secret. So we strongly recommend you to encrypt the server. key file
subject=/C=XY/ST=Snake Desert/L=Snake Town/0=Snake Oil, Ltd/OU=Certif icate with a Triple-DES cipher and a Pass Phrase.
Authority/ Encrypt the prvate key now? [Y/n] n :

CN=Snake Oil CA/emailAddress=ca@snakeoil dom .


writing RSA key
Getting Prvate key Enter PEM pass phrase
Verify: matching certifcate & key modulus Verifying - Enter PEM pass phrase:
Verify: matching certifcate signature Fine, you' re using an encrypted prvate key.
. ,/conf/ssl .crt/ca.crt: /C=XY/ST=Snake Desert/L=Snake Town/0=Snake Oil, Ltd/
OU=Certf icate Authority/CN=Snake Oil CA/emailAddress=ca@snakeoil dom .
STEP 8: Enrypting RSA prvate key of SERVER with a pass phrase for
error 18 at O depth lookup:self signed certifcate security [server. key]
OK The contents of the server. key file (the generated prvate key) has to be
kept secret. So we strongly recommend you to encrypt the server. key file
STEP 4: Generating RSA prvate key for SERVER (1024 bit) [server. key] with a Triple-DES cipher and a Pass Phrase.
1698765 semi-random bytes loaded Encrypt the prvate key now? (Y/n) n :

Generating RSA prvate key, 1024 bit long modulus What email address or URL should be used in the suspected-spam report
++++++ text for users
++++++ who want more information on your fllter nstallaton?
e is 65537 (0x10001) (In particular, ISPs should change this to a local Postmaster contact)
default text: [the administrator of that system]
STEP 5: Generating X.509 certifcate signng request for SERVER [server. csr]
You are about to be asked to enter information that will be incorporated Responda n a estas preguntas. En caso contrario, siempre se le preguntar la
into your certifcate request. contrasea cuando quiera reiniciar el sistema ISPConfig, lo que significa que no
What you are about to enter is what is called a Distinguished ame or a DN. podr reiniciarse sin interaccin humana.
There are quite a few fields but you can leave sote blank
For some fields there will be a default valu, Si la compilacin falla, el proceso de instalacin se para y todos ios archivos
If you enter the field will be left blank. compilados se eliminan. El mensaje de error que obtenga debera indicar la razn
1 Country ame (2 letter code) [XY] :
del fallo. En la mayora de los casos, los archivos de cabecera para un paquete son
2 State or Province ame (full ame) [Snake Desert]
los que faltan.
.

3 Locality ame
. (eg, city) [Snake Townj
4 Organization ame
. (eg, company) [Snake Oil Ltd) ,
Sabiendo la razn, revise
configuracin del servidor y solucione el proble-
la
5. Organizational Unit ame (eg, section) [Webserver Team] ma. Si el directorio install_ispconf ig no
se ha eliminado, brrelo manual-
6. Common ame (eg, FQDN) [www snakeoil dom]
mente. Luego, descomprima las fuentes de nuevo, vaya al nuevo directorio
. .

7 Email Address
. (eg, naroe@f qdn) [wwwsnakeoil dom] .

8 Certifcate Validity
. (days) [365] :
install_ispconf ig y ejecute / setup. No puede instalar ISPConfig dos veces
.

desde el mismo directorio install_spconf ig despus de que haya ocurrido


STEP 6: Generating X.509 certifcate signed by own CA [server. crt] algn error.
Certifcate Versin (1 or 3) [3]:
Signature ok Si alguno de
paquetes necesarios no est presente, la rutina de instalacin
los
subject=/C=XY/ST=Snake Desert/L=Snake Town/0=Snake Oil, Ltd/ el paquete perdido, borre el directorio install_ ispeonf ig,
se detendr. Instale
OU=WebserverTeam/CN=www. descomprima !SP_Conf ig de nuevo y vuelva a comenzar.
. . / -

10 Un entorno inicial listo para Internet Un entorno inicial listo para Internet

El scriptde instalacin verifica la sintaxis de los archivos de configuracin de Llegados a este punto, puede indicar la direccin IP de su servidor y el nombre
Apache existentes. Un error provocar que la instalacin de ISPConfig se detenga. de dominio seguido por :81 en su navegador para acceder a la pantalla de login

Si todas las condiciones se cumplen, necesitar ofrecer los siguientes valores de ISPConfig.
durante la instalacin:

Please enter your MySQL server: localhost Estructura de directorios de ISPConfig


Please enter your MySQL user: root
Please enter your MySQL password: Su contrasea para MySQL
Como se mencion previamente, el directorio principal configurado por ISP-
Please enter a ame for the ISPConfig database: ispconfigdb
Please enter the IP address of the ISPConfig web: 192.168.0.1 Config se llama ispconfig y est situado en el directorio donde se instal (/root
Please enter the host ame: www en este captulo). Tambin puede encontrar otro directorio en /home llamado
Please enter the domain: xyz.de admi sp- conf ig. Cada directorio contiene los archivos necesarios para ejecutar
ISPConfig independientemente.
Luego el programa de configuracin le preguntar qu protocolo quiere usar.
Echemos un vistazo al directorio /root /ispconfig:
Seleccione el 2, HTTP:
!

Please select the protocol (http or https (SSL encryption) ) to use to -rwxr-xr-x root
1 root 33660 2006-04-26 12:28 cronolog
access the -rwxr-xr-x root
1 root 9673 2006-04-26 12:28 cronosplit
ISPConfig System: drwxr-xr-x 12 root root 4096 2006-04-26 09:55 httpd
1) HTTPS drwxr-xr-x 12 root root 4096 2006-04-26 12:28 isp
2) HTTP -rw-r- -r- 1 root root 8 2006-04-26 13 : 54 .oldpath httpd
Your Choice: 2 drwxr-xr-x 6 root root 4096 2006-04-26 09:50 openssl
drwxr-xr-x 6 root root 4096 2006-04-26 10:00 php
Ver que el sistema ejecuta los script finales y reinicia algunos servicios: drwxr-xr-x 4 root root 4096 2006-04-26 12:28 scripts
drwxr-xr-x 4 root root 4096 2006-04-26 12:28 standard egis
Connected successfully to MySQL server drwxr-xr-x 2 root root 4096 2006-04-26 12:28 sv
ls: /etc/apache2/vhosts d/* conf . No such file or directory
. : -rwx 1 root root 9389 2006-04-26 12:28 uninstall
Restarting soma Services...
which: no apachectl in /sbin /usr/sbin /usr/local/sbin /root/bin
( : : : :
Contiene los diferenntes archivos de configuracin de ISPConfig, Apache, PHP
usr/ local /bin /bin: /usr/bin /usr/XHR6/bin /usr/ local /libexec)
y OpenSSL, as como varias plantillas para todos los tipos de archivos de confi-
: : :

Shutting down mail servce (Postfix) done


Starting mail Service (Postfix) done guracin (para Apache, Postfix, Sendmail, BINO, proemail, etc.) ISPConfig usa
Shutting down mail Service (Postfix) done las plantillas para poder escribir los archivos de configuracin para los servicios
Starting mail Service (Postfix) done que configura.
Shutting down ProFTPD Server: done
Starting ProFTPD Server: - warning: "ProFTPD" address/port (70.253.158.45:21) Tambin encontrar muchas clases PHP que ofrecen funciones para escribir
already in use by "ProFTPD Default Installation" en los archivos de configuracin del sistema. Resumiendo, /root /ispconfig
done contiene el ncleo de ISPConfig. En el directorio /home / admi sp conf i g, podr
Shutting down ProFTPD Server: done
ver otro conjunto de directorios:
Starting ProFTPD Server: - warning: "ProFTPD" address/port (70.253.158.45:21)
already in use by "ProFTPD Default Installation"
done -rwxr-xr-x 1 admispeonf ig admispeonf ig 242006-04-26 12:28 .forward
Starting ISPConfig system. .
drwxr-xr-x 8 admispeonf ig admispeonf ig 4096 2006-04-26 13:53 ispconfig
/root/ispconfia/httpd/bin/apachectl startssl : httpd started drwxr-xr-x 2 admispeonf ig admispeonf ig 4096 2006-04-2 6 12:28 maiistats
ISPConfig system is now up and running! -rwxr-xr-x 1 admispeonf ig admispeonf ig 176 2006-04-26 12:28 .procmailrc

Los desarrolladores finalizan el script de instalacin con: Contiene la interfaz de ISPConfig, es decir la interfaz Web, adems de algunas
herramientas como SpamAssassin (http://spamassassin.apache.org) y
Congratulations Your ISPConfig system is now installed. If you had to
!

install quota, please take the steps described in the installation manual.
ClamAV (http //clamav. elektrapro. com). Puede configurar estos a travs
:

Otherwise your system is now available without reboot de ISPConfig para protegerse contra el spam y los virus.
.

Un entorno inicial listo para Internet Un entorno inicial listo para Internet

servidor y usuarios con https:// si seleccion HTTPS como el protocolo ISPConfig durante la instalacin).
En la pantalla de autentificacin (figura 4.3), introduzca el ID adrnin y la con-
trasea admin.
Configurar un sitio Web es uno de ios primeros pasos para conseguir un ser-
vidor de Internet completamente funcional. Esta seccin le mostrar todos los 'Administracin Gestor tSP Gestor DMS Web rr? P Factura .antas Ayuda --iaiMt
,

pasos necesarios.
Tal vez piense que puede ir al sitio Web de ISPConfig y leer los manuales, sin
m
Niusva fe/engedcr
a>
Nueve feote
&
Ffetevo po Pson
.
tfs
j ^
nasdng Mueva csrpety 9ustar
instor ISP xponrfir qo!aj>t>r 1

embargo tenga en cuenta que ios desarrolladores de ISPConfig escribieron la do-


(

<3'k / atfmln
.

/ evs>v*tfor
J '*99
cumentacin de usuario para sitios dedicados al alojamiento Web. Si esta es su de* mm mmm
intencin, le recomendamos que lea los manuales de http / /ispconf ig org. : .

Servidor en lina desde: Od, .3:35


En caso contrario, supondremos que desea usar su servidor con un nico admi- i

1 usrar
Usuarios en linea:
nistrador del sistema que gestiona sus propios sitios Web seguros, el correo y los
i

Carga de la CPU 1 Minuto: 0.35

servidos FTP Carga de la CPU 5 Minutos: 0.28

Carga de la CPU 15 Minutos: 0.58


ISPConfig necesita que configure un diente que tenga uno o ms dominios de
Filesystem Slze Used Avall Use% Moimted
internet. En nuestro ejemplo, configuraremos un cliente sencillo (de uno de ios
/dev/sda6 35G 3.3G 30G 10% /

autores del libro) que tiene cuatro dominios: varrun 506M 120K S06M 1%/var/run
varlock S06M 4 OK 506M 1 % /var/lock
centralsoft.org
udev S06M 112 K S06M 1% /dev
0
linuxnewswire.org devshrn 506M 0 S06M 0% /dev/shm

Irm 506M 19M 488M 4% /tib/modules/2 6.15-26-386/volatile


opensourcetoday.org
/dev/sdal 98G 63G 36G 64% /media/sdal
0
tadelstein.com /dev/sdaS 50G 320K 50G 1% /media/sda5

Cuando mire el contenido del directorio /var/www ver cmo ISPConfig con-
figura los siguientes dominios:

$ ls -a
apache2-default sharedip web2 web4 webalizer www.opensourcetoday.org Figura 4.1. Interfaz ele gestin de ISP.

localhost webl web3 www.centralsoft.org www.linuxnewswire.org


www. tadelstein.com
m Gestor ISP [
expandir colapsar

Compare el listado de este directorio con la lista de sitios Web de la figura 4.1 0-tjk # admin
S'd & Revendedor
Cada sitio Web contiene un directorio. El directorio www cuyos nombres mues- & Clientes
t-b-U / Sitios
tran los dominios (como www.opensourcetoday.org) son enlaces simblicos Papel era
central soft.orqj
que el sistema conoce como webl, web2, etc.
i

-
-5;
Tinhelp

|| tadlestein
da una mejor idea de la lista de dominios. Fjese que en la

La figura 4.2 le

figura 4.2 el domino aparece para cada directorio del listado de la lnea de co-
mandos.
Figura 4.2. Lista de dominios que gestiona ISP.

Aadiendo dientes y sitios Web


Luego, inmediatamente cambie la contrasea por una que slo usted conoz-
Para configurar el diente y los dominios, primero debe entrar en la interfaz de ca. Para poder cambiar la contrasea seleccione Herramientas desde la barra de
ISPConfig. En su navegador Web, teclee la direccin IP del servidor seguida del herramientas y seguidamente haga clic en el smbolo de contrasea (vase la
puerto para ISPConfig 8 1 En nuestro caso, http://70.253. 158. 45*. 81 (use
: . figura 4.4).
) .

Nuevo revendedor Nuevo cliente Nuevo sitio Pian de hosting Nueva carpeta Buscar

Gestor I5P I
expandir colapsar J

-Sg ? admin
Revendedor
'di / Clientes
ra OJ Sitios
-M Papelera
*} centralscfi.org
M. iadiestein

CS/r..x^ A Cl .i .. ten
Figura 4.3. Pantalla de autentificacin de ISPConfig. A.

Herramientas y Opciones Ahora veamos cmo hemos creado el cliente tadelstein y el sitio Web linhelp.
13-isD Genera
;

3
I

Cambiar c lava)
|
Haga clic en Nuevo Cliente en el men de gestin de ISP Ver un cuadro de dilo-
!
~ CamBiar1ega|e
go similar al de la figura 4.7.
i--) Move Wabsites
HD-
Wnois
f -p Escaneador de puertos
j
13 Versin del software Administracin Gestor ISP Gestor DMS VVeb-fTP ISP Factura Herramientas Ayuda Finalizar

Cji-'iJ Mane|ador de respaldos


ej) Respaldo
Q tt|J Exportar datos
!

H
Datos maestros Mjfr/o tyjevo c*tr< Niwvo PRin a Nuv carpeta R
j castor ISP colopssr
3-a '
3HJ / normo-!**
<3 ;J / cuento
9-0 J s*
Figura 4.4. Men Herramientas. -"y Papelero
- conuolsoft.orfl
Grupo: admin
-i tad-este- Titulo:

En la figura 4.5 se muestra el cuadro de dilogo Cambiar contrasea, all po- Ordenar: admin
dr rellenar el formulario. 0l94 ma**UO* $

Salga del sistema y entre con la nueva contrasea. diente Numero: Es asignada automticamente.
Empresa:
Ttulo: p
Cambiar clave :

Nombres:
Apellidos:
Clave
Calle:
anterior
Codigo postal:
Ciudad:
Clave nueva: Provincia:
Confirmar Pas:

clave: Telefono:
fax:
Save Cancel Email:
Direccin Web: ht p : // f Abrir)

Figura 4.5. Formulario de ISPConfig para cambiar contraseas. Figura 4.7. Formulario de informacin del cliente.

Antes de configurar un sitio Web, tendr que crear un propietario del sitio. Introduzca la informacin relevante del cliente. La figura 4.8 muestra cmo
Seleccione la barra de herramientas Gestin de ISP Ver un men de navegacin hemos rellenado el formulario. Fjese en que hemos usado Linhelp.org
como
similar al de la figura 4.6. compaa.
el nombre de la
Un entorno inicia! listo para Internet Un entorno inicial listo para Internet 117

Sib

S aodtffl IMVB
Gestor SP |
expandir colapser {
Grupo: admira-
& .? 3*111.-1

$H,J 1/ Sowandedor Titulo: linhelp


'I-v^J J Clientes
fit-p Sitios Ordenar: admin [A
Wijif Pajxtfera
-i fstiafsot.org
Grupo; adfflin
[bSosTr!^
Titulo: tadlestein
tadles
Ordenar: adra n
Servidor mal: Servidor Local de Correo
m<js r?v*as!f
Tama o lo del log: 30%
Directorylndex: ndex html -W!
ClienteNumero: 251 .

impresa: ndex .ht y


ndex php .
Titulo:
ndex php .

Nombres: Tora Aldelstein ndex php4 .


J1
Apellidos:
Webalizer
!*
Statistics:
Codicio postal:
Ciudad;
Provincia (..e.wardar j L.e.anqglaL. J LB.Qttarj

Pas;
Telefono:
fax: Figura 4.9. El formulario usado para crear el sitio Web linhelp.org.
Email:
Direccin Web:http:// (Abrid
Ayuda f matizar
Administracin Gestor Sp" Gastor DNS VVfab-FTP ISP Factor*

Figura 4.8. Formulario completo para el cliente administrativo.

En la parte izquierda del men de navegacin, ver un nuevo icono represen-


tando una persona y acompaado por el nombre del diente. Ahora ya puede
Exceso de trafico: Suspender
configurar un sitio Web. Simplemente seleccione Nuevo sitio desde la barra de
Usuarios (Max): . i
herramientas y ver el cuadro de la figura 4.9. Dominios (Max): . j

Proporcione al sitio web un nombre y la direccin IF^ y cree un registro DNS.


Acceso Shell: O
Fjese tambin en las solapas del formulario, en la parte de arriba de rea donde
Scripts CG1:
hay que introducir el nombre: CCS estndar: G
Scripts de PHPs C
8
Base PHP Safe Mode:
SSS:
Usuario y correo
Acceso FTP;
Co-Dominios MySQl;
Base de datos (Max): i i
8
Estadsticas
SSL:
Opciones FTP annimo:
FTP annima MB;
31
Cuenta WAP:
Paginas de error;
Cada una de estas solapas ofrece varias funciones de configuracin y gestin. MaiSoset tagln:
La figura 4.9 no muestra las opciones de la solapa Base. Tambin encontrar
algunas otras opciones que le puede dar al administrador de sitio. Para nuestro (Opcional):
sitio, hemos
ofrecido acceso por lnea de comandos, base de datos, creacin de
FTP y opciones de autentificacin, como se muestra en la figura 4.10. Figure 4.10. Opciones del sitio Web.
Un entorno inicial listo para Internet Un entorno inicial listo para internet

Fjese tambin en
la figura 4.10 debajo de FTP Annimo, el sistema pone por
defecto - Esto permite al sitio ofrecer espado ilimitado para FTP Esto sera til
i.

si quisiera ofrecer acceso como mirror de un sitio de descargas, por ejemplo. En

caso contrario, es mejor definir un lmite de manera que nadie pueda subir tan- Linhelp Com mere ia! Suppcrt Canter
tos datos como para saturar el espacio en disco necesario para otros servicios. En
este punto, ya tiene un sitio Web til. En la figura 4.11 se muestra, adems, una Navigation
wiat's Vw
forma fcil de aadir pginas usando un cliente FTP grfico como gftp para trans- Pay-per-incident
ferir un sitio que ha sido creado en su escritorio. Linux Help Desk
Linhelp provides complete Ycu wl I rvi

Leve! 1, Leve! 2 and Levei 3 rjumerous new


nux support fot RPMs built

spefically for Sun's


English-tanguage customers.
ETP i,ocai ge moto Marcadores Transferencias informe Herramientas Ayuda We spec/alite in Debian, JOS and SUSE
mpbyrnent
Novel'sSUSE Oisttibutions SLES9 at the JDS
and Federa Core. Por more Commumty Web
Puerto-,
Select Area of infor maci n.
Site Repository.
Interert Bfijjalfifflte

i/home/ljarevalo
No conectado' Download Sun's
EoSeipnse
!"(}" Archivo ''amafio Usuario < A flj Archivo Tamao Usuario Gru Training
We offer single or muti-day
Linux Java Desktop
System
%. f 1
dfsMMMWaKiMMSg&M 1
1

i
Govefivpent Jsssrs
training sessions and course
1 .gftp 4036 Ijaravalo ii

Sal kde 4096 Ijarevaio ij Expime sise S curricula to heip enterprise, System
53 .local 4096 Ijarevaio ij unux Besito govemment and educabonal
63 .meop 409(5 ijarevaio ii
(OReiliy Sool.J oigani2abons spaed their

O .netbeans 4096 Ijarevaio i adaptaon of open software Oistrowatch has an


exceilent summary
SS -qt 4096 Ijarevaio i) standards. For saca
M .thumbnails 4096 Ijarevaio ii

.vnc 4096 Ijarevaio


Tm Dpskron
1 4096 harpval l>; r.J
Figura 4.12. El sitio web Linheip.org.
bi 1 i. Id
Archivo Progreso La figura 4.13 ofrece un ejemplo del directorio raz de un sitio Web. La pgina
de inicio semuestra siempre que ei navegador especifique ei nombre del directo-
rio, debido a que tiene el ttulo por defecto. La pgina de inicio contiene enlaces a
ugerencias sobre este programa, por favor envemelas. Puede obtener en cualquier momento las ltimas noticias
sobre el grTP de mi pgina web en http://ww.Mgftp.org/
otras pginas del sitio.

figura 4.13. puede tratarse como un


gfTP se entrega sin ABSOLUTAMENTE NINGUNA GARANTA: para ms detalles, lea el archivo COPVING, Esto es
software libre, y usted puede redistribuirlo bajo ciertas condiciones: para ms detalles. ea ei archivo COPYING, El diagrama de ejemplo de la grfico de
Francisco Javier F, Serrador serrsdor@gnome.org>
sectores. El cdigo actual con la pgina de inicio se parece a esto:
Gustavo D. Vranjes <gvranjes@abaconet.com, ar>
i

i
, <a href =" /about us html." >About Us </axbrxbr>
. .

Figura 4.1 1. Usando gftp para transferir archivos al directorio raz linhelp.org.
i

<a href = " ./produces. html ">Products </axbrxbr>


<a href = ". /services html ">Services </axbrxbr>
.

Poniendo en un navegador http / /linhelp org ahora podr ver nuestra .


<a href =". /support .html ">Support </axbrxbr>
:

pgina index.html. Puede ver dicha pgina en la figura 4.12.


Normalmente,el equipo Web al que le d soporte crear la estructura de di-
Ahora ya tenemos un sitio Web simple y funcional. Echemos un vistazo a Ja rectorios pginas Web. Probablemente necesite ofrecerles una base de datos
y
figura 4.13 para comprender lo que estamos configurando.
tambin, pero esto se tratar en otro captulo. Por ahora, slo necesita saber
ISPConfig usa un modelo jerrquico con /var/www/webl/web como el direc- cmo establecer un sitio Web y un dominio de Internet.
torio raz para el puerto 80.En cada directorio que cree en esta ruta. Apache crea
otra rama donde puede poner pginas. Por defecto, cuando un navegador solicita
el directorio. Apache busca el archivo HTML llamado index.html para mostrarlo.
Si no ha creado un archivo ndex html, se mostrarn los nombres de los archi-.
lina de las tareas ms importantes a ia hora de administrar sistemas Linux es
vos que estn en el directorio raz. la gestin de usuarios y sus cuentas. Puede usar el panel grfico ISPConfg. Una
Un entorno inicial listo para Internet

vez que haya configurado los dominios, al seleccionar uno de ellos en la seccin
de gestin de ISP de la barra de tareas traer al primer plano la pantalla del sitio
que se mostr en la figura 4.9. Volvamos atrs para verla.

O'KFJUY

Pgina Web enlazada desde Index.btm

Figura 4.13. Estructura de un sitio web simple.

El formulario tiene seis solapas. La segunda solapa de la izquierda se llama


Usuario y Correo. Desde esta solapa podr aadir nuevos usuarios gestionar los
y
existentes. Cuando selecciona Nuevo, podr ver otro formulario como el de la
figura 4.14.
En este formulario, puede introducir los detalles de nuevos usuarios y esta-
blecer los lmites de almacenamiento. Un valor de -1 ofrece espacio ilimitado,
pero puede gestionar las cuotas de la manera que prefiera.
En solapa Opciones Avanzadas (figura 4.15), puede usar una opcin para
la
permitir que el correo enviado a un usuario sea redirigido a otra direccin. En
otras palabras, si el usuario tiene una direccin de correo alternativa que desea
usar, puede usar dicha opcin para enviarle el correo a esa cuenta.
Un entorno inicial listo para internet Un entorno inicial listo para internet

Alias de correo: Si no quiere exponer su buzn de correo pblicamente, los filtrar spam. Muchos administradores prefieren esta estrategia inicialmente,
el
visitantes del sitio pueden enviar correo a un nombre genrico, tal como hasta que el usuario tenga una base de datos de correo identificado como spam.
info@centralsoft.org o webmaster@centralsoft.org. Puede ha- Despus, el usuario puede cambiarse al modo de descarte, donde el correo iden-
un alias de correo.
cer esto ofreciendo tificado como spam se borra del servidor.
Coger todo el correo: Esta opcin redirige al buzn especificado todos los Ahora echemos un vistazo a las opciones para el spam:
correos que se hayan enviado a cuentas de usuarios inexistentes. La gente
Aciertos de spam: El filtro de spam ejecuta un determinado nmero de
normalmente escribe a direcciones usadas frecuentemente como editor@
pruebas sobre correos entrantes y asigna puntos a cada prueba. Si la suma
centralsof t org o publicidad@centralsof t org sin verificar que
de los para estas prueba alcanza o supera el valor especificado por los
. .

estas direcciones son vlidas. Puede recoger estos mensajes en una cuenta
Aciertos de spam, el correo se clasifica como spam y se maneja de acuerdo
de usuario creada a tal efecto.
con la estrategia definida por el usuario.
Escanear correo: Si quiere escanear el correo en busca de virus o cdigo
Reescribir asunto: En el modo aceptar, escoger esta opcin significa que la
JavaScript para servidor, use esta opcin.
lnea que identifica el asunto de cada correo se identificar como spam
Autoresponder: Esta opcin le permite enviar una respuesta automtica a aadiendo un prefijo identificativo (por defecto ***SPAM***). Esto permi-
los mensajes enviados a un usuario especfico, esto es til, por ejemplo,
te al usuario ordenar el correo electrnico segn el asunto.
cuando el usuario va a estar fuera de la oficina por un perodo de tiempo.
Para permitir que un usuario haga cambios en su cuenta de correo electrni-
Con respecto a la solapa Filtro de Spam & Antivirus, mostrada en la figura
s mismo (incluso la contrasea, el filtrado de spam y las
co por opciones de
4.16, puede considerar qu estrategia de spam usar. Activando el filtro de spam para dicho usuario en la so-
spam), debe seleccionar la opcin Usuario de correo
para una cuenta, puede especificar el comportamiento del filtro. 4.10). Para hacer cambios, el
lapa Base del formulario del sitio (Vase la figura
usuario de correo puede autentificarse en el sistema a travs de la direccin:

http //centralsof t org 81/mailuser sci.


:
. : .

Directorios pblicos, de usuario y de inicio

Cada usuario de un dominio gestionado por ISPConfig tiene su propio direc-


torio de inicio en el directorio de usuarios. Si el acceso FTP est permitido, los
usuarios aparecern en su directorio de inicio al autentificarse va F R Cada di- i

rectorio de inicio tambin contiene una carpeta llamada Web a la que los usua-
rios pueden acceder visitando una URL del tipo: http / /www centralsof t
org/ :
. .

-usr o http / / www centralsof t


:
.
org/users/ user. .

La figura 4.1 7 muestra la estructura de un directorio de inicio para el usuario


creado en centralsof t org. .

Configuracin del cSienie de correo electrnico

En punto, debera comprender los aspectos bsicos a la hora de configu-


este
rar un sitio Web, crear un usuario y manejar el correo. Pero adems, tendr que
Figura 4. 16. La solapa Filtro de spam & Antivirus. ser capaz de ayudar a sus usuarios a configurar sus clientes de correo electrni-
co, especificando los servidores de correo entrante y saliente. En nuestro
sistema,
Si selecciona la estrategia de aceptar spam, permite que el spam entre en el ISPConfig usa serverl.centralsoft.org tanto como servidor SMTP como
buzn del usuario, siendo el agente de correo del usuario (MUA) el encargado de servidor POP3/IMAR
Un entorno inicia! listo para internet Un entorno inicial listo para Internet

Otras veces, no obstante, tendr que adaptarse a la situacin en funcin del


momento, sin tiempo para la preparacin. Esto requiere improvisacin. Para ser
completamente adaptable, hay que ser capaz tanto de anticiparse como de im-
provisar.

No importa lo riguroso que sea a


la hora de salvaguardar su servidor de
Internet, por alguna extraa combinacin de razones, su sistema podra fallar.
En un mundo perfecto, podra monitorizar cada servicio y el sistema le alertara
inmediatamente del fallo. Pero, no vivimos en un mundo donde todas nuestras
expectativas puedan verse cumplidas.
Figura 4.1 7. Vista de tipo navegador para el directorio de usuario.
Imagine que aloja su servidor en un ISP a muchos kilmetros de su base de
En los dientes modernos de correo electrnico, existe la opcin de elegir la operaciones. Si este servidor se viene abajo, alguien podra llamar al ISP y conse-
capa de transporte seguro (TLS). Seleccione TLS cuando sea posible para configu- guir que personal de servido vuelva a dejarlo funcionando. La persona encar-
el

rar e! servidor de correo saliente. Debido a que la mayora de los clientes de co- gada puede que no est disponible inmediatamente, por lo
del soporte tcnico

rreo usan su ISP como servidor SMTP, puede seleccionar TLS si su ISP lo usa. En tanto tendr que esperar un tiempo con una aplicacin crtica cada.
la gran mayora de casos, su ID de usuario
y contrasea viajan sobre las lneas de En una empresa grande, podra sentirse aislado si su servidor est situado a

su ISP en forma de texto plano. muchos kilmetros. Los operadores de los centros de datos no suelen conceder
Para recibir correo, configure el servidor de entrada (nosotros usamos acceso a la sala de ordenadores, ni siquiera a los administradores de sistemas

serven . central soft org) y seleccione o POP3 o 1MAP Use su nombre de


.
independientemente de su ubicacin, por lo que es muy importante que un ad-
sistema (por ejemplo: webl_adelstein) y especifique la direccin de correo como ministrador sepa gestionar sus sistemas remotamente.
el alias (por ejemplo: tom@centralsoft.org). Un demonio monitorizador de demonios (DMD) es una utilidad que observa
Si aparece un mensaje de error como "-ERR Unknown AUTHORIZATION state sus servicios y automticamente intenta reiniciarlos cuando fallan. Si un servi-
command" al intentar obtener el correo va POP3, probablemente se haya olvida- do falla, normalmente tiene que autentificarse en el servidor y abrir una consola
do de activar la encriptacin SSL/TLS. Reconfigure su cliente de correo, active para ejecutar un comando como /etc/init d/mysql restart. Un
- DMD puede,
POP3-sobre~SSL e intntelo de nuevo. sin embargo, ejecutar este comando sin intervencin por su parte.

problema. Si no se reinicia satisfactoriamente,


Si el servicio se reinicia, fin del
el DMD har un determinado nmero de intentos (por ejemplo 5) y luego
contactar con usted va mensaje de texto, correo electrnico u otra forma de
comunicacin que pueda alertarle del problema. En este punto, tendr que inter-
En el entorno actual de los negocios a veces ocurren cosas inesperadas. Algunas venir para averiguar por qu el servicio ha fallado. El DMD se ejecuta como otro
personas escanean direcciones IP en busca de fallos. O usan sofisticados diccionarios servicio de su servidor. Tiene un archivo de configuracin para elegir la opcin

de contraseas para intentar conseguir acceso como root a los servidores, de mane- que mejor se ajusta a sus necesidades. Puede hacer que se inicie manual o auto-
ra que puedan usarlos como plataformas de spam, virus o gusanos. Las situaciones mticamente.
que los administradores de sistemas tienen que afrontar tienen su raz en una com- En la siguiente seccin, configuraremos un DMD llamado monit, que tiene
binacin de factores con precisin o certeza. Por lo tanto, los administradores tienen una interfaz Web sencilla como se muestra en la figura 4.18.
que aprender a adaptarse rpidamente a las nuevas (y hostiles) situaciones. Fjese bien en que hay cinco servicios bajo vigilancia. En la figura 4.19, se
Hay dos formas de adaptarse. Primero, si est lo suficientemente concienciado, puede ver claramente cmo el sistema gestiona cada proceso. En este caso, esta-
puede tomar precauciones. Nosotros llamamos a esto anticipacin. mos mostrando sshd.
2 Un entorno inicial listo para Internet Un entorno inicial listo para Internet

lf
desde http://www.tildeslash.com/monit. Si est usando Deban, simple-
c.y tjarc aoerei nerra-mentas Eiste'ewia
mente introduzca:

moS ervke manqer - Konqturrar


Marcadores Her?<v?enas -prefe/e/cj

O * htp//IOa*IO!<: ->! 2|d-BV.*oO.'lVtc;i


lunnjQg on Ijarevaio-tSssktep with uptime. Orn and monitorl'-g:

Hcrr.e >

Load Memory

HassSasssfiB ?0.4S. t0.30.3j) 2.9%us. a.5%sy. 0.0%wa


iValue

Ijarevalo -desktop

Monltoring mode active

Monltoring status
Copyright 2000-2007 by the monlt oro iect oroup. Al! Rights Reserve'!
Check Service
Data coilected

Load average

6.5%us 4 3%sy 0.0%wa


i
Memory usage 35s6*kB 34496J

Ds&le rnonoring

O Copyright 2000-2007 by the monlt. prolect CII OUP- All Rights Resolved,
Figura 4.18. Interfaz Web para monit ejecutndose en centraIsoft.org.

que en la figura 4.19 el estado de sshd muestra que se est ejecutando y


Fjese
que sistema lo est monitonzando. En las fres lneas de la parte de debajo de la
el

pantalla, puede ver las instrucciones que se harn si sshd falla:

If failed localhost:22 [SSH] with timeout 5 seconds then restart else Figura 4.19. Inspeccionando sshd.
if recovered
then alert Despus de que haya instalado monit, edite /etc/monit/monitrc. El archi-
vo creado durante contiene montones de ejemplos y puede encon-
la instalacin
un servicio que ha fallado y enva un men-
Esta poltica simplemente reinicia
saje cuando remida satisfactoriamente.
se
ms
trar ejemplos de configuracin en http / /www. tildeslash com/monit/ : .

doc/examples .php. En nuestro caso, nosotros queremos:


Finalmente, monit ofrece cuatro botones en la parte de debajo de la pgina
para la intervencin manual. Ahora, veamos cmo funciona el sistema.
e Activar la interfaz Web de monit en el Puerto 2812.
8
Monitorizar los servicios proftpd, sshd, mysql, apache y postfix.
Crear una interfaz Web basada en Secure Sockets Layer (https) donde po-
Para poder instalar monit tiene dos opciones igual de vlidas. Puede utilizar der autentificarnos como admin.
tanto el gestor de paquetes del sistema como tambin descargar la distribucin a
Indicarle a monit que manda alertas de correo a root@localhost.
Un entorno inicial listo para Internet Un entorno inicial listo para Internet

Nuestro archivo de configuracin /et c /moni t /moni tro es: Esto significa que monit intenta conectarse con www. cent ral soft .org en
set daemon 60 el Puerto 80 e intenta acceder al archivo /monit/token. Debido a que el docu-

set log file syslog fcil ifcy log_daemon mento raz del sitio Web est en /var/www/www centralsoft.org/web, el .

set ma lserver localhost nombre del archivo se extiende a /var/www/www. centralsoft org/web/ .

set mail- forma t { from-. monit@serverl.centralsoft.org }


monit/token. Si monit no se ejecuta, significa que Apache no se est ejecutan-
set alert root@localh.ost
set httpd port 2812 and do, por lo que monit intentar reiniciarlo.
SSL ENABLS Ahora debemos crear el var/www/www. centralsoft org/web/
archivo .

PEMFILE /var/certs/monit pem .


monit/token y escribir una cadena de texto arbitraria:
allow admin: test
check process proftpd with pidfile /var/run/proftpd.pid # mkdir /var/www/www. centralsoft .org/web/monit
start program = " /etc/init d/prof tpd start"
. # echo "helio" > /var/www/www. centralsoft org/web/monit/ token .

stop program = "/etc/init d/prof tpd stop"


.

if failed port 21 protocol ftp then restart Puede seguir un procedimiento similar en su sistema.
if 5 restarts within 5 yeles then timeout Luego, cree un directorio para albergar el archivo de certificado f/var/certs/
check process sshd with pidfile /var/run/sshd.pid monit pem) necesario para interfaz Web SSL de monit:
.
start program "/etc/init d/ssh start"
.

stop program "/etc/init d/ssh stop"


. # mkdir /var/certs
if failed port 22 protocol ssh then restart # cd /var/certs
if 5 restarts within 5 eyeles then timeout
check process mysql with pidfile /var/run/mysqld/mysqld. pid Necesitar un archivo de configuracin OpenSSL para crear el certificado. El
group database resultado /var/certs/monit .pem debera ser como este:
start program = " /etc/init d/mysql start"
.

stop program = "/etc/init d/mysql stop"


.
# create RSA certs - Server
if failed host 127.0.0.1 port 3306 then restart RANDFILE = /openssl rnd
. .

if 5 restarts within 5 yeles then timeout l req ]

check process apache with pidfile /var/run/apache2 .pid i


default_bits 1024 =

group www encrypt_key yes =


start program = " /etc/init d/apache2 start"
.
distinguished_narae = req_dn
stop program = " /etc/init d/apache2 stop"
.
x509_extensions = cert_t.ype
if failed host www.centralsoft.org port 80 protocol http
i

[req_dn ]

and request "/monit/token" then restart countryName = Country ame (2 letter code)
if epu is greater than 60 % for 2 eyeles then alert countryName_default = MO
if epu > 80% for 5 eyeles then restart stateOrProvinceName State or Province ame (full ame)
if totalmem > 500 MB for 5 eyeles then restart stateOrProvinceName_default Monitoria
if children > 250 then restart localityName Locality ame (eg, city)
if loadavg (5min) greater than 10 for 8 eyeles then stop local ityName_def ault Monittown
if 3 restarts within 5 eyeles then timeout organizationName Organization ame {eg, company)
check process postfix with pidfile /var/spool/postf ix/pid/master .pid organizationName_def ault Monit Inc.
group mail organizatonalUnitName Organizational Unit ame (eg, section)
start program = " /etc/init d/postfix start"
.
organizationalnitName_default = Dept of Monitoring Technologies.

stop program = "/etc/init .d/postfix stop" commonName = Common ame (FQDN of your server)
f failed port 25 protocol sratp then restart commonName_deault server monit rao . .

if 5 restarts within 5 eyeles then timeout email Address = Email Address


emailAddress__def ault = root@monit mo .

Las sentencias y las opciones se describen en la documentacin de monit en [ cert_type ]

http / /www tildeslash com/monit/doc /manual php.


. .
nsCertType = server
: .

En la seccin de apache de la configuracin de monit, ver la sentencia: Ahora cree el certificado:

if failed host www.centralsoft.org port 80 protocol http # openssl req -new -x509 -days 365 -nodes -config . /monit. enf -out \
and request "/monit/token" then restart /var/certs/monit .pem -keyout /var/certs/monit .pem
130 Un entorno inicial listo para internet

# openssl gendh 512 >> /var/certs/monit peni .

# openssl x509 -subject -dates -fingerprint -noout -in /var/certs/


moni t .pem
# chmod 700 /var/certs/monit pem .

Luego edite /etc/def ault/monit para activar el demonio rnonit. Cambie


startup a 1 y configure CHECK INTERVALS con el intervalo en segundos que quiere
que se compruebe el sistema. Nosotros hemos elegido 60. El archivo debera que-
dar as:

# Defaults for monit initscript


# sourced by /etc/init d/ monit
.

# installed at /etc/default/monit by maintainer scripts


# Fredrik Steen <stone@debian org> .

# You must set this variable to for monit to start


startup=l
# To change the intervals which monit should run uncomment
# and change this variable.
CHECK_ I NT ER VALS = 6 0
Este captulo muestra cmo levantar un servicio de correo electrnico para
Finalmente, inicie monit:
un sitio de pequeo o medio tamao. Los elementos del servicio son:
# /etc/init. d/monit start * El servidor Postfix como agente de transferencia de correo SMTP (MTA),
que acepta correo de otros usuarios e interacta con otros sitios a travs
Ahora haga que su navegador apunte a https //your_domain 2812/ (ase-: :

de Internet para enviar el correo.


grese de que el puerto 2812 no est bloqueado por su cortafuegos) y
* Servidores Post Office Protocol (POP) y el Protocolo interactivo de acceso
autentifquese con el usuario admin y la contrasea test. Debera ver la interfaz
al correo (IMAP) para entregar el correo a sus usuarios.
Web de monit, tal y como se mostr anteriormente en la figura 4.18.
* La capa Simple Authentication and Security Layer (SASL) sirve para auten-
tificar el correo y evitar el spoofing.

Configuraremos Postfix para usar el tradicional sistema de autentificacin


basado en archivos, que puede soportar miles de usuarios. Las grandes instala-
Empezamos levantando el servidor y configurndolo de manera que pueda ciones de correo pueden almacenar nombres de cuentas de correo y contraseas
usarse como una plataforma para Internet. Hemos instalado un servidor basado en bases de datos relacinales o en directorios LDAP. Para ver un ejemplo de un
en texto sin el sistema de X Windows (por razones de seguridad y de rendimien- servidor de correo muy escalable basado en Postfix con autentificacin LDAP vase
to) y luego hemos configurado interfaces basadas en Web que le permitan ges- Zimbra (http / /www zimbra com).
: . .

tionar de manera segura y monitorizar sus servicios. Las soluciones de este captulo intentan juntar diversos componentes para ha-
En los restantes captulos, vamos a profundizar nuestra exploracin del siste- cer un sistema de gestin de correo eficiente, robusto y seguro. Hoy en da, perso-

ma de administracin de Linux. En el captulo siguiente, aprender a instalar nas como Wietse Venema (el inventor de Postfix) han conseguido reducir mucho
software administrativo que no se instala automticamente. Configuraremos la la complejidad de configuracin de los sistemas de correo electrnico. En lugar de

mayora de las aplicaciones Linux que la gente usa cada da en la empresa y en vrselas con complejas configuraciones de servidores de correo, los administrado-

negocios de pequeo y medio tamao. res de sistemas Linux tienen otros problemas ms importantes que resolver:
e Cmo asegurar el correo, una forma de comunicacin que no fue disea-
da teniendo en cuenta la seguridad, ni siquiera contra los ataques de su-
plantacin de identidad u otros ataques maliciosos.
132 Correo Correo 133

Cmo proteger datos sensibles para la compaa. por 100 de los servidores de Internet. Aunque los defensores de Sendmail defien-
Cmo dar acceso a usuarios que estn fuera de la red de la compaa. den que es flexible y escalable, muchos administradores de sistemas lo conside-
ran extremadamente complejo y difcil de configurar y mantener.
Sendmail se desarroll antes que aparecieran el spam y el software daino,
por lo tanto tiene algunas debilidades en cuanto a seguridad. Uno de los proble-
mas ms serios de Sendmail es que, por defecto, permite que la pasarela quede
abierta, es decir, que procesa cualquier correo originado por un extrao. Este
Los agentes de transferencia hacen la parte ms dura de la comunicacin en
i

problema de seguridad est ilustrado en la figura 5.1.


Internet, moviendo el correo de un sitio para otro en Internet. Para enviar un s

correo electrnico, el remitente liga su sistema a un MTA, que luego usa SMTP i

para transferir el correo al MTA responsable de entregar dicho correo a su desti-


natario.
El destinatario tiene distintas formas de recuperar el correo desde un MTA,
ninguna de ellas usa SMTO: puede autentificarse como usuario del sistema y
ejecutar el MTA, indicarle al MTA una
conexin directa (al igual que se le ndica
al ISP una un tnel en Internet desde un MTA
lnea telefnica) o a travs de
remoto. (Estamos ignorando otros mtodos como hacerlo desde una interfaz Web
como Gmail o usando un telfono mvil.) Independientemente del mtodo que el
receptor use, este recupera su correo a travs de un agente de entrega de correo
(MDA) como Courier IMAE El MDA habla con el MTA para obtener el correo y
ofrece un buzn para almacenar el correo. El correo puede mostrarse al usuario
a travs de un agente de usuario de correo (MUA), como Outlook, Evolution o
Thunderbird.
Los usuarios normalmente recuperan su correo usando o POP3 o IMAP4 so-
bre TCP/IP Casi todos los MUA
modernos soportan tanto POP3 como IMAP4. i

Los MUAenvan el correo pasndoselo a una MTA y transfirindolo sobre SMTP.


La mayora de la gente mantiene listados de las direcciones de sus contactos
en su MUA, de modo que puedan buscar la direccin de correo de la gente. En
entornos empresariales, los contactos se suelen almacenar en servidores de direc- Remitentes de correo no solicitado (UBE), tambin conocido como spammers
torio LDAP. Un montn de usuarios ignoran que pueden encontrar sus contactos
o remitentes de correo no deseado (UCE) son los responsables de ms del 50 por
en los sistemas LDAP. 100 del trfico de correo de Internet. Esto provoca que las colas de correo, los
servidores DNS, la capacidad de procesamiento y de almacenamiento y las
infraestructuras se resientan. Los UBE tienen una variedad de tcnicas que les
permite esconder su identidad real, incluyendo la suplantacin de direcciones
IP, la creacin de correo basura
y su dispersin a travs de los servidores SMTP
Quiz qu hemos escogido Postfix como MTA en lugar de
se pregunte por abiertos.
Sendmail, servidor de correo para Internet original y que fue desarrollado a
el Los MTA bien configurados aceptan correo saliente slo para las direcciones
principios de la dcada 1980 por Eric Alman en la Universidad de California- que pertenecen a sus usuarios legtimos, esto est normalmente limitado a una
Berkeley. Sendmail estuvo presente en la mayora de las instalaciones de MTA en subred determinada. Pero, por defecto, Sendmail procesa el correo de cualquiera. Si
Internet, pero no estamos seguros de que esto siga siendo as. Muchos sondeos usa Sendmail y no deshabilita esta opcin, los UBE pueden usar su MTA para
indican que la popularidad de Sendmail ha cado rpidamente, hasta llegar al 40 ocultar su origen. Su servidor de correo podra estar en listas negras para pasare-
13 Correo Correo

las abiertas, lo que podra provocar que correo legtimo fuera tratado como spam.
En teora, puede tener problemas legales si facilita la distribucin de correo basura.
La base de usuarios de Sendmail a menudo opera con versiones obsoletas, sin Use la ltima versin estable de Debian y configrela con el nmero mnimo
parchear y sin documentar, por lo que facilitan las cosas a los UBE. Los desa- de paquetes. Si todava no tiene un disco de instalacin en red para Debian, des-
rrolladores de Sendmail son conscientes del problema y trabajan duro para ha- crguelo de http: / /www. us debian org/CD/netinst. Despus haga una ins-
. .

cerlo ms seguro, pero los mejores avances de seguridad se consiguen con cada talacin de red y asegrese de que proporciona un nombre de dominio correcto.
versin de pago del producto. Aaron Weiss aclara algunas dudas entre la versin Luego, configure Debian como se sugiere en esta seccin.
gratuita y la versin de pago de Sendmail en el artculo "The Fee vs. Free Divide"
El instalador de conduce por un script estndar antes de la configu-
Debian le
(http / /www serverwatch com/ tutorials/article php/3580006):
. .
: .
que tenga que elegir el tipo de
racin, siga la rutina de instalacin estndar hasta
Para comercializar Sendmail y ofrecer productos de valor aadido que mejor el instalacin que desea. La pantalla que podr ver ser as:
desarrollo, se cre Sendmail Inc. Su producto estrella, Sendmail Switch est basa-
do en la versin libre de Sendmail. Se asienta en su ncleo e incluye una consola ( ) Entorno de escritorio
grfica de gestin, facilidades para la seguridad, soporte tcnico, filtros de gestin ( ) Servidor Web
Servidor de Impresin
de contenidos (incluyendo defensas anti-spam y antivirus), soporte para SSL, SASL ( )

{ ) Servidor DNS
y directorios LDAP, y capacidades de auditora, clustering y gestin remota. Todo { ) Servidor de archivos
ello acompaado de un instalador grfico y asistentes para tareas. Servidor de correo
{ )

Adems, Sendmail Consortium (responsable de la versin libre del MTA


el ( ) Base de datos SQL
Sendmail) est patrocinado por Sendmail Inc. Ofrece mdulos anti-spam, antivirus ( ) Seleccin manual de paquetes

y para la gestin remota del MTA. Lo siguiente es una descripcin del modelo de
negocio de Sendmail Inc (obtenida en http //www. sendmail com/company):
:
.
No seleccione ninguna opcin, no va a usar el servidor de correo por defecto
(Exim) puesto que en su lugar va a instalar Postfix. Slo presione el fabulador y
Sendmail ofrece diferentes soluciones empresariales para mensajera segura
haga clic en el botn OK. El instalador de Debian proceder a descargar y a insta-
entre las que se incluye correo electrnico, voz y mensajera instantnea. Las lar los paquetes. Durante las descargas, mostrar una o ms pantallas grficas
soluciones Sendmail controlan correo entrante, saliente e interno. Sendmail es
el
donde preguntar si quiere configurar Exim (Exim-config). Elija Sin configura-
una implementacin portable, que puede desplegarse sobre gran variedad de soft-
cin. Luego responda S cuando le pregunte De verdad que desea dejar el siste-
ware y aplicaciones. Los productos de Sendmail funcionan en las infraestructuras
ma de correo sin configurar?.
de correo heterogneas como Exchange, Notes, Groupwise y otras soluciones de
El instalador de Debian continuar descargando y configurando paquetes,
correo.
cuando Debian acabe su trabajo, ver una pantalla agradeciendo el uso de Debian.
Postfix se dise desdeel principio como un sustituto robusto y seguro para
En este punto debera eliminar algunos programas innecesarios usando la utili-
Sendmail. El MTA
por defecto para Deban es Exm 4, pero preferimos Postfix
dad apt-get. Si decide usar otra distribucin, puede eliminar los paquetes usando
porque Exiin tiene algunos problemas de escalabilidad. Carece de una cola cen-
otros procedimientos. Bajo Debian, ejecute:
tral de gestin y capacidad de carga balanceada. Adems, existen indicios de que
los desarrolladores de la distribucin Deban van a convertir a Postfix en el MTA
# apt-get remove Ipr nfs-common portmap pidentd pcmcia-cs pppoe \
por defecto en un futuro cercano. Al mismo tiempo, es fcil migrar de Exim a pppoeconf ppp pppconfig
Postfix, como veremos en la siguiente seccin.
Ahora, deshabilite algunos Scripts de servido:

# update-inetd --remove daytime


# update-inetd --remove telnet
# update-inetd --remove time
Para levantar nuestro servidor, vamos
a hacer uso de una instalacin reciente # update-inetd --remove finger
de Deban. Si elige otra distribucin, puede hacer lo mismo que lo que indicamos # update-inetd --remove talk
y conseguir los mismos resultados. # update-inetd --remove ntalk
. . ) } .. .

Correo Correo

# update-inetd --remove ftp This is by design: mail is not delivered to externa! delivery agents as root.
# update-inetd --remove discard If you already have a /etc/aliases file, then you possibly need to add this
entry. {I will only add it if I am creating a new /etc/aliases .

What address should I add to /etc/aliases, if I create the file?


y ahora remide el superservidor inetd:
(Enter NONE to not add one .

# /etc/init d/inetd reload


.
Where should mail for root go
NONE _____
<Ok> <Cancei>

La prxima pregunta durante la instalacin est relacionada con FQDN. Postfix


El siguiente comando instala los paquetes necesarios para ejecutar Postfix,
necesita queel comando hostname devuelva un FQDN como mail centralsof t .

junto con la seguridad TLS y SASL que permite autentificar a los usuarios:
org. Pero por defecto, hostname en Deban slo devuelve mail. Para permitirle

# apt-get install postfix postfix-doc postfix-tls libsasl2 \


configurar el FQDN, el script de instalacin ofrece el siguiente dilogo:
sasl2-bin libsasl2 -modules
Your 'mail ame' is the hostname portion of the address to be shown on
outgoing news and mail messages (following the username and @ sign)
Cuando instala estos paquetes, Deban debe elegir entre instalar libidap2 al
This ame will be used by other programs besides Postfix; it should be the
mismo tiempo. Libsasl2 ya debera estar instalado en el sistema. single, full domain ame (FQDN) from which mail will appear to orignate.
En este punto, la utilidad de instalacin de Deban empezar a descargar y Mail ame?
configurar varios archivos. Fjese en que le aparecer un dilogo durante el pro- mail centralsof t org
. .

<Ok> <Cancel>
ceso que empezar con las siguientes lneas:
Responda <Ok> para aceptar el valor por defecto que aparece en el cuadro de
Reading Package Lists... Done
Building Dependency Tree Done . . .
texto azul.
El siguiente dilogo muestra los valores por defecto de los dominios de su
Luego, ver una pantalla con mensajes que empieza as: servidor:

You have severa! cholees for general conf iguration at this point . .
Give a comma-separated list of domains that this machine should
consider itself the final destination for. If this is a mail domain
En la parte de abajo de la pantalla encontrar una pregunta que nos interesa: gateway, you probably want to inelude the top-level domain.
Other destinations to accept mail for? (blank for none)
General type of conf iguration? server2.centralsoft.org, localhost.centralsoft.org, localhost ,
No conf iguration <0k> <Cancel>
Internet Site
Internet with smarthost
Satellite system Ls dominios listados aparecern en su archivo de configuracin main cf .

Local only La pregunta final est relacionada con los sistemas que tienen sistemas de
archivos que no son un estndar:
<0k> <Cancel>
If synchronous updates are forced, then mail is processed more slowly.
Elija "Internet Site" incluso si planea usar Postfix para correo local.
If not forced, then there is a remte chance of losing some mail if the
Luego, un
dilogo de informacin le indicar que el proceso de instalacin system crashes at an inopportune time, and you are not using a journaled
el archivo de configuracin de Postfix. Si ya tiene un servidor en
est escribiendo filesystera (such. as ext3).
The default is "off".
produccin usando Sendmail, ya tendr un archivo de alias. En este captulo
Forc synchronous updates on mail queue?
supondremos que est empezando desde cero, por lo que introduciremos NONE <Yes> <No>
en la siguiente pantalla.
Debido a que casi todas las distribuciones usan el sistema de archivos ext3 por
The user root (and any other users with a uid of 0) must have mai.l
defecto,puede responder <No> aqu.
redirected via an alias, or their mail may be delivered to /var/mail/nobody
i
:

138 Correo Correo

En punto, la instalacin finaliza y escribe el archivo de configuracin de


este Tabla 5.1. Parmetros claves para la configuracin de Postfix.
Postfix. Los parmetros y los valores imprimidos no tendrn sentido para usted ?

por el momento, pero tendr que ser capaz de encontrarlos en el archivo de con- i

figuracin y cambiarlos si fuera necesario.


.smtpd_banner = Especifica el textoque identifica este servidor
$myhostname ESMTP cuando se est comunicando mediante SMTP
$mail_name (Debian/GNU) con otro servidor. El uso de texto como estan-
darte es obligatorio segn todas las especifica-
mnima ciones SMTP.
El siguiente archivo es un archivo con la configuracin de Postfix, /
etc/postf ix/main cf . biff = no biff es un pequeo proceso que puede
Postfix
notificar a los usuarios locales que tienen
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU) correo Nuevo. Si no tiene usuarios locales,
biff = no
debera desactivarlo. Por defecto en Debian
append_dot_mydomain = no
myhostname = est desactivado.
mydoraain =
myorigin =$mydoman append_dot_mydomain = no En un entorno como el nuestro, aadir el
net__nterf aces = nombre de dominio a una direccin de correo
mydestnation = $mydomain, localhost $mydomain, iocalhost . es tarea del MUA. Este valor significa que
mynetworks = 127.0.0.0/8 Postfix no aade el sufijo @centralsoft.org.

Si estuviera configurando Postfix a mano, tendra que rellenar muchos de #delay_warning_time = 4h Quite el comentario de esta lnea para generar
estos valores manualmente. Por ello es de apreciar el trabajo que ahorra el proce- mensajes del tipo "correo retrasado". Nosotros
so de instalacin de Debian. no activaremos esta opcin porque empezare-
Postfix usa una que cada lnea consiste en un parmetro
sintaxis simple en la i
mos con un volumen bajo de usuarios y no se
de configuracin seguido por un signo igual y un valor, lina vez que el parmetro esperan retrasos.
est definido, las lneas posteriores del archivo pueden referirse al parmetro siem- i
myhostname = Especifique el nombre de equipo de Internet
i

pre que tengan como prefijo el smbolo del dlar:


server2 centralsof t org
. . de este sistema de correo. Por defecto se suele
usar el nombre de dominio cualificado.
i

mydomain centralsoft.org
=
$ myhostname se usa como valor por defecto
niyorigin = $mydomain
para otros muchos parmetros de configuracin.
Este ejemplo asigna el valor centralsof t org tanto . al parmetro mydomain alias_maps = Especifica el alias de la base de datos usada por
como a myorigin hash: /etc/aliases el agente local de entrega.
Un archivo bsico de configuracin realiza reparto local nicamente. Espera alias__database = Un alias es simplemente un nombre alternativo
que haya receptores de correo que tengan cuentas y directorios locales en el ser- hash /etc/aliases
:
que alguien usa en lugar del original. Por
vidor de correo. No necesita que el sistema aada el sufijo (que debera @ ejemplo, debera especificar el alias admin
especificarse con el parmetro append dot mydomain). Esto es por lo que el pro- para root. Los papeles de estos dos parmetros
ceso de instalacin de Debian tambin pregunta por dominios, nombres de equi- no son importantes para comprender este
po y direccin de destino. captulo, slo tenga en cuenta que Postfix
El muchos parmetros /etc/postf ix/
gestor de paquetes de Debian configura mantiene una lista con todos los alias en un
main cf por
. muestra las lneas maestras. Una lista completa
usted. La tabla 5.1 archivo simple y que estos parmetros le
de parmetros puede encontrarse en el sistema archivo de ejemplo /usr/share/ indican al sistema dnde est situado y cul es
postf ix/main cf dist. . .
el formato del archivo de datos usado.
: 2

Correo Correo

Puede que necesite algunas personalizaciones sencillas pero tiles, he aqu


algunas de ellas:
myorigin = mydoman Especifica el dominio que aparecer en los * Normalmente, mydestination dominios que aparecen en las di-
lista los
correos enviados. recciones de correo de los usuarios locales, es decir, los dominios para los
cuales Postfix acepta y procesa el correo. Por defecto, Postfix acepta correo
mydestinaton = una lista de equipos y nombres de
Especifica
destinado a Smyhostname y a localhost. Smydomain, el equipo en el que
server2 centralsof t org,
. dominio, separados por comas o espacios en
.
su do-
Postfix se est ejecutando. Puede especificar que el sistema acepte
localhost central soft org, blanco, para los cuales este servidor aceptar
. .

minio entero aadiendo Smydomain a la lista:


localhost correo.
mydestination = $myhostname, localhost $mydomain,
.
$mydomain
relayhost = Especifica un equipo por defecto que este
Puede indicarle a Postfix qu equipos quiere que procesen el correo confi-
servidor usar para devolver correo cuando
gurando el parmetro mynetworks. (Si establece mynetworks, Postfix ig-
no sepa localizar al receptor. Nosotros lo
nora el parmetro mynetworks style.) Puede ofrecer una o ms direcciones
hemos dejados en blanco, confiando slo en el
1P y/o usar su notacin de red o de mscara de red (por ejemplo
parmetro mynetworks.
151 164 28 0 / 28 ).
. . .

mynetworks = 127.0.0.0/8 Especifica los equipos que este servidor no Este parmetro es til cuando desea dirigir correos a equipos que estn fuera
considera spammers. Aqu, hemos especifica- de su red, por ejemplo, para ejecutivos que trabajan desde casa, viajantes, etc.
do solamente nuestro equipo local. En su Haremos algunos otros cambios en /etc/postf ix/man. cf ms tarde en
tambin puede especificar el parmetro
lugar,
y encriptacin de contraseas.
este captulo para aadir autentificacin
mynetworksstyle = clase donde Postfix
debera confiar en todos los clientes SMTP
pertenecientes a la misma clase de red (A/B/C) Probando e! correo
que la mquina local. No confe la clase entera
en un servidor de acceso telefnico, ya que Con configuracin apropiada, puede recibir y enviar correo desde su cuenta.
la

esto provocar que Postfix est abierto para El un ejemplo de dos mensajes de prueba enviado por uno de los
siguiente es
todos los proveedores de la red. autores de este libro. Primero, usamos una cuenta de Gmail para enviar un
mensaje de correo a una cuenta de usuario en el sistema server .

mailbox_command = Especifica el comando externo que se usa para


centralsof t .org. Leimos el mensaje desde la lnea de comandos usando el
proemail -a "$EXTENSION" entregar el correo en el buzn del usuario.
comando estndar de Linux mail:
Este comando se ejecuta cuando el receptor
tenga definidas las variables de entorno ~$ mail
HOME, SHELL y LOGNAME. Message 1
Date: Tue, 11 Jul 2006 17:38:32 -0500
mailbox__size__limit = 0 Define una cuota para el correo almacenado From: "Tom Adelstein" <tadelstein@gmail com> .

por cada usuario. 0 desactiva la cuota. To: tadelste@server2 centralsof t .org .

Subject: Prueba de SMTP


recipient_delimiter = + Especifica el separador usado entre los nom- Estamos enviando este correo para probar la funcionalidad del servidor
bres de usuario y las extensiones de direccin de correo a la hora de enviar y recibir correo SMTP simple.
en una tabla de bsqueda.
Luego contestamos al correo original y lo recibimos en la cuenta de Gmail:
inet_interfaces = all Especifica la interfaz de red (tarjeta de red) a
travs de la cual el sistema recibe el correo. Delivered-To tadelstein@gmail com
: .

Received: from server2.centralsoft.org


Esto es muy til slo si tiene ms de una Tue, 11 Jul 2006 16:10:44 -0700 (PDT)
tarjeta de red. To.-tadelstein@gmail.com
.

Correo Correo

Subject: Re: Prueba de SMTP llamado Extensin del servicio SMTP para autentificacin. Ver este trabajo con el
In-Reply-To acrnimo de ESMTP, por ejemplo, est en la primera lnea de archivo /etc/
tadeIste@server2.centralsoft.org (Tom Adelstein)
postf ix/main cf (vase Tabla 5.1). ESTMP evita que una gran cantidad de re-
.

Estarnos enviando este correo para probar la funcionalidad del servidor mitentes y/o atacantes usen MTA desconocidos como pasarelas. Tambin ofrece
de correo a la hora de enviar y recibir correo SMTP simple seguridad autentificando a los usuarios y sus actividades. La IETF bas la exten-
sin ESMTP en SASL. Como parte del protocolo SMTP, ESMTP simplemente aade
Usar el comando mal es una manera primitiva de gestionar grandes volme-
un comando llamado AUTH a los comandos del servidor usados para intercam-
nes de correo, incluso desde una cuenta local. Una alternativa es mutt, que tiene
biar datos. El framework de autentificacin SASL permite una variedad de for-
una interfaz robusta y bastantes ms funcionalidades. Como administrador, po- mas para almacenar e intercambiar credenciales de usuario. Puede usar
dra usar algunos de estos agentes de lnea de comando cuando reciba correo en
contraseas Linux (/etc/passwd, /etc/shaclow o Mdulos de Autentifica-
su cuenta de servicio.
cin independientes), archivos independientes, o servicios externos como LDAP,
Kerberos o sasldb (un directorio creado por el proyecto Cyrus e incluido con SASL).
En este captulo, mostraremos dos formas de usar Postfix con SASL. Primero,
Aadiendo autentificacin y encrip faetn configuraremos un mtodo simple que funciona bien en sitios pequeos donde
puede dar a cada usuario de correo una cuenta de usuario en el servidor Linux,
Ahora que ya hemos configurado un servidor SM TP por defecto, qu pode- este mtodo usa PAM, la autentificacin por defecto usada en estos casos. Luego,
mos hacer con Postfix? En esta seccin aadiremos a identificacin (usando SASL) configuraremos un sistema ms complejo que le permite autentificar usuarios
y encriptacin (usando TLS) a nuestro archivo de configuracin, /etc/postf ix/ que no tienen cuentas en el servidor.
main. cf. Con autentificacin, nos aseguraremos que slo usuarios con las cre-
i

denciales adecuadas puedan usar nuestro servidor SMTP Con encriptacin, nos Nota: La autentificacin puede considerarse un proceso de dos etapas.
aseguraremos que no enviamos ni ID de usuario ni contraseas a travs de la red Primero, hay que asegurarse de que el usuario es quien dice ser. Luego, hay
en texto claro. que ofrecerle el servicio pedido, que puede ser una interfaz de comandos
(bash, tesh, zsh, etc.) o una sesin X Window ejecutndose bajo su identidad.

Configurando Postfix con SASL para autentificar usuarios con cuentas


La figura 5.1 representa un grupo de usuarios mviles que necesitan obtener
Afortunadamente, Deban incluye SASL con Postfix. Puede usar las libreras
elcorreo a travs de un servidor de correo fuere de la red local del servidor. Este es
SASL de Deban para permitir a los usuarios mviles autentificarse desde fuera
un escenario comn. Para distinguir a estos usuarios legtimos de los spammers, de la red. En el siguiente ejemplo, usaremos SASL para verificar que las personas
necesita un mecanismo de seguridad. La capa SASL desarrollada como parte del
que estn intentando conectarse tienen cuentas vlidas en el servidor Linux, es
proyecto Cyrus de la Universidad de Carnegie Mellon, ofrece Postfix con un me- decir, nuestro sistema permitir conectarse y enviar correo slo a las personas
dio para identificar las fuentes de correo enviadas al servidor y control del correo
con cuentas en el servidor. Usaremos PAM, el mecanismo por defecto para la
procesado.
autentificacin en Linux para hacer esto.
Cuando instal los paquetes anteriormente, incluy las extensiones y las libre-
Nota: Los administradores del sistema pueden usar SASL para aadir ras SASL necesarias (postfix-tls, Iibsasl2, sasl2-bin y libsas2-modules). Ahora ne-
autentificacin en muchas de las operaciones cliente/servidor, pero cada
cesita configurar /etc/postf ix/main cf Primero, le mostraremos cmo aadir
. .

servicio que use SASL en un sistema operativo Linux necesita un archivo de


parmetros al archivo usando comandos posteonf; luego, le mostraremos una al-
configuracin diferente. No puede instalar SASL y configurarlo para todo
ternativa consistente en editar /etc/postf ix/man.cf directamente. Active la
el sistema.
autentificacin en el servidor SMTP Postfix aadiendo los parmetros smtpd (ser-
vidor) a su archivo de configuracin main cf con este comando posteonf:
.

Cmo se convirti SASL en parte de lasolucin Postfix? Para encontrar una


respuesta, hemos de remontarnos hasta 1 999, cuando la IETF escribi un estndar # posteonf -e ' smtpd_sasl _auth_enable = yes'
'

Correo Correo E

Luego, aada un parmetro para ajustar los clientes no estndar que no pro- Cree el archivo smtpd conf con estas dos lneas:
.

cesan la autentificacin SMTP correctamente:


pwcheck_method saslauthd
:

# posfcconf -e 'broken_sasl_ authclients = yes' mech_list: plain login

parmetro smtod_sasl__security_options le permite controlar todos


El Ahora puede reiniciar Postfix:

los mecanismos de autentificacin cuando los diversos clientes se conectan a su


# postfix reload
servidor SMTP. El siguiente bloque de configuracin bloquea completamente la
autentificacin annima: El demonio saslauthd
# posfcconf -e * smtpd_sasl_security_opfcions = noanonymous En el archivo smtpd conf, hemos especificado saslauthd como nuestro m-
.

todo para verificar las credenciales del usuario. Por qu?


Postfix no permite el envo de correo sin autorizar por defecto. Por lo que,
Nuestro sistema de contraseas usa PAM, y los procesos sin privilegios no tienen
para permitir a sus usuarios de correo trabajar en Internet, necesita aadir otro
acceso a los archivos de contrasea. Debido a que la cuenta de servicio de Postfix se
parmetro (nota: esto debera aparecer en una sola lnea):
ejecuta con privilegios limitados, no puede autentificar directamente a los usuarios.

# postconf -e smtpd recipientrestrictions =


' Las libreras SASL que se distribuyen con Deban solventan esta situacin aa-
permit_mynetworks parmi t_sasl_authenticated, rejectunauth destination'
, diendo un demonio de autentificacin llamado saslauthd, que maneja las peti-
ciones por Postfix. El demonio se ejecuta con privilegios de superusuario en un
Finalmente el parmetro smtpd_sasl_loca_domain establece el nombre del
proceso separado de Postfix, por lo que alguien que comprometa la seguridad del
dominio local de autentificacin. Por defecto, Postfix considera el nombre de la servidor de correo no podr disfrutar de los privilegios de saslauthd.
mquina como el nombre de dominio local de autentificacin. Para usar el com-
saslauthd no se comunica fuera de nuestra red, el impacto de seguridad del
portamiento por defecto, especifique una cadena nula:
demonio es mnimo incluso si se usaran contraseas en texto claro, saslauthd

# postconf -e smtpd_ sasl_local_domain =' necesita las contraseas actuales porque usa el mismo servido de autentificacin
que el que usted usar para abrir una sesin de consola en Linux.
Esto completa la configuracin SASL para Postfix. De manera alternativa, en
Ahora, vamos a configurar saslauthd para ejecutar el servidor de correo. Las
lugar de ejecutar los diferentes comandos postconf anteriores, tiene la opcin de siguientes direcciones corresponden a Debian, pero puede hacer ms o menos las
editar el archivo /etc/postf ix/main cf aadir las siguientes entradas
.
,
y fi- mismas cosas con los directorios y los comandos de otros sistemas Linux.
nalmente recargar Postfix.
El puerto de Postfix en Debian se ejecuta en entorno chroot en /var/spool/

smtpd_sasl_local_domain = $myhostname postfix. Por consiguiente, necesita poner el demonio saslauthd en el mismo
smtpd_sasl__auth_enable = yes espacio de nombres. Siga los siguientes pasos:
broken_sasl_auth_clients = yes
smtpd_sasl_security__options = noanonymous 1 . Cree el directorio necesario para el demonio:
smtpd_recipient__restrictions =
permit_sasl_authenticated, permit _mynetworks reject_unauth_destination
,
# mkdir -p /var/spool/postf ix/var/run/saslauthd
smtpd_sasl_local jiomain =
2. Edite /etc/def ault/ saslauthd para activar saslauthd. Elimine la marca
Ha terminado de configurar SASL y ahora ya puede empezar a usarlo. Antes de comentarios de la lnea START=yes y luego aada la lnea:

vamos a ver los ltimos pasos, ejecute este comando para crear un archivo de
PARAMS=" -m /var/spool /posfcf ix/var/run/saslauthd -r"
configuracin SASL en el directorio donde Postfix buscar (la -p evita un error si
el directorio ya existe): 3. Su archivo debe quedar as:

# mkdir -p /etc/postf ix/sasl # This needs to be uncommented before saslauthd will be run automatically
# cd /etc/postf ix/sasl START=yes

j;

"

Correo Correo I

PARAMS="-m /var/spool/postf ix/var/run/saslauthd -r"


En una red de ordenadores pequea, sasldb puede ofrecer una solucin simple
# You must specify the authenticaton mechanisms you wish to use.
# This defaults to "pam" for PAM support
vlida paraunos cuantos usuarios. Para sitios ms grandes, con ms usuarios,
but may also inelude
,

# "shadow'' or "sasldb", lke this: probablemente MySQL sea la solucin ms escalable y ms fcil de gestionar.
# MECHANISMS= "pam shadow" El mtodo sasldb y el MySQL necesitan que instale un tipo especial de plugin
MECHANI SMS = " pam
llamado auxiliary property. Si configura sasldb o MySQL, tiene que editar el ar-
4. Lo siguiente que tiene que hacer es editar /etc/init d/saslauthd para . chivo smtpd conf y cambiar la lnea:
.

cambiar la ubicacin del archivo con el ID del proceso de saslauthd. Cam-


pwcheck_method : saslauthd
bie el valor de P1DFILE por lo siguiente:
por la siguiente, que ofrece un framework para el citado plugin:
PIDFILE=" /var/spool/postf ix/var/run/ $ {AME} /saslauthd. pid"
pwcheck_method: auxprop
5. Luego ejecute saslauthd:

# /etc/init d/saslauthd start


.
Encriptacin TLS

usa una distribucin Linux distinta de Debian, trabajar con comandos,


Si inconveniente de usar el mtodo auxprop para la validacin de usuarios es
El
directorios y archivos diferentes. Bar ejemplo, en muchos sistemas la forma que, sin protecciones adicionales, usa validacin de texto plano. Cuando es usted
estndar de iniciar saslauthd por primera vez es el comando: el que entra en su propia estacin de trabajo, no hay ningn
problema, pero
cuando enva un ID de usuario y una contrasea a travs de una red en texto
# saslauthd -a pam plano para acceder al correo, ya sea una red local o Internet, cualquiera puede
obtener de manera fcil sus credenciales. Anteriormente ya discutimos acerca de
De no hacerlo as, Debian especificar el uso de PAM a travs del archivo de
usar TLS, una versin actualizada de la encriptacin SSL, para enviar contraseas
configuracin.
desde su estacin de trabajo a su servidor de correo de manera segura. Aqu, va-
Configurando Postfix con SASL para autentificar usuarios sin cuentas
mos a extender esa solucin para encriptar informacin de identificacin creando
un certificado a travs de Open SSL.
Usar archivo de contraseas para la autentificadn en un sistema Linux
el

requiere que cada persona que recibe el correo a travs del servidor tenga una
Nota: La seccin previa de SASL y la seccin actual tratan de la seguridad,
cuenta de usuario. Obviamente, esta solucin carece de escalabilidad requiere aunque con diferentes objetivos. Mientras que la seccin de SASL maneja la
y
mucho tiempo administrativo. Para soportar usuarios que no tienen cuentas en autentificadn, que determina quin tiene el derecho de enviar correo a
el servidor SMTP,
SASL le permite usar otras opciones de almacenamiento; las travs de su servidor. Esta seccin trata la proteccin de contraseas, que
opciones ms populares son sasldb, LDAg Kerberos y MySQL. El demonio saslauthd asegura que los intrusos potenciales no pueden leer las credenciales secretas
no se ejecuta cuando Postfix usa uno de estos mtodos: no se necesita un progra-
'
de los usuarios. Necesitar ambos servicios para un correo electrnico seguro.

ma distinto con privilegios de superusuario porque SASL no necesita acceder al


archivo de contraseas del sistema operativo. Cuando usa saslauthd, est limita- Empiece por crear un directorio para los certificados SSL. Cree un subdirectorio
justo debajo de la ubicacin de Postfix en Debian:
do a la transmisin de contraseas en texto plano
y a la autentificadn va Iogin.
Por tanto, Postfix tambin ofrece un mtodo auxprop alternativo, que soporta
# mkdir /etc/postf ix/ssl
los mtodos de autentificadn de texto plano, login, CramMD5, DigestMD5, OPT # cd /etc/postf ix/ssl/
y NTLM. De todos los mecanismos de autentificadn discutidos en este captulo,
LDAP es el ms robusto y escalable, pero tiene la limitacin de que usa contrase- Luego, genere dos certificados y dos claves de encriptacin. Necesita una clave
as en texto claro. Para solucionar este problema, los administradores normal- primaria que nadie conoce y una clave pblica que le permite a los otros enviarle
mente usan la capa TLS para encriptar las contraseas y transmitirlas desde el credenciales seguras. Comience con la clave del servidor:

diente al servidor (como se discutir en la siguiente seccin). La combinacin de


# openssl genrsa -des3 -rand /etc/hosts -out smtpd. key 1024
LDAP y TLS actualmente es la mejor opcin de seguridad. 293 semi-random bytes loaded
: : : : : : : : : : '

Correo Correo

Generating RSA prvate key, 1024 bit long modulus writing RSA key
# mv -f smtpd. key. unencrypted smtpd.key
# chmod 600 smtpd.key
e is 65537 (0x10001) # openssl req -new -x509 -extensiosis v3_ca -keyout cakey.pem -out \
Enter pass phrase for smtpd.key; cacert.pem -days 3650
Verifying - Enter pass phrase for smtpd.key: Generating a 1024 bit RSA private key
++++++
Cambie los permisos del archivo resultante que contiene la clave OpenSSL del ++++++
servidor: writing new private key to 'cakey.pem'
Enter PEM pass phrase:
# chmod 600 smtpd.key Verifying - Enter PEM pass phrase:

Luego, genere otra clave y otro certificado You are about to be asked to enter information that will be incorporated
into your certifcate request.
What you are about to enter is what is called a Distinguished ame or a DN.
# openssl req -new -key smtpd.key -out smtpd.csr
You are about to be asked to enter Information that will be incorporated There are quite a few fields but you can leave some blank
into your certifcate request. For some fields there will be a default valu,
If you enter the field will be left blank
What you are about to enter is what is called a Distinguished ame or a DN.
There are quite a few fields but you can leave some blank Country ame (2 letter code) [AU]
For some fields there wili be a default valu, State or Province ame (full ame) [Some-State]
If you enter the field will be left blank. Locality ame (eg, city) []
Country ame (2 letter code) [AU] Organization ame (eg, company) [Internet Widgits Pty Ltd]
State or Province ame (full ame) [Some-State] Organizational Unit ame (eg, section) []
Locality ame (eg, City) (] Common ame (eg, YOUR ame) []
:

Organization ame (eg, compahy) (Internet Widgits Pty Ltd] centralsoft.org Email Address []
:

Organizational Unit ame (eg, section) [] web :

Common ame (eg, YOUR ame) [} Ahora necesita indicarle a Postfix las claves y los certificados de los siguientes
Email Address [J : comandos posteonf:
Please enter the followng 'extra' attributes
to be sent with your certifcate request # posteonf -e 'smtpdtls auth_only = no'
A challenge password [] :
# posteonf -e 'smtp_use_tls = yes'
An optional company ame [] eso:
# posteonf -e 'smtpd_use_tls = yes'
# posteonf -e 'smtp_tls_note_starttls_of f er = yes'
# posteonf -e 'smtpdtls key_file = /etc/postf ix/ssl/smtpd. key
Nota: Existe un debate para dirimir si los certificados que se autogeneran smtpd_tls_cert_f ile = /etc/postf ix/ssl/smtpd. crt'
# posteonf -e '

deberan pedir informacin o no. Nosotros recomendamos que introduzca # posteonf -e 'smtpd_tls_CAf ile = /etc/postf ix/ssl/cacert .pem'
la informacin apropiada para su sitio de produccin. # posteonf -e 'smtpd_tls loglevel = 1'
# posteonf -e 'smtpd tls_received_header = yes'
# posteonf -e * smtpdtls session_cache_timeout 3600s'
Los siguientes comandos generan un clave de firma y cambian las claves exis- # posteonf -e 'tls random source = dev: /dev/urandom'
tentes por las nuevas:
El archivo /etc/postf ix/main. cf debera quedar as:
# openssl x509 -req -days 3650 -in smtpd.csr -signkey smtpd.key -out \
smtpd.crt # See /usr/ share/postf ix/main. cf .dist for a commented, more complete versin
Signature ok smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
subject=/C=US/ST=Texas/L=Dallas/0=centralsof t org/OU=web/CN=Tom_Adelstein/
. biff = no
emailAddress=tom. adelstein@gmail cora . # appending .domain is the MUA' s job.
Getting Private key append_dot_mydomain = no
Enter pass phrase for smtpd.key: # Uncomment the next line to genrate "delayed rtiail" warnings
# openssl rsa -in smtpd.key -out smtpd. key unencrypted . #delay_warning_time = 4h
Enter pass phrase for smtpd.key: myhostname = serverl.example.com
Correo Correo

alias_maps = hash: /etc/aliases Originalmente creado en la Universidad de Washington, el paquete ipopd-ssl


aiias_database = hash: /etc/aliases
myorigin = /etc/mai Iname est mantenido por Debian. Slo necesita instalarlo, bsicamente configura el
mydestnation = serverl.example.com, localhost.exaraple.com, localhost uso del directorio de correo que existe en el servidor de correo al igual que el que
relayhost = configuramos en el captulo anterior. Los ISP an continan usando POP3, pero
mynetworks = 127.0,0.0/8
las empresas no suelen usarlo.
mailbox_commaRd = proemail -a "$ EXTENSION"
mailbox_size__limit = 0 uw-imapd-ssl ofrece un servidor IMAP Aunque requiere ms espacio en dis-
recipent_deii.miter = + co, IMAP es superior a POP porque deja el correo en el servidor y permite a los
inet_interfaces = all usuarios ver mensajes desde cualquier ubicacin con acceso a Internet y un cliente
smtpd_sasl_local _domain =
de correo. No conocemos ningn cliente de correo actual que no pueda procesar
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_optons = noanonymous IMAL por lo que la mayora de los usuarios pueden usarlo.
broken_sasl_auth_clients = yes Tambin puede ofrecer correo Web en su servidor de correo usando SSL (https),
smtpd_recipient_restrictions = permit_sasl_authenticated,
permitiendo as que los usuarios accedan a su correo desde un navegador Web.
permi.t_mynet works reject
,

unauth_destination
smtpd_tls_auth_only = no Nota: En nuestra configuracin, los usuarios necesitan cuentas de Linux
smtp_use_tls = yes estndar en su servidor de correo, incluso aunque lean su correo desde un
sratpd_use_tls = yes
cliente en otro sistema. Postfix normalmente permite entrega local en un
smtp_t.ls_note__starttls_of fer = yes
dominio, pero requiere una pasarela (como se discuti en la seccin previa)
smtpd_tls_key_f ile = /etc/post f ix/ssl/smtpd key ,

smtpd_tls_cert_f ile = /etc/postf ix/ssl/smtpd crt si los usuarios estn fuera del dominio.
.

smtpd_tls_CAf ile = /etc/postf ix/ssl/cacert .pera


smtpd_tls__loglevel = 1 uw-imapd tiene ventajas y desventajas. Por una parte, usa el estilo Unix para
smtpd_tls_received_header = yes
el buzn de correo, lo que mantiene el correo de todos los usuarios en un
archivo
smtpd_t 1 s_s e s s i on_cache_t imeout = 3600s
tls_random_s ource = dev /dev/uran'dom nico en su directorio de inicio. Este servicio es fcil de administrar.
:

Por la otra parte, uw-imapd no permite a los usuarios virtuales o a aquellos


Ahora ya puede reinidar el demonio Postfix: que no tenga cuenta y directorio de inicio acceder al correo. Adems, a muchos
administradores no les gusta el formato de almacenamiento de rnbox, y prefie-
# /etc/init.d/postfix restart
Stopping mail transport agent Postfix.
:
ren el formato jerrquico de maildir. Al ser un formato de archivo nico mbox
Starting mail transport agent: Postfix. permite acceder a la vez a una sola aplicacin, lo que implica bloqueos y hace
que el sistema vaya ms lento.

Configurando los agentes de entrega de correo POP3 e IMAP Nota: El bloqueo de archivos es un mecanismo que obliga a que slo un
usuario o proceso pueda acceder al archivo en un momento dado. El
En esta seccin aadiremos agentes de entrega de correo para complementar propsito del bloqueo es evitar actualizaciones conflictivas.
a Postfix. Use el siguiente comando en Deban para aadir un servidor IMAP
y
uno POP3. Muchas personas consideran que el bloqueo de archivos es un problema en el
# apt-get install ipopd-ssl uw-imapd-ssl caso del correo. Muchos sistemas de archivos distribuidos carecen de mecanis-
mos de bloqueo. Algunas personas creen que incluso el bloqueo de archivos es
Hemos escogido ipopd-ssl para ofrecer agentes de entrega de correo POP2 y insuficiente para evitar fallos ocasionales en mbox. Con Linux, el fallo es posible
POP3 y uwimapd-ssl para IMAP. No se preocupe por el sufijo ssl, tanto los pa- si un proceso de correo falla en medio de la actualizacin de
un buzn.
quetes que ofrecen servicios sin encriptar como los que los ofrece encriptados. El Elformato maildir, sin embargo, permite acceso concurrente a mltiples apli-
IMAP estndar usa el puerto 143 y POP3 usa el puerto flO. Los protocolos caciones y no necesita bloqueo de archivos. Otros servidores IMAP, como Cyrus,
encriptados y los puertos son POP3S (puerto 995) e IMAPS (puerto 993). Courier y Dovecot, usan el formato maildir para permitir a los usuarios virtuales
152 Correo Correo

y a los usuarios sin cuenta ni directorio de inicio acceder al correo. Configurado


junto con Postfix, las cuentas de usuario slo tienen buzones de correo. Esto
permite a los administradores mantener el MTA el MDA si tener que gestionar
y
cuentas de usuario estndar en el servidor. En este punto, ha instalado y configurado Postfix y un servicio IMAP y otro
Otros servidores IMAP distintos de uw-imapd son difciles de configurar
POP 3. Ya tiene los componentes esenciales de un sistema de correo que puede
y usarse en un entorno corporativo.
necesitan una buena dosis de experiencia, por lo que decida por usted mismo si el
tamao de su organizacin justifica su uso. De ser as, necesitar buscar otros Si esta es su primera toma de contacto con el correo, ahora podr comprender

como el libro "The Book of Postfix" por Ralf Hildebrandt


recursos para informarse, por qu las empresas gastan grandes cantidades de dinero en comprar licencias
de sistemas. Tambin podr comprender por qu pagan a una docena o ms de
y Patrick Katter.
administradores de sistemas para que gestionen las infraestructuras de comuni-
cacin por correo electrnico. Esta rea requiere una experiencia especial. Des-
Configuracin del cliente de correo pus de que haya asimilado la informacin de este libro, podr estudiar los dems
componentes de los sistemas de correo avanzados. Debera saber cmo instalar y
configurar un servidor de correo escalable y seguro y cunto esfuerzo es necesa-
En nuestra introduccin previa al archivo de configuracin de Postfix /etc/ rio para adquirir experiencia en este campo. Tambin necesitar aprender a ges-
postf ix/main cf dejamos en manos del cliente de correo del usuario la deci-
.
, tionar servicios de directorio, como OpenEDAP o Fedora Directory Server, para
sin de aadir el nombre de dominio cuando un usuario escriba un correo desde validar una gran cantidad de usuarios y ofrecer un listado de los usuarios de
su cuenta de correo: correo de su empresa.
El prximo captulo revisa el ser vicio que mucha gente considera como el ms
append_dot_mydomain = no
crtico deuna organizacin: un servidor Web. Despus, introduciremos la confi-
Este es el comportamiento de la mayora de los clientes, que pueden aadir un
guracin de uno de los servidores Web ms populares, Apache, y procederemos a
dominio como @centralsof t org cuando el usuario introduce un nombre de instalar un amplio rango de funcionalidades importantes, como soporte para
.

sitios Web dinmicos y recoleccin de estadsticas, adems le proporcionaremos


cuenta en el campo Para de un mensaje de correo electrnico.
algunos consejos para resolver problemas.
configura Postfix para usar encriptacin, como se mostr anteriormente en
Si
este captulo, el usuario de corro tambin tiene que configurar su MIIA para
usar encriptacin TES a la hora de enviar correo. Los clientes ms modernos
soportan esto y ofrecen una interfaz grfica para activar TES
y usarlo con el
servidor de correo saliente.
Cuando no est en una red definida por Postfix
y es cliente esttico (al con-
trario que el cliente mvil), use el servidor SMTP de correo saliente de su SP. En
este caso, debera seleccionar TES su servidor ofrece su uso. En la gran mayo-
si
ra de los casos, su IS y su contrasea viajarn en texto claro a travs de las
lneas de su ISP. Para el servicio de recepcin de correo, necesitar configurar un
servidor entrante con DNS, como se vio anteriormente. Como breve recordato-
rio, deber usar registros MX para hacer esto. Un registro MX normal sera:
MX 10 serverl.centralsoft.org.

Este registro indica claramente que el correo enviado al dominio


central sof t org debera ser entregado al serverl centralsof t org (que
.
.
.

es el servidor de correo del dominio).


En este captulo, un servidor Web Linux desde cero. Aprender
levantaremos a:

8 Instalar y configurar Apache, FHP y MySQJL.


* Gestionar mltiples sitios Web con hosts virtuales.
8 Encriptar pginas sensibles con SSL.
Activar tecnologas de servidor y Scripts CGI.
Hacer pruebas de rendimiento y de seguridad.
8 Instalar vlogger y Webalizer para ver las estadsticas del sitio.
8 Instalar Drupal, un sistema gestor de contenidos que ser muy til en
muchos entornos y que usa muchos de estos elementos.
Este captulo describe un entorno con un servidor Web, en el captulo siguien-
te, veremos cmo configurar un par de servidores Web para balancear
el trabajo.

Los servidores Web son grandes y complejos, y al configurarlos no est claro


cmo o por qu se hacen determinadas cosas. A lo largo del camino, le mostraremos
por qu hemos elegido algunas alternativas en detrimento de otras. Para que las
explicaciones sean breves y claras, usaremos los procedimientos estndar de Deban.
Dotaremos de seguridad al entorno a medida que avancemos, para resaltar que la

seguridad es un aspecto que debe tenerse en cuenta desde el principio. Al final del
captulo, podr encontrar una seccin para la solucin de errores comunes.

Archivos estticos y dinmicos

Un sitio Web bsico est compuesto por archivos: HTML, grficos, JavaScript,
hojas de estilos y otros tipos. El contenido de estos archivos es esttico, no cam-
bian en el servidor, y el nico trabajo del servidor Web es devolverlos cuando el
Administrando Apache Administrando Apache 157

navegador lo solicite. Un servidor Web necesita slo una pequea configuracin na muy bien y es fcilmente escalable, aunque todo tiene sus lmites. Apuntare-
para servir archivos estticos. mos algunos de esos lmites en este captulo, pero puede saltarse estas secciones
Muchos sitios tambin tienen contenido dinmico, incluso generacin auto- si Ya tenemos la L, ahora exploraremos las A;
prefiere aprender de la experiencia.
mtica de contenido, control de acceso y almacenamiento en bases de datos. La la My P vendrn
la un poco despus. Apache no es el servidor Web ms rpido,
manera ms fcil para hacer archivos HTML dinmicos es usar la tecnologa de ni el ms fcil de configurar, ni el ms seguro, pero es muy superior al resto de
servidor (SSI), que equivale a aadir comentarios formateados mediante HTML servidores. Segn Netcraft, ms del 60 por 100 de los sitios Web pblicos usan
que Apache interpreta para mostrar su valor o incluir contenidos de otros archi- Apache (http //news .netcraft com/ archives/ web_server_survey.html).
:
.

vos HTML. La inclusin de archivos SSI es una forma fcil para definir una cabe- Apache se ejecuta en Linux, Mac OS X y otros sistemas basados en UNIX, adems
cera y un pie de pgina comn a todo el sitio, por ejemplo. de casi todas las versiones de Microsoft Windows.
SSI tiene lmites, aunque una gran mayora de sitios dinmicos usan progra- AI igual que otros programas Unix, Apache puede levantarse con todos sus
mas Common Gateway Interface (CG). Estos programas ejecutables pueden escri- mdulos, obteniendo as un programa muy grnele (con ligadura esttica) o puede
birse en cualquier lenguaje que Linux soporte, aunque las opciones ms populares trabajar con mdulos que se cargan en memoria a medida que se necesitan (obje-
son los lenguajes de script como Perl, PHJ Python y Ruby, seguidos de Java. CGI es tos dinmicos compartidos o DSO). El mtodo OSO es ms fcil y ms flexible,
un protocolo que especifica cmo deben intercambiar las peticiones y las respues- puesto que le permite aadir mdulos una vez que Apache ha sido levantado. La
tas el diente y el servidor. Cuando los primeros CGI aparecieron en la Web, eran instalacin de Deban para PHP y para otros mdulos usa el mtodo DSO.
totalmente independientes de los servidores Web. Cada peticin provocaba que el
servidor Web iniciara un nuevo proceso CGI. El coste de arranque incrementaba el
tiempo de respuesta del sistema, por lo que se desarrollaron alternativas. La gente Instalacin
a menudo confunde el protocolo CGI con este mtodo de implementacin anticua-
do y por ello piensan que CGI es lento. Sin embargo, el estndar CGI no define la
implementacin. Existen mtodos ms rpidos que siguen el mismo protocolo CGI. En esta seccin, instalaremos Apache, PHP y MySQL. Usaremos la instalacin
por defecto para cada uno de ellos para asegurarnos que se ejecutan correcta-
LIn mtodo ms rpido es FastCGI, que inicia el programa CGI como un proceso
mente. En la seccin siguiente, exploraremos los archivos de configuracin de
aparte y gestiona dos vas de comunicacin entre dicho proceso y el servidor Web.
Evitando as el coste de recarga, adems la separacin del proceso asegura que en el Apache y cmo personalizar nuestra instalacin.
caso de que el CGI falle, no llevar asociada la cada del servidor. No obstante, FastCGI

tiene un
inconveniente: al igual que otros programas CGI, no puede acceder a los Apache
entresijos del servidor Web, algo que es necesario en aplicaciones complejas.
Algunos programas CGI han evolucionado en forma de mdulos Apache que Necesita ser usuario root para instalar paquetes. Primero consiga el servidor
se como parte del propio servidor Web: el intrprete de Perl se convirti en
cargan Apache:
m d_perl o PHP se ha convirti en mod__php. El rendimiento de los programas
FastCGI y de los mdulos Apache es similar, y los mdulos tienen tanto ventajas # apt-get install apache2

como desventajas. Tienen acceso a todas las estructuras de datos


y funciones Esto debera instalar Apache e iniciarlo. Funcion? Para saberlo, introduzca su
internas del servidor, por lo que pueden usarse en varias etapas de la transaccin
URL en un navegador Web. Para los ejemplos de este captulo, usaremos el nombre
Web, pero no para generar contenido HTML. Sin embargo, los mdulos (http : / /serverl centralsof t org). Cuando
de nuestro servidor de pruebas . .

incrementan el tamao y el uso de la memoria del servidor Web, y un fallo en sustituirla por la URL de su propio servidor. Si
el vea esta URL en los ejemplos, debe
mdulo puede provocar la cada del servidor Web. navegador en misma mquina en que est alojado el servidor
est ejecutando el la
Web y problemas con la resolucin DNS de su servidor de nombres, puede
tiene

LAMP usar http //localhost o http //127 0 0 1 Si lo est probando desde fuera,
: : . . . .

puede usar la direccin IP del servidor, en este caso http://70.253.158.41.


La instalacin estndar de LAMP (Linux, Apache, MySQL, PHP/Perl/Python) Introduzca la URL del servidor en un navegador Web y podr ver una pgina
usa mdulos Apache para ejecutar las funciones CGI. Esta aproximacin funcio- que empieza as:
;

Administrando Apache Administrando Apache

Si puede ver esto, es que la instalacin del servidor Web de Apache se Entre tanto, si usted es novato, acaba de escribir su primer script CGI. (En la
ha instalado de manera satisfactoria en su sistema. Ahora tiene que
seccin de CGO, ofreceremos ms detalles acerca de cmo los servidores Web eje-
aadir contenido a este directorio y reemplazar esta pgina.
cutan programas externos y Scripts.)
El navegador debera mostrar que Apache ha redirigido la pgina que intro-
dujo por otra: http / /serverl centralsof t org/apache2-default.
: . .

Explicaremos esto un poco despus cuando indaguemos en los archivos de


configuracin de Apache pero, por ahora, nos conformaremos con crear nuestro Si no necesita una base de una plataforma LAP y podr saltarse
datos, tendr
primer archivo Web. Vaya al directorio que Apache considera el directorio raz de esta seccin. Para obtener la plataforma LAME obtenga el servidor de base de
su sitio y cree un archivo simple de texto: datos MySQL y el mdulo PHP para MySQL:

# cd /var/www # apt-get install mysql-server


# echo probando > test.html # apt-get install php4-mysql

Luego introduzca la URL (por ejemplo, http //serverl centralsof t org/


: . . Esto es todo lo que necesita para crear Scripts PHP que accedan a un servidor
test html) en su navegador. Podr ver la palabra probando en la pantalla. Su
.
de bases de datos MySQL, pero tambin instalaremos el cliente estndar de lnea
servidor Apache se est ejecutando sin restricciones de acceso, es decir, sirviendo de comandos para MySQL (mysql) para que nos ayude a probar la base de datos
cualquier archivo y directorio que exista en /var/www. sin tener que usar PHP o Apache.

# apt-get install mysql-client


PHP
Nota: mysql pero no especifica un nombre de cuenta de
Si ejecuta el cliente
PHP es el mdulo CGI de Apache ms popular. En este captulo, usaremos PHP MySQL con opcin -u, intentar usar el nombre de su cuenta Linux. En
la
4, que todava es ms popular que su sucesor, PHP 5. Usar PHP es una buena nuestros ejemplos, hemos accedido como root, por lo que el nombre sera
forma de crear pginas dinmicas, y la gran librera de mdulos PHP ofrece mu- root. Sucede que la cuenta de administrador de MySQL tambin se llama
chas funciones tiles. Comience obteniendo el programa PHP las libreras: root, y tiene el control completo de la base de datos. Sin embargo, las cuentas
y
root de MySQL y de Linux no tienen nada que ver la una con la otra. MySQL
# apt-get install php4 almacena los nombres de cuenta y las contraseas en la propia base de datos.

Ahora consiga el mdulo PHP para Apache, mod_php. Este comando instalar
mod php y le indicar a Apache que le permite ejecutar archivos con sufijo .php: LIsc este comando para ver si el servidor de la base de datos se est ejecutando:

# apt-get install libapache2 -mod-php4 # mysql -u root


Welcome to the MySQL monitor. Commands end with or \g. ;

Your MySQL connection id is 5 to server versin: 4 0.24_Debian-10sarge2-log


.

Cree este script PHP de prueba y gurdelo en /var/www/inf o php:


.

Type ' he Ip ; ' or '\h' for help. Type '\c' to olear the buffer.
<?php
phpinf o { )
mysql > show databases;
?>
j
+ +
Database
Luego introduzca la URL del script (http // serverl centralsof t org/
: . . +
j

+
inf o php) en su navegador. Debera ver una pgina con tablas de informacin
. |
mysql
sobre la configuracin de PHP. Esta informacin ofrece mucha informacin acer- |
test
+ +
ca de su equipo y que no tiene que compartir con el resto del mundo, por lo que
2 rows in set (0.00 seo)
puede borrarlo despus de probarlo. Si no es capaz de ver nada, chele un vistazo
al final de este captulo. mysql > quit;
: : : > : >> ; : :

T
Administrando Apache Administrando Apache

configuracin de Apache por el sistema de archivos, lo que hace difcil saber qu f # Disables .htaccess files in subdirectories
opciones tienen efecto sobre un directorio en un momento dado. Si no necesita f AllowOverride None
</l)i rectory>
archivos .htaccess, no los use. Estn desactivados por defecto.
itDocumentRoot itself
<Directory /var/www/
Options Indexes FollowSymLinks MultiViews
Forbids .htaccess files:
ti

Cada archivo de configuracin de Apache est divido en secciones que contie- AllowOverride None
Order allow,deny
nen directivas Apache (comandos u opciones) y sus valores. Algunas directivas
allow from all
son parte del ncleo de Apache, mientras que las otras slo las usan mdulos # Maps / to /apache2-def ault the initial welcome
,

especficos. Si una directiva se refiere a un mdulo que no ha configurado. Apa- # page that says "If you can see this...":
che fallar al iniciarse y se escribir un mensaje que indique las lneas incorrec- RedirectMatch */$ /apache2-def ault/
</Directory>
tas en el archivo log de errores.
Cuando Apache se est ejecutando correctamente, podr ver las directivas que # Permits CGI Scripts:
se estn usando si introduce este comando: ScriptAlias /egi-bin/ /usr/lib/cgi-bin/
<Directory " /usr/lib/ egi -bin"
# /usr/sbin/apache2 -L AllowOverride None
Options ExecCGI -MultiViews +SymLinksIf OwnerMatch
Al final de este captulo encontrar la ayuda para diagnosticar problemas en Order allow, deny
Allow from all
el servidor Web.
</Directory>
Suponiendo que el archivo de prueba funcion, ahora puede pasar a configu- :

rar Apache. Lo siguiente es el contenido por defecto del archivo de configuracin # Error log for a single site:
ErrorLog /var/log/apache2/error log
.

/etc/ apache2/ sites -enabled/ 000-def ault. Las secciones comienzan y


terminan con etiquetas al estilo HTML, como se puede observar aqu: # Possible vales inelude: debug, info, notice,
# warn, error, crit, alert, and emerg
<VirtualHost *> LogLevel warn
j

</VirtualHost> # Access log for a single site:


CustomLog /var/log/apache2 /access log combined
.

Aqu hay una copia del archivo comentado:


# Sends Apache and PHP versin information to browsers;
Answer to any ame or IP address
# # Set to Off if you' re paranoid, or have reason to be:
NameVirtualHost * ServerSignature On

# Por any virtual host at any address, any port # Shows Apache docs (only to local users)
cVirtualHost *> # if you installed apache2-docs
# If Apache has problems, whom should it contact? # to suppress showing the documents,
ServerAdmin webmaster@localhost # you can comment these lines or delete them:
Alias /doc/ "/usr/share/doc/"
# Our web site files will be under this directory: <Directory "/usr/share/doc/"
DocuraentRoot /var/www/ Options Indexes MultiViews FollowSymLinks
AllowOverride None
# Overall directives, in case we move DocuraentRoot Order deny, allow
# or forget to specify something later: Deny from all
<Directory /> Allow from 127.0.0.0/255.0.0.0 ::1/128
# tets Apache follow symbolic links </Directory>
Options FollowSymLinks ,
</VirtualHost>
Administrando Apache Ad m nistrando Apache

La mayor parte de los cambios que haremos en los archivos de configuracin visitante. La autorizacin determina lo que el visitante puede hacer, como por
de Apache en esta seccin se harn sobre este archivo. Ei archivo de configura- ejemplo;
cin /etc/ apache2/apache2 conf contiene muchas opciones de la parte ser-
.

vidora que no necesitan cambiarse, con algunas excepciones notables que sern
Leer un archivo.

las que veamos aqu. Usar tecnologa de servidor.


Ejecutarun programa CGL
Generar un ndice para un directorio que carezca de l.

Estas importantes opciones indican a Apache que se ejecute para un ID de


le
En Apache, el lugar habitual para almacenar la informacin de autentifica-
usuario y un ID de grupo particular. El archivo /etc/apache2/apache2 conf .
cin es un archivo de usuario en texto plano (a menudo llamado archivo
por defecto contiene:
.htpasswd, despus de que el programa lo modifique). El archivo de usuario con-
User www-data tiene los ID de usuario y las contraseas cifradas. El archivo de grupo opcional
Group www-data contiene los ID de grupo y los ID de usuario en texto plano. Es til para sitios
grandes debido a que permite especificar permisos para un grupo entero, en lu-
Cualquier archivo y directorio servido por Apache necesita ser ledo por este
gar de especificarlos para cada uno de los usuarios individuales.
usuario y este grupo. Los permisos de archivo y de directorio incorrectos son
una de las causas ms comunes de errores en Apache, como la incapacidad de ver
Archivos de usuario
una pgina (o la posibilidad de ver algo que no debera verse).
Como ejemplo, cree un directorio protegido por contrasea y coloque, un pe-
Directiva Listen
queo archivo de texto dentro:
Apache normalmente responde a las peticiones en Puerto TCP 80, pero puede
# cd /var/www
escuchar en otros puertos, adems del 80. Es muy comn usar otro puerto para
# mkdlr secret
pruebas, muchas personas usan el 81 porque es fcil de recordar porque no se usa # cd secret
y
para otra cosa, para especificar uno o ms puertos, use una o ms directivas Listen: # echo "puedes verme > file.html

Listen. 81 Puesto que no lo ha protegido todava, el archivo debera ser visible desde el

navegador (http //serverl centralsof t org/secret/f ile html):


:
. . .

Si va a usar encriptacin SSL para algunas pginas, necesitar incluir esta


directiva para usa el puerto seguro estndar: puedes verme

Listen 443
Ahora haga un archivo de usuarios:
Directiva DocumentRoot # cd / tmp
# htpasswd -c /tmp/users jack
Cada sitio Web tiene su raz, que es el directorio que tienen los archivos de New password: blackpearl
contenido y los Scripts. Est especificado por la directiva DocumentRoot. En la Re-type new password: blackpearl
configuracin por defecto de Deban, est especificado en /etc/apache2/sites~ Adding password for user jacte
enabled/OOO-def ault:
Su contrasea no se mostrar cuando la introduzca. Necesitar incluir el
DocumentRoot /var/www/ parmetro -c la primera vez que ejecute el programa htpasswd en el archivo,
para crear el archivo.

Algunas partes de su sitio Web estarn abiertas a todos, pero quizs quiera Nota: No use d parmetro -c cuando aada ms usuarios, porque esto
restringir el acceso a ciertos visitantes. La autentificacin determina quin es un provocar que d archivo se sobrescriba.
Administrando Apache Administrando Apache

Si quiere cambiar la contrasea de jack despus, introduzca: Enter username and password for "test" at serverl.centralsoft.org
Username
# htpasswd /tmp/users jack Password
New password: kraken
Re-type new password: kraken Introduzca el nombre y la contrasea (ver los asteriscos cuando introduzca
Updating password for user jack la contrasea) y haga clic en O'K. Debera ver:
Elarchivo de usuario consiste en una serie de lneas que contienen un nombre
puedes verme
de usuario y una contrasea encriptada, separados por dos puntos {:), como se
muestra aqu:

jack :OSRBcYQOd/qsI Otra forma de manejar muchos usuarios es usar el archivo de grupo. Cree un
archivo /tmp/groups que contenga un nombre de grupo, dos puntos y uno o
Ahora edite el archivo de configuracin del sitio Apache /etc/apache2/
ms nombres de usuario separados por espacios:
sites-enablecl/OOO -def ault y aada (antes del final de la lnea
</
VirtualHost>): piratee: jack will elizabeth

<Location /secret> grupo y cada usuario individualmente:


Tambin se puede poner el
AuthName "test"
AuthType Basic pirates: jack
AuthUserFile /tmp/users pirates: will
Order deny,allow
pirates: elizabeth
require valid--user
</Location>
Luego aada una directive AuthGroupFile a OOO-default:
AuthName es obligatorio y debe ir seguido por una cadena de texto. Nosotros
cLocation /secret>
hemos usado "test", puede usar ""
si quiere, pero por alguna razn no puede
AuthName "test"
omitir la directiva. AuthType Basic quiere decir que estamos usando un archi- AuthType Basic
vo de usuario de tipo htpasswd. AuthUserFile especifica la ubicacin de dicho AuthUserFile /tmp/users
archivo. La directiva Order indica que Apache debera denegar el acceso por de- Order deny al low
,

AuthGroupFile /tmp/groups
fecto, y permitir el acceso slo si el usuario est especificado en el archivo de require group pirates
usuarios. Por ltimo, la directiva require indica que cualquier usuario del ar- </Locat
chivo de usuarios tiene permitido el acceso. Para permitir que slo el usuario
jack pueda ver el archivo que hemos creado, debera poner: Reinicie Apache como de costumbre para que los cambios surtan efecto:

require jack # /etc/init d/apache2 reload


.

Y si quiere permitir ms de un usuario, debera poner algo parecido a esto:

require jack will Elizabeth


Apache aplica restricciones de autorizacin a los contenedores, o a archivos y
Apache debe volver a leer su archivo de configuracin para que los cambios Un
ejemplo de contenedor se discuti en secciones ante-
directorios del servidor.
tengan efecto:
riores. Ahora revisaremos varias directivas de contenedores.
# /etc/nit d/apache2 reload
.

Rutas absolutas: Directorio


Ahora, intente acceder al archivo (http://www.example.com/secret/
file html) desde alguna de las cuentas listadas en el archivo de usuario. Podr
. Esta directiva especifica un directorio del servidor. Aqu mostramos un ejem-
ver un cuadro de dilogo donde pone algo parecido a esto: plo de los contenidos originales del archivo de configuracin de Apache:
Administrando Apache Administrando Apache

<Directory / En la directiva, primero va el (nombre alternativo), seguido de la ubicacin


alias
Options Fol lowSymLinks actual del directorio. El directorio puede estar fuera de la raz. En este caso, el ar-
AllowOverride None
< /Directory>
chivo tmp/test/ bu tton.gif estara accesible desde la URL http://
www. example . com/test/button gif . ,
incluso aunque no estuviera en /var/
www/test.

Esta directiva especifica los archivos y los directorios relativos al directorio


raz. Por ejemplo: Lmites

<Location /cgi> En un servidor ocupado, Apache puede crear muchos procesos hijos simult-
Options ExecCGI neos y usar mucha memoria. Esto puede incrementar la carga media y hacer que
</Location>
el sistema se vuelva ms lento, incluso que no responda. La tabla 6.2 muestra

permite programas CGI situados en /var/www/cgi. Veremos esto de nuevo cmo puede limitar algunos valores de ejecucin de Apache en el archivo de con-
figuracin del sitio.
en la seccin CGI.

Tabla 6.2. Directivas de recursos Apache.

Puede que necesite un archivo o un directorio especfico basndose en algn


Directiva Valor por defecto Uso
patrn de texto. Aqu mostramos un ejemplo de cmo evitar que las personas MaxClients 256 Mximo de peticiones simultneas.
descarguen imgenes de su sitio sin autorizacin, para ello comprobamos dnde ms peticiones, se rechazan.
Si llegan
se origin la peticin. Se usa la directiva RlesMatcb, que permite especificar ex- MaxRequestsPerChild Mximo de peticiones ser vidas antes
0 (infinito)
presiones regulares (patrones) sin marcas de comillas:
de que un proceso hijo se reinicie.
# Sorae notes on the regular expression:
Para evitar prdidas de memoria.
# \.means a literal dot character. KeepAlive on Reaprovecha las conexiones TCP
# (gif jpg] jpeg |png)
means any of these four strings.
|
entre diente Web y Apache.
el
# $ means the end of the f i leame.
# The regular expression will match files with the suffix
Incrementa la velocidad de descarga
# gif
. jpg,
, jpeg, or .png.
. .
de la pgina, puesto que devuelve
cFilesMatch \. {gif jpg jpeg |png) $"
| |
todos los contenidos de la pgina a
'
# Set the environment variable local to 1
travs de la misma conexin.
# if the referring page (the URL this image
was called from) is on this site.
tt KeepAliveTimeout 15 Segundos que se deben esperar
# Set local to 0 if the URL was on another site antes de que otra peticin use la
# that wants to steal our lovely images
SetEnvlfNoCase Referer " A http //serverl centralsof t org/ " local=l
misma conexin.
: . .

Order Allow, Deny


# This checks the local variable and
# allows access only if the referrer was local.
Allow from nv=local
</FilesMatch> La SSI puede usarse para incluir archivos de contenido, salida de programas, o
contenidos de variables de entorno como parte de un archivo HTML. La sintaxis
para especificar SSI en los archivos de configuracin de Apache puede ser confu-
sa. Por ejemplo, para permitir tecnologa de servidor en /var/www/ssi, pero no
La directiva Alias asigna un nombre a un directorio:
otras opciones, cree un. directorio:
Alias /test /tmp/test # mkdr /var/www/ssi
170 Administrando Apache Administrando Apache 171

e indique a Apache que permita esta tecnologa: Ahora cree el archivo middle shtml con
. este contenido:

cLocation /ssi> <!--#include virtual "top.html 11

Options Ineludes En el medio


</Location> < ! --#.include virtual "bottom.html " -->

Fjese en que el la inclusin (middle shtml) necesi-


archivo que est haciendo
Para aadir SS a las opciones existentes, use: .

que se estn incluyendo (top.html y


ta la extensin, .shtml, pero los archivos
cLocation /ssi> bottom html) no. Ahora ponga en la barra de direcciones del navegador http /
. :

Options +Includes /serverl centralsof t org/middle shtml y podr ver:


. . .

</Location>
arriba
SSI permite incluir archivos de contenido, pero tambin puede ejecutar cual-
le en el medio
quier programa e incluir su salida. Esto puede no ser muy seguro, por lo que abajo
para restringir la inclusin de archivos de contenido solamente, use:
opcin Ineludes est definida corno contenedor, SSI tambin puede ejecu-
Si la

cLocation /ssi> tar comandos, pero el usuario (normalmente un navegador Web) no puede pa-
Options IncludesNoExec sarle ninguna directiva. La ejecucin de comandos SS se sude usar para hacer
</Location> algunas cosas como listado de directorios:
fciles el

Si quisiera tener archivos SSI en varios lugares en lugar de tenerlos todos <!--#exec cmd="ls -1 /tmp"-->
confinados en este directorio, puede indicarle a Apache que asocie a tipo de archi-
vo el sufijo SSI: Otro funcionalidad de SSI mostrar variables de entorno CG1 y otro
es la de
tipo de variables. Una forma rpida de imprimir todas estas variables es:
AddHandler server-parsed . shttnl
< ! - - #printenv- * >
Para que SSI funcione, el mdulo de Apache correspondiente tiene que estar
Para una variable determinada, sera:
cargado, puesto que no se carga con la instalacin por defecto de Apache o de
PHP, tendremos que teclear lo siguiente: <!--#echo var = " DATE_GMT " - -

# a2enmod inelude lo que mostrara:


Una vez instalado el mdulo inelude; ejecute /etc/ init d/apache2 .

force-reload para activarlo. Tuesday, 01-Aug-2006 02:42:24 GMT


# /etc/init d/apache2 force-reload
.

Si slo tiene archivos estticos, o una mezcla de archivos estticos y Scripts


Los comandos SSI parecen comentarios HTML. Tienen la forma: CGI, es ms seguro desactivar la ejecucin de comandos SSL

< !
--#command argument=" valu" -- cLocation />
Options IncludesNoExec
Los posibles valores del comando son indude (incluye archivos), echo (mues- </Location>
tra variables de entorno), exec (incluye la salida de un comando) y config (da
formato a las variables de echo). CGI
Primero vamos a probar la inclusin de archivos. Cree dos archivos: CGI es una forma mucho ms flexible (y peligrosa) de ejecutar programas en
servidores Web, puesto que los usuarios pueden pasar informacin a los progra-
# cd /var/ww/ssi
# echo "top stuff" > top.html mas. Apache tiene dos formas de especificar qu programas pueden ejecutarse
# echo "bottom stuff > bottom.html como programas CGI.
1 72 Administrando Apache Administrando Apache 1 73

Location Ahora vamos a intentar hacer algo ms interesante, nos conectaremos al ser-
vidorMySQL, ejecutaremos una consulta MySQL e imprimiremos los resultados
Las dos siguientes directivas sirven para asociar los programas CGI del direc- como HTML. De nuevo, necesitaremos la contrasea del usuario root para MySQL.
torio/var/ cgi con la URL que comienza porhttp : / / serverl . centralsof t Guarde este archivo como /var/www/db .php:
org/ cgi/:
<?PftP
$link = mysql_connect "localhost" "root", "newmysqlpassword"
(
)
ScriptAlas /cgi /var/cgi ,

if ( $link) {
S

echo "Can't connect to database. Drat.\n";


O exit { )
}
<Location /cgi> $result = mysql_query "show databases"); (

Options ExecCGI if $result)


! {
</Location> echo "Arggh, a database error: ", mysql_error { );
exit ( )

# print_r prints all of a variable' s contenta


El mtodo del sufijo asocia un tipo MIME (nombre estndar para tipos de while ($row = mysql_fetch_assoc ($result)
print_r {$row)
archivos) con un sufijo. El mdulo php usa este mtodo para conseguir que Apa-
?>
che pase los archivos .pho al intrprete de mod php:
Introduzca la URL http://serverl.centralsoft.org/db.php en su
AddType application/x-httpd-php .php
navegador y podr ver:

Aqu le mostramos los contenidos del archivo de configuracin de Apache Array { [Database] => mysql ) Array { [Database] => test )

para mod__php (/etc/apache2/mods-enabled/php4 conf ), que trata los ar- .

Si hubiese usado el mismo comando SQL desde el cliente de lnea de coman-


chivos con el sufijo .phtml o .php como Scripts PHP:
dos, habra obtenido los mismos resultados (dos bases de datos, llamadas mysql
<If Module mod_php4 c> . y test), pero con un formato diferente:
AddType application/x-httpd-php .php .phtml ,php3
AddType application/x-httpd-php- source .phps $ mysql -u root -p
Enter password:
</lfModule>
Welcome to the MySQL monitor. Commands end with or \g ;

Your MySQL cormection id is 2 996 to server versin: 4.0. 24__Debian~


La primera lnea AddType indica que los archivos que terminen en .php, .php
10sarge2-log
o .phtml se ejecuten como programas CGI. La segunda lnea AddType le indica a
Apache que imprima el contenido de los archivos con sufijo .phps en lugar de Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
ejecutarlos y devolver su salida. Los autores de sitios Web pueden usar esto para
mysql > show databases;
ejecutar un script (.php) y permitir que los usuarios vean el cdigo fuente (.phps). + +
Si de manera accidental usa el sufijo .phps en lugar de .php, su script: no se ejecu- Database I
|

tar, sino que su contenido se mostrar por pantalla. 4 +


mysql
Nunca ponga un intrprete de Perl, PHP o una shell de Linux en un directorio |

|
test
CGI. Cualquiera podra ejecutarlos con permisos de usuario y de grupo de Apache.
Cuando probamos la instalacin PHP anteriormente, creamos un pequeo 2 rows in set (0.00 sec)
programa PHP:

<?php
phpinf o ( ) ;
Las directivas PHP deben colocarse en su propio archivo de configuracin PHP
(/etc/php4/apache2/php ini) o en el archivo de configuracin de Apache.
.
174 Administrando Apache Administrando Apache 1 75

Normalmente, no tendr que manipularlas, a menos que instale un mdulo PHP indicado en la peticin del navegador con el directorio donde se almacenan los

de extensin o quiera modificar dnde se deben buscar las libreras o configurar archivos que se servirn:
algunas opciones (como el modo seguro). Los mdulos Apache normales tienen
# Accept any site ame on any port
archivos de configuracin con una extensin .conf, ubicados en el directorio / NameVirtualHost *
etc/apache2/mods~enabled. cVirtualHost *>
ServerName wwwl example cora
. .

DocumentRoot /var/www/vhosts/wwwl example com"


. .

Hoss Virtuales </VirtualHost>


cVirtualHost *>
Aunque un servidor Apache dedicado para un nico sitio, proba-
podra tener ServerName www2 example com
. .

# A virtual host can have mltiple ames:


blemente querr manejar ms de un sitio. Apache llama a esta caracterstica ServerAlias backup.example.com
"hosts virtuales", y hay ms de una manera para especificarlos. Cuando un dien- DocumentRoot " /var/www/vhosts/www2 example com"
. .

te Web contacta con un servidor Web va http, enva la direccin IP de destino y </VirtualHost>
(en HTTP 1.1, el protocolo Web estndar actual) el nombre de un servidor de esa
direccin.
En laconfiguracin por defecto de Apache, no hay host virtuales indepen- Si quiere administrar mltiples equipos sin necesidad de especificar los nom-
dientes. Apacheservir las pginas Web sin importar cuntos nombres tenga el bres de cada uno en los archivos de configuracin, puede activar el mdulo
servidor, y todos los nombres de dominio comparten la misma configuracin. mod_vhost__alas de Apache:
En los siguientes ejemplos, supondremos que necesita alojar cada sitio en su
# a2enmod vhost_alias
propio directorio en /var/www/vhosts.
y configurar los nombres que se servirn en el archivo designado. El elemento
Hosts virtuales basados en IP vhost alias del comando anterior sustituye al archivo /etc/apache2/mods-
enabled/vhost alias conf. El contenido de ejemplo es:
.

Si tiene ms de una direccin en su servidor y quiere dedicar ciertas direccio-


IP
nes a ciertos sitios, debe usar host virtuales basados en IP (o basados en direccin): UseCanonicalName Off
VirtualDocumentRoot /var/www/vhosts /%0
cVirtualHost 192. 168. 6. 1>
S e rve rName " www 1 La directiva VirtualDocumentRoot es muy flexible. El %0 especificado aqu
DocumentRoot " /var/www/vhosts/wwwl example com"
. .
sustituye ainombre entero del sitio ( server 1 centralsof t org). Podramos
. .

</VirtualHost>
haber usado 962 para obtener la segunda part e de la izquierda (centralsoft), 96-2
cVirtualHost 192. 168. 6. 2>
ServerName "www2" para la segunda parte de la derecha (tambin centralsoft), 962 + para la segunda
DocumentRoot " /var/www/vhosts /www2 example com"
. . parte del nombre (centralsoft org), etc. Estas alternativas son tiles si tiene
.

</VirtualHost> muchos hosts virtuales. Si siempre tiene el mismo nombre base de dominio, como
centralsoft.org, y los sitios se llaman wwwl.centralsoft.org, www2 .

Esto era lo ms comn en los primeros das de la Web, debido a que HTTP 1.0
centralsoft org, etc., podra usar 961 para obtener los directorios /var/www/
.

no tena forma de especificar qu servidor quera consultar en esa direccin, ahora,


vhost s/wwwl, /var/www/vhosts/www2, etc.
con HTTP 1.1, el alojamiento basado en nombres es ms popular.
Por ahora, solo use 960 para obtener el nombre completo y cree un directorio
Hosts virtuales basados en nombres para cada host virtual:

# cd /var/www/vhosts
Con este mtodo, la directiva NameVirtualHost define qu direcciones pueden
# mkdir wwwl.centralsoft.org
ser hosts virtuales; * significa cualquier nombre o direccin de este nombre, in- # echo "test wwwl centralsof t . org"
. > wwwl.centralsoft.org/index.html
cluyendo localhost, 127.0.0.1, www.centralsoft.org, www2 centralsof t . # mkdir www2.centralsoft.org
org, u otros. Las directivas ServerName asociadas con el nombre del servidor # echo "test www 2 .centralsoft.org" > www2.centralsoft.org/index.html
Administrando Apache Administrando Apache

Luego reinicie Apache: Por defecto, todos sus hosts virtuales comparten los mismos logs de acceso y
de error. Si tiene ms de un host, no obstante, ser conveniente dividir los logs
# /etc/init d/apache2 reload.

para ofrecer anlisis diferentes para cada uno.


Si tiene registros DNS que apuntan a wwwl.centralsoft.org Apache tiene dos formatos estndar para archivos logs de acceso: comn y
y
www2 centralsof t org desde su servidor, puede poner en el servidor http /
. .
: combinado. Encontrar sus respectivas definiciones en el archivo de configura-
wwwl centralsof t org/ ndex html y http / /www 2 centralsof t org
. . .
: . . cin maestro de Apache, / etc/apache 2 /apache conf .

para ver los contenidos de los archivos ndex html de prueba que acaba de .

hacer. # The followng directives define some forma t nicknames for use with
# a CustomLog directiva (see below)
LogFormat "%h %1 %u %t \"%r\" %>s %b \"%{Referer} i\" \"%{ser-Agent}i\"
combined
LogFormat "%h %1 %u %t \"%r\" %>s %b" comrnon
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{ser~agent}i" agent
Apache escribe archivos ASCII de log de dos tipos: acceso (peticiones que se
hacen al servidor) y error (errores que ocurren durante las peticiones). Puede Todos los % en los archivos de configuracin de Apache representan variables;
controlar qu se escribe en estos archivos, dependiendo de lo que quiera saber por ejemplo, %h significa nombre de equipo. El formato combinado es el formato
sobre los visitantes de su sitio, cunto espacio tenga en disco (los logs pueden comn pero incluye el visitante y el agente de usuario (navegador). Desgraciada-
hacerse muy graneles) y qu herramientas de anlisis de logs quiera usar. mente, ninguno de los dos formatos incluye el nombre del host: virtual (una
Un mensaje de acceso tpico (divido en varias lneas para que quepa en la variable %) que necesita para dividir el log por equipos. Por tanto, si quiere hacer
pgina) es: esto ltimo, tendr que definir un nuevo tipo de log.
En lugar de dejando huellas por todos los archivos de configuracin de Apa-
ir
192.168.0.1 -
[22/Sep/2006 15 04 05 -0400] "GET / HTTP/1.1"
- : :

200 580 "Mozllla/5 0 (Windows; U; Windows NT 5.0; en-US;


.
cambios en el sitio como lo hemos hecho hasta ahora
che, contine haciendo los
rv 1 8 0 7
: . . . ) Gecko/20060909 Firef ox/1 5 0 7 . . . (/etc/apache 2 / sites -enabled/ 000-def ault). Ponga estas lneas encima de
sus directivas VirtualHost:
Un mensaje de error tpico es:

[Fri Sep 29 10:13:11 2006] # Define a new virtual host comrnon log format:
[error]
LogFormat "%v %h %1 %u %t \%r\" %s %b" veommon
[client www.centralsoft.org]
File does not exist: /var/www/ ndex. html

Los logs por defecto son /var/log/apache2/access log y /var/log/ .

apache2 /error log. .

Se estar preguntando si dividir la informacin de los logs en los archivos de


Apache a medida que se va accediendo, o dividir el archivo de acceso una vez al
da con una utilidad para dividir los archivos log de Apache. Preferimos la prime-
ra opcin, debido a que coloca las lneas en el log adecuado inmediatamente, y no
La configuracin por defecto de Apache incluye una tarea diaria que hace
rotar los logs de acceso y de errores. La rotacin consiste en:
necesitamos escribir tareas cron. Un buen programa es vlogger. Apache le per-
mite conectar el log con algunos programas externos, que es justo lo que quere-
1 . Renombrar access log a access log . . . 1 y error log a error log 1
. . . .
mos. Aada toda esta informacin debajo de la lnea LogFormat que introdujo
2. Incrementarel nmero de la extensin de logs rotados anteriormente (por previamente:
ejemplo,access log 1 se incrementa a Access log 2 ).
. . . .

# Split log on the fly into virtual host directori.es


3. Borra access log 7 y error log 7. . . .
.
# under /var /log /apache 2
4. Crea un nuevo access log y un error log. . .
CustomLog "| /usr/sbin/vlogger -s access.log /var/log/apache2 " veommon
Administrando Apache Ad m i nistrando Apache

Ya que vlogger no forma parte del paquete estndar de Deban, instlelo: aplicacin, por la misma razn. Encriptar los datos sensibles como los nmeros
# apt-get install vlogger de tarjeta de crdito y las contraseas es esencial.
Cuando solicita una pgina desde un servidor Web con el prefijo http://, to-
Luego reinicie Apache:
dos los datos que circulan desde el servidor hasta el navegador estn sin cifrar.
# /etc/init. d/apache2 restart Cualquiera con acceso a las redes que intervienen en la comunicacin puede cap-
turar los contenidos. Piense que el acceso Web (como el correo electrnico estndar)
vlogger crear un archivo en el directorio /var/log/apache2 para cada host
es una postal en lugar de una carta.
virtualque ha definido. Se crear un log de acceso diario con marcas de tiempo, y
con un enlace simblico al archivo access log ms reciente: .
El estndar Secure SocketsLayer fue desarrollado para encriptar el trfico Web,
y ha sido un factor decisivo en la explosin de sitios comerciales y del comercio
# cd /var/log/apache2/wwwl example com . .
electrnico en la Web. Apache tiene la capacidad de encriptar el trfico Web con
# ls -1
total 4 SSL, que con ligeras modificaciones se conoce como la capa Transport. Layer Security.
-rw-r--r- - 1 root root 984 Aug 3 23:19 08032006-access.log Este cifrado se obtiene cuando accede a un sitio con el prefijo https://. Imagine
lrwxrwxrwx 1 root root 19 Aug 3 23:19 access.log -> 08032006-access.log que el trfico Web cifrado es como un sobre sellado.
Vamos a configurar SSL para Apache. Edite /etc/apache2/ports conf y .

aada esta lnea:

Hay muchos analizadores de logs libres y comerciales: Nosotros pensamos Listen 443
que Webalizer es una buena opcin porque es fcil de instalar y genera una sali-
da muy til: Luego active el mdulo SSL de Apache e indique a Apache que debe usarlo:

Introduzca:
# a2enmod ssl
# apt-get install webalizer
El mdulo ssl est instalado; ejecute /etc/init d/apache2 force-reload
.

Which directory should webalizer put the output in? para activarlo.
/var/www/webalizer
Enter the title of the reports webalizer will generate. # /etc/init. d/apache2 force-reload
Usage Statistics for serverl.centralsoft.org
What is the filename of the rotated Webserver log?
/var/log/ apache2 /access log
Ahora intente acceder a su pgina de inicio con https / / URL (por ejemplo, :

. .

https //serverl centralsof t org).


:
. .

Acceda a l a travs del URLhttp //serverl centralsof t org/webalizer.


: . . Para que SSL funcione, su servidor necesita un certificado. Este certificado es
Al da siguiente (despus de que se ejecute la tarea croo de Webalizer /etc/ un archivo encriptado que prueba que el usuario es quien dice ser. Cmo sabe el
cron da i ly/ webalizer) podr ver pginas con tablas que describen el acceso a
.
navegador en quin debe confiar? Los navegadores Web disponen de listas de
su servidor Web. No necesita editar el archivo de configuracin (/etc/ autoridades de certificacin (CA). La cadena de comandos para ver estas listas es:
webalizer . conf), a menos que quiera cambiar las opciones que proporcion
Pirefox 2.0
durante la instalacin.
Herramientas Avanzadas Cifrado
* > Ver certificados Autoridades
>

Nota: Los spammers tienen formas de manipular los logs Web, por lo que Internet Explorer 6.0
buena prctica restringir el acceso a las pginas de salida de Webalizer.
es uia Herramientas Opciones
de Internet Contenido
> Certificados
Certificado de confianza raz

Encrlptacin SSL/ILS Los CA son empresas que venden a las organizaciones un certificado y se en-
cargan clel trabajo legal para verificar su identidad. Los sitios Web comerciales
WillieSutton dijo que robaba bancos porque era "donde estaba el dinero". Los casi siempre usan CA comerciales, porque el navegador sude aceptar los certifi-
ataques en Internet se estn incrementando, sobre todo los ataques a nivel de cados que expenden. De manera alternativa, usted puede ser su propio CA y crear
Administrando Apache Admi nistrando Apache

un certificado como con certificados comer-


propio. Esto funciona tanto con SSL Como mnimo se necesita un archivo HTML esttico para evaluar el rendimien-
ciales, pero el navegador Web
preguntar al usuario si desea o no aceptar el
le to. Cree un archivo llamado /var/www/bench.html. Debera ser aproximada-
certificado. Los certificados propios son comunes en proyectos de cdigo abierto mente del tamao que cabe esperar para una pgina de su sitio. Puede impresionar
pequeo y durante las pruebas de proyectos grandes. a sus amigos generando texto en Latn desde el sitio http / /www lipsum.com y
:

pegndolo en bench html. El programa que evala el rendimiento es ab, pertene-


.

ciente al paquete apache2-uts, y debera instalarse junto con Apache. Hagamos


suEXEC 1000 peticiones distintas para el mismo archivo, con concurrencia 5 (5 peticiones
simultneas):
Apache puede servir mltiples sitios al mismo tiempo, pero hay sitios que
tienen pginas distintas, scripts CGI, usuarios, etc. Debido a que Apache se eje- # ab -n 1000 -c 5 http://serverl.centralsoft.org/bench.html
cuta con los permisos de un determinado usuario y grupo (por defecto www- This is ApacheBench, Versin 2.0.41-dev <$Revision$> apache-2.0
Copyright (c) 1996 Adam Twiss, Zeus Technology Ltd,
data), el usuario puede escribir
y leer el contenido de todos estos sitios. Pero http: //www. zeustech.net/
nosotros queremos asegurarnos que slo los miembros de un sitio determinado Copyright (c) 1998-2002 The Apache Software Foundation,
pueden ejecutar los programas de ese sitio y acceder a los datos de ese sitio. Como http://viww.apache.org/
de costumbre, hay ms de una forma de hacer esto, usando varias combinacio-
Benchmarking serverl.centralsoft.org (be patient)
nes de Apache, PHP y otras herramientas. Completed 100 requests
Un mtodo popular es usar suEXEC, un programa que se ejecuta con permi- Completad 200 requests
sos de root y hace que los Completed 300 requests
programas CGI se ejecuten con el ID de usuario y de
Completed 400 requests
grupo de un usuario especfico, no el usuario y el grupo del usuario que ejecuta Completed 500 requests
el servidor Apache. Por ejemplo, al usar nuestro segundo host virtual Completed 600 requests
www2.example.com, con la cuenta de usuario www-user 2 y el grupo www- Completed 700 requests
group2, cambiaremos los permisos del host virtual especificando: Completed 800 requests
Completed 900 requests
cVirtualHost www2 example com> Finished 1000 requests
. .

SuExecUserGroup www-user 2 www-group 2


Server Software: Apache/2 .0.54
</VirtualHost>
Server Hostname: serverl centralsoft.org
Server Port 80

Document Path: /bench html


.

Document Length: 1090 bytes


Nuestro principal objetivo es instalar y configurar nuestro servidor Web de Concurrency Level: 5
manera correcta y segura. Adems de esto, queremos asegurarnos que puede Time taken for tests: 2.799386 seconds
soportar la carga de trabajo que suponen nuestros sitios Web. La Web tiene mu-
Complete requests: 1000
chas partes dinmicas, es muy fcil que estas partes produzcan
bloqueo del el
Failed requests: 0
sistema. Para evaluar rendimiento de nuestro sistema, vamos a usar herra-
el
Write errors: 0
mientas especializadas que simulan cientos de usuarios activos (que por otra par- Non-2xx responses: 1000
te es mucho ms barato que pagar a cientos de usuarios para hacer las pruebas). Total transferred: 1425000 bytes
HTML trans f erred 1090000 bytes
Requests per second: 357.22 [#/sec] (mean)
Nota: Apache puede ejecutarse con diferentes versiones, llamadas modelos. Time per request: 13.997 [ms] (mean)
La instalacin por defecto de Deban es el modelo tenedor, en el cual varios Time per request: 2.799 [ms] (mean, across all concurrent requests)
procesos Apache atienden las peticiones. Este suele ser el modelo que mejor Trans fer rate: 496.89 [Kbytes/sec] received
funciona bajo Linux.
Connection Times (ms)
Administrando Apache Administrando Apache

min mean [+ /-sd] median max # apt-cache search drupal


Connect 0 0 0.1 0 3 drupal - fully-f eatured content management/dscussion engine
Processing 6 11 2.2 1 22 drupal -theme-marvinclassic - "Marvin Classic" theme for Drupal
Waiting 5 10 2 . 11 18 drupal -theme-unconed - "UnConeD" theme for Drupal
Total 6 11 2.2 11 22

El primero es el que nosotros queremos, por lo que vamos a instalarlo de la


Percentage of the requests served within a certain time {ms
50% II siguiente manera:
66 % 12
75% -13 # apt-get install drupal
80% 13
90% 14
El proceso de instalacin indica que necesita varios paquetes que no tiene,
95% 14
98% 15 consgalos e instlelos. Luego se le preguntar por la configuracin de Drupa! a
99% 16 travs de una secuencia de mens. Use el fabulador para moverse entre las op-
100 % 22 (longest request) ciones, la barra espadadora para seleccionar una opcin o ntro para ir a la
siguiente pgina. Solamente incluiremos la ltima lnea de cada pantalla aqu,
Normalmente, la gente quiere ver las peticiones por segundo o su inverso, el
eso s, con la respuesta recomendada:
tiempo por peticin. Estos nmeros le indicarn qu debe mejorar en relacin
con el hardware del servidor y con la configuracin de Apache. Automatically create Drupal datbase?
Yes

Instalando y administrando Drupa! Run database update script?


Yes

Ahora ya tenemos Apache, PHP y MySQL ejecutndose, instalemos un pa- Database engine to be used with Drupal
quete para usarlos. Desgraciadamente, no vamos a pagar por un producto co- MySQL
mercial, por lo que escogeremos algn producto de cdigo abierto, que represente
Database server for Drupal' s database
un ejemplo tpico de software real y que sea bastante til. Vamos a visitar por
localhost
ejemplo http //www drupa! org:
: .

Drupal es un software que permite a un individuo o a una comunidad de usuario Database server admnstrator user ame on host localhost
publicar, gestionar y organizar una variedad de contenidos en un sitio Web. root

Entre estas funcionalidades se incluyen foros, gestin de documentos, gale- Password for database server admnstrator root on localhost
ras, grupos de noticias y otras formas de colaboracin basadas en Web. newmysqlpassword
Las siguientes dos secciones describen los dos mtodos de instalacin de Drupal:
Drupal database ame
* ms fcil, as es que intntelo en primer lugar. Sin embargo,
apt-get: Es lo Drupal
nosotros hemos tenido problemas con los paquetes Deban de Drupal.
Remove Drupal database when the package is renoved?
0
Desde las fuentes: Supone ms trabajo, pero puede ver qu est ocurrien- No
do, intntelo de esta forma si el mtodo apt-get falla.
Remove former database backups when the package is removed?
Yes

Web server (s) that should be configured automatically


apache
ms fcil de instalar Drupal es con apt-get. Puede ir al sitio Web de
La forma [ ]

apache- ssl
[ }
Drupal y buscar un paquete listo para descargar o puede ver mediante apt-cache apache -perl
[ ]

si est en el repositorio de Deban: [*] apache2


Administrando Apache Administrando Apache

La instalacin copiar los archivos de programa, crear una base de datos Query OK, 0 rows affected (0.01 sec)
MySQL y crear un archivo de configuracin Apache (/etc/apache2/conf . d/
drupa 1 conf ):
.
mysql > FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
Alias /drupal /usr/share/drupal
<Directory /usr/share/drupal/ mysql > quit;
Options +FollowSymLinks Bye
AllowOverride All
order allow, deny Luego, cargue la definicin de la base de datos de Drupal en MySQL:
allow from all
</Drectory> # mysql -u root -p drupal < database/ database 4 . . 0 .mysql
Enter password:
S aparece un mensaje parecido a este: #

An override for "/var/lib/drupal/f iles already exista, but -forc Despus edite el archivo def ault/conf ig php y cambie
.
la lnea:

specified so lets ignore it.


$db url = 'mysql //username :password@localhost/databasename'
:

puede quebrarse la cabeza buscando una solucin, o instalarlo desde las fuen-
tes. Si todo ha ido bien, sltese la siguiente seccin.
por:

$db_url = 'mysql //drupal : drupalpwOlocalhost /drupal


:
'

Instalrselo Drupa! desde las fuentes

Descargue la ltima distribucin y vaya al directorio raz de su servidor Web:


En su navegador Web, vaya a http //serverl centralsof t org/ drupal.
:
. .

# wget http://ffcp.osuosl.Org/pub/drupal/files/projects/drupal-4.7.3.tar.gz
# tar xvzf drupal -4.7.3. tar gz La primera pgina (en la versin que hemos probado) dice:
.

# mv drupal -4. 7. 3 /var/www/drupal


# cd /var/www/drupal Welcome to your new Drupal webs i te!
Please follow these steps to set up and start using your website:
Create your administrafcor account
Seguiremos los pasos indicados en INSTALL.txt
y en INSTALL.mysql.txt. Crea- To begin, create the first account. This account will have full
remos labase de datos Drupal (la llamaremos drupal), un usuario administrador administration rights
(tambin drupal, puesto que no tenemos mucha imaginacin) and will allow you to configure your website.
y una contrasea
(por favor, no use drupal tambin):
Haga clic en el enlace Crear la primera cuenta. En esta segunda pgina, teclee
el nombre deseado para su cuenta (o su nombre completo) en el campo de
# mysql -u root -p texto
Enter password: botn Crear una
Username y su correo en el campo E-Mail. Luego presione el
Welcome to the MySQL monitor. Commands end with or \g.
;
nueva cuenta. Ser redirigido a la primera pgina, donde en la parte de arriba
Your MySQL connection id is 37 to server versin: 4.0. 24_ Deban- 10sarge2-log
podr leer:
Type 'help;' or '\h' for help. Type \c' to clear the buffer. si le ha llegado la contrasea gene-
Compruebe su correo electrnico para ver
mysql > creafce database drupal; rada y autentifquese en Drupa! en el rea "User login". Ser redirigido a una
Query OK, 1 row affected (0.00 sec) pgina para establecer una contrasea permanente. Despus de esto, puede ir a
la pgina de inicio, donde ver las siguientes opciones:
mysql> GRANT SELHCT INSERT, UPDATE, DELETE, CREATE, DROP,
,

-> IHDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLEE 1 . Cree su cuenta de administrador.
-> on drupal.* to
Para empezar, cree la primera cuenta. Esta cuenta tiene plenos derechos
-> n drupal"@"localhost'' identified by "drupalpw";
ele administracin por lo que le permitir configurar el sitio Web.
Administrando Apache Ad m inistrando Apache

2. Configure su sitio Web. serverl.centralsoft.org. 106489 IN A 192.0.34.1 66


Una vez en el sistema, visite la seccin de administracin, donde puede
personalizar y configurar todos los aspectos de su sitio Web. Luego vea si el servidor puede alcanzarse desde Internet. Si su cortafuegos
3. Active la funcionalidad adicional. permite pings, sondee si el servidor responde a la los pings desde fuera:
Luego, visite la lista de mdulos y actvelos en funcin de sus necesidades # ping serverl.centralsoft.org
especficas. Puede encontrar mdulos adicionales en la seccin de descarga PING serverl.centralsoft.org (192.0.34.166) 56(84) bytes of data.
64 bytes from serverl.centralsoft.org (192.0.34.166): icmp_seq=l ttl=49
de mdulos de Drupal.
time=81.6 is
4. Personalice el diseo de su sitio Web.
Compruebe que el puerto 80 est abierto y no est bloqueado. Pruebe con
Para cambiar la apariencia de su sitio Web, visite la seccin de temas.
nmap desde una mquina externa:
Deber elegir uno de los temas incluidos o descargar temas adicionales de
la seccin de descarga de temas de Drupal. # nmap -PO -p 80 serverl.centralsoft.org

5. Comience a publicar contenido. Starting nmap 3.81 http://www.insecure.org/nmap/


(
at 2006-07-25 )

Finalmente, puede crear contenido para su sitio Web. Este mensaje des- 23:50 CDT
Interesting ports on serverl.centralsoft.org (192.0.34.166):
aparecer una vez que haya publicado por primera vez.
PORT STATE SERVICE
Para ms informacin, vaya a la seccin de ayuda, o a los libros en lnea 80 /tcp open http
de Drupal. Tambin puede enviar una pregunta al foro o usar un amplio
rango de opciones de soporte. Nmap fnished: 1 IP address (1 host up) scanned in 0.186 seconds

Puesto que ya ha creado la primera cuenta (la de administrador). Ahora ya Si no tiene nmap, use telnet para conectarse al puerto 80 y haga la peticin
puede probar todas las funcionalidades. HTTP ms simple posible:

# telnet sarverl.centralsoft.org 80
Trying 192.0.34.166. . .

Connected to serverl.centralsoft.org.
,A
Escape character is ]'.
Si le gusta diagnosticar problemas, probablemente le gustar la Web. Hay
HEAD / HTTP/ 1.0
muchas cosas que fallan, en muchos lugares y de muchas formas, por lo que
estara ocupado durante muchos aos. Echemos un vistazo a algunos problemas HTTP/1.1 200 OK
Web clsicos. (Los mensajes de error del navegador que usa Firefox, aunque los Date: Wed, 26 Jul 2006 04:52:13 GMT
de Internet Explorer son similares.) Server: Apache/2.0.54 (Fedora)
Last-Modified: Tue, 15 Nov 2005 13:24:10 GMT
ETag " 63f f d- lb6 - 80bf d280
:

Accept-Ranges bytes :

Content-Length: 438
Supongamos que el directorio raz es /var/www, su archivo es test.html y Connection: cise
Content-Type text/html; charset=UTF-8
:

su servidor es serverl.centralsoft.org. Cuando usa un navegador Web


externo http://serverl.centralsoft.org/test.html, obtiene una p- Connection closed by foreign host.
gina de error en la ventana del navegador. Un mensaje de error del navegador
como "Servidor no encontrado" implica un problema DNS. Primero, asegrese Si no funciona, asegrese de que esta, lnea est en /etc/apache2
de que serverl centralsof t org tiene entradas DNS en un servidor de nom-
. .
ports conf .

bres pblico:
Listen 80
# dig serverl.centralsoft.org
y tambin, que puede ver algo muy parecido a esto en el puerto 80, como lo
ANSWER SECTION: siguiente:
Administrando Apache Administrando Apache

# Isof -i j 8 # df
COMMAND PID USER FD TYPE DEVICE SIZE NODE AME Filesystem IK-blocks Used Available Use% Mounted on
apache?. 10678 www-data 3u IPv6 300791 TCP * WWW : (LISTEN) / dev/hdal 193406200 4S5292 183126360 1% /
apache2 10679 www-data 3u IPv6 300791 TCP * www : (LISTEN) tmpfs 453368 0 453368 0% /dev/shm
apache 2 10680 www-data 3u IPv6 300791 TCP * WWW : (LISTEN)
apache2 20188 root 3u I Pv6 300791 TCP * www : (LISTEN) Si ha usado una directiva User o Group diferente en la configuracin de Apa-
apache 2 20190 www-data 3u I Pv6 300791 TCP * www (LISTEN)
:
che, compruebe que el usuario y el grupo existen:
apache2 20191 www-data 3u IPv6 300791 TCP * WWW : (LISTEN)
apache2 20192 www-data 3u IPv6 300791 TCP * www : (LISTEN)
# id www-data
apache2 20194 www-data 3u I Pv6 300791 TCP * WWW (LISTEN)
uid=33 (www-data) gid=33 (www-data) groups=3 3 (www-data)
:

apache2 20197 www-data 3u IPv6 300791 TCP * www : (LISTEN)


apache2 20198 www-data 3u IPv6 300791 TCP * WWW (LISTEN)
navegador devolvi un mensaje de error de Apache, todava tiene campo
:

Si el
apache2 20199 www-data 3u IPv6 300791 TCP * www (LIS TEN)
:
1

para seguir investigando. S lo que se muestra es:


Si no ve apache2 en esta salida, compruebe que Apache se est ejecutando:
Not Found
# ps -efl j
grep apache2 The requested URL /wrong.html was not found on this server.

Si la salida contiene lneas como esta: la URL probablemente no existe. Si puede ver:

5 S root 7692 1 0 76 0 - 2991 415244 Jull6 ? 00:00:00 Forbidden


/usr/sbin/apache2 -k start -DSSL
You don't have permission to access /permissions html on this server. .

Apache se est ejecutando. Si no es as, reincielo:


el archivo est ah, pero el usuario Apache no puede leerlo.

# /etc/init.d/apache2 start
# cd /var/ww
Luego ejecute el comando ps de nuevo. Si Apache sigue sin aparecer, mire el # ls ~1 permissions.html
-rw 1 root root 0 Jul 26 00:01 permissions.html
log de errores:

Los problemas de permisos pueden solucionarse cambiando el propietario del


# tail -f /var/log/apache2/error.log
archivo ai proceso que ejecuta Apache.

Si no tiene permisos para ver este archivo, definitivamente hoy no es su da.


Si el log de errores est vaco, quiz tenga los permisos equivocados. Confirme
que el directorio /var/log/apache2 y /var/log/apache2/error logf ile .

existen: LIse

# ls -1 /var/log/apache 2 # apache2ctl -S
total 84
-rw-r 1 root adm 31923 Ju.l 25 23:09 access.log Para comprobar las directivas de host virtual.
-rw-r 1 root adm 32974 Jul 22 20:50 access.log.
-rw-r 1 root adm 379 Jul 23 06:25 access log 2 gz
no funciona
. .

-rw-r 1 root adm 1969 Jul 25 23:09 error.log


.

SSI
-rw-r 1 root adm 1492 Jul 23 06:25 error.log.
-rw-r 1 root adm 306 Jul 23 06:25 error log 2 gz . .
Si ve lneas como estas en el log de error {/var/log/apache2 /error log): .

[error] an unknown filter was not added INCLDES


de errores muestra otra informacin ms antigua, probablemente
Si el log
:

quede poco espado en disco. Es sorprendente el nmero de veces que olvidamos comando:
es que no activ rnod_include. Ejecute el
comprobar esto antes de investigar cosas ms esotricas como los cortafuegos.
Teclee: # a2enmod inelude
Administrando Apache

Un programa CGI
Si no consigue que un programa CGI se ejecute, pruebe las siguientes soluciones:
e
Se ha activado el CGI usando alguno de los mtodos ya descritos ante-
riormente?
8 Est el programa CGI es un directorio CGI como /var/cgi-bin o tiene
un sufijo como .php?
Se puede leer el archivo? Si no, use chmod.
0
tXu dice el log de errores de Apache?
Qu dice el log de error del sistema, /var/log/messages?

Compruebe que tiene activado el mdulo SSL de Apache (a2enmod ssl) e indi-
que a Apache que escuche en el puerto 443 en /etc/apache 2 /ports conf . Hace ms de 10 aos, las personas descubrieron que podan conectar mlti-
ples mquinas baratas para realizar tareas de computacin que en condiciones
Listen 443
normales requeriran un mainframe o un supercomputador. El clster Beowulf
Si la directiva no estuviera ah, adala y reinicie Apache. Luego intente acce-
de la NASA fue uno de los primeros ejemplos y an hoy se sigue utilizando
der a esta URL desde su navegador: https //serverl centralsof t org. Si
: . .
(http //www. beowulf org). En la Wikipedia (http //en wikipedia org/
: . : . .

sigue sin funcionar, puede que el puerto 443 est bloqueado por un cortafuegos. wiki/Computer_cluster) estn recogidas algunas de las caractersticas prin-
Puede comprobarlo con nmap: cipales de un clster: un clster es un grupo dbilmente acopiado de ordenado-
res que trabajan juntos y que en muchos aspectos puede verse como un nico
# nmap -P0 -p 443 serverl.centralsoft.org ordenador. Los clusters a menudo, pero no siempre, estn conectados mediantes
redes de rea local de alta velocidad. Los clusters se suelen desplegar para mejo-
Starting nmap 3.70 http://www.insecure.org/nmap/ at 2006-08-01
rar la velocidad o la fiabilidad que ofrece un nico ordenador, puesto que ofre-
( )

22:38 CDT
Interesting ports on ... (...): cen una relacin efectvidad/coste mucho mejor que un nico ordenador con las
PORT STATE SERVICE mismas prestaciones.
443/tcp open https
Los clusters son una buena solucin cuando lo que busca es mejorar la veloci-

Nmap run completed -- 1 IP address (1 host up) scanned in 0.254 seconds dad, fiabilidad y escalabilidad a un precio razonable. Amazon, Yahoo! y Google
basan sus negocios en miles de servidores configurados como clusters. Es ms ba-
rato y ms fcil, ampliar su negocio horizontalmente (aadiendo ms servidores)
que verticalmente (comprando mquinas ms caras). Hay muchas soluciones Linux
para clusters, tanto libres como comerciales. En este captulo describiremos algunos
clusters basados en Linux Virtual Server (http / / www linuxvirtual - server org)
el : . .

que es libre. Le mostraremos cmo combinar tres ordenadores en un clster de


carga balanceada para el servidor Apache. Tambin describiremos sus capacidades y,
finalmente, las alternativas que existen. No pretendemos cubrir clusters de alto ren-
dimiento, computacin en grid, paralelismo o computacin distribuida; en estos
campos, tanto el hardware como el software estn mucho ms especializados (por
ejemplo, para prediccin meteorolgica o renderizado de grficos).
192 Ciusters de carga balanceada Ciusters de carga balanceada 193

Con http, por ejemplo, si se necesita mantener una sesin de datos


del servicio.
con autentificacin o cookies, hay que asegurarse de que el diente siempre se
conecta al mismo servidor. Para cumplir estas necesidades, usaremos dos herra-
El balanceo de carga (LB) ofrece escalabilidad: la distribucin de las peticiones
mientas un poco sofisticadas:
en varios servidores. LB consiste en el reenvo de paquetes y en el conocimiento
del servicio cuya carga va a balancearse (en este captulo, HTTP). Se basa en un
Servidor de 1P virtual (IPVS): Un mdulo balanceador de carga de nivel de
monitor externo que recoge las estadsticas de carga de los servidores fsicos para transporte (TCP) que ahora es un componente estndar de Linux.
decidir dnde se deben enviar los paquetes. Idirectord:Una utilidad que monitoriza el estado de los servidores fsicos.
La alta disponibilidad (HA) ofrece fiabilidad: mantiene los servicios ejecutn- Las instrucciones de instalacin estn basadas en la distribucin de Linux
dose. Se basa en servidores redundantes, intercambio de mensajes del tipo "Estoy Deban 3.1 (Sarge).
vivo", y un procedimiento para que en caso de fallos se sustituya el servidor
donde se produjo el error por otro.
En este captulo, vamos a concentrarnos en LB, puesto que los administrado-
Ya que IPVS est ya en el ncleo de Linux, no necesitamos instalar software,
res tendrn que enfrentarse a ello ms a menudo. Para un sitio que pase a ser
pero s configurarlo.
sensible dentro de una organizacin, la HA tambin es necesaria. Al final de este
captulo, ofreceremos varios enlaces tiles para configurar sistemas que combi-
En Ib, aada estas lneas a /etc/modules.
nan balanceo de carga y alta disponibilidad. ip_vs_dh
ejemplo de balanceo de carga que vamos a usar en este captulo es un ejem-
El ip vs_f tp
ip_vs
plo simple que consiste en tres direcciones pblicas y una virtual. Todas ellas se
ip_vs_lblc
listan en la tabla 7.1. ip_vs_lblcr
ip_vs_lc
Tabla 7.1. Direcciones y roles de los servidores en nuestro clster. ip_vsjnq
ip_v s_rir
ip_vs_sed
Nombre Direccin IP Descripcin
ip_vs_sh
Lb 70.253.158.44 Balanceador de carga servicio con direccin ip__VB_WlC
ip_vs_wrr
pblica
web! 70.253.158.41 Primer servidor web una de las IP reales (RIP) Luego cargue los mdulos en el ncleo:

web2 70.253.158.45 Segundo senador web otra RIP # modprobe ip_vs_dh


# modprobe ip_vs_tp
(VI P) 70.253.158.42 IP virtual (VIP) compartida por lb, webl y web2,
# modprobe ip_vs
adems de sus direcciones IP reales # modprobe lp_vs_lblc
# modprobe ip_vs_lblcr
VI P es # modprobe ip_vs_lc
la direccin que el balanceador de carga expone a los dientes, desde
# modprobe ip_vs_nq
donde se distribuirn las peticiones a ios servidores Web. # modprobe ip vs_rr
# modprobe ip_vs _sed
# modprobe p_vs_sh
# modprobe pvs wlc
# modprobe ip_vs_wrr
La forma ms simple
de balanceo de carga es un round-robn de DNS, donde
Para activar el reenvo de paquetes en el ncleo de Linux de Ib, edite el archivo
mltiples registros A
se definen con el mismo nombre, el resultado es que los
/etc/sysctl conf y aada
. esta lnea:
servidores esperan su turno para responder a las peticiones. Esto no funcionara
bien si un servidor falla, adems, no tiene en cuenta las necesidades especficas net ipv4 ip _forward
. . = 1
Clusters de carga balanceada Clusters de carga balanceada

Para cargar esta opcin en el ncleo: Vamos a usar DR porque es fcil, rpido y escalable. Con este mtodo, desig-
namos una VIP que comparten el balanceador de carga y los servidores reales.
# sysctl -p Esto provoca un problema: si todas las mquinas tienen la misma Vg cmo se
net ipv4 ip_f orward = 1
asocia dicha VIP a una direccin MAC fsica? Esto se llama el problema ARP, debi-
. .

do a que los sistemas de la misma LAN usan el Address Resolution Protocol (ARP)
Idirectord para encontrarse, y ARP espera que cada sistema tenga una direccin IP nica.
Muchas soluciones necesitan parches o mdulos del ncleo que cambian jun-
Aunque podramos obtener Idirectord de manera independiente, lo obtendre- to con el ncleo de Linux. En la versin 2.6 y superiores, una solucin muy
mos como parte del paquete Ultra Monkey, que adems incluye software para popular es permitir que el balanceador de carga maneje el ARP de la VIP y, en los
HA. Debido a que Ultra Monkey no forma parte de la distribucin Deban estndar, servidores reales, configurar la VIP como alias del bucle local. Por esta razn, los
necesitar aadir dos lneas a su repositorio de archivos de Deban (/etc/apt/ dispositivos locales no responden a las peticiones ARP.
sources list) en
. la mquina Ib:
Esta es la solucin que adoptaremos. Configuraremos todos los servidores Web
deb http://www.ultramonkey. 0 rg/download/ 3 / sarge main
primero.
deb-src http://www.ultramonkey.Org/download/3 sarge main

luego, actualice el repositorio y obtenga el paquete:


En cada servidor real (web I
y web2) hay que hacer lo siguiente:
# apt-get update
# apt-get install ultramonkey 1 . Si el servidor Apache todava no est instalado, instalarlo:
# apt-get install apache2
El proceso de instalacin le har algunas preguntas:
Si todava no tiene los archivos de contenido para su sitio Web, puede
Do you want to automatlcally load IPVS rules on boot? hacerlo ahora o despus de configurar el sistema de balanceo de carga.
No 2. Instale iproute (un paquete de Linux para trabajo en red con ms
Select a daemon method.
funcionalidades que herramientas antiguas como ifconfig y route):
none
# apt-get install iproute
Nuestra configuracin tendr un servidor virtual (la direccin que ven los 3. Aada estas lneas a /etc/sysctl conf .

clientes, ejecutando Idirectord), que llamaremos director, y dos servidores reales


net . ipv4 . conf . all arp_ignore = 1
.

(ejecutando Apache). Los servidores reales pueden conectarse con el director de net . ipv4 . conf . ethO arp_ignore = 1
.

tres formas: net . ipv4 . conf . all arp_announce = 2


.

net . ipv4 . conf . ethO arp_announce = 2


.

8 LVS-NAT
4. Actualice los cambios en el ncleo:
Los servidores reales estn en una subred NAT detrs del director que es el
# sysctl -p
quien enruta las respuestas. net ipv4
. . conf . all arp pignore = 1
.

net ipv4 conf ethO arp_ignore = 1


8
LVS-DR . . . .

net ipv4
. . conf . all arp_announce -
. 2
Los servidores reales envan las respuestas directamente ai cliente. Todas net ipv4
. . conf . ethO arp_announce =
. 2

las mquinas estn en la misma subred y pueden comunicarse mediante 5 . Suponiendo que su servidor real es Deban, edite el archivo /etc/ network/
direcciones Ethernet No es necesario que se pueda hacer ping desde fuera
.
interfaces, asociando la VIP (70.253.15.42) con el alias lo:0:
de la subred. auto lo :

8
LVS-TUN iface lo: O inet static
address 70.253.15.42
Los servidores reales pueden estar en una red distinta de la del director. Se netmask 255.255.255.255
comunican mediante tcnicas de tunneling IP sobre IP (IPIP). ,
pre-up sysctl -p > /dev/null
196 Clusters de carga balanceada Clusters de carga balanceada 197

6. Active dicho alias: Se deberan haber creado archivos de inicio en / etc para ldirectord durante la
# ifup lo: instalacin. Ultra Monkcy tambin instal Heartbeat, como no lo vamos a usar,
7. Cree el archivo /var/www/ldirector html con . el contenido: lo desinstalamos:

Estoy vivo! # update-rc.d heartbeat remove


8. En web 1: update-rc.d: /etc/init d/heartbeat exists durng rc.d purge
.

(use -f to forc)
# echo "X'm webl" > /var/www/which html
.

9. Enweb2: El balanceador de carga monitoriza el estado de los servidores Web, para lo que

# echo "I'm web2" > /var/www/which. html regularmente solicita el archivo que hemos especificado en ldirectord cd request . (

"director, htmf).
10. Inicie Apache, o remdelo si ya se est ejecutando:
Puesto que este servidor responder las peticiones Web que se hagan a travs
# /etc/init.d/apache2 restart
de la direccin VIP (70.253. 158.42), debemos indicrselo al servidor. Edite /etc/
Los logs de acceso de Apache no deberan mostrar actividad, puesto que ib network/ interfaces y aada estas lneas para crear el alias eth0:0:
todava no se ha comunicado con ellos.
auto eth0:0
iface eth0:0 inet static
address 70 253 158 42 . . .

netmask 255.255.255.248
# These should have the same vales as for ethO:
En Ib, cree el archivo de configuracin del balanceador de carga, /etc/ha d/ . network . . .

ldirectord. cf broadcast . .

gateway . .

checkt imeout = 1
check interva 1=2 Ahora active esta nueva direccin P:
autoreload=no
logfile="localO # ifup eth0:0
quiescent=no
vi rtua 1=70. 253. 158. 42:80 Finalmente, inicie los ldirectord en Ib:
real=70. 253. 158. 41:80 gate
real=70. 253 .158.45:80 gate # /etc/init d/ldirectord start
.

service=http Starting ldirectord. succees . .

request= "di rector html


.

receive="I'm alive!"
scheduler=rr Probando el sistema
protocol=tcp
checktype=negot iate
Comprobemos si el balanceador de carga se est ejecutando en Ib:
Si quiescent fuera yes, un
servidor real que fallara dejara de contar para el
balanceador, pero continuara en la tabla LVS de routing; lo hemos puesto a no, # ldirectord ldirectord. cf status

por lo que los servidores cados se eliminan de la tabla. El peso de un servidor


Debera ver algo parecido a esto:
reflejasu capacidad en relacin con los otros servidores. Para un esquema simple
como el nuestro, todos ios servidores operativos tienen un peso de 1 y los cados ,
ldirectord for /etc/ha a/idirectord cf is running with pid:
. .

un peso de 0. Si checktype es negotiate, el director har una peticin http a cada 1455
uno de los servidores reales de la URL solicitada, y ver si sus contenidos tienen el
valor recibir. Si el valor fuera check, slo se hara una comprobacin TCP rpida,
Si viera algo como esto:

y las peticiones y las respuestas se ignoraran. ldirectord is stopped for /etc/ha d/ldirectord cf . .
198 Ciusters de carga balanceada Ciusters de carga balanceada 199

habra un problema. Puede parar el director y reiniciarlo con la bandera de depu- Sep 11 22:59:45 mail ldirectord [8543] : Deleted fallback server: 127.0.0.1:80
racin -d y ver los errores que se estn produciendo: { X 70.253.158.44:80)
Sep 11 22:59:46 mail ldirectord [8543] : Added real server: 70.253.158.45:80
( x 70.253.158.44:80) (Weight set to 1)
# /usr/sbin/ldirectord /etc/ha d/ldirectord cf stop . .

# /usr/sbin/idrectord -d /etc/ha. d/ldirectord. cf start


DE3UG2 : Running exec {/usr/sbin/ldirectord -d /etc/ha. d/ldirectord. cf start) De regreso a webl y web2, comprobamos los logs de acceso de Apache. El
Running exec /usr/sbin/ldirectord -d /etc/ha d/ldirectord cf start)
( . .
director solicita director.html cada checkinterval segundos:
DEBG2 Starting Linux Director vi. 77. 2. 32 with pid: 12984
:

Starting Linux Director vi. 77. 2. 32 with pid: 12984 70.253.158.44 - - ll/Sep/2006 22 49 3 7 -0500]
f : : : "GET /director.html
DEBUG2 Running system (/sbin/ipvsadm -A -t 70.253.158.42:80 -s rr
: ) HTTP/1 .1"
Running system /sbin/ipvsadm -A -t 70.253.158.42:80 -s rr
( ) 200 11 " libwww-perl/5 803 .

DEBUG2 Added virtual server: 70.253.158.42:80


:
70.253.158.44 - - [ll/Sep/2006 22 49 39 -0500] : : : "GET /director.html
Added virtual server: 70.253.158.42:80 HTTP/1 .1"
DEBUG2 Disabled server=70 253 158 45
: . . . 200 11 "libwww-perl/5 803" .

DEBUG2 Disabled server=70 253 158 41


: . . .

DEBUG2 Checking negotiate: real


: En su navegador, vaya a la URL del sitio virtual http://70.253.158.42/
server=negotiate http tcp 70 253 .158.41:80: \/director\ html I\ m\ alive\
: : : . :
: . : '
which html y. debera ver:
(virtual=tcp:70 .253 .158.42:80)
DEBUG2 check_http: url= "http //70 253 158 4 1 80/director .html
: . . . :
:
Yo soy webl
virtualhost= " 70 253 .158.41" .

LWP UserAgent new


: : : : : { )

o:
LWP UserAgent request
: : : : : { )

LWP: UserAgent send_request GET http //70.253.158.41: 80 /di rector html


: : : : .

LWP :: UserAgent :__need_proxy Not proxied: :


Yo soy web2
LWP: Protocol :: http :: request
: : ( )

LWP Protocol collect read 11 bytes


: : : : :
Si el balanceador de carga no funciona o uno de los servidores Web est cado,
LWP :: UserAgent :: request Simple response OK : : siempre obtendr la respuesta del mismo servidor Web.
45 80/director html is up
Ahora, pare Apache en webl
; .

La salida ser ms corta si checktype est definido como check.


# /etc/init.d/ apache stop
Para curiosear, podemos ver los mensajes de bajo nivel del servidor de IP virtual:
Actualice la pgina del navegador http://70.253.158. 42 /which. html.
# ipvsadm -L -n respuesta:
Siempre debera obtener la
IP Virtual Server versin 1.2.0 (size=4096)
Prot LocalAddress Port Scheduler Flags :
Yo soy web2
-> RemoteAddress Port Forward Weight ActiveConn: InActConn
TCP 70.253.158,42:80 rr
-> 70.253.158.45:80 Route
-> 70.253.158.41:80 Route
1
1
1

0
2
3
Aadiendo HA a LB

Esto muestra que nuestro primer servidor real est activo, pero el segundo no. El balanceador de carga representa un nico punto de fallo. Si falla, lo servi-

Tambin podemos comprobar


dores Web que dependen de l dejarn de ser accesibles. Para hacer el sistema ms
los logs del sistema en Ib:
seguro, puede instalar un segundo balanceador de carga en configuracin HA
# tail /var/log/syslog con el primero. Para instrucciones ms detalladas (se usa el paquete Ultra Monkey
Sep 11 22:59:45 maii Idirectord [8543] : Added virtual server: que ya hemos instalado) puede consultar http://www.howtoforge.com/
70.253.158.44:80 high_availability_loadbalanced_apache _cluster. No necesitar HA para
Sep 11 22:59:45 mail ldirectord [8543] Added fallback server: 127.0.0.1:80 :

los servidores Apache, puesto que ldirectord los sondea todos cada checkinterval
( x 70.253.158.44:80) (Weght set to 1)
Sep 11 22:59:45 mail ldirectord [8543] Added real server: 70.253.158.41:80 :
segundos y ajusta todos los pesos, que tienen un efecto muy similar al hearbeat
( x 70.253.158.44:80) (Weight set to 1) de HA.
2 Ciusters de carga balanceada Ciusters de carga balanceada

Aadiendo otros servicios LB Otras lectoras


Hemos usado servidores Web Apache como ejemplo para este captulo porque
es uno de los
servicios que puede necesitar una granja de servidores. Otros servi- Ms detalles sobre el software usado en este captulo estn disponibles en las
cios tambin podran beneficiarse de LB/HA, por ejemplo MySQL, servidores de siguientes pginas Web:
correo o servidoresLDAP Consulte http://www.howtoforge.com/ Linux Virtual Server Project (http : / /www linuxvirtualserver org). .

loadbalanced__mysql__cluster__debian para un ejemplo de MySQL. Ultra Monkey (http: //www.ultramonkey org).


.

-Ieartbeat/The High-Availabi Jity Linux Proj ect (ht t p / / 1 inux - ha orgS)


: .

Tambin tiene otra opcin, y puede echar un vistazo a la Red Hat Cluster
Suite(http / /www. redhat com/
: .

Si ofreciera un magnfico servicio, sera el servidor capaz de soportar gran-


software/rha/cluster), un producto LB/HA comercial para Linux que usa
des picos de actividad? Si no es as, su credibilidad se vera afectada
y muchos LVS. El mismo software est disponible gratuitamente (pero sin soporte) en
visitantesno volveran. Pero debido a que LB y HA necesitan un importante es-
CentOS.
fuerzo e inversin en hardware, no est de ms considerar otras posibilidades.
Hay otras formas de conseguir un mayor rendimiento del equipo actual. Por
ejemplo, puede desactivar los archivos .htaccess en su configuracin Apache
(AllowOverride None), o usar mod_expires para evitar llamadas de actualiza-
cin de los archivos como imgenes. Hay muchos libros de Apache con trucos de
optimizacin.
Una vez que se alcancen los lmites del software del servidor Web, pueden
considerarse otras alternativas. En muchos casos, servidores Web como lighttpd
(http / /www. lighttpd.net), Zeus (http: //www. zeustech.net) litespeed
:
y
(http / /litespeedtech com) son ms rpidos que Apache y consumen me-
: .

nos memoria.
Tambin puede mejorar el rendimiento por otros mtodos. Caches de cdigo,
que incluyen aceleradores PHP como e-accelerator {http //eaccelerator net): .

y APC (http / / apc coramunityconnect com), guardan PHP como bytecode y


: . .

as evitan tener que usar tiempo de cmputo en cada acceso a una pgina. Gachs
de datos, como la cach de consultas de MySQj guardan los resultados de consul-
tas idnticas. La replicacin es una forma de LB. Memcached (http://
danga.com/memcached) es una forma rpida de almacenar resultados de bs-
quedas. Squid (http / / www squidcache org), cuando se usa como proxy in-
: . .

verso, es un cach de pginas que puede almacenar todo el contenido del servidor
Web.
Cuando los servidores estn separados en varias aplicaciones (por ejemplo
MySQL ? PHP ? Apache), las mejoras son multiplicativas; por ejemplo "Getting

Rich with PHP 5 " (http / /talks .php.net/show/oscon06) indica cmo con-
:

seguir que una aplicacin PIIP que soporta 1 7 llamadas por segundo pueda pa-
sar a soportar 1.100 llamadas por segundo en una nica mquina. Si ya est
usando ests tcnicas pero no solucionan sus problemas, definitivamente intn-
telo con balanceo de carga, y si la estabilidad es crtica incorpore tambin HA.
En este captulo repasaremos algunas de las destrezas que un administrador
de sistemas necesita para gestionar un equipo situado detrs del cortafuegos o la
pasarela de una compaa, una organizacin o incluso una rpd local.
Algunos de nosotros preferimos referirnos a tecnologas de Internet en lugar
de a redes de rea local, puesto que creemos que no presenta ningn desafo. Pero
cuando necesitamos configurar o arreglar algo en nuestro entorno de trabajo, la
red de rea local adquiere mucha importancia. Por ejemplo, piense que sucedera
si el correo electrnico del directorio no funcionase.

Una red local se puede llevar la mayor parte del tiempo del administrador de
sistemas si no sabe manejarla. Por lo que, si acaba de empezar en la administracin
de sistemas, necesitar aprender cmo instalar, configurar y mantener los servicios
de una red local. Para la primera toma de contacto, eche un vistazo a la edicin ms
reciente del libro "Linux Network Administrator's Cuide Terry Dawson", (O'Reilly).
Tanto si posee conocimientos bsicos como usuario de Linux, como si nunca ha odo
hablar sobre los temas de este captulo, le aseguramos que son muy interesantes.
En este captulo,exploraremos sistemas de archivos distribuidos, como
los
configurar los servicios de DHCP y de pasarela (incluyendo el routing entre la
LAN e Internet), Jos sistemas de impresin corporativos y la gestin de usuario.
Los servicios de correo electrnico local, tambin estn bajo el paraguas de las
LAN. Pero ya cubrimos esos aspectos en captulos anteriores. Usaremos la distri-
bucin Fedora Core para este captulo. Red Hat patrocina el proyecto Fedora y
normalmente lo usa para probar la prxima distribucin empresarial estable.
Fedora no es la versin ms estable de Red Hat, pero s es razonablemente estable
y robusta. Red Hat ofrece paquetes nativos de muchas herramientas para Fedora,
dejando a Fedora en la vanguardia de las distribuciones libres de Linux, que pue-
204 Servicios de red de rea loca; Servicios de red de rea loca! 205

den usarse para uso comercial. Si no le gusta el modelo de Red Hat, puede aplicar Hoy en da, muchos sitios almacenan sus usuarios en archivos crticos en
el material de este captulo a otras distribuciones de Linux. Le sugerimos que servidores centrales, que controlan los permisos de acceso a los archivos. Habla-
profundice en este material: necesitar ponerlo en prctica en un entorno de remos sobre gestin de usuarios ms tarde en este mismo captulo.
trabajo, adems no encontrar este material en otro sitio.

La comparticin de archivos y de impresoras con SMB evolucion de la mano


Es difcil tiempo en que los PC trabajaban de manera autnoma
imaginar el de Microsoft en el protocolo Common Internet File System (CIFS). CIFS ha sido
sin los beneficios del trabajo en red o la conexin a Internet. Pero los PC no fue- publicado como un estndar, pero est poco documentado y contiene muchos
ron originalmente diseados para trabajar en red. Puede que recuerde la poca en comportamientos secretos que Microsoft sigue desarrollando. Sin embargo, un
que la gente transfera archivos entre equipos con disquetes, o usaban un con- grupo intrpido de desarrolladores ha estado haciendo un trabajo de ingeniera
mutador para poder compartir una impresora. Eran tiempos difciles. inversa con el protocolo, y ha creado uno de los proyectos de software libre ms
Despus de introduccin del PC, se tard varios aos en crear tecnologa
la populares y que puede usarse tanto desde sistemas Microsoft como otros siste-
bsica para el como los sistemas de archivos distribuidos. Estos
trabajo en red mas: Samba. Samba est llegando a ser muy popular; puesto que se usa
sistemas de archivos distribuidos transformaron el paisaje de los negocios, debi- significativamente en Windows, en Linux e incluso en Mac OS X.
do a que permitan compartir lo que cada uno tena en su escritorio. Ya no haca Como administrador de sistemas Linux, necesitar comprender Samba. Si de-
falta rellenar manualmente un formulario para que el operador de un sistema sea profundizar en Samba que tratan
(debera hacerlo), existen excelentes libros
mainframe le dejara hacer su trabajo. El trabajo en red se hizo ms popular cuando la materia, incluyendo guas de documentacin en lnea http://samba.org.

un investigador de IBM, Barry Feigenbaum, convirti un sistema de archivos Para usar una cita comn, "Una descripcin ms a fondo de este tema sobrepasa
DOS en uno distribuido. Sus esfuerzos ayudaron a crear el protocolo de aplica- el mbito de este libro". Actualmente, no tenemos una razn para duplicar el

cin Server Message Block (SMB). La era de los administradores de sistemas y de excelente material que ya est disponible. Sin embargo, queremos describir Sam-
los ingenieros de red haba comenzado. ba con suficiente detalle para hacer funcional su entorno. Afortunadamente, la
Los sistemas de archivos distribuidos permiten a los usuarios abrir, leer y es- mayora de las distribuciones ofrecen interfaces grficas muy sencillas que per-
cribir archivos que estaban almacenados en otros ordenadores distintos al suyo. miten administrar Samba, describiremos algunas de ellas aqu.
En algunos entornos, un nico ordenador de altas prestaciones almacena los ar- Algunas funciones principales de las redes CIFS (sobre todo la forma en que
chivos, y los usuarios acceden a ellos a travs de una IAN; el ordenador central los sistemas se buscan unos a otros) tienen lugar en controladores de dominio:
puede incluso almacenar los directorios personales de los usuarios, por lo que servidores que ofrecen archivos, impresoras y varas operaciones de control.
todo el trabajo se almacena en l. En otros entornos, los usuarios almacenan ar- Samba puede integrar mquinas Linux en redes de Microsoft como servidores
chivos en sus PC, pero permiten a los otros usuarios acceder a estos archivos. Los de archivo e impresoras, controladores de dominio o miembros de un grupo de
dos entornos pueden combinarse. A esta prctica se la suele conocer como trabajo.
comparticin de archivos, y a los directorios (o carpetas) a los que los usuarios La ltima versin de Samba puede operar con el Active Directory de Microsoft .

pueden acceder desde mquinas remotas se les conoce como directorios comparti- Samba combina LDAP con funciones como un servidor de autentifcacin robus-
dos. Los PC se convirtieron en los protagonistas de los negocios a finales de la ta, sustituyendo tanto a los controladores de dominio de Microsoft NT como a
dcada de 1980, y las redes de rea local se dieron a conocer a medida que los PC los servidores Active Directory.
evolucionaban y la gente se dio cuenta de que necesitaba compartir sus recursos. Samba tambin puede desempear un papel de compartidor de archivos en
Intente imaginar qu supuso la introduccin de la LAN para un grupo de entornos ms simples, donde los miembros de pequeas oficinas o departamen-
usuarios que nunca antes haba trabajado en red. De repente, los compaeros de tos de una gran organizacin usan redes punto a punto. Los usuarios de escrito-
trabajo podan compartir documentos, imprimir en impresoras que no estaban rio pueden compartir sus impresoras y archivos con otros sin que stos tengan
en su despacho y responder a correos enviados por gente de su oficina, de su que autentificarse. Si funciones sensibles como contabilidad financiera o almace-
campus o de pas. Todo esto supuso una verdadera revolucin. namiento de personal se gestionan en una mquina, pueden implantarse polti-
Servicios de red de rea loca!
Servicios de red de rea local

cas de seguridad que sirvan de escudo para otros usuarios sin comprometer la
En la parte derecha de la pantalla en la figura 8.1 destacan los directorios
disponibilidad de los recursos de la red punto a punto. compartidos del nodo llamado Dallas, que es un sistema Windows XE Tambin
Ahora, echaremos un vistazo a las redes Linux/Windows puede ver el archivo de un procesador de textos llamado xp_network_setup sxw, .

3/ veremos cmo
puede configurar Samba para sus usuarios de escritorio. que se ha guardado en el formato nativo del OpenOffice Writer (Versin 1).
Fue difcil configurar la red? Aparte del cableado estndar, las conexiones
Ethernet y la instalacin del cortafuegos y del modem, el sistema se instala por s
solo.Hemos seguido los procedimientos estndar para Windows 98. Los siste-
mas usan DHCP para obtener sus direcciones 1P, servidores DNS y la direccin
La figura 8.1 representa una red y puede verse desde un sistema Linux (la hasta la pasarela. El router ofrece servicios DHCP y una direccin privada de
distribucin Xandros, que es un entorno Linux de escritorio adecuado para entor- Internet usando una red de clase C (desde 192.168.0.0 hasta 192.168.0.255).
nos corporativos). DHCP en la siguiente seccin.)
(Describiremos
La vista de rbol de la parte izquierda de la pantalla muestra cuatro equipos Windows han establecido la configuracin de la red
Una vez que los sistemas
llamados Athlon, Atlanta, Dallas y Dell. Dallas ofrece una impresora, junto con haga clic con el botn derecho del ratn sobre el
y pueden conectarse a Internet,
una impresora. Uno de
varios directorios, a los otros sistemas; Dell tambin aloja
icono Mis sitios de red, seleccione Propiedades y cambie las direcciones dinmi-
los otrosordenadores ejecuta Windows XV, y los otros dos ejecutan Windows 98.
cas por estticas. Esto permite a los ordenadores actuar como servidores de im-
Linux los agrupa a todos por igual. El sistema Linux hace lo mismo que un siste- presin y ofrecer acceso compartido a Internet.
ma Windows con la opcin Mi entorno de red o Mis sitios de red. Configurar sistemas Windows XP es ligeramente ms complicado, puesto que
XP y Windows 98 son incompatibles entre s. Para asegurarse de que se entien-
den, active el Simple FileSharing accediendo al Panel de Control de Windows XP y
M'.htvo CtfOM P.iiv'tHw MWKrtTiW/tt.*# Ayi.rT'i

(ict om/joor :to


ejecutando Asistente de Configuracin de Red. Este asistente nos pregunta si
el

queremos activar la comparticin con otros equipos, refirindose a ordenadores


Internet
TorertH de red

con Windows 98. Al responder que s se permite crear un disquete que podra-
mos usar para instalar los protocolos de Windows XP en ordenadores con Windows
MAM*
98. Este proceso actualiza los sistemas ms viejos a protocolos ms nuevos, ofre-
Luw C-tormol nn
< 192 168 i. 180)
. .

lUBLICO enhoqu Oocurriontos c en MINE


ciendo la posibilidad de que XP y Windows 98 puedan comunicarse. (El progra-
(Boqutque) (VUr-5000682e74)
ma ofrecido por Microsoft se llama netsetup.exe.)
Otro* flNios Luego Xandros y se activa el Windows Networking,
se instala la distribucin
tal y como muestra la figura 8.2.
se

Fjese en que hemos sido capaces de configurar Windows Networking a travs


del cuadro de dilogo. El escritorio Linux nos ha permitido activar la comparticin
de archivos y de impresoras, dar un nombre al equipo, definir el grupo de trabajo
y activar el nivel de seguridad compartida, que permite a los nodos usar la
funcionalidad CIFS.
Ubuntu tambin da la opcin de configurar el NetWork File System (NFS),
le

un sistema de archivo Unix-a-Unix a muy popular que es incompatible con CIFS.


El cuadro de dilogo de la figura 8.4 le permite escoger entre ambos sistemas;
puede usar Samba para operar con Windows y Mac OS X, mientras usa NFS para
operar con otros sistemas Unix/Lmux. Los servicios de comparticin no se insta-
lan por defecto con Ubuntu, pero si selecciona Carpetas Compartidas (en el men
Figura 8.1. Los archivos y los directorios compartidos por un sistema Linux, de administracin de Ubuntu 6.10), Ubuntu descargar los archivos necesarios;
tal y como se ve desde un PC con Windows. ahora ya est listo para ser miembro del dominio o del grupo de trabajo.
Servidos de red de rea local Servicios de red de rea local

Xi
Necesita nstaJar Sarfi&a o NFS p
Puede Instalar estas wramfeBte
y Samfes para compartir crpete
:v NFS para compartir carpetas c

X giost. 4 &9P P:
.

Figura 8.4. Pantalla de configuracin de los servicios de comparticin de archivos


en Ubuntu.

Los servicios de Dynamic Host Configumtion Protocol (DHCP) pueden ayudarle


a solucionar un gran nmero de problemas asociados con entornos de rea local,
incluyendo problemas de asignacin de direcciones 1P y otros aspectos de admi-
difcil imaginar una red sin DHCP.
nistracin. Es
Veamos algunos aspectos que debe conocer y prestemos atencin a cmo pue-
den ayudarnos:
Los PC y las estaciones de trabajo necesitan una direccin 1P nica, infor-
macin DNS y conocer la ubicacin de las pasarelas.

La asignacin manual de direcciones IP provoca excesivo trabajo.


La duplicacin accidental de una direccin fP crea conflictos en la red.

La resolucin de problemas de red (como la duplicacin de direcciones) y


los cambios de ubicacin provocan trabajo innecesario.
0
Los cambios de personal significan que alguien tendr que comprobar cada
ordenador y configurar una nueva base de datos de asignaciones de IP.
/'
Carpeta compartida
;.y':;pj^wwM< coi?l|gfUnKn 'M El movimiento frecuente de los usuarios mviles necesita que se reconfigure
FtaSfl jjjjj|lMK;e
Opciones efe
la red en los equipos porttiles.
;

Oft!tpi:iQ!> v:}
Osa VV-.
:
:
-
SMB i:.*! ...

oimmi DHCP soluciona estos problemas asignando direcciones IP a medida que cada
:mn sistema de la LAN arranca. El servidor DHCP asegura que todas las direcciones IP
vv'JS .
Coroomaiio son nicas. El servicio necesita una pequea intervencin humana relativa a la
asignacin y al mantenimiento de las direcciones IR Los administradores pueden
:
'

'
:
feciur.

: ;'{:''|
Osai':ose:

escribir archivos de configuracin y dejar el resto del trabajo al servidor DHCP


VRfriwffi fiavetjfidof

'

(dhcpd). Este servidor gestiona el conjunto de direcciones IP, liberando al admi-


o : Jo i
'
Y/; S ^^aaegi/f .* #gS

nistrador de red de esta tarea.


.3. Configurando los recursos compartidos de Ubuntu en un entorno
Windows.

Profundizaremos un poco ms en aspectos de Samba ms adelante en este Para comenzar con DHCIJ primero necesita instalar el servidor DHCP. Puesto
mismo captulo. que este captulo se basa en Fedora, puede instalar el paquete RPM con Yum o
Servicios de red de rea ocai Servicios de red de rea loca!

con el gestor de paquetes /usr/bin/gnome-app-install; la versin actual


La primera lnea define el rango del conjunto de direcciones IP disponibles
delpaquete es dhcp-3.0.3-28.i386. (Los usuarios Deban pueden instalar el pa-
para los usuarios de la subred de la LAN. En este caso, hemos usado la red priva-
quete dhcp3-server y editar el archivo de configuracin /etc/dhcp 3 /
da de Clase C 192.168.1.0 que ofrece 254 nodos (desde el 192.168.1.1 hasta el
dhcpd conf ). El software fue creado por Internet Systems Consortium.
.
192.168.1 .254). Esta mscara de red debe coincidir con la mscara de red usada
Una vez lo haya instalado, configure DHCP en / etc /dhcpd. conf Como pri-. para definir su LAN.
mer paso, copie el archivo /usr/share/doc/dhcp/dhcpd. conf sample a / .
Hemos especificado la direccin de la pasarela en la segunda lnea (option router)
etc/ dhcpd conf. Luego, edite el archivo para que se ajuste a su red. El siguien- domain-name-servers). La direc-
y el servidor de nombres en la tercera lnea (option
.

te ejemplo es tpico. La sintaxis usa almohadillas (#) para los comentarios: cin IP es la misma en las dos lneas, puesto que es una prctica comn hacerlo as.

ddns--update-style interim; Un servidor simple con dos tarjetas de red a menudo acta como pasarela de
ignore client-updates; una red de rea local. Una tarjeta, representada por un nombre de dispositivo
como ethO, tiene una direccin en Internet, mientras que la otra tarjeta (supon-
subnet 192.168.1.0 netmask 255.255.255.0 { gamos que es ethl) tiene una direccin en una red privada. Cuando el reenvo de
# default gateway paquetes y el cortafuegos iptables estn activados, cualquier servidor Linux pue-
option routers 192.168.1.1; de actuar como pasarela/cortafuegos. En este caso, tambin se puede activar BIND
option subnet-mask 255.255.255.0,- en modo cach para que funcion como el servidor DNS de la red.
Las ltimas dos lneas especifican la cantidad de tiempo que un cliente puede
# -- option nis-domain "domain.org";
# -- option domain-name "domain.org"; mantener la direccin, se mide en segundos.
option domain-name-servers 192.168.1.1; En nuestro archivo de configuracin DHCP, tambin hemos aadido una clu-
--
sula para especificar la direccin esttica de un servidor DNS corporativo.
# option time-offset -18000; # Eastern Standard Time
# option ntp-servers 192.168.1.1; address
# we want the nameserver to appear at a fixed
# option netbios -ame -servers 192.168.1.1; host ns {
# --- Selects point-to-point node (default is hybrid) Don't change Chis .
next- server serverl centralsof t .org;
.

# -- unless you understand Netbios very well


hardware ethernet 00: 16 :3E: 63 :C7 76; :

# option netbios-node-type 2;
f ixed-address 70.253.158.42;}
# -- range dynamic-bootp 192.168.0.128 192.168.0.254;
default- lease-time 21600;
En la prxima seccin describiremos cmo usar dhcpd para asignar direccio-
max-lease-time 43200;
nes P estticas basadas en la direccin MAC de la tarjeta de red del cliente. Pero
# we want the nameserver to appear at a fixed address antes de hacer eso, veamos una versin sencilla de /etc/dhcpd. conf
host ns {

next- server serverl centralsof t org;


. .
ddns-update-style interim;
hardware ethernet 00 16 3E 63 C7 76: : : : ;

f ixed-address 70.253.158.42; default-lease-time 600;


}
max- lease-time 7200;
}
subnet 192.168.1.0 netmask 255.255.255.0 {

option routers 192.168.1.1;


Hemos configurado unos cuantos elementos de nuestro archivo de configu- option subnet -mask 255.255.255.0;
racin despus de haberlo copiado al directorio /etc: option domain-name-servers server.centralsoft.org,
server2 centralsof t org
. . ,-

subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.2 192.168.1.254;


option routers 192.168.1.1; )

option domain-name-servers 192.168.1.1;


option subnet-mask 255.255.255.0;
default-lease-time 21600; Nota: Para servidores DHCP sencillos, el mantenimiento ser ms sencillo
max-lease-time 43200; siomite los comentarios y hace que el archivo de configuracin sea pequeo.
Servicios de red de rea local Servidos de red de rea local

Iniciando el servicio DHCP permite especificar direcciones IP estticas para sistemas particulares en
dhcp.conf. Vamos a hacerlo. Primero, configure la subred, la direccin de
Algunos servicios DHCP necesitan un archivo dhcpd.leases. Use el comando broadeast y los routers:
touch para crear un archivo vaco en el mismo directorio que el archivo
dhcpd.conf subnet 192.168.1.0 netmask 255 255 2S5 . . .

option broadcast-address 192.168.1.255;


# touch /var/lib/dhcp/dhcpd leases .
optiorx routers 192.168.1.1;

Antes de iniciar el servidor DHCP,


compruebe que la configuracin es correc- Luego, aada una seccin host por cada mquina de la red. Para hacer esto,
ta. Tambin sera recomendable configurar que el servidor se inicie al arrancar. necesitar saber la direccin hardware (a menudo llamada direccin MAC.) de
Para iniciar el servidor, introduzca: cada tarjeta de red, que podr averiguar usando el comando ifconfig en cada
equipo. Aqu mostramos un ejemplo de una seccin host:
[root@host2 -]# service dhcpd start
Starting dhcpd: ethernet MAC address as follows (Host's ame is " laser-printer" :
OK ] [
# >

[root@host 2 ~3#
host laser-printer {
Tambin puede comprobar si el proceso DHCP se est ejecutando con el si-
hardware ethernet 08 00 2b 4c 59 23
: : : : :

f ixed-address 192.168.1.10;
guiente comando (si el servido se est ejecutando, se mostrar una lnea con las
}
estadsticas del proceso):
hostl.centralsoft.com {
# ps aux grep dhcpd
|

hardware ethernet 01 0 cO 2 d 8c 33
: : : :

root 9028 0.0 0.0 2552 636 Ss 09:40 0:00 /usr/sbin/dhcpd f ixed-address 192.168.1.5;

Use d comando chkconfg para conseguir que DHCP se inicie a! arrancar:


}

Cree una clusula de configuracin como esta para cada servidor que necesite
# chkconf ig dhcpd on
# chkconf ig --list una direccin IP esttica y adala al archivo de configuracin.
.... f rom the list
dhcpd 0 off :lsoff 2:on 3:on 4 : on 5 : on 6:off

Al igual que sucede con los otros servicios de Linux, tendr que reiniciar el
A finales de995, Stcve Deering y Robert Hinden se dieron cuenta de la nece-
1

demonio DHCP siempre que haga cambios en los archivos de configuracin. Pue-
sidad de un nuevo protocolo de direccionamiento para Internet. Su primera espe-
de establecer otras opciones en el archivo dhcpd conf de manera global o para
cificacin de IPv apareci en 1995, en el IETF Request Ror Comments (RFC) 1883;
.

el cliente de un equipo o para una subred. Esto quiere decir que puede
establecer la segunda apareci en 1998, en el RFC 2460. Deering y Hinden argumentaban
una configuracin por defecto para su red, luego sobrescribirla para un cierto
y lo que mucha gente ya saba: que el espacio de direcciones de !Pv4 de 32 bits iba
grupo de mquinas e incluso para mquinas individuales. Aqu hay un ejemplo
a limitar el crecimiento explosivo de Internet.
de una seccin de configuracin global en la parte de arriba del archivo
Algunos administradores de sistemas se han dado cuenta de que Pv y sus
dhcpd. conf:
mtodos para asignar direcciones P han empezado a ganar popularidad, Aun-
option doraain ame "host2.centralsoft.org"; que mucha gente duda de IPv, argumentando que es innecesario o que en nun-
ca se va a imponer en la prctica real, hay muchas aplicaciones y muchos entornos
que estn girando en esta direccin.

Las estaciones de trabajo suelen funcionar bien con direcciones dinmicas (es Nota: Una descripcin exhaustiva est, de nuevo, fuera del alcance de este
decir, direcciones que pueden cambiar peridicamente o despus de reiniciar), libro; para ms informacin sobre el protocolo IPv y su demonio, as como

pero los servidores normalmente necesitan direcciones estticas, por lo que sus para saber cmo obtener direcciones Pv pblicas, tendr que buscar en
otros sitios.
direcciones no cambian mientras estn atendiendo a un cliente. Por ello, DHCP
Servicios de red de rea local Servicios de red de rea local

Las direcciones Pv a menudo incluyen la direccin hardware de la tarjeta de como iptables. Tambin hay disponibles otros servicios de pasarela, como el en-
red. Esta propiedad permite a los usuarios de IPv obtener la direccin IP esttica mascaramiento o el Network Address Translation (NAT).
sin necesitar ninguna configuracin en la parte del servidor que soporte estas
En organizaciones pequeas y en redes locales, una pasarela puede implan-
tarse en un nico servidor incluyendo seguridad bsica, un cortafuegos, DHCP,
direcciones. La asignacin automtica de direcciones !Pv6 puede hacerse con la
ayuda del demonio router-advertising radvd. Los usuarios de Fedora pueden insta- DNS cach y servicios de correo. En organizaciones ms grandes, tales servicios
lar el paquete radvd-0.9.1 desde los repositorios Yum. Los usuarios Deban pueden
estn normalmente repartidos por varios servidores, con una zona desmilitari-
instalar el paquete radvd y leer el archivo /usr/share/doc/radvd/
zada (DMZ) actuando como pasarela.
README. Deban.
radvd escucha las peticiones que se hacen al router y enva mensajes tal y
como se describe en el RFC 2461, "Neighbor Discovery for IP Versin 6 (IPv)".
En seguridad informtica, se conoce con el trmino zona desmilitarizada a
Los equipos pueden configurar automticamente sus direcciones
y escoger sus una red perimetral, que es una subred o una red situada entre la red interna e
routers por defecto basndose en estos mensajes.
Internet. Por ejemplo, su red privada debera usar una red privada del tipo
radvd soporta un protocolo sencillo. Su instalacin tambin es sencilla. Un 192.168.1.0, la DMZ 10.0.0.0 y el bloque pblico de Internet 70.253.158.0.
ejemplo de configuracin para el archivo /etc/radvd. conf sera este:
Las DMZ se usan para contener servidores que necesitan ser accesibles desde
interface ethO fuera, tales como servidores de correo, servidores Web o servidores de DNS. Las
{
conexiones desde Internet a la DMZ suelen controlarse usando la funcin Port
AdvSendAdvert on;
prefix 0 70 IfOQ 96
: : : : /64
Address Transa tion (PAT).
:

{ Una DMZ se suele situar en el medio de dos pasarelas o cortafuegos y conecta


};
a ambos, con una tarjeta de red conectada a la red interna y otra conectada a
b Internet. Una DMZ puede evitar fallos de configuracin accidentales que po-
Si quiere usar radvd, necesitar cambiar el prefijo por uno de su red y confi- dran permitir el acceso desde Internet a la red interna. A esto se le llama
gurar el servicio. Tambin tendr que configurar el DNS en las estaciones de cortafuegos de subred apantallada.
trabajo clientes de forma separada. Para nuestros propsitos, ser suficiente con limitar la configuracin de la
Puede encontrar variada informacin sobre el proyecto radvd en la pgina pasarela para el reenvo de paquetes; no gastaremos tiempo en la DMZ, que ne-
http / /www. litech.org/radvd.
: cesita mucho equipamiento y esfuerzo. Para levantar una pasarela necesitar:

Un ordenador dedicado que acte como pasarela.

Una conexin a Internet y dos tarjetas de red.


8
Un pequeo conmutador para que las mquinas clientes se conecten a la
Linux ofrece facilidades a los usuarios para que naveguen por Internet sin
pasarela.
exponer sus direcciones IP individuales al pblico. La configuracin tpica oculta
iptables instalado.
a una organizacin del pblico usando Linux como router. En la parte privada
del router, las actividades locales no pueden ser detectadas por nadie de la parte Supondremos que ethO es su conexin de Internet y ethl es su pasarela interna
pblica. en esta configuracin. Edite el archivo de configuracin para ethO, que est en /
La gente a veces se refiere a una pasarela como a un bastin host. Lo correcto etc/sysconf ig/networking/devices/if cfg-ethO para incluir las siguien-

es pensar que es una entidad de red que ofrece una nica entrada tes lneas:
y una nica
salida hacia Internet. El bastin host ayuda a evitar que se comprometa la segu-
0NB00T=yes
ridad de una red ofreciendo una barrera entre las reas pblica
y privada. Nos USERCTL=no
referiremos a los servidos que ofrece como servicios de pasarela. IPV6INIT-HO
PEERDNS=yes
Los administradores de sistemas Linux implantan servidos de pasarela usan-
GATEWAY=7 0 .253.158.46
do una combinacin de reenvo de paquetes y reglas de cortafuegos conocidas TYPE=Ethernet
Servicios de red de rea local Servicios de red de rea loca

DEVICE=ethO
HWADDR=00 04 61 43 75 ee ddn s - upda t e - s t y 1 e interim;
: : : :

BOOTPROTO=none
def ault- lease-time 600;
NETMASK=25S .255.255.248
max-lease- time 7200;
IPADDR=70 .253 158 .43 .

subnet 192.168.1.0 netmask 255.255.255.0 {

Asimismo, option routers 192.168.1.1;


la configuracin para ethl debera ser: option subnet-mask 255.255.255.0;
ONBOOT^yes option doraain-name-servers serverl centi'alsof t org
. .

server2 centralsof t org


. .

USERCTL=no

IPV6INIT.no range 192.168.1.2 192.168.100.254;


PEERDNS=yes }

TYPE=Ethernet
DEVICE=ethl
HWADDR=00 13 46 e6 e5 83
: : : : :

BOOTPROTO=none
NETMASK=255 255 255 . . . Esta seccin cubre el uso de productos que son combinacin de pasarela y
I PADDR= 192.168.1.1
cortafuego y que ofrecen conjuntos de mltiples funcionalidades. Existen varios
La informacin de estos parmetros de configuracin puede encontrarse en el paquetes gratuitos como Firestarter, IPCop, Netfilter y Shorewall. Ver como en
archivo sysconfig.txt, que encontrar en /usr/share/doc/initscripts- Linux tambin se menciona Smoothwall y ClarkConnect, pero son
la literatura

7.93.7. Con las tarjetas de red configuradas, necesitar asegurarse de que ha productos comerciales que instalan una distribucin Linux entera, no aplicacio-
instalado iptables. Debera ver el siguiente resultado: nes independientes.
Para su uso correcto en este captulo, hemos elegido Firestarter. No obstante,
[roothost2 devces]# rpm -q iptables
puede que quiera echarle un vistazo a Shorewall, una utilidad de configuracin
iptables- 1 3 5-1 . . .

[root@host 2 devces]# para Netfilter (una herramienta de lnea de comandos). Puede descargar
Firestarter desde los repositorios de Fedora. Nuestra instalacin necesita el si-
Si no tiene iptables instalado, instlelo ahora y cargue los mdulos. guiente paquete:

[root@host2 ~J # rpm -q firestarter


Nota: Fedora 5 instalar iptables usando la aplicacin
Instalar/Desinstalar firestarter-1 0. 3-11. fc5
.

Software, ubicado en el directorio por encima del men Aplicaciones [root@host2 ~]#
en el
panel GNOME. Tambin carga mdulos del kernel como parte del
proceso
de instalacin. El asistente para Firestarter (figura 8.5) se lanza cuando un administrador
inicia el programa por primera vez.Puede relanzar el asistente desde el men del
Luego ejecute: cortafuegos en la interfaz principal, as como cambiar las opciones desde la op-
cin Preferencias.
# iptables -t nat -A POSTROTING ~o ethO -j MASQUERADE
# Service iptables save Despus de la pantalla de bienvenida inicial, habr una serie de pantallas de

# echo 1 > /proc/sys/net/ipv4/ip_forward configuracin, comenzando por la pantalla de configuracin del dispositivo de
red (figura 8.6), que puede configurar tarjetas de red duales.
Ahora edite / etc/ sysctl conf, cambiando net ipv4 ip_ f orward =
0 La funcin principal de Firestarter es la de compartir conexiones. Sin embar-
. . .

por l para mantener esto activo tras reimciar. Puede hacer que el sistema
relea / go, desde que usa NAT, funciona corno una pasarela, por lo que los PC de una
etc/ sysctl conf tecleando:
.

LAN es como si fueran una nica mquina con una nica direccin IP para
# sysctl -p Internet. Esto es evidente, por ejemplo, en la pantalla de preferencias mostrada
en la figura 8.7. Fjese en que la descripcin del primer dispositivo se refiere a un
Finalmente, si tiene una pequea organizacin, puede aadir DHCP segunda descripcin se refiere a una
al servi- "Dispositivo de red conectado a Internet" y la
dor usando una versin sencilla de dhcpd. conf
"Red local conectada a un dispositivo".
Servicios de red de rea focal Servicios de red de rea local

default-lease- time 21600;


max-lease-time 43200;

is wt.yn

Interface Network Setttngs


Evens internet connected netsyorr (Invite :

Policy '
Detectad devisis);:! Ethernet devisa (ethoii i !v.

Firewail

Detectad devsete };
Ethernet devics (ethFJij
,
ICMP Ftering j

ToS Filtering [j Snahfe Internet cdhnecton sharng

Advanced Options 3 Einabl DHCP for the local networfeV ;


r.wws
v DHCP server defails
O Kaep existrng DHCP confijurahon
Figura 8.5. Asistente para el cortafuegos Fircstarter. f Oeste rew DHCP conhgorat en.
lovwft&t P acoros to assig-- |
J.r.8 .lC'J

'g~.es; i aderes* :c asvgr- 7:>t


NetWork device setup Jarre server- < 3/-am,c>

Xvt' te & : : :*>"

Picase select your Interne! connected network rievica from the drop-down
llst of available duvcies,
Figura 8.7. Pantalla de preferencias para Firestarter.
Detecten deyiee(s)- Ethernet devise (etho) I

Tip )f you use mdem the device ame is likoly pppO. If you heve a tobl mdem or o
DSl onnectiori. choose etht! Choose ppp) rF you know your cable or DSl. operator uses
the PPPoE' pinteen!. El archivo resolv conf . de la pasarela contiene la configuracin DHCP de las
Start the nrewall on dial out mquinas client es, por lo que Firestarter lee el archivo y coloca las direcciones del
IP address is assmned va DHCP servidor DNS en dhcpd conf. .

La interfaz principal de Firestarter ofrece una vista del estado de la pasarela y


r/nfwWrr.ir
las conexiones a ios equipos DHCP Tambin ofrece un resumen de eventos y de
gack j
Porward
actividad, tal y como se muestra en la figura 8.8.
Figura 8.6. Pantalla de configuracin del dispositivo de red. En la figura 8.9, puede ver una vista de la segunda pestaa de la interfaz
principal. En esta vista, puede ver las conexiones bloqueadas.
Tambin se puede ver en la parte de abajo de la figura 8.7 que Firestarter
El panel Eventos ofrece un log de intentos de saltarse el cortafuegos. Puede ser
permite al administrador usar una configuracin DIICP existente para crear una
til para saber que hay intrusos que intentan entrar en sus sistemas. Si los in-
nueva. Aqu mostramos el archivo dhcp conf de Firestarter:
tentos son reiterados, aada sus direcciones fP al archivo /etc/host deny. Si
.
.

# DHCP conf iguration generated by Firestarter alguien intenta entrar mediante ssh por el puerto 22 usando un ataque de dic-
ddns-update-style interim; cionario, simplemente puede cerrar el puerto con Firestarter.
ignore ciient -updates
El icono de Firestarter se vuelve rojo cuando detecta algn riesgo potencial.

subnet 192.168.1.0 netmask 255.255.255.0 { Fjese en el me