Está en la página 1de 78

UNIVERSIDAD AUTONOMA DE SINALOA

FIMAZ

PROYECTO: INVESTIGACION Y TUTORIAL

MODILO 1: CONFIGURACION Y ADMINISTRACION DE LINUX

PROFESOR: DR. OMAR VICENTE GARCIA SANCHEZ

ALUMNO: LEOCADIO CRUZ CORTES

FECHA: 13/ABRIL/2013

Historia de Debian

Ian Murdock El proyecto Debian fue fundado en el ao 1993 por Ian Murdock, el nombre del proyecto se basa en la combinacin del nombre de su entonces novia Deborah con su propio nombre Ian, formando Debian. Despus de haber estudiado en la Universidad de Purdue. Murdock escribi el Manifiesto de Debian que utiliz como base para la creacin de la distribucin Linux Debian.

Manifiesto de Debian Linux

Qu es Debian Linux? Debian Linux es una distribucin de Linux completamente nueva. En vez de estar desarrollada por un individuo aislado o un grupo, como se han desarrollado otras distribuciones de Linux en el pasado, Debian se desarrolla abiertamente en el espritu de Linux y GNU. El propsito principal del proyecto Debian es acabar creando una distribucin que est a la altura del nombre de Linux. Debian se estn ensamblando con cuidado y a conciencia, y se le dar apoyo y mantenimiento con una atencin similar. Es tambin un intento por crear una distribucin no comercial que ser capaz de competir efectivamente en el mercado comercial. Ser distribuida, llegado el caso, por la Free Software Foundation en CD-ROM, y la Debian Linux Association ofrecer la distribucin en disquetes y cinta junto con los manuales impresos, el soporte tcnico y otras cuestiones igualmente importantes para el usuario final. Todo lo anterior estar disponible por poco ms que el coste original, y esa pequea diferencia se destinar al ms amplio desarrollo de software libre para todos los usuarios. Tal distribucin es esencial para el xito del sistema operativo Linux en el mercado comercial, y debe hacerse por parte de organizaciones en situacin de avanzar con xito y abogar por el software libre sin la presin de los beneficios o los ingresos.

Por qu se est elaborando Debian? Las distribuciones son esenciales para el futuro de Linux. En esencia, le eliminan al usuario la necesidad de buscar, obtener, compilar, instalar e integrar correctamente gran nmero de herramientas esenciales para conseguir un sistema Linux en funcionamiento. En su lugar, la carga de construir el sistema recae sobre el creador de la distribucin, y muchos usuarios continuarn usando una distribucin por pura conveniencia incluso despus de haberse familiarizado con el sistema operativo. De esta manera, las distribuciones juegan un papel realmente importante. A pesar de su obvia importancia, las distribuciones han atrado poco la atencin de los desarrolladores. Existe una sencilla razn para ello: no son ni fciles ni fascinantes de construir, y requieren gran cantidad de esfuerzo continuado por parte de su creador con el fin de mantener la distribucin libre de errores y adems actualizada. Una cosa es ensamblar un sistema empezando desde cero, y otra muy distinta asegurarse de que otros lo instalen fcilmente, se pueda instalar y utilizar en gran variedad de configuraciones de hardware, contenga programas que otros vayan a considerar tiles, y se actualice cuando los componentes mismos experimenten mejoras. Muchas distribuciones han empezado como sistemas bastante buenos, pero conforme va pasando el tiempo el mantenimiento de la distribucin se convierte en una prioridad secundaria. Un caso que viene a cuento es el de Softlanding Linux System (ms conocida como SLS). Es bastante posible que sea la distribucin de Linux ms plagada de errores y peor mantenida; por desgracia, tambin es la ms generalizada. Sin lugar a dudas, es la distribucin que atrae la mayor parte de la atencin de los muchos distribuidores comerciales de Linux que han surgido para capitalizar la creciente popularidad del sistema operativo. Se trata verdaderamente de una mala combinacin, pues la mayora de personas que obtienen Linux de estos distribuidores reciben una distribucin de Linux plagada de errores y deficientemente mantenida. Como si esto no fuera ya bastante malo, estos distribuidores tienen una alarmante tendencia a publicitar engaosamente caractersticas no funcionales, o incluso extremadamente inestables, de su producto. Combnese esto con el hecho de que los compradores esperan que el producto est a la altura de su publicidad, y que muchos creen que se trata de un sistema operativo comercial hay tambin una tendencia a no mencionar que Linux es libre y gratuito y que se distribuye bajo los trminos de la licencia pblica general de GNU). Para acabar de rematarlo, estos distribuidores estn en realidad consiguiendo suficientes beneficios de su esfuerzo para justificar la compra de anuncios mayores en ms revistas; es el clsico ejemplo de un comportamiento inaceptable recompensado por aquellos que simplemente no conocen nada mejor. Evidentemente hay que hacer algo para remediar la situacin.

De qu manera intentar Debian poner fin a estos problemas? El diseo de Debian es lo bastante abierto para asegurar que el sistema tiene la ms alta calidad y que refleja las necesidades de la comunidad de usuarios. Al implicar a otras personas de diversas capacidades y bagajes, Debian puede desarrollarse de forma modular. Sus componentes son de alta calidad porque a los que tienen experiencia en cierta rea se les da la oportunidad de construir o mantener los componentes individuales de Debian que implica dicha rea. Implicar a otros asegura adems que a la distribucin pueden incorporarse valiosas contribuciones durante su desarrollo; de esta manera, se crea una distribucin basada en las necesidades y deseos de los usuarios, en vez de las necesidades y deseos del constructor. Es muy difcil para un pequeo grupo anticiparse a estas necesidades y deseos por anticipado sin las aportaciones directas de otros. Debian Linux tambin ser distribuida en un soporte fsico por la Free Software Foundation y la Debian Linux Association. Esto proporcionar Debian a los usuarios sin acceso a Internet o FTP, y adems hace que productos y servicios tales como manuales impresos y soporte tcnico estn a disposicin de todos los usuarios del sistema. De esta manera, Debian puede usarse por parte de muchos ms individuos y organizaciones que lo que sera posible en otro caso; la prioridad estar en proporcionar un producto de primera fila y no en los beneficios o los ingresos, y el margen de los productos o los servicios puede usarse para mejorar el software en s para todos los usuarios, hayan pagado por su Debian o no. Versiones de DEBIAN * Debian 1.1 Buzz (17 de junio de 1996) * Debian 1.2 Rex (12 de diciembre de 1996) * Debian 1.3 Bo (5 de junio de 1997) * Debian 2.0 Hamm (24 de julio de 1998) * Debian 2.1 Slink (9 de marzo de 1999) * Debian 2.2 Potato (15 de agosto del 2000) * Debian 3.0 Woody (19 de julio del 2002) * Debian 3.1 Sarge (6 de junio de 2005) * Debian 4.0 Etch (15 de agosto de 2007) * Debian 5.0 Lenny (14 de febrero de 2009) * Debian 6.0 Squeeze (6 de febrero de 2011) * Debian 7.0 Wheezy

Instalando deban desde cero, paso a paso para que se enseen a particionar el disco desde el instalador.

Y pierdan el miedo a que ocurra algo este tutorial esta debidamente bien explicado como se debe ir avanzando en el instalador, el tutorial cuenta con ventanas ilustradas de el instalador a cada paso que se avanzaba para que no se pierdan,

-instalacin

Aqu podemos escoger entre varias opciones: Install (Inicia el asistente de instalacin sin grficos, digamos que a modo de consola). Graphical install (Es el que vamos a utilizar, iniciar el asistente de instalacin con grfico). Advanced Options (Para realizar instalaciones avanzadas). Help (Ayuda sobre el asistente de instalacin y otras opciones). Escogemos la opcin

- Seleccionando el idioma. El primer paso es seleccionar nuestro idioma ya que por defecto se instalar en ingls. En este proceso no hay mucho que aclarar. Voy a realizar la instalacin en Espaol para que el asistente muestre su ayuda y al propio asistente en este idioma. Seleccionamos Spanish y hacemos clic en Continue

Las siguientes diapositivas nos pide seleccionar el rea o regin donde vivimos.

Creo que esta por dems pero, esta ventana es para ubicar la zona horaria de acuerdo a tu localizacin geogrfica.

En la siguiente ventana es mas especifica ya ubicando exactamente el pas donde te encuentras

Luego el asistente nos pide que seleccionemos una localizacin para el idioma. En este caso como la instalacin es en espaol, selecciono Espaa

Terminando este proceso lo que nos toca es configurar el nombre de nuestra PC (Host), la contrasea de root, nuestro nombre de usuario y el dominio al que pertenecemos (en caso de estar dentro de uno) por eso necesitamos ver que funcione bien nuestro teclado

Nombre de de la maquina tal cual la miraran en la red

Dominio de red a la que perteneces, o grupo el cual tendras

Ahora nos toca poner la clave de root. Es importante que esta clave sea segura y que no la olvidemos ya que sin ella no podremos realizar ninguna tarea administrativa, adems por cuestiones de seguridad debe ser una clave fuerte, por lo que es recomendable hacer uso de smbolos, espacios y letras en maysculas y minsculas.

Aqu le ponemos el nombre del usuario, bien tu nombre o tu apodo como sea

Aqu lo mejor es dejarlo igual que la ventana anterior

Establecemos nuestra contrasea de usuario. Si no establecemos un password para root, entonces esta contrasea ser la misma que utilizaremos para administrar nuestro sistema.

Aqu elegimos todo el disco si queremos hecer una instalacin total en el disco, pero si quieres una particin elegimos la opcin manual

Seleccionamos la opcin Manual. Sera ms fcil para un usuario normal utilizar el particionamiento Guiado, el cual le crear automticamente sus particiones, incluso les separa la particin /home para que no pierda sus datos, pero hay que tener cuidado con esa opcin, porque si no estamos seguros de lo que hacemos, podemos borrar otras particiones creadas. Si se fijan en la imagen anterior, como nuestro disco es virgen no tiene creada una tabla de particiones vlida, por lo que tenemos que hacerla. Es muy sencillo, solo nos paramos (en mi caso) sobre: SCSI1 (0,0,0) (sda) 8.6 GB ATA VBOX HARDDISK Y le damos al botn de continuar.

nos pregunta si queremos crear una nueva tabla de particiones en el dispositivo seleccionado y seleccionamos la opcn Si. Le damos clic al botn de Continuar y nos debe mostrar el disco de la siguiente forma:

Ahora la primera particin la crearemos sobre el ESPACIO LIBRE

Asi queda y le damos continuar

Creamos una particin nueva, a la que le asignar 5 Gb de espacio. En una instalacin real es recomendable establecer un tamao superior a los 7 Gb. Con solo poner 5,0 Gb ya el sistema asigna este espacio correctamente, aunque el instalador nos permite trabajar con otros valores como porciento (%) o valores de mximo (max) y mnimo. Yo siempre opto por la opcin de ponerle la cantidad en Gb, aunque igual puede usar Mb.

Esta particin es la que contiene los ficheros, archivos y aplicaciones necesarias para el arranque del sistema, por lo que debe ser primaria y estar al principio del disco como se ver en las siguientes imgenes

Aqu elegimos que al principio

Aqu el instalador esta particionando el disco duro Ahora un paso importante. Por defecto Debian nos crea la particin en Ext3, pero podemos hacer uso de Ext4 que es mucho mejor. Sencillamente seleccionamos la opcin Utilizar como y hacemos clic en Continuar para escoger Ext4

Listo te muestra como queda echa la particion

Aqu elegimos la segunda opcion

Marcamos la opcin Se ha terminado de definir la particin y hacemos clic en Continuar. De esta forma quedar creada la primera particin de forma muy sencilla. Ahora debemos repetir el mismo proceso para la particin /home con la nica diferencia de que tendr otro tamao en Gb y no ser una particin Primaria, sino Lgica

Aqu le vuelve a mostrar los cambios realizados a manera de resumen

Aqu le desimos que no y continuar

Al no poder acceder a las rplicas el sistema nos mostrar el siguiente error para los repositorios security y volatile

Y damos contuinuar

No y continuar

Por defecto Debian instalar el entorno de escritorio Gnome (en este caso) con algunas utilidades estndart del sistema. Si tenemos experiencia con la instalacin de Debian podemos desmarcar la primera opcin, para posteriormente instalar lo que querramos. Si eres nuevo, es recomendable que lo dejes por defecto Nosotros marcaremos: Entorno de escritorio Servidor web Servidor dns Servidor ssh Utilidades estandar

Aqu la maquina empieza a instalar

Una vez que termine de instalar nos pedir instalar GRUB y de esta forma terminar la instalacin

Reiniciamos la PC y si todo sale bien nos saldr algo como esto:

Aqu al paso de 5 seg entrara automticamente al sistema operativo debian

Luego nos aparecer nuestra pantalla de Login y finalmente usando nuestro usuario y contrasea, accedemos a Gnome. De por si, solo instalamos un sistema bsico con programas para realizar tareas bsicas como navegar por Internet o revisar el correo.

Escritorio de deban resien instalado!!!...

Esta es la interfaz grafica de el escritorio de deban

Codigo para principiantes de debian En este tutorial aprenderemos para que sirve la terminal y los principales comandos, aunque no todos, que podemos ejecutar con ella, los comandos descritos aqu son iguales para cualquier distribucin GNU/Linux a menos que se especifique lo contrario, cabe destacar que algunos de estos comandos se pueden realizar mediante una aplicacin grfica.

La terminal

La consola de comandos comunmente llamada terminal siempre ser tu mejor amiga cuando uses GNU/Linux, es por ello que es importante aprender cmo ejecutarla:

Aplicaciones/Accesorios/Terminal.

Usuarios El usuario Root es un SuperAdministrador, tiene todos los privilegios y puede hacer cualquier cosa sobre el sistema. Se sabe que se est trabajando cmo root debido a que comunmente se muestra el simbolo "#" en la terminal.

El usuario "normal" o el creado durante el proceso de instalacin no es ms que un usuario comn y corriente el cul slo tiene poderes sobre sus propios documentos, a diferencia de el usuario root, este no tienes poderes de administracin sobre el sistema. Se sabe que se est trabajando cmo usuario normal ya que comunmente se muestra el simbolo "$" en la terminal. Ejemplo: #Trabajando cmo root: linux21#

#Trabajando cmo usuario normal: linux21$

Una vez espesificado este punto, estarn conscientes que al encontrar el simbolo "$" en, por ejemplo un tutorial, se trata de decir que el comando debe ejecutarse cmo usuario normal, comn y corriente. Lo mismo aplica para el simbolo "#". Ver archivos y directorios

El comando "ls" mostrara los nombres de todos los archivos y carpetas que se encuentran en el directorio que navegamos actualmente o listar archivos archivos y carpetas de un directorio dado.

1. Mostrar los archivos del directorio actual: linux21$ ls

2. Mostrar archivos de un directorio especifico: linux21$ ls /directorio_a_mostrar/

Ambos comandos pueden ser modificados para mostrar cosas especificas, las opciones ms usadas son:

1. Mostrar todos los archivos y carpetas incluyendo ocultos: Linux@linux21$ ls -a

2. Mostrar las propiedades de los archivos: Linux@linux21 $ ls -l

3. Mostrar ordenando por fecha de modificacin: Linux@linux21$ ls -t

4. Mostrar en una sla lnea y separados por comas: Linux@linux21$ ls -m

Ejemplo: #Listando archivos y directorios de la carpeta /home/

Linux@linux21:~$ ls /home/ -a .Trash-0 .directory Recycled lost+found usuario

Cambiar de directorio

Para cambiar de directorio al navegar entre nuestros archivos por medio de la terminal se puede hacer uso del comando "cd". El cambio de directorio slo se llevar a cabo si el directorio especificado existe, si no es as, nos quedaremos en el mismo directorio desde el que se invoco el comando.

Si el cambio de directorio se ha dado con exito, el nombre del directorio al cual accedimos se mostrar en la terminal.

Algunas de las opciones disponibles para el comando cd son:

-Ir al directorio anterior: cd

- Ir al directorio superior: cd ..

-Ir a la carpeta "home": cd ~

Ejemplo: #Entrar a un directorio Linux@linux21:~$ cd NombreDirectorio

Crear directorios

Para crear directorios en debian, existe un comando simple , se trata de "mkdir" no tiene mayor ciencia que el escribir "mkdir" ms el nombre de la carpeta a crear.

Ejemplo: #Crear un directorio Linux@linux21:~$ mkdir /NombreDirectorio

Borrar directorios y archivos

Si se quiere borrar un directorio en debian, se puede hacer uso del comando "rm" la sintaxis es simple, "rm" ms el nombre del fichero/carpeta a eliminar.

* Para un borrar el contenido de la carpeta se hace agregndole rm "-r"

Ejemplo: #Borrar una carpeta Linux@linux21:~$ rm /NombreDirectorio

#Borrar el contenido de una carpeta Linux@linux21:~$ rm -r /NombreDirectorio

Copiar directorios y archivos

Para copiar directorios y archivos se puede usar el comando "cp", este comando viene de la palabra "copy" en Ingls que significa "copiar"

Ejemplo: #Realizar la copia de un archivo y dejar la copia en el mismo directorio que el original. Linux@linux21:~$ cp ArchivoOriginal ArchivoCopia

#Para realizar lo mismo pero con directorios y Linux@linux21:~$ cp -r CarpetaOriginal/ CarpetaCopia/

de

forma

recursiva

#Se puede especificar que la copia se ponga en otro lugar distinto al de origen Linux@linux21:~$ cp ArchivoOriginal /rutacopia/ArchivoCopia

#Obviamente se puede hacer lo mismo con carpetas Linux@linux21:~$ cp -r CarpetaOriginal /rutacopia/CarpetaCopia

Mover/Renombrar archivos y directorios

Mover archivos y directorios bajo terminal equivale a cortar y pegar en modo grfico, renombrar archivos y directorios equivale a dar click en "Cambiar nombre" en entorno grfico ustedes pueden lograr estas dos cosas con un slo comando, para lograrlo, utilizaremos el comando "mv" este comando no tiene mayor ciencia que teclear "mv" origen destino, funciona tanto con archivos cmo con carpetas. Ejemplo: #Mover archivo a un directorio especifico Linux@linux21:~$ mv ArchivoOrigen /LugarDeDestino/ArchivoDestino

#Renombrar una carpeta y dejarla en el mismo lugar Linux@linux21:~$ mv NombreOriginal NombreNuevo

Limpiar la terminal

Este cdigo sirve para limpiar la ventana de la terminal en la cual estamos trabajando Ejemplo: #Limpiar la terminal Linux@linux21:~$ clear Y con eso limpia toda la pantalla sin necesidad de abrir otra terminal porque ya estara saturada de cdigo y eso puede hacer que nos extraviemos.

Cambiar contrasea

Para cambiar la contrasea de nuestro usuario podemos hacer uso del comando "passwd", este comando nos pedir la contrasea actual y la nueva contrasea que queramos darle a nuestra cuenta.

Ejemplo: #Cambiando contrasea Linux@linux21:~$ passwd

Nota: Al teclear la contrasea no se produce nada por pantalla, es decir, no aparecen asteriscos (*) o algn otro simbolo, sin embargo si esta recibiendo lo que tecleamos. Escribimos la contrasea y listo

El super usuario como ya se ha comentado antes tiene todos los permisos sobre el sistema, cuando vamos a hacer muchos cambios es conveniente loguearnos como el en lugar de utilzar sudo, ya que no necesitaremos teclear continuamente el comando para realizar una accin cmo administrador, si no que simplemente se loguea cmo el y automaticamente gana todos los permisos pudiendo trabajar cmo si de un usuario normal se tratase.

Ejemplo: #Login como Invitado Linux@linux21:~$ su invitado

#Login cmo Super Usuario Linux@linux21:~$ su

Repaso

Interactuando con la terminal y repasando lo que hemos visto #Abre la terminal

Linux@linux21:~$ ls

#Miramos los directorios y archivos que hay en la ruta actual ... Desktop(Escritorio) ...

Linux@linux21:~$ cd Desktop(Escritorio) #Entramos al directorio Escritorio o Desktop segn nos haya mostrado el comando ls

Linux@linux21:~/Desktop(Escritorio)$ mkdir PRUEBA #Creamos un directorio nuevo llamado PRUEBA en el escritorio

Linux@linux21:~/Desktop(Escritorio)$ cd prueba #Accedemos al nuevo directorio

bash: cd: prueba: No existe el fichero o el directorio #Nos informa que el directorio que deseamos no existe

Linux@linux21:~/Desktop(Escritorio)$ dir #Utilizamos este comando para ver como se llama el directorio que creamos anteriormente (Se puede usar igualmente el comando ls) ... PRUEBA ...

Linux@linux21:~/Desktop(Escritorio)$ cd PRUEBA #Accedemos al directorio escribiendo su nombre tal y como nos ha mostrado el comando anterior Linux@linux21:~/Desktop(Escritorio)/PRUEBA$ cd .. #Para ir a un nivel superior, es decir, salir del directorio

Linux@linux21:~/Desktop(Escritorio)$ cp -r PRUEBA/ PRUEBA1/ #Copiamos el directorio a PRUEBA1

Linux@linux21:~/Desktop(Escritorio)$ ls ... PRUEBA PRUEBA1 ...

Linux@linux21:~/Desktop(Escritorio)$ mv PRUEBA1 PRUEBA #Movemos el directorio PRUEBA1 a dentro del direcotrio PRUEBA

Linux@linux21:~/Desktop(Escritorio)$ rm -r PRUEBA #Eliminamos el directorio PRUEBA

Linux@linux21:~/Desktop(Escritorio)$ cd ~ #Te dirige al directorio de tu usuario

Linux@linux21:~$ clear #Te borra todo lo escrito de la terminal

Y listo con eso te enseas a moverte entre carpetas, copiando, moviendo y borrando, bien sea una carpeta o un archivo sin importar la extencion.

Investigacin Introduccin, caractersticas y configuracin del DNS

Introduccin. Bind (Berkeley Internet Name Domain). BIND (acrnimo de Berkeley Internet Name Domain) es una implementacin del protocolo DNS y provee una implementacin libre de los principales componentes del Sistema de Nombres de Dominio, los cuales incluyen: Un servidor de sistema de nombres de dominio (named). Una biblioteca resolutoria de sistema de nombres de dominio. Herramientas para verificar la operacin adecuada del servidor DNS (bind-utils). El Servidor DNS BIND es ampliamente utilizado en la Internet (99% de los servidores DNS) proporcionando una robusta y estable solucin.

DNS (Domain Name System). DNS (acrnimo de Domain Name System) es una base de datos distribuida y jerrquica que almacena la informacin necesaria para los nombre de dominio. Sus usos principales son la asignacin de nombres de dominio a direcciones IP y la localizacin de los servidores de correo electrnico correspondientes para cada dominio. El DNS naci de la necesidad de facilitar a los seres humanos el acceso hacia los servidores disponibles a travs de Internet permitiendo hacerlo por un nombre, algo ms fcil de recordar que una direccin IP. Los Servidores DNS utilizan TCP y UDP en el puerto 53 para responder las consultas. Casi todas las consultas consisten de una sola solicitud UDP desde un Cliente DNS seguida por una sola respuesta UDP del servidor. TCP interviene cuando el tamao de los datos de la respuesta exceden los 512 bytes, tal como ocurre con tareas como transferencia de zonas.

NIC (Network Information Center). NIC (acrnimo de Network Information Center o Centro de Informacin sobre la Red) es una institucin encargada de asignar los nombres de dominio en Internet, ya sean nombres de dominio genricos o por pases, permitiendo personas o empresas montar sitios de Internet mediante a travs de un ISP mediante un DNS. Tcnicamente existe un NIC por cada pas en el mundo y cada uno de stos es responsable por todos los dominios con la terminacin correspondiente a su pas. Por ejemplo: NIC Mxico es la entidad encargada de gestionar todos los dominios con terminacin .mx, la cual es la terminacin correspondiente asignada a los dominios de Mxico.

FQDN (Fully Qualified Domain Name). FQDN (acrnimo de Fully Qualified Domain Name o Nombre de Dominio Plenamente Calificado) es un Nombre de Dominio ambiguo que especifica la posicin absoluta del nodo en el rbol jerrquico del DNS. Se distingue de un nombre regular porque lleva un punto al final.

EJEMPLO: suponiendo que se tiene un dispositivo cuyo nombre de anfitrin es maquina1 y un dominio llamado dominio.com, el FQDN sera maquina1.dominio.com., asi es que se define de forma nica al dispositivo mientras que pudieran existir muchos anfitriones llamados maquina1, solo puede haber uno llamado maquina1.dominio.com.. La ausencia del punto al final definira que se pudiera tratar tan solo de un prefijo, es decir maquina1.dominio.com pudiera ser un dominio de otro ms largo como maquina1.dominio.com.mx.

La longitud mxima de un FQDN es de 255 bytes, con una restriccin adicional de 63 bytes para cada etiqueta dentro del nombre del dominio. Solo se permiten los caracteres A-Z de ASCII, dgitos y el carcter -. No se distinguen maysculas y minsculas. Desde 2004, a solicitud de varios pases de Europa, existe el estndar IDN (acrnimo de Internationalized Domain Name) que permite caracteres no-ASCII, codificando caracteres Unicode dentro de cadenas de bytes dentro del conjunto normal de caracteres de FQDN. Como resultado, los limites de longitud de los nombres de dominio IDN dependen directamente del contenido mismo del nombre.

Componentes de un DNS. Los DNS operan a travs de tres componentes: Clientes DNS, Servidores DNS y Zonas de Autoridad.

Clientes DNS. Son programas que ejecuta un usuario y que generan peticiones de consulta para resolver nombres. Bsicamente preguntan por la direccin IP que corresponde a un nombre determinado.

Servidores DNS. Son servicios que contestan las consultas realizadas por los Clientes DNS. Hay dos tipos de servidores de nombres: Servidor Maestro: Tambin denominado Primario. Obtiene los datos del dominio a partir de un fichero hospedado en el mismo servidor. Servidor Esclavo: Tambin denominado Secundario. Al iniciar obtiene los datos del dominio a travs de un Servidor Maestro (o primario), realizando un proceso denominado transferencia de zona. Un gran nmero de problemas de operacin de servidores DNS se atribuyen a las pobres opciones de servidores secundarios para las zona de DNS. De acuerdo al RFC 2182, el DNS requiere que al menos tres servidores existan para todos los dominios delegados (o zonas). Una de las principales razones para tener al menos tres servidores para cada zona es permitir que la informacin de la zona misma est disponible siempre y forma confiable hacia los Clientes DNS a travs de Internet cuando un servidor DNS de dicha zona falle, no est disponible y/o est inalcanzable. Contar con mltiples servidores tambin facilita la propagacin de la zona y mejoran la eficiencia del sistema en general al brindar opciones a los Clientes DNS si acaso encontraran dificultades para realizar una consulta en un Servidor DNS. En otras palabras: tener mltiples servidores para una zona permite contar con redundancia y respaldo del servicio. Con mltiples servidores, por lo general uno acta como Servidor Maestro o Primario y los dems como Servidores Esclavos o Secundarios. Correctamente configurados y una vez creados los datos para una zona, no ser necesario

copiarlos a cada Servidor Esclavo o Secundario, pues ste se encargar de transferir los datos de manera automtica cuando sea necesario.

Los Servidores DNS responden dos tipos de consultas: Consultas Iterativas (no recursivas): El cliente hace una consulta al Servidor DNS y este le responde con la mejor respuesta que pueda darse basada sobre su cach o en las zonas locales. Si no es posible dar una respuesta, la consulta se reenva hacia otro Servidor DNS repitindose este proceso hasta encontrar al Servidor DNS que tiene la Zona de Autoridad capaz de resolver la consulta. Consultas Recursivas: El Servidor DNS asume toda la carga de proporcionar una respuesta completa para la consulta realizada por el Cliente DNS. El Servidor DNS desarrolla entonces Consultas Iterativas separadas hacia otros Servidores DNS (en lugar de hacerlo el Cliente DNS) para obtener la respuesta solicitada.

Zonas de Autoridad. Permiten al Servidor Maestro o Primario cargar la informacin de una zona. Cada Zona de Autoridad abarca al menos un dominio y posiblemente sus subdominios, si estos ltimos no son delegados a otras zonas de autoridad. La informacin de cada Zona de Autoridad es almacenada de forma local en un fichero en el Servidor DNS. Este fichero puede incluir varios tipos de registros:

Tipo de Registro. A (Address)

Descripcin. Registro de direccin que resuelve un nombre de un anfitrin hacia una direccin IPv4 de 32 bits. Registro de direccin que resuelve un nombre de un anfitrin hacia una direccin IPv6 de 128 bits. Registro de nombre cannico que hace que un nombre sea alias de otro. Los dominios con alias obtiene los sub-dominios y registros DNS del dominio original.

AAAA

CNAME (Canonical Name)

Tipo de Registro.

Descripcin. Registro de servidor de correo que sirve para definir una lista de servidores de correo para un dominio, as como la prioridad entre stos. Registro de apuntador que resuelve direcciones IPv4 hacia el nombre anfitriones. Es decir, hace lo contrario al registro A. Se utiliza en zonas de Resolucin Inversa. Registro de servidor de nombres que sirve para definir una lista de servidores de nombres con autoridad para un dominio. Registro de inicio de autoridad que especifica el Servidor DNS Maestro (o Primario) que proporcionar la informacin con autoridad acerca de un dominio de Internet, direccin de correo electrnico del administrador, nmero de serie del dominio y parmetros de tiempo para la zona. Registro de servicios que especifica informacin acerca de servicios disponibles a travs del dominio. Protocolos como SIP (Session Initiation Protocol) y XMPP (Extensible Messaging and Presence Protocol) suelen requerir registros SRV en la zona para proporcionar informacin a los clientes. Registro de texto que permite al administrador insertar texto arbitrariamente en un registro DNS. Este tipo de registro es muy utilizado por los servidores de listas negras DNSBL (DNS-based Blackhole List) para la filtracin de Spam. Otro ejemplo de uso son las VPN, donde suele requerirse un registro TXT para definir una llave que ser utilizada por los clientes.

MX (Mail Exchanger)

PTR (Pointer)

NS (Name Server)

SOA (Start of Authority)

SRV (Service)

TXT (Text)

Las zonas que se pueden resolver son:

Zonas de Reenvo. Devuelven direcciones IP para las bsquedas hechas para nombres FQDN (Fully Qualified Domain Name). En el caso de dominios pblicos, la responsabilidad de que exista una Zona de Autoridad para cada Zona de Reenvo corresponde a la autoridad misma del dominio, es decir, y por lo general, quien est registrado como autoridad del dominio tras consultar una base de datos WHOIS. Quienes compran dominios a travs de un NIC (por ejemplo ejemplo: www.nic.mx) son quienes se hacen cargo de las Zonas de Reenvo, ya sea a travs de su propio Servidor DNS o bien a travs de los Servidores DNS de su ISP. Salvo que se trate de un dominio para uso en una red local, todo dominio debe ser primero tramitado con un NIC como requisito para tener derecho legal a utilizarlo y poder propagarlo a travs de Internet.

Zonas de Resolucin Inversa. Devuelven nombres FQDN (Fully Qualified Domain Name) para las bsquedas hechas para direcciones IP. En el caso de segmentos de red pblicos, la responsabilidad de que exista de que exista una Zona de Autoridad para cada Zona de Resolucin Inversa corresponde a la autoridad misma del segmento, es decir, y por lo general, quien est registrado como autoridad del segmento tras consultar una base de datos WHOIS. Los grandes ISP, y en algunos casos algunas empresas, son quienes se hacen cargo de las Zonas de Resolucin Inversa.

Herramientas de bsqueda y consulta. Mandato host. El mandato host una herramienta simple para hacer bsquedas en Servidores DNS. Es utilizada para convertir nombres en direcciones IP y viceversa. De modo predefinido realiza las bsquedas en las Servidores DNS definidos en el fichero /etc/resolv.conf, pudiendo definirse opcionalmente el Servidor DNS a consultar.

host www.linuxparatodos.net

Lo anterior realiza una bsqueda en los Servidores DNS definidos en el fichero /etc/resolv.conf del sistema, devolviendo como resultado una direccin IP. host www.linuxparatodos.net 200.33.146.217 Lo anterior realiza una bsqueda en los Servidor DNS en la direccin IP 200.33.146.217, devolviendo una direccin IP como resultado.

Mandato dig. El mandato dig (domain information groper) es una herramienta flexible para realizar consultas en Servidores DNS. Realiza bsquedas y muestra las respuestas que son regresadas por los servidores que fueron consultados. Debido a su flexibilidad y claridad en la salida es que la mayora de los administradores utilizan dig para diagnosticar problemas de DNS. De modo predefinido realiza las bsquedas en las Servidores DNS definidos en el fichero /etc/resolv.conf, pudiendo definirse opcionalmente el Servidor DNS a consultar. La sintaxis bsica sera: dig @servidor nombre TIPO

Donde servidor corresponde al nombre o direccin IP del Servidor DNS a consultar, nombre corresponde al nombre del registro del recurso que se est buscando y TIPO corresponde al tipo de consulta requerido (ANY, A, MX, SOA, NS, etc.)

Ejemplo: dig @200.33.146.209 linuxparatodos.net MX Lo anterior realiza una bsqueda en el Servidor DNS en la direccin IP 200.33.146.209 para los registros MX para el dominio linuxparatodos.net. dig linuxparatodos.net NS Lo anterior realiza una bsqueda en los Servidores DNS definidos en el fichero /etc/resolv.conf del sistema para los registros NS para el dominio linuxparatodos.net. dig @200.33.146.217 linuxparatodos.net NS Lo anterior realiza una bsqueda en los Servidor DNS en la direccin IP 200.33.146.217 para los registros NS para el dominio linuxparatodos.net.

Mandato jwhois (whois). El mandato jwhois es una herramienta de consulta a travs de servidores WHOIS. La sintaxis bsica es: jwhois dominio Ejemplo: jwhois linuxparatodos.net

Loa anterior regresa la informacin correspondiente al dominio linuxparatodos.net.

Software necesario. Paquete. bind Descripcin. Incluye el Servidor DNS (named) y herramientas para verificar su funcionamiento. Biblioteca compartida que consiste en rutinas para aplicaciones para utilizarse cuando se interacte con Servidores DNS. Contiene un rbol de ficheros que puede ser utilizado como una jaula chroot para named aadiendo seguridad adicional al servicio. Coleccin de herramientas para consultar Servidores DNS. Ficheros de configuracin que harn que el Servidor DNS acte como un cach para el servidor de nombres.

bind-libs

bind-chroot

bind-utils cachingnameserver

Instalacin a travs de yum. Si se utiliza de Red Hat Enterprise Linux 5, CentOS 5, CentOS 4 o White Box Enterprise Linux 4, se puede instalar utilizando lo siguiente: yum -y install bind bind-chroot bind-utils bind-libs caching-nameserver

Instalacin a travs de Up2date Si se utiliza de Red Hat Enterprise Linux 4, o versiones previas, se puede instalar utilizando lo siguiente: up2date -i bind bind-chroot bind-utils caching-nameserver

Procedimientos. Preparativos. Idealmente se deben definir primero los siguiente datos: 1. Dominio a resolver. 2. Servidor de nombres principal (SOA). ste debe ser un nombre que ya est plenamente resuelto, y debe ser un FQDN (Fully Qualified Domain Name). 3. Lista de todos los servidores de nombres (NS) que se utilizarn para efectos de redundancia. stos deben ser nombres que ya estn plenamente resueltos, y deben ser adems FQDN (Fully Qualified Domain Name). 4. Cuenta de correo del administrador responsable de esta zona. Dicha cuenta debe existir y no debe pertenecer a la misma zona que se est tratando de resolver. 5. Al menos un servidor de correo (MX), con un registro A, nunca CNAME. 6. IP predeterminada del dominio. 7. Sub-dominios dentro del dominio (www, mail, ftp, ns, etc.) y las direcciones IP que estarn asociadas a estos. Es importante tener bien en claro que los puntos 2, 3 y 4 involucran datos que deben existir previamente y estar plenamente resueltos por otro servidor DNS; Lo anterior quiere decir no pueden utilizar datos que sean parte o dependan del mismo dominio que se pretende resolver. De igual modo, el servidor donde se implementar el DNS deber contar con un nombre FQDN y que est previa y plenamente resuelto en otro DNS. Como regla general se generar una zona de reenvo por cada dominio sobre el cual se tenga autoridad plena y absoluta y se generar una zona de resolucin inversa por cada red sobre la cual se tenga plena y absoluta autoridad. es decir, si se es propietario del dominio cualquiercosa.com, se deber generar el fichero de zona correspondiente a fin de resolver dicho dominio. Por cada red con direcciones IP privadas sobre la cual se tenga control y plena y absoluta autoridad, se deber generar un fichero de zona de resolucin inversa a fin de resolver inversamente las direcciones IP de dicha zona. Regularmente la resolucin inversa de las direcciones IP pblicas es responsabilidad de los proveedores de servicio ya que son estos quienes tienen la autoridad plena y absoluta sobre dichas direcciones IP.

Todos los ficheros de zona deben pertenecer al usuario named a fin de que el servicio named pueda acceder a estos o bien modificarlos en el caso de tratarse de zonas esclavas.

Creacin de los ficheros de zona. Los siguientes corresponderan a los contenidos para los ficheros de zona requeridos para la red local y por el NIC con el que se haya registrado el dominio. NOTA: por favor que en las zonas de reenvo siempre se especifica al menos un Mail Exchanger (MX) y que se utilizan tabuladores (tecla TAB) en lugar de espacio.Solo necesitar sustituir nombres y direcciones IP, y quiz aadirnuevos registros para complementar su red local.

Zona de reenvo red local /var/named/chroot/var/named/red-local.zone $TTL 86400 @ IN SOA dns.red-local. jperez.red-local. ( 2006031601; nmero de serie 28800 ; tiempo de refresco 7200 ; tiempo entre reintentos de consulta 604800 ; tiempo tras el cual expira la zona 86400 ; tiempo total de vida ) @ IN NS dns @ IN MX 10 mail @ IN A 192.168.1.1 intranet IN A 192.168.1.1 maquina2 IN A 192.168.1.2 maquina3 IN A 192.168.1.3 maquina4 IN A 192.168.1.4 www IN CNAME intranet mail IN A 192.168.1.1 ftp IN CNAME intranet dns IN CNAME intranet

Zona de resolucin inversa red local /var/named/chroot/var/named/1.168.192.in-addr.arpa.zone $TTL 86400 @ IN SOA dns.red-local. jperez.red-local. ( 2006031601 ; nmero de serie 28800 ; tiempo de refresco 7200 ; tiempo entre reintentos de consulta 604800 ; tiempo tras el cual expira la zona 86400 ; tiempo total de vida ) @ IN NS dns.red-local. 1 IN PTR intranet.red-local. 2 IN PTR maquina2.red-local. 3 IN PTR maquina3.red-local. 4 IN PTR maquina4.red-local.

Zona de reenvo del dominio /var/named/chroot/var/named/dominio.com.zone Suponiendo que hipotticamente se es la autoridad para el dominio dominio.com, se puede crear una Zona de Reenvio con un contenido similar al siguiente: $TTL 86400 @ IN SOA fqdn.dominio-resuelto. cuenta.email.existente. ( 2006031601; nmero de serie 28800 ; tiempo de refresco 7200 ; tiempo entre reintentos de consulta 604800 ; tiempo tras el cual expira la zona 86400 ; tiempo total de vida ) @ IN NS dns @ IN MX 10 mail @ IN A 148.243.59.1 servidor IN A 148.243.59.1 www IN CNAME servidor mail IN A 148.243.59.1 ftp IN CNAME servidor dns IN CNAME servidor

Zona de resolucin inversa del dominio /var/named/chroot/var/named/1.243.148.in-addr.arpa.zone Suponiendo que hipotticamente se es la autoridad para el segmento de red 148.234.1.0/24, se puede crear una Zona de Resolucin Inversa con un contenido similar al siguiente: $TTL 86400 @ IN SOA fqdn.dominio-resuelto. cuenta.email.existente. ( 2006031601 ; nmero de serie 28800 ; tiempo de refresco 7200 ; tiempo entre reintentos de consulta 604800 ; tiempo tras el cual expira la zona 86400 ; tiempo total de vida ) @ IN NS dns.dominio.com. 1 IN PTR servidor.dominio.com. 2 IN PTR maquina2.dominio.com. 3 IN PTR maquina3.dominio.com. 4 IN PTR maquina4.dominio.com.

Cada vez que haga algn cambio en algn fichero de zona, deber cambiar el nmero de serie (serial) a fin de que tomen efecto los cambios de inmediato cuando se reinicie el servicio named, ya que de otro modo tendra que reiniciar el equipo, algo poco conveniente. En distribuciones basadas en Red Hat Enterprise Linux 4 y versiones previas, este archivo se encuentra localizado como /etc/named.conf,mientras que en aquellas basadas en Red Hat Enterprise Linux 5 se deber localizar en /var/named/chroot/etc/named.conf. Si el archivo no existiera, habr que crearlo con el siguiente contenido.

Configuracin de parmetros en el fichero /etc/named.conf options { directory "/var/named/"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; allow-recursion { 127.0.0.1; 192.168.1.0/24; }; forwarders { 200.33.146.209; 200.33.146.217; }; forward first; }; zone "." { type hint; file "named.ca"; }; zone "0.0.127.in-addr.arpa" { type master; file "0.0.127.inaddr.arpa.zone"; allow-update { none; }; }; zone "localhost" { type master; file "localhost.zone"; allow-update { none; }; }; zone "dominio.com" { type master; file "dominio.com.zone"; allow-update { none; }; }; zone "1.243.148.in-addr.arpa" { type master; file "1.243.148.in-addr.arpa.zone"; allow-update { none; }; }; zone "red-local" { type master; file "red-local.zone"; allow-update { none; }; }; zone "1.168.192.in-addr.arpa" { type master; file "1.168.192.in-addr.arpa.zone"; allow-update { none; }; }; include /etc/rndc.key;

Seguridad adicional en DNS para uso pblico. Un DDoS (Distributed Denial of Service) es una ampliacin del ataque DoS, se efecta con la instalacin de varios agentes remotos en muchas computadoras que pueden estar localizadas en diferentes puntos del mundo. El atacante consigue coordinar esos agentes para as, de forma masiva, amplificar el volumen del saturacin de informacin (flood), pudiendo darse casos de un ataque de cientos o millares de computadoras dirigido a una mquina o red objetivo. Esta tcnica se ha revelado como una de las ms eficaces y sencillas a la hora de colapsar servidores, la tecnologa distribuida ha ido haciendo ms sofisticada hasta el punto de otorgar poder de causar daos serios a personas con escaso conocimiento tcnico. Un DNS configurado para permitir consultas recursivas indiscriminadamente puede permitir al servidor sufrir o bien participar de un DDoS. Solucin al problema consiste aadir en el fichero /etc/named.conf, en la seccin de opciones (options), el parmetro allow-recursion definiendo la red, las redes o bien los ACL que tendrn permitido realizar todo tipo de consultas en el DNS, sean locales o de otros dominios. Fichero /etc/named.conf options { directory "/var/named/"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; allow-recursion { 127.0.0.1; 192.168.1.0/24; }; forwarders { 200.33.146.209; 200.33.146.217; }; forward first; }; zone "." { type hint; file "named.ca"; }; zone "dominio.com" { type master; file "dominio.com.zone"; allow-update { none; }; }; zone "1.243.148.in-addr.arpa" { type master; file "1.243.148.in-addr.arpa.zone"; allow-update { none; }; };

Lo anterior hace que solo 192.168.1.0/24 pueda realizar todo tipo de consultas en el DNS, ya sea para un nombre de dominio hospedado de forma local y otros dominios resueltos en otros servidores (ejemplos: www.yahoo.com, www.google.com, www.linuxparatodos.net, etc.). El resto del mundo solo podr realizar consultas sobre las zonas dominio.com y 1.243.148.in-addr.arpa, que estn hospedados de forma local. Seguridad adicional en DNS para uso exclusivo en red local. Si se va a tratar de un servidor de nombres de dominio para uso exclusivo en red local, y se quieren evitar problemas de seguridad de diferente ndole, puede utilizarse el parmetro allow-query, el cual servir para especificar que solo ciertas direcciones podrn realizar consultas al servidor de nombres de dominio. Se pueden especificar directamente direcciones IP, redes completas o listas de control de acceso que debern definirse antes de cualquier otra cosa en el fichero /etc/named.conf. Archivo named.conf acl "redlocal" { 127.0.0.1; 192.168.1.0/24; 192.168.2.0/24; 192.168.3.0/24; }; options { directory "/var/named/"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; allow-recursion { redlocal; }; forwarders { 200.33.146.209; 200.33.146.217; }; forward first; allow-query { redlocal; 192.168.1.15; 192.168.1.16; }; }; zone "red-local" { type master; file "red-local.zone"; allow-update { none; }; }; zone "1.168.192.in-addr.arpa" { type master; file "1.168.192.in-addr.arpa.zone"; allow-update { none; }; }

include /etc/rndc.key;

Las zonas esclavas. Las zonas esclavas se refieren a aquellas hospedadas en servidores de nombres de dominio secundarios y que hacen las funciones de redundar las zonas maestras en los servidores de nombres de dominio primarios. El contenido del fichero de zona es el mismo que en servidor primario. La diferencia est en la seccin de texto utilizada en /etc/named.conf, donde las zonas se definen como esclavas y definen los servidores donde est hospedada la zona maestra.

Archivo named.conf Servidor DNS secundario. zone "dominio.com" { type slave; file "dominio.com.zone"; masters { 192.168.1.254; }; }; zone "1.243.148.in-addr.arpa" { type slave; file "1.243.148.in-addr.arpa.zone"; masters { 192.168.1.254; }; }; zone "red-local" { type slave; file "red-local.zone"; masters { 192.168.1.254; }; }; zone "1.168.192.in-addr.arpa" { type slave; file "1.168.192.in-addr.arpa.zone"; masters { 192.168.1.254; }; };

Adicionalmente, si desea incrementar seguridad y desea especificar en el Servidor DNS Primario que servidores tendrn permitido ser servidores de nombres de dominio secundario, es decir, hacer transferencias, puede utilizar el parmetro allow-transfer del siguiente modo:

Archivo named.conf Servidor DNS Primario. zone "dominio.com" { type master; file "dominio.com.zone"; allow-update { none; }; allow-transfer { 200.33.146.217; 200.33.146.209; }; }; zone "1.243.148.in-addr.arpa" { type master; file "1.243.148.in-addr.arpa.zone"; allow-update { none; }; allow-transfer { 200.33.146.217; 200.33.146.209; }; }; zone "red-local" { type master; file "red-local.zone"; allow-update { none; }; allow-transfer { 192.168.1.15; 192.168.1.16; }; }; zone "1.168.192.in-addr.arpa" { type master; file "1.168.192.in-addr.arpa.zone"; allow-update { none; }; allow-transfer { 192.168.1.15; 192.168.1.16; }; };

Reiniciar servicio y depuracin de configuracin. Al terminar de editar todos los ficheros involucrados, solo bastar reiniciar el servidor de nombres de dominio. service named restart

Si queremos que el servidor de nombres de dominio quede aadido entre los servicios en el arranque del sistema, deberemos realizar lo siguiente a fin de habilitar named junto con el arranque del sistema: chkconfig named on

Realice prueba de depuracin y verifique que la zona haya cargado con nmero de serie: tail -80 /var/log/messages |grep named

Lo anterior, si est funcionando correctamente, debera devolver algo parecido a lo mostrado a continuacin: Aug 17 17:15:15 linux named[30618]: starting BIND 9.2.2 -u named Aug 17 17:15:15 linux named[30618]: using 1 CPU Aug 17 17:15:15 linux named: Iniciacin de named succeeded Aug 17 17:15:15 linux named[30622]: loading configuration from '/etc/named.conf' Aug 17 17:15:15 linux named[30622]: no IPv6 interfaces found Aug 17 17:15:15 linux named[30622]: listening on IPv4 interface lo, 127.0.0.1#53 Aug 17 17:15:15 linux named[30622]: listening on IPv4 interface eth0, 192.168.1.1#53 Aug 17 17:15:15 linux named[30622]: command channel listening on 127.0.0.1#953 Aug 17 17:15:16 linux named[30622]: zone 0.0.127.in-addr.arpa/IN: loaded serial 3 Aug 17 17:15:16 linux named[30622]: zone 1.168.192.in-addr.arpa/IN: loaded serial 2006031602 Aug 17 17:15:16 linux named[30622]: zone localhost/IN: loaded serial 1 Aug 17 17:15:16 linux named[30622]: zone mi-dominio.com.mx/IN: loaded serial 2006031602 Aug 17 17:15:16 linux named[30622]: running Aug 17 17:15:16 linux named[30622]: zone 1.168.192.in-addr.arpa/IN: sending notifies (serial 2006031602) Aug 17 17:15:16 linux named[30622]: zone mi-dominio.com.mx/IN: sending notifies (serial 2006031602)

INVESTIGACION APACHE Introduccin. Acerca del protocolo HTTP. HTTP (Hypertext Transfer Protocol, o Protocolo de Trasferencia de Hipertext), es el mtodo utilizado para transferir o transportar informacin en la Red Mundial (WWW, World Wide Web). Su propsito original fue el proveer una forma depublicar y recupertar documentos HTML. El desarrollo del protocolo fue coordinado por World Wide Web Consortium y la IETF (Internet Engineering Task Force, o Fuerza de Trabajo en Ingeniera de Internet), culminando con la publicacin de variso RFC (Request For Comments), de entre los que destaca el RFC 2616, mismo que define la versin 1.1 del protocolo, que es el utilizado hoy en da. HTTP es un protocolo de solicitud y respuesta a travs de TCP, entre agentes de usuario (Navegadores, motores de ndice y otras herramientas) y servidores, regularmente utilizando el puerto 80. Entre la comunicacin entre stos puede intervenir como servidores Intermediarios (Proxies), puertas de enlace y tneles. URL: http://tools.ietf.org/html/rfc2616 Acerca de Apache. Apache es un servidor HTTP, de cdigo abierto y licenciamiento libre, que funciona en Linux, sistemas operativos derivados de Unix, Windows, Novell Netware y otras plataformas. Ha desempeado un papel muy importante en el crecimiento de la red mundial, y continua siendo el servidor HTTP ms utilizado, siendo adems el servidor de facto contra el cual se realizan las pruebas comparativas y de desempeo para otros productos competidores. Apache es desarrollado y mantenido por una comunidad de desarrolladores auspiciada por Apache Software Foundation. URL: http://www.apache.org/ Sustento lgico necesario. Instalacin a travs de yum. Si se utiliza de CentOS 4 o White Box Enterprise Linux 4, solo basta utilizar lo siguiente:

yum -y install httpd Si se desea que Apache incluya soporte para PHP/MySQL, Perl, Python y SSL/TLS, solo bastar ejecutar: yum -y install php php-mysql mod_perl mod_python mod_ssl Instalacin a travs de Up2date Si se utiliza de Red Hat Enterprise Linux 4, solo basta utilizar lo siguiente: up2date -i httpd Si se desea que Apache incluya soporte para PHP/MySQL, Perl, Python y SSL, solo bastar utilizar: up2date -i php php-mysql mod_perl mod_python mod_ssl Iniciar servicio y aadir el servicio al arranque del sistema. Apache es un servicio que por fortuna solo es necesario instalar e iniciar. No requiere modificaciones adicionales para su funcionamiento bsico. Para aadir el servicio a los servicios que inician junto con el sistema, solo basta ejecuta: chkconfig httpd on Para iniciar el servicio por primera vez, solo basta utilizar: service httpd start Para reiniciar el servicio, considerando que se interrumpirn todas las conexiones establecidas en ese momento, solo basta utilizar: service httpd restart Si el servicio ya est trabajando, tambin puede utilizar reload a fin de que Apache vuelva a leer y cargar la configuracin sin interrumpir el servicio, y, por ende, las conexiones establecidas. service httpd reload Para detener el servicio, solo basta utilizar:

service httpd stop Procedimientos. SELinux y Apache. Si utiliza alguna distribucin con ncleo 2.6 basada sobre Red Hat Enterprise Linux 4.0, como seran CentOS 4.0 o White Box Enterprise Linux 4.0 en adelante, stas incluyen SELinux que aade seguridad adicional a Apache, sin embargo algunas opciones impedirn utilizar ciertas funciones en Apache, como directorios virtuales. Ejecute system-config-securitylevel desde el modo grfico y active la casilla que dice Disable SELinux Protection for httpd daemon y haga clic en el botn de Aceptar. Si no tiene planeado utilizar directorios virtuales, puede dejar desactivada la casilla y aprovechar toda la seguridad adicional que brinda SELinux.

system-config-securitylevel. UTF-8 y codificacin de documentos. UTF-8 UTF-8 es un mtodo de codificacin de ASCII para Unicode

(ISO-10646), el Conjunto de Caracteres Universal o UCS. ste codifica la mayora de los sistemas de escritura del mundo en un solo conjunto de caracteres, permitiendo la mezcla de lenguajes y guiones en un mismo documento sin la necesidad de ajustes para realizar los cambios de conjuntos de caracteres. Cualquier sitio de red que haga uso de bases de datos y documentos HTML suele toparse con problemas cuando se trata de lidiar con el tipo de codificacin (UTF-8, ISO-8859-1, etc.), puesto que en algunos casos, por citar un ejemplo, los caracteres latinos se muestran incorrectamente por el cambio de codificacin. Debido a su conveniencia actualmente se est adoptando UTF-8 como codificacin para todo, sin embargo an hay mucho material codificado en, por ejemplo, ISO-8859-1. Lo correcto es codificar los documentos codificados en ISO8859-1 y otras tablas de caracteres hacia en UTF-8, utilizando mtodos como el siguiente: cd /var/www/html/ for f in *.html do vi -c ":wq! ++enc=utf8" $f done Si desea continuar viviendo en el pasado y no aceptar el nuevo estndar, tambin puede desactivar la funcin en Apache que establece UTF-8 como codificacin predefinida. Edite el fichero /etc/httpd/conf/httpd.conf y localice lo siguiente: AddDefaultCharset UTF-8 Cambie lo anterior por esto otro: AddDefaultCharset Off Ficheros de configuracin. Cualquier ajuste que se requiera realizar, ya sea para configurar Sitios de Red virtuales u otra funcionalidad adicional, se puede realizar sin tocar el fichero principal de configuracin, utilizando cualquier fichero con extensin *.conf dentro del directorio /etc/httpd/conf.d/. Directorios virtuales.

Si, por ejemplo, se quisiera aadir el alias para un directorio localizado en /var/ftp/pub/ y el cual queremos visualizar como el directorio /pub/ en Apache, solo bastara crear un fichero que denominaremos arbitrariamente como el fichero denominado /etc/httpd/conf.d/aliases.conf con el siguiente contenido: Alias /pub /var/ftp/pub Si trata de acceder hacia este nuevo directorio virtual con el navegador, notar que no est permitido el acceso. Para poder acceder deber haber un documento ndice en el interior (index.html, index.php, etc) o bien que dicho directorio sea configurado para mostrar el contenido del siguiente modo: Alias /pub /var/ftp/pub <Directory "/var/ftp/pub"> Options Indexes Includes FollowSymLinks AllowOverride all </Directory> El parmetro Indexes indica que se deber mostrar el contenido del directorio. El parmetro FollowSymLinks posibilita poder colocar enlaces simblicos dentro del directorio los cuales se seguirn. El parmetro Includes especifica que se permite la utilizacin de los SSI (Server Side Includes) que posibilitan utilizar funciones como autenticacin. El parmetro AllowOverrride all posibilita utilizar ficheros .htaccess. Reinicie o recargue Apache y acceda hacia http://127.0.0.1/pub/ con cualquier navegador de red y visualice el resultado. Redireccin de directorios. Cuando sea necesario, es posible configurar un directorio en particular para Apache redirija de modo transparente ste y su contenido hacia cualquier otra direccin. Redirect 301 /webmail http://mail.su-dominio.net/ En el ejemplo anterior, se indica que si se trata de acceder hacia el subdirectorio /webmail en el servidor, Apache deber redirigir hacia http://mail.su-dominio.net/. El nmero 301 corresponde al mensaje del protocolo HTTP para indicar que la redireccin es permanente. Si por ejemplo hubiese un objeto en /webmail, como por ejemplo /webmail/estadisticas/estadisticas.php, Apache realizar el redireccionamiento transparente hacia http://mail.sudominio.net/estadisticas/estadisticas.php. Tipos de MIME.

Si por ejemplo se quisiera aadir algn tipo de extensin y tipo MIME, como por ejemplo Ogg, se podra generar un fichero que denominaremos arbitrariamente como el fichero /etc/httpd/conf.d/extensiones.conf con el siguiente contenido: AddType application/ogg AddDescription "Ogg Vorbis AddIcon /icons/sound2.png .ogg Soporte para CGI con extensin *.cgi Si se quisiera aadir que se reconociera la extensin *.cgi como un guin CGI (Common Gateway Interface), solo bastar aadir un fichero que denominaremos, arbitrariamente, /etc/httpd/conf.d/cgi.conf con el siguiente contenido: AddHandler cgi-script .cgi Probando la configuracin. Utilice el editor de texto de su preferencia para crear el fichero /var/www/cgibin/tiempo.cgi. Este deber llevar lo siguiente como contenido: #!/usr/bin/perl print print print "n"; .ogg .ogg

Audio"

"content-type: scalar

text/htmlnn"; localtime;

Deberemos de cambiar el permiso del archivo anterior con la siguiente lnea de mandato: chmod 755 /var/www/cgi-bin/tiempo.cgi Utilice el navegador de red que prefiera y apunte ste hacia http://127.0.0.1/cgibin/tiempo.cgi. Si el navegador nos da una salida similar a la siguiente, se habr configurado exitosamente Apache para ejecutar guiones CGI: Tue Jul 05 22:10:41 2005 Problemas posteriores Antes escribirle al autor de este documento, de recurrir a las listas de soporte o grupos y foros de discusin solicitando ayuda para hacer trabajar un guin CGI en particular, lea cuidadosamente la documentacin que acompaa a este y verifique que se han establecido apropiadamente los permisos de lectura, escritura y ejecucin, que se han realizado las modificaciones necesarias en los parmetros

para el uso del guin en su servidor y que el guin CGI no contenga errores. Recurra al autor de guin CGI o binario si necesita ayuda. Error ms comn nmero 1. Forbidden You don't have permission to access /algun/directorio/guion.cgi on this server Significa que el archivo no cuenta con los permisos apropiados de lectura, escritura y ejecucin. La mayora guiones CGI que encontrar en Internet necesitarn al menos permiso 755 para poder ser utilizados. Error ms comn nmero 2. Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request. Significa que hay problemas con el guin CGI en si y no con Apache. En la mayora de los casos se trata de ficheros que fueron elaborados desde un editor de texto en Windows, cuyo retorno de carro es distinto al de los sistemas operativos basados sobre UNIX, por lo cual se deber utilizar el mandato dos2unix sobre dichos ficheros. En otros casos, algo menos frecuente, se requerir que el administrador revise lnea por lnea para localizar un posible error o parmetro incorrecto. Cuando aplique, verifique que la primera lnea del guin que apunta hacia donde se encuentra el mandato perl sea correcta. Verifique tambin si el directorio que albergue el guin CGI requiere algn permiso en particular, como sera 777 en el caso de algunos guiones CGI. Robo de imgenes. Suele ocurrir que los administradores de algunos sitios encuentran fcil utilizar imgenes, y otros tipos de contenido, vinculando desde sus documentos hacia los objetos en el servidor. Esto consume ancho de banda adiconal y es una prctica poco tica. En el siguiente ejemplo, considerando que se tiene un directorio /var/www/html/imagenes, y se desea proteger ste para que solo se permita utilizar su contenido si es referido desde el mismo servidor, se utilizara lo siguiente: # Se permite al propio servidor SetEnvIf Referer "^http://www.midominio.org/" local_referal # se permite aceder directamente a la imagen o bien si # no se especifica en el navegador la informacin de referente. SetEnvIf Referer "^$" local_referal

<Directory "/var/www/html/imagenes/"> Order Deny,Allow Deny from all Allow from env=local_referal </Directory> La configuracin anterior puede aadirse en cualqueir fichero *.conf dentro del directorio /etc/httpd/conf.d/. Modificaciones necesarias en el muro cortafuegos. Si se utiliza un cortafuegos con polticas estrictas, como por ejemplo Shorewall, es necesario abrir el puerto 80 por TCP (HTTP). Las reglas para el fichero /etc/shorewall/rules de Shorewall correspondera a algo similar a lo siguiente: #ACTION SOURCE DEST PROTO DEST # PORT PORT(S)1 ACCEPT net fw tcp 80 #LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE SOURCE

También podría gustarte