FACULTAD DE INGENIERIA, ARQUITECTURA Y URBANISMO ESCUELA DE INGENIERÍA DE SISTEMAS CURSO : Redes de Computadoras II Linux DOCENTE : Ing. Carlos Rojas Ortiz. ALUMNOS : - Guerrero Clavo Jairo. - Monteza León Anyela. - Quintana Jaramillo, Silvia. - Sánchez Tejada, Mayra. - Vásquez Villalobos Joel. CICLO : VII SEMESTRE : 2009-II Chiclayo, Noviembre de 2009.
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
FACULTAD DE INGENIERIA, ARQUITECTURA Y URBANISMO
ESCUELA DE INGENIERÍA DE SISTEMAS
CURSO : Redes de Computadoras II
LinuxDOCENTE : Ing. Carlos Rojas Ortiz.
ALUMNOS:
- Guerrero Clavo Jairo.
- Monteza León Anyela.
- Quintana Jaramillo, Silvia.
- Sánchez Tejada, Mayra.
- Vásquez Villalobos Joel.
CICLO : VII
SEMESTRE : 2009-II
Chiclayo, Noviembre de 2009.
GRUPO LINUX REDES II
INTRODUCCIÓN
En la actualidad existen una gran cantidad de sistemas operativos
dependiendo del tipo de computadora en el que se va a ejecutar. Por ejemplo uno
de los sistemas operativos más difundidos es Microsoft Windows en sus distintas
98, 2000, XP,Vista, sin embargo cabe resaltar que existen otros posibles sistemas
operativos para diversos tipos de computadoras como son Solaris, OS/2, BeOS,
y uno de los sistemas operativos más poderosos y en rápida expansión para PC,
LINUX.
La mejor alternativa de siglo XXI para los usuarios que no solo desean
libertad, sino que también un sistema operativo estable, robusto y confiable, es
LINUX/GNU, ya que es un sistema operativo apto para utilizar en redes, como es
el caso de servidores, estaciones de trabajo y también para computadoras
personales.
Linux fue creado por Linus Torvalds a principios de los 90s, a partir de
Minix, un sistema operativo Unix pequeño para procesadores Intel, siendo el
impulso para reescribir el código desde cero con la ayuda de programadores de
todas partes del mundo. En 1992, el núcleo Linux fue combinado con el sistema
GNU. El Sistema Operativo formado por esta combinación se conoce como
GNU/Linux.
El futuro del Linux no depende de una sola persona, sino más bien de un
grupo abierto de desarrolladores a nivel mundial.
Una de las distribuciones para servidor actualmente empleadas es el
Centos 5.3, que por su puesto se puede conseguir de manera gratuita bajo la
licencia GNU FLP, se configurará distintas aplicaciones servicios: Servidor de
/boot/ Ficheros utilizados durante el arranque del sistema (núcleo ydiscos RAM),
/dev/ Dispositivos esenciales,
/etc/ Ficheros de configuración utilizados en todo el sistema y que son específicos del anfitrión.
/etc/opt/ Ficheros de configuración utilizados por programas alojados dentro de /opt/
/etc/X11/ (opcional)
Ficheros de configuración para el sistema X Window.
/etc/sgml/ (opcional)
Ficheros de configuración para SGML.
/etc/xml/ (opcional)
Ficheros de configuración para XML.
/home/ (opcional)
Directorios de inicios de los usuarios.
/lib/ Bibliotecas compartidas esenciales para los binarios de /bin/, /sbin/ y
Página 9
GRUPO LINUX REDES II
el núcleo del sistema./mnt/ Sistemas de ficheros montados temporalmente.
/media/ Puntos de montaje para dispositivos de medios como unidades lectoras de discos compactos.
/opt/ Paquetes de aplicaciones estáticas.
/proc/ Sistema de ficheros virtual que documenta sucesos y estados del núcleo. Contiene principalmente ficheros de texto.
/root/ (opcional)
Directorio de inicio del usuario root (super-usuario).
/sbin/ Binarios de administración de sistema.
/tmp/ Ficheros temporales
/srv/ Datos específicos de sitio servidos por el sistema.
/usr/ Jerarquía secundaria para datos compartidos de solo lectura (Unix system resources). Este directorio debe poder ser compartido para múltiples anfitriones y no debe contener datos específicos del anfitrión que los comparte.
/usr/bin/ Mandatos binarios.
/usr/include/ Ficheros de inclusión estándar (cabeceras de cabecera utilizados para desarrollo).
/usr/lib/ Bibliotecas compartidas.
/usr/share/ Datos compartidos independientes de la arquitectura del sistema.Imágenes, ficheros de texto, etc.
/usr/src/ (opcional)
Códigos fuente.
/usr/X11R6/ (opcional)
Sistema X Window, versión 11, lanzamiento 6.
/usr/local/ Jerarquía terciaria para datos compartidos de solo lectura específicos del anfitrión.
/var/ Ficheros variables, como son bitácoras, bases de datos, directorio raíz de servidores HTTP y FTP, colas de correo, ficheros temporales, etc.
/var/account/ (opcional)
Procesa bitácoras de cuentas de usuarios.
/var/cache/ Cache da datos de aplicaciones.
/var/crash/ (opcional)
Depósito de información referente a estrellamientos del de sistema.
/var/games/ (opional)
Datos variables de aplicaciones para juegos.
/var/lib/ Información de estado variable. Algunos servidores como MySQL yPostgreSQL almacenan sus bases de datos en directorios subordinados de éste.
/var/lock/ Ficheros de bloqueo.
Página 10
GRUPO LINUX REDES II
/var/log/ Ficheros y directorios de bitácoras.
/var/mail/ (opcional)
Buzones de correo de usuarios.
/var/opt/ Datos variables de /opt/.
/var/spool/ Colas y carretes de datos de aplicaciones.
/var/tmp/ Ficheros temporales preservados entre reinicios.
Particiones recomendadas para instalar GNU/Linux.Como mínimo se requieren tres particiones:
Directorio Descripción
/boot Requiere al menos 75 MB. Asignar más espacio puede considerarse desperdicio.
/ Requiere de 512 a 1024 MB.
Swap Debe asignarse el doble del tamaño del RAM físico, esta será siempre la última partición del disco duro y no se le asigna punto de montaje.
Otras particiones que se recomienda asignar, son:
/usr Requiere al menos 1.5 GB en instalaciones básicas. Debe
considerarse el equipamiento lógico a utilizar a futuro. Para uso
general, se recomiendan no menos de 5 GB y, de ser posible,
considere un tamaño óptimo de hasta 8 GB en instalaciones
promedio.
/tmp Requiere al menos 350 MB y puede asignarse hasta 2 GB o más
dependiendo de la carga de trabajo y tipo de aplicaciones. Si por
Página 11
GRUPO LINUX REDES II
ejemplo el sistema cuenta con un grabador de DVD, será necesario
asignar a /tmp el espacio suficiente para almacenar una imagen de
disco DVD, es decir, al menos 4.2 GB.
/var Requiere al menos 512 MB en estaciones de trabajo sin servicios. En
servidores regularmente se le asigna al menos la mitad del disco
duro.
/home En estaciones de trabajo se asigna al menos la mitad del disco duro
a esta partición.
6. PARTICIÓN DE DISCO
Una partición de disco, es el nombre genérico que recibe cada
división presente en una sola unidad física de almacenamiento de datos. Toda
partición tiene su propio sistema de archivos (formato); generalmente, casi
cualquier sistema operativo interpreta, utiliza y manipula cada partición como
un disco físico independiente, a pesar de que dichas particiones estén en un
solo disco físico.
Vale aclarar entonces que cuando hablamos de formatear un disco
estamos hablando de crear una partición que ocupe todo el espacio
disponible de una unidad física de almacenamiento.
Las particiones pueden ser utilizadas para permitir a un equipo en
particular tener instalado varios sistemas operativos en un mismo disco físico;
vale añadir algunos sistemas operativos necesitan más de una partición para
funcionar, o bien, para aprovechar el rendimiento del equipo. Una partición
también puede ser útil para proporcionar al usuario un espacio para
almacenar copias de seguridad de tal manera que los archivos puedan quedar
protegidos de un sistema de archivos roto e irrecuperable o de un formateo
accidental hecho a la partición donde está el archivo original.
A algún tipo de partición se le da formato mediante algún sistema de
archivos como FAT, NTFS, ext3, ext2, FAT32, ReiserFS, Reiser4 u otro. En
seguro, ya que cada programa que instalas está probado a fondo y creado
específicamente para Ubuntu.
Los repositorios de software de Ubuntu se organizan en cuatro "componentes", en base al nivel de soporte que Ubuntu puede ofrecer de
ellos, y en base a si cumplen o no la Filosofía de Software Libre de Ubuntu.
Los componentes son llamados Main (software soportado
oficialmente), Restricted (software soportado que no está disponible bajo una
licencia completamente libre), Universe (mantenido por la comunidad, p.e.
software no soportado oficialmente) y Multiverse (software que “no es libre”).
Puedes encontrar más información sobre los repositorios de Ubuntu
en componentes de los repositorios.
9.1.RPM
RPM Package Manager, anteriormente conocido como Red Hat
Package Manager y que es más conocido por su nombre abreviado RPM, es
un poderoso administrador de paquetes, que puede ser utilizado para
construir, instalar, consulta, verificar, actualizar y borrar paquetes de software
individuales. RPM viene instalado de modo predeterminado en Red Hat Enterprise Linux, Fedora, CentOS,White Box Enterprise Linux, SuSE Linux, OpenSuSE, Mandriva y distribuciones derivadas de estas.
Para instalar el programa rpm en unbuntu:
Sudo apt-get install rpm
9.1.1. INSTRUCCIONES DE INSTALACIÓN PARA .RPM
- Haga clic en el enlace de descarga de .rpm. Aparecerá un cuadro de
diálogo en el que se solicita la ubicación en la que desea guardar el
archivo.
- Guarde el archivo .rpm en el escritorio y espere a que el archivo se
- En el terminal, navegue hasta el escritorio e introduzca # rpm -Uvh <rpm_package_file>. Haga clic en Intro. (Nota: Esto debe llevarse a cabo
como usuario origen). El programa de instalación solicitará que se cierre el
explorador.
- Cuando la instalación finalice, el plug-in se habrá instalado en el explorador
Mozilla. Para realizar una comprobación, inicie Mozilla y consulte la
información relativa a plug-ins en el menú Ayuda del explorador.
9.1.2. CONSULTA DE PAQUETERÍA INSTALADA EN EL SISTEMA
Si se desea conocer si está instalado un paquete en particular, se
utiliza el mandato rpm con la opción -q, que realiza una consulta (query)
en la base de datos por un nombre de paquete en particular. En el
siguiente mandato, donde como ejemplo se preguntara a RPM si está
instalado el paquete traceroute:
rpm -q tracerouteLo anterior debe devolver una salida similar a la siguiente:
traceroute-2.0.1-2.el5
Si se desea conocer que informacion incluye el paquete
traceroute, se utiliza el mandato rpm con las opciones -qi, para hacer la
consulta y solicitar informacion del paquete(query info). En el siguiente
ejemplo se consulta al mandato rpm por la informacion del paquete
traceroute:
rpm -qi traceroute
Lo anterior debe devolver una salida similar a la siguiente:
Name : traceroute Relocations: (not relocatable)Version : 2.0.1 Vendor: CentOS
Página 40
GRUPO LINUX REDES II
Release : 2.el5 Build Date: sab 06 ene 2007 04:02:13 CSTInstall Date: mie 30 abr 2008 11:46:09 CDT Build Host: builder5.centos.orgGroup : Applications/Internet Source RPM: traceroute-2.0.1-2.el5.src.rpmSize : 59726 License: GPLSignature : DSA/SHA1, mar 03 abr 2007 19:28:12 CDT, Key ID a8a447dce8562897URL : http://dmitry.butskoy.name/tracerouteSummary : Traces the route taken by packets over an IPv4/IPv6 networkDescription : The traceroute utility displays the route used by IP packets on their way to a specified network (or Internet) host. Traceroute displaysthe IP number and host name (if possible) of the machines along the route taken by the packets. Traceroute is used as a network debugging tool. If you're having network connectivity problems, traceroute will show you where the trouble is coming from along the route. Install traceroute if you need a tool for diagnosing network connectivity problems.
opciones -ql, donde se realiza una consulta listando los
componentes que lo integran (query list).Si se desea conocer que
componentes instalo el paquete traceroute, utilice el siguiente mandato:
rpm -ql traceroute
Lo anterior debe devolver una salida similar a la siguiente:
Si se quiere revisar en orden cronologico, de mas nuevos a mas
antiguos, que paquetes están instalados, se puede agregar a -qa la
opcion --last, y less o more como subrutina para visualizar con
comodidad la salida.
rpm -qa --last|less
Página 42
GRUPO LINUX REDES II
Lo anterior devuelve una salida extensa dentro con less como
visor. Pulse la teclas de arriba (↑) y abajo (↓) o Av. Pág. y Reg. Pág. para
desplazarse en la lista. Pulse la tecla q para salir.
Si se quiere verificar si los componentes instalados por un
paquete RPM han sido modificados o alterados o eliminados, se puede
utilizar el mandato rpm con la opcion -V, la cual realiza unaverificacion
de la integridad de los componentes de acuerdo a las firmas digitales de
cada componente (MD5SUM o suma MD5). En el siguiente ejemplo se
verificara si el paquete crontabs ha sido alterado:
rpm -V crontabs
Si algun componente fue modificado, puede devolverse una salida
similar a la siguiente, donde el fichero /etc/crontab fue modificado tras su
instalacion:
S.5....T c /etc/crontab
Si se desea realizar una verificacion de todos los componentes
del sistema, se puede utilizar el mandato rpm con las opciones -Va, que
hace una consulta, especifica todos los paquetes, y solicita se verifique
si hubo cambios (query all Verify).
rpm –Va
Lo anterior puede devolver una salida muy extensa, pero sin duda
alguna mostrara todos los componentes que fueron modificados o
alterados o eliminados tras la instalacion del paquete al que pertenecen.
Un ejemplo de una salida comun seria:
.......T c /etc/pki/nssdb/cert8.db
.......T c /etc/pki/nssdb/key3.db
..5....T c /etc/pki/nssdb/secmod.dbS.5....T c /etc/crontab.......T c /etc/inittabS.5....T c /etc/rc.d/rc.localS.5....T c /etc/mail/accessS.5....T c /etc/mail/local-host-namesS.5....T c /etc/mail/sendmail.cfS.5....T c /etc/mail/sendmail.mc
Página 43
GRUPO LINUX REDES II
9.1.3. INSTALACION DE PAQUETES MEDIANTE RPM
La mayoria de los distribuidores serios de equipamiento logico
en formato RPM siempre utilizan una firma digital PG/GnuPG para
garantizar que estos son confiables y como un metodo de evitar que
paquetes alterados pasen por el usuario administrador del sistema y
sistemas de gestion de paquetes como yum, up2date, Yast, Pup, etc.,
sin ser detectados. Las firmas digitales de los responsables de la
distribucion siempre incluyen firmas digitales en el disco de instalacion
o bien en alguna parte del sistema de archivos. En el caso de CentOS
y Red Hat Enterprise, las firmas digitales estan en /usr/share/doc/rpm-*/
o bien /usr/share/rhn/. Algunos distribuidores pueden tener estas firmas
en algun servidor HTTP o FTP. Para importar una firma digital, se
utiliza el mandato rpm con la opcion --import. Para ejemplificar, realice
Algunos paquetes incluyen guiones que ejecutan procesos que pueden
ser requeridos previo o posterior a la instalacion. Si no se desea que se
ejecuten estos guiones, se anade a rpm -ivh o rpm -Uvh la opcion --noscripts. En el siguiente ejemplo, se instalara el paquete joomla-1.0.15- 2.9.el5.al.noarch.rpm sin la ejecucion de los guiones que pudieran estar
9.1.4. RECUPERACIÓN DE PERMISOS ORIGINALES A PARTIR DE RPM
Página 51
GRUPO LINUX REDES II
En circunstancias en las cuales ser realizaron cambios en los permisos
en el sistema de archivos, es posible volver a dejarlos de acuerdo a los
especificados en el paquete RPM original utilizando el mandato rpm con la
opcion --setperms del siguiente modo:
rpm --setperms paquete
Vea el permiso de /usr/bin/passwd del siguiente modo:
ls -l /usr/bin/passwd
Lo anterior puede devolver una salida similar a la siguiente:
-rwsr-xr-x 1 root root 22984 ene 6 2007 /usr/bin/passwd
Cambie el permiso del siguiente modo:
chmod 700 /usr/bin/passwd
Vuelva a ver el permiso de /usr/bin/passwd del siguiente modo:
ls -l /usr/bin/passwd
Lo anterior debe devolver una salida similar a la siguiente:
-rwx------ 1 root root 22984 ene 6 2007 /usr/bin/passwd
El fichero /usr/bin/passwd pertence al paquete passwd, confirmelo del
siguiente modo:
rpm -qf /usr/bin/passwd
Lo anterior debe devolver una salida similar a la siguiente:
passwd-0.73-1
Para recuperar de nuevo el permiso original de /usr/bin/passwd, utilice
lo siguiente:
rpm --setperms passwd
Página 52
GRUPO LINUX REDES II
Vuelva a ver el permiso de /usr/bin/passwd del siguiente modo:
ls -l /usr/bin/passwd
Lo anterior debe devolver una salida similar a la siguiente y que
corresponde al permiso original del fichero /usr/bin/passwd:
-rwsr-xr-x 1 root root 22984 ene 6 2007 /usr/bin/passwd
9.1.5. DESISTANLACION DE PAQUETES
Para desinstalar paqueteria, se utiliza el mandato rpm con la opcion -e,
que se utiliza para eliminar, seguida del nombre del paquete. En el siguiente
ejemplo, se solicita al mandato rpm desinstalar los paquetes joomla y php-xml:
rpm -e joomla php-xml
Si no hay dependencias que lo impidan, el sistema solo devolvera el
simbolo de sistema. Si el paquete o alguno de sus componentes fuera
dependencia de otro u otros paquetes, el sistema informara que no es posible
desinstalar y devolvera la lista de paquetes que lo requieren. En el siguiente
ejemplo se tratara de desinstalar el paquete crontabs:
rpm -q crontabs
Como el paquete crontabs es requerido por anacron, el sistema
devolvera una salida similar a la siguiente:
error: Failed dependencies:crontabs is needed by (installed) anacron-2.3-45.el5.centos.i386
Si se desea des instalar cualquier paquete sin importar que otros
dependan de este, se puede utilizar agregar la opcion --nodeps. Esto es
contraindicado, y solo debe ser utilizado es situaciones muy particulares o
escenarios donde asi se requiere. Evite siempre desinstalar paquetes que
Página 53
GRUPO LINUX REDES II
sean dependencia de otros en el sistema a menos que vaya a reinstalar
inmediatamente un paquete que los sustituya.
9.2.DEPOSITOS YUM
Yum es una herramienta sumamente útil para el manejo de
paquetería RPM. Aprender a crear en el disco duro las bases de datos para
los depósitos yum resulta práctico puesto que no habrá necesidad de
recurrir hacia los depósitos localizados en servidores en Internet y consumir
innecesariamente ancho de banda en el proceso.
Uso de yum para instalar y desinstalar paquetería y actualizar sistema
Actualizar sistemaActualización del sistema con todas las dependencias que sean
necesarias:
yum update
BúsquedasRealizar una búsqueda de algún paquete o término en la base de datos en
alguno de los depósitos yum configurados en el sistema:
yum search cualquier-paquete
Ejemplo:
yum search httpd
Consulta de informaciónConsultar la información contenida en un paquete en particular:
yum info cualquier-paquete
Ejemplo:
yum info httpd
Instalación de paquetes
Página 54
GRUPO LINUX REDES II
Instalación de paquetería con resolución automática de dependencias:
yum install cualquier-paquete
Ejemplo:
yum install httpd
Desinstalación de paquetesDesinstalación de paquetes junto con todo aquello que dependa de los
mismos:
yum remove cualquier-paquete
Ejemplo:
yum remove httpd
10. DISTRIBUCIONES LINUX
Una distribución no es otra cosa que el núcleo Linux con un conjunto
de programas seleccionados, con herramientas específicas de configuración,
empaquetamiento, documentación, etc. Algunas son comerciales, mientras
que otras son totalmente gratuitas o de muy bajo costo. Hay muchísimas
distribuciones alrededor del mundo, pero sólo unas pocas son usadas
ampliamente.
Una distribución es una variante del sistema GNU/Linux que se enfoca
a satisfacer las necesidades de un grupo especifico de usuarios. De este
modo hay distribuciones para hogares, empresas y servidores. Algunas
distribuciones son completamente libres, pero muchas no lo son.
Las distribuciones son ensambladas por individuos, empresas u otros
organismos. Cada distribución puede incluir cualquier número
de software adicional, incluyendo software que facilite la instalación del
sistema. La base del software incluido con cada distribución incluye el
Página 55
GRUPO LINUX REDES II
núcleo Linux y las herramientas GNU, al que suelen añadirse también
varios paquetes de software.
Las herramientas que suelen incluirse en la distribución de
este sistema operativo se obtienen de diversas fuentes, y en especial de
proyectos de software libre, como: GNU , BSD, GNOME y KDE. También se
incluyen utilidades de otros proyectos como Mozilla, Perl, Ruby, Python,
PostgreSQL, MySQL, Xorg, casi todas con licencia GPL o compatibles con
ésta (LGPL, MPL).
A continuación podeis encontrar informacion sobre las distribuciones
más importantes de Linux (aunque no las únicas).
UBUNTU
Distribución basada en Debian, con lo que esto conlleva y centrada en el usuario final y facilidad de uso. Muy popular y con mucho soporte en la comunidad. El entorno de escritorio por defecto es GNOME.
REDHAT ENTERPRISE
Esta es una distribución que tiene muy buena calidad, contenidos y soporte a los usuarios por parte de la empresa que la distribuye. Es necesario el pago de una licencia de soporte. Enfocada a empresas.
FEDORA
Esta es una distribución patrocinada por RedHat y soportada por la comunidad. Facil de instalar y buena calidad.
Otra distribución con muy buena calidad. El proceso de instalacion es quizas un poco mas complicado, pero sin mayores problemas. Gran estabilidad antes que últimos avances.
OpenSuSE
Otra de las grandes. Facil de instalar. Version libre de la distribucion comercial SuSE.
SuSE LINUX ENTERPRISE
Otra de las grandes. Muy buena calidad, contenidos y soporte a los usuarios por parte de la empresa que la distribuye, Novell. Es necesario el pago de una licencia de soporte. Enfocada a empresas.
SLACKWARE
Esta distribución es de las primeras que existio. Tuvo un periodo en el cual no se actualizo muy a menudo, pero eso es historia. Es raro encontrar usuarios de los que empezaron en el mundo linux hace tiempo, que no hayan tenido esta distribucion instalada en su ordenador en algun momento.
GENTOO
Esta distribución es una de las unicas que incorporaron un concepto totalmente nuevo en Linux. Es una sistema inspirado en BSD-ports. Podeis compilar/optimizar vuestro sistema completamente desde cero. No es recomendable adentrarse en esta distribucion sin una buena conexion a internet, un ordenador medianamente potente (si quereis terminar de
Página 57
GRUPO LINUX REDES II
compilar en un tiempo prudencial) y cierta experiencia en sistemas Unix.
KUBUNTU
Distribución basada en Ubuntu, con lo que esto conlleva y centrada en el usuario final y facilidad de uso. La gran diferencia con Ubuntu es que el entorno de escritorio por defecto es KDE.
MANDRIVA
Esta distribución fue creada en 1998 con el objetivo de acercar el uso de Linux a todos los usuarios, en un principio se llamo Mandrake Linux. Facilidad de uso para todos los usuarios.
11. VENTAJAS Y DESVENTAJAS DE GNU/LINUX
Cada sistema operativo, sea GNU/Linux u otro, posee características
que lo hacen específico para un sector del mercado. Describiremos aquí
algunas ventajas y desventajas de las distribuciones GNU/Linux en relación
con el mercado y la ofimática.
VENTAJAS
Adaptación del sistema: Cada usuario puede cambiar el sistema de
acuerdo con sus necesidades.
Independencia del proveedor: Muchas son las empresas o universidades
que ofrecen distribuciones de GNU/Linux.
Página 58
GRUPO LINUX REDES II
Costes: Muchas distribuciones son gratuitas. Es posible bajarlas de internet
o copiarlas libremente.
Documentación: Cada distribución posee un conjunto de manuales que
viene con el CD de instalación. Además de eso, hay otros dos grupos
importante en la documentación de aplicaciones Linux, que son The Linux
Documentation Project y Free Software Foundation.
Mantenimiento: Por tratarse de un sistema con muchos desarrolladores de
todo el mundo, los programas son masivamente probados y
consecuentemente su reparación es más rápida.
Impulso de la economía local: Cualquier empresa puede ofrecer servicios o
aplicaciones utilizando tecnología GNU/Linux. Esa posibilidad fomenta la
creación de software para las empresas de la región como es el caso de
las distribuciones autonómicas, como Lliurex (C. Valenciana),Guadalinux
(Andalucía), Linex (Extremadura),Molinux (Castilla la Mancha), Max
(Madrid) y Augustux(Aragón),
DESVENTAJAS
• Necesidad de un cambio de mentalidad: Con el uso masivo de
aplicaciones ya consolidadas en el mercado, el cambio a nuevas
aplicaciones tiende a ser más difícil, por razones comunes como el coste
en formación de personal cualificado o el bajo rendimiento en los primeros
meses de utilización de nuevas herramientas, entre otras.
• Uso poco extendido en ofimática: El temor al cambio hace que esa
tecnología tarde más tiempo en llegar al mercado dificultando la adopción
de las herramientas por parte de los usuarios.
• Aplicaciones poco intuitivas: Muchas de las aplicaciones distribuidas en las
distribuciones no poseen una interfaz intuitiva y amigable, lo cual dificulta
su utilización.
Página 59
GRUPO LINUX REDES II
• Al no existir una empresa fuente en el mercado detrás de GNU/Linux, este
sistema no inspira la suficiente confianza a algunas empresas para
moverlas a trabajar en ese sentido, ya que el futuro parece incierto para
aquellos que no conocen ese trabajo.
12. LICENCIAMIENTO EN LINUX
El software que se publica debería ser software libre. Para que sea
libre tiene que publicarlo con una licencia de software libre. Generalmente
utilizamos la Licencia Pública General de GNU (GPL de GNU, por sus
siglas en inglés), pero eventualmente también utilizamos otras licencias de
software libre. Para el software de GNU únicamente usamos otras licencias
si son compatibles con la GPL de GNU.
La documentación del software libre debería ser documentación
libre, para que se pueda redistribuir y mejorar al igual que el software al
cual describe. Para que sea libre la documentación, tiene que publicarla
con una licencia de documentación libre. Generalmente utilizamos la
licencia de documentación libre de GNU (FDL de GNU, por sus siglas en
inglés), aunque en ocasiones también usamos otras licencias de
documentación libre.
El texto de la licencia pública general de Affero de GNU está en los
siguientes formatos: HTML, texto plano, Dobbook, Texinfo y LaTeX. Estos
documentos no están maquetados para publicarlos por sí solos, sino que
Entre los aspectos más destacados de este estudio podemos citar que se
reveló que mientras que la licencia EULA, pretende proteger a la empresa
Microsoft, la licencia GNU GPL se enfoca más hacia los derechos del usuario.
La licencia de Microsoft (EULA) tiene por objetivo limitar al usuario a tomar
acciones, elecciones u opciones sobre el software, entre tanto que la GNU
GPL se dedica a salvaguardar los derechos de los desarrolladores originales
para mantener la continuidad y la accesibilidad del código fuente para el
software.
Cabe hacer notar que la licencia utilizada para este estudio fue la EULA,
por que es representante del más nuevo sistema operativo que Microsoft tiene
al público para el usuario promedio.
De la conclusión del estudio se pueden citar los siguientes puntos de
interés para el debate:
La licencia EULA
Se prohíbe la copia.
Puede ser empleado en un único ordenador con un máximo de 2
procesadores.
No puede ser empleado como Web Server o File Server.
Registro necesario a los 30 días.
Puede dejar de funcionar si se efectúan cambios en el hardware.
Las actualizaciones del sistema pueden modificar la licencia, si la
compañía lo desea. *Sólo puede ser transferida una vez a otro usuario.
Impone limitación sobre la ingeniería inversa.
Página 76
GRUPO LINUX REDES II
Da a Microsoft derecho para en cualquier momento recoger
información del sistema y su uso, y también para entregar dicha
información a terceros.
La garantía es por los primeros 90 días.
Actualizaciones y parches sin garantía.
La licencia GPL
Permite la copia, modificación y redistribución del software.
Proporciona garantía de los derechos del usuario a la copia,
modificación y redistribución del software.
Como no tiene costo, tampoco ofrece garantías.
Puede ser vendido y se puede cobrar por los servicios sobre el
software.
Cualquier patente sobre el mismo debe ser licenciada para el beneficio
de todos.
El software modificado no debe tener costo por la licencia.
Tiene que incluir el código fuente.
Los cambios en la licencia deben mantener ciertos términos generales.
Página 77
GRUPO LINUX REDES II
14. DIFERENCIA WINDOWS Y LINUX:
Windows:
Es un grupo de sistemas operativos conocidos mundialmente fabricado por la empresa Microsoft, teniendo como fundadores a Bill Gates y Paul Allen.
Es el sistema operativo comercial más usado en el mundo, a pesar de que la mayoría de las distribuciones sean copias ilegales. Windows 7 es la última versión lanzada, destinada a computadoras de escritorio.
El sistema operativo más utilizado de la familia Windows es el Windows XP SP2 o SP3. Sin embargo hay algunos que lo rechazan.
Windows, tanto XP como los demás, están muy expuestos a recibir ataques de hackers, debidos a poseer programas vulnerables y ni hablar de la gran cantidad de virus que fueron creados para este sistema. Esto obliga al usuario a utilizar programas protectores, como firewalls, anti-virus, anti-spywares, anti-troyanos, etc.
Podemos decir que Windows es el Sistema Operativo más usado en lo mundo debido a la su aceptada interfaz y la gran cantidad de programas y juegos que son creados para su plataforma.
Linux:
Linux es cualquier sistema operativo que use el núcleo Linux. Fue desarrollado por el finlandés Linus Torvalds, inspirado en el sistema operativo Minix. Su código fuente está disponible bajo licencia GPL.
Actualmente el Ubuntu (la distribución Linux más usada en el mercado) cuenta con un arranque muy rápido y una interfaz muy amigable.
Se puede decir que su mayor contra es la falta de aplicaciones desarrolladas para la plataforma.
En términos de seguridad, estabilidad, rapidez e interfaz, Linux es por lejos, la mejor opción.
Actualmente hay espacio para ambos productos en el mercado, pero los que tenemos que estar conformes y satisfechos somos los
Página 78
GRUPO LINUX REDES II
usuarios. El crecimiento del software libre ayudó a que Microsoft invierta más en seguridad y en facilidad de uso.
DIFERENCIA ENTRE LA ESTABILIDAD DE LINUX Y WINDOWS:
1. Completo acceso VS el no acceso: Tener acceso al código fuente es
probablemente la diferencia mas significativa entre Linux y Window. El
hecho de que Linux posee una licencia pública GNU asegura que el
usuario de cualquier manera puede acceder y alterar el código, incluso
el kernel que le pertenece a la fundación del sistema operativo Linux.
¿Quieres hechar un vistazo al código fuente de Windows? Buena
suerte. A menos que seas mienbro de un selecto (elite) grupo, tus ojos
nunca verán una pieza del código fuente de Windows.
2. Libertad de licencias VS restricciones de licencias: El tener acceso
es la diferencia entre las licencias. Estoy seguro que cualquier experto
en tecnología e internet puede entender este rollo de licencias de
computadoras. Pero veamos lo que es la clave en el aspecto de las
licencias (sin inmiscuirnos en el ámbito legal). Con un Linux que este
con licencia GPL, tu eres libre de modificar el software, distribuirlo y
venderlo. Tambien con la licencia GPL tu eres libre de descargar una
copia de Linux e instalaro en cuantas máquinas desees. Con las
licencias de Microsoft no puedes hacer nada de lo ya mencionado. Tu
límite esta en cuantas licencias compres. Así que si compraste 10
licencias, legalmente puedes instalar ese sistema operativo en solo 10
máquinas.
Página 79
GRUPO LINUX REDES II
3. Soportes de conexiones en linea VS Soporte de escritorio bajo
tarifa: Este es un problema por el cual muchas empresas le dan la
espalda a Linux. Con Linux tú tienes soporte de una gran comunidad
en foros, busquedas en linea y muchas páginas webs. Por supuesto, si
sientes necesidad puedes adquirir contratos de soporte de algunas
grandes empresas que manejan Linux (RedHat o Novell por ejemplo).
Si tienes algún problema, exponlo en algun servicio de ayuda y en
pocos minutos estaras recibiendo ayuda y sugerencias. La mayoría de
los problemas en Linux son documentados asi que es probable que
encuentres una solución a tu problema. Por el otro lado de la manera
con Microsoft por supuesto que puedes tener este tipo de ayuda con
Windows dependiendo de que tantas fuentes tengas, al igual que Linux
existen miles de páginas/foros/listas que tienen soporte para Windows.
Puedes comprar soporte del Microsoft mismo. La mayoría de las
empresas que contratan soporte de Microsoft se han quejado de la
seguridad que esta carece, asi que puedes comprar soporte de Linux y
Windows. No he conocido a nadie que me diga que quede
completamente satisfecho con un tipo de soporte de este tipo. Asi que
si ninguno queda completamente satisfecho ¿por qué decir que el
soporte para Windows es mucho mejor que el de Linux?.
4. Completo VS soporte de hardware en solo una parte: Un problema
que se esta convirtiendo en un problema que poco a poco va
desapareciendo es el del hardware. Años atras si tu querías instalar
algun tipo de distribución de Linux tenías que estar completamente
seguro que tu hardware ajustara perfectamente a la distribución para
que trabajara al 100 porciento. Este no es el caso de ahora, hoy
puedes tomar cualquier pc o laptop y tener varias distribuciones Linux
para instalar y casi siempre funcionara al 100% . Claro existen algunas
Página 80
GRUPO LINUX REDES II
excepciones por ejemplo el hibernar/suspender algunas veces es un
problema en las laptops. Con Windows tu sabes que cada pieza
siempre funcionará con ese sistema operativo. Sin embargo existen
tambien casos en los que puedas encontrar algunos contratiempos.
5. La linea de comandos VS No linea de comandos: No importa lo lejos
que el sistema operativo Linux haya llegado o lo bonito que luzca, la
herramienta de linea de comandos siempre sera una invaluable
herramienta de administración para Linux. Puedes utilizar Linux por
años y no utilizar la linea de comandos al igual que con Windows pero
no tan crítico como lo es con Linux. Algunos usuarios de Windows ni
siquiera saben que el cmd existe.
6. La instalación de aplicaciones centralizadas VS las centralizadas:
El título de este punto tal vez no sea muy entendible. Con Linux tu
tienes (en casi todas las distribuciones) un punto centralizado donde
puedes buscar, agregar, borrar programas. Estoy hablando de un
paquete de gestión de programas como lo es Synaptic. Con Synaptic
puedes abrirlo buscar una aplicación instalarla y todo eso, sin hacer
ningun tipo de busqueda. Windows no tiene nada comparado con esto,
con Windows tu tienes que buscar el software/programa que quieras
utilizar o insertar el cd/dvd de el en el equipo y correr el setup.exe o
install.exe. Hasta ahora en Linux la instalación de programas es simple,
centralizada y sin dolores de jaquecas:p.
Página 81
GRUPO LINUX REDES II
7. Rigidez VS Flexibilidad: Siempre comparo a Linux y a Windows con
un cuarto donde el piso y el techo donde son movibles o no. Con Linux,
tienes un cuarto donde el techo y el piso pueden ser movidos tan altos
como tu quieras, tan altos o bajos como tu quieras. Con Windows, ese
piso y ese techo son inmovibles, no puedes ir mas allá de donde
Microsoft haya dicho que puedas ir. Por ejemplo los escritorios con
Linux puedes hacerlos lucir tal como tu quieras que luzcan existe la
experiencia Compiz, con Microsoft tu tienes que manejar el escritorio
que ellos han decidido que sea tu escritorio perfecto.
8. Fanaticos VS corporativos: Quiero agregar este punto por que creo
que Linux ha alcanzado el punto que ha llegado a ser mas allá que solo
proyectos escolares. Microsoft posee a administradores certificados
que tambien son fanaticos, al igual que con Linux ellos tambien son
fanaticos. De una u otra manera lo son.
9. Automatizado VS Contenido removible no automatizado: Recuerdo
los dias en que tu tenías que montar un floppy para usarlo y sacarlo
para dejarlo de usar, esos dias estan llegando a su fin de alguna
manera, pero no tanto. Un problema que altera a los nuevos usuarios
de Linux es como se utilizan los contenidos que son removibles. La
idea de montar un cd cada vez que lo vayamos a usar no queda muy
claro para esos usuarios que son nuevos en Linux. Sin embargo lo
pueden realizar igual que Windows, pero que cualquiera pueda
modificar o borrar la información que acabas de agregar a tus
contenidos es una idea que nos deja algo de inquietud.
Página 82
GRUPO LINUX REDES II
10.Correr a nivel multiple VS correr en una solo nivel: No pude
encontrar el nombre perfecto para este punto, asi que tratare de
explicarlo. En Linux nos da la posibilidad de detenernos a distintos
niveles. Con esto tu puedes trabajar desde la linea de comando (nivel
3) o desde la interfaz gráfica (nivel 5). Esto en realidad te puede salvar
cuando tienes X problema y no sabes que es. En Windows serás
afortunado si puedes trabajar en la linea de comandos en Modo a
pruebad e fallos, despues puede o puede que no tengas las
herramientas para arreglar el problema. En Linux aún en linea de
comandos a nivel 3, puedes instalar utilidades (apt-get install
NOMBRE). Trabajar en diferentes niveles es de alguna manera
benefico digamos que estas en un servidor donde necesitas la mayor
cantidad de memoria posible, trabajar en la linea de comandos puede
ayudar en esos casos un montón. Con Windows estas atorado siempre
con la interfaz gráfica a menos que tengas un grave problema.
Ventajas y desventajas entre Microsoft Windows y GNU Linux, mitos y realidades:
Los servidores de red con Software Libre dominan el 65% del mercado
mundial, mientras que Windows posee actualmente un 25%.
Según una encuesta realizada recientemente por IBM, el 83% de las
empresas planean realizar trabajos basados en GNU/Linux durante 2007,
mientras que sólo el 23% está planificando lo mismo en base a Windows.
Andrew Kutz es un experto en virtualización (técnica que permite correr un
sistema operativo dentro de otro, para aprovechar recursos de hardware), y
es además Microsoft Certified Solutions Developer (MCSD) y Certified
Página 83
GRUPO LINUX REDES II
Windows Security Administrator (CWSA) por SANS/GIAC, es decir, un
experto en desarrollos de Microsoft y en administración de seguridad en
Windows.
Kutz conoce muy bien el mundo del Software Libre y GNU/Linux, y declara lo
siguiente: "Lo cierto es que manejo tanto servidores Windows como Linux y
tengo que instalar muchos más parches en los servidores Windows que en
sus hermanos Linux.
Tal y como "sale de la caja", Linux da una paliza a Windows en lo que se
refiere a seguridad pre-configurada. Eso no equivale a decir que Windows no
puede ser hecho seguro. De hecho, un servidor Windows bien configurado es
mucho más fácil de manejar que un servidor Linux, pero eso no anula el
hecho de que si se instala un servidor con Windows y el de al lado con Linux,
se ponen ambos en la red y se abandona la habitación, el servidor Windows
va a ser el que resulte secuestrado."
Kutz reponde a la pregunta ¿Por qué si GNU/Linux es considerado por la gran mayoría de expertos en seguridad el sistema más seguro, el uso masivo entre los usuarios de PCs de escritorio aún no llega?
Respueta: Quizá porque la seguridad no es prioritaria en las computadoras de
uso doméstico o en las oficinas de los diversos tipos de instituciones, sean
estatales o privadas.
Las migraciones de los últimos tiempos (Ej.: 14.000 computadoras estatales
en Munich, Alemania) nos muestran que cuanto más profesional y seria es
una institución, más propensa es a usar GNU/Linux.
Se ha demostrado, además, que se valoran otros beneficios que brinda este
sistema. Por ejemplo: la independencia tecnológica, el bajo costo, las
libertades para adaptarlo a las necesidades de cada caso y, muchas veces, la
Página 84
GRUPO LINUX REDES II
posibilidad de contribuir con mejoras al software y así ayudar a otras personas
e instituciones.
Si me hablan de seguridad informática, debo decir que en mi sistema
operativo GNU/Linux no tuve ningún caso de vulnerabilidad (virus, spyware,
rootkits, troyanos, gusanos) en casi 3 años que lo llevo usando, para lo cual
no he tomado ninguna precaución.
En el Internet, los alojamiento de sitio Web, correo POP3, IMAP, y SMTP, el
78% se encuentran bajo la plataforma de GNU Linux, ya que este posee una
variedades de motores para servidores de correos y páginas Web, sin costo y
con una estabilidad confiable, por lo que no es tanto por lo Gratis sino por su
robustez y confiabilidad de este. en tanto Microsoft posee la combinación de
IIS (Internet Information Services), SQL Server, Exchange Server, los cuales
poseen un porcentaje mayor de vulnerabilidad a los ataque de hackers o
crackers, además de que deben ser pagados a Microsoft por cada usuario en
el servidor, a pesar de ser más vulnerable a los ataques.
Se dice que esto se debe a que es el sistema operativo más usado y
conocido, por consecuencia, al que más atacan, esto puede tener mucho de
cierto, pero no es tan real, en lo referente al más usado.
En realidad existe una estadística por zona donde en el Occidente y
Latinoamérica, el más utilizado es Microsoft Windows XP, Vista, y sus
aplicaciones; contrario al Oriente y Europa, donde se concentran la mayor
cantidad de Computadores personales con GNU Linux, esto
independientemente de la cantidad de servidor en la Mega Red (Internet).
En el enlace de más abajo podrá ver otra de la tantas ventajas entre Microsoft
y GNU Linux, teniendo en cuanta, que todo lo que esta debajo de la columna
Página 85
GRUPO LINUX REDES II
Windows, representa un costo por cada aplicación, lo contrario de la columna
de Linux (Open Source).
.Alternativas de Software Privativo y Software Libre
Categoria del Programa
Aplicaciones Privativas Aplicaciones Libres
Navegadores MS Internet Explorer, Opera, Avant Browse
Mozilla Firefox, Konqueror, Mozilla Suite, Epiphany, Galeon, Dillo
Clientes de Correo Electrónico
MS Outlook, Outlook Express, Eudora
Mozilla Thunderbird, Kmail, Evolution
Gestor de Descargas Flashget, Golzilla, Download Accelerator Plus, Getright
Una entrada puede contener tantos pares <attrtype>: <attrvalue> como
sean necesarios. Una línea en blanco indica el final de una entrada.
Aviso
Todas las parejas <attrtype> y <attrvalue> deben estar definidas en el archivo esquema correspondiente para usar esta información.
Cualquier valor comprendido dentro de < y > es una variable y
puede ser configurado cuando se cree una nueva entrada LDAP.
Sin embargo, esta regla no se aplica a <id>. El <id> es un
número determinado por la aplicación que se usa para modificar
la entrada.
18.13. Demonios y utilidades OpenLDAP
El grupo de bibliotecas y herramientas OpenLDAP están incluidas en
los paquetes siguientes:
openldap — Contiene las librerías necesarias para ejecutar las
aplicaciones del servidor y cliente OpenLDAP.
Página 136
GRUPO LINUX REDES II
openldap-clients — Contiene herramientas de línea de comandos
para visualizar y modificar directorios en un servidor LDAP.
openldap-server — Contiene los servidores y otras utilidades
necesarias para configurar y ejecutar un servidor LDAP.
Hay dos servidores contenidos en el paquete openldap-servers: el
Demonio independiente LDAP (/usr/sbin/slapd) y el Demonio independiente
de actualización de réplicas LDAP (/usr/sbin/slurpd).
El demonio slapd es el servidor independiente LDAP mientras que el
demonio slurpd es usado para sincronizar los cambios desde un servidor
LDAP a otro en la red. El demonio slurpd sólo es usado cuando se trabaja
con múltiples servidores LDAP.
Para llevar a cabo tareas administrativas, el paquete openldap-
server instala las utilidades siguientes en el directorio /usr/sbin/:
slapadd — Añade entradas desde un archivo LDIF a un directorio
LDAP. Por ejemplo, el comando /usr/sbin/slapadd -l ldif-input leerá en
el archivo LDIF, ldif-input, que contiene las nuevas entradas.
Importante
Debe ser usuario root para usar /usr/sbin/slapadd. Sin embargo, el servidor de directorio se ejecuta como usuario ldap. Por lo tanto, el servidor de directorio no podrá modificar ningún archivo creado por slapadd. Para corregir este problema, después que haya terminado de usar slapadd, escriba el comando siguiente:
chown -R ldap /var/lib/ldap
slapcat — Extrae entradas de un directorio LDAP en el formato
por defecto Sleepycat Software's Berkeley DB, y las guarda en
un archivo LDIF. Por ejemplo, el comando /usr/sbin/slapcat -l ldif-
Página 137
GRUPO LINUX REDES II
output tendrá como resultado un archivo LDIF llamado ldif-output
que contendrá las entradas para el directorio LDAP.
slapindex — Re-indexa el directorio slapd basado en el contenido
actual. Esta herramienta se debería ejecutar siempre que se
cambien las opciones de indexado dentro de
/etc/openldap/slapd.conf.
slappasswd — Genera un valor de contraseña encriptada de usuario para
ser usada con ldapmodify o el valor rootpw en el archivo de
configuración slapd, /etc/openldap/slapd.conf. Ejecute el comando
/usr/sbin/slappasswd para crear la contraseña.
Aviso
Asegúrese de detener slapd ejecutando /sbin/service lapd stop antes de usar slapadd, slapcat o slapindex. De otro modo se pondrá en riesgo la integridad del directorio LDAP.
El paquete openldap-clients instala herramientas utilizadas para
agregar, modificar y borrar entradas en un directorio LDAP dentro de
/usr/bin/ Estas herramientas incluyen lo siguiente:
ldapadd — Agrega entradas a un directorio LDAP aceptando
entradas vía archivo o entrada estándar; ldapadd es en realidad
un enlace duro a ldapmodify -a.
ldapdelete — Borra entradas de un directorio LDAP al aceptar
instrucciones del usuario por medio de la entrada desde el
indicador de comandos o por medio de un archivo.
ldapmodify — Modifica las entradas en un directorio LDAP,
aceptando la entrada por medio de un archivo o entrada
estándar.
Página 138
GRUPO LINUX REDES II
ldappasswd — Configura una contraseña para un usuario LDAP.
ldapsearch — Busca por entradas en el directorio LDAP usando
un indicador de comandos shell.
Con la excepción de ldapsearch, cada una de estas utilidades se usa
más fácilmente haciendo referencia a un archivo que contiene los cambios
que se deben llevar a cabo, que escribiendo un comando para cada
entrada que se desea cambiar en un directorio LDAP. El formato de dicho
archivo está esquematizado en las páginas del manual sobre cada utilidad.
18.14. NSS, PAM, y LDAP
Además de los paquetes OpenLDAP, Red Hat Enterprise Linux
incluye un paquete llamado nss_ldap, el cual mejora la habilidad de LDAP
para integrarse en Linux y otros ambientes UNIX.
El paquete nss_ldap provee los siguientes módulos:
/lib/libnss_ldap-<glibc-version>.so
/lib/security/pam_ldap.so
El paquete nss_ldap provee los siguientes módulos para las
arquitecturas Itanium o AMD64.
/lib64/libnss_ldap-<glibc-version>.so
/lib64/security/pam_ldap.so
El módulo libnss_ldap-<glibc-version>.so permite a las aplicaciones
buscar usuarios, grupos, hosts y otra información utilizando un directorio
LDAP por medio de la interfaz de glibc Nameservice Switch (NSS)
Página 139
GRUPO LINUX REDES II
(reemplace <glibc-version> con la versión de libnss_ldap en uso). NSS
permite a las aplicaciones autenticarse usando LDAP junto con el servicio
de nombres de NIS y archivos de autenticación planos.
El módulo pam_ldap permite que las aplicaciones PAM puedan
validar usuarios utilizando la información almacenada en el directorio
LDAP. Las aplicaciones PAM incluyen conexiones desde la consola,
servidores de correo POP e IMAP y Samba. Al desarrollar un servidor
LDAP en una red, se pueden autentificar todas estas aplicaciones usando
la misma combinación de nombre de usuario y contraseña, simplificando en
gran medida la administración.
18.15. PHP4, LDAP y el Servidor Apache http
Red Hat Enterprise Linux incluye también un paquete que contiene
un módulo LDAP para el lenguaje de comandos del servidor PHP.
El paquete php-ldap añade soporte LDAP al lenguaje empotrado en
HTML, PHP4 a través del módulo /usr/lib/php4/ldap.so. Este módulo
permite a los scripts PHP4 accesar información almacenada en un
directorio LDAP.
Red Hat Enterprise Linux se entrega con el módulo mod_authz_ldap
para el Servidor Apache HTTP. Este módulo utiliza la forma corta del
nombre distinguido para un sujeto y el emisor de un certificado de cliente
SSL para determinar el nombre distinguido del usuario dentro de un
directorio LDAP. También es capaz de autorizar a los usuarios basados en
los atributos de la entrada de del directorio LDAP de ese usuario,
determinando el acceso a los activos basados en los privilegios de acceso
del usuario y grupo, y negando el acceso para los usuarios con
contraseñas caducadas. Se requiere el módulo mod_ssl cuando se utilice
el módulo mod_authz_ldap.
Página 140
GRUPO LINUX REDES II
Nota
El módulo mod_authz_ldap no autentica a un usuario automáticamente a un directorio LDAP usando un hash de contraseña encriptado. Esta funcionalidad es proporcionada con el módulo experimental mod_auth_ldap, el cual no está incluido con Red Hat Enterprise Linux.
18.16. Aplicaciones cliente LDAP
Existen clientes gráficos de LDAP que soportan la creación y
modificación de directorios, pero no se entregan con Red Hat Enterprise
Linux. Una de estas aplicaciones es LDAP Browser/Editor.
La mayoría de los otros clientes LDAP acceden a directorios como
sólo lectura, usándolos como referencia, pero sin alterar información a lo
largo de la organización. Algunos ejemplos de tales aplicaciones son
Sendmail, Mozilla, Evolution y Gnome Meeting.
18.17. Archivos de configuración de OpenLDAP
Los archivos de configuración OpenLDAP son instalados dentro del
directorio /etc/openldap/. A continuación aparece una lista breve marcando
los directorios y archivos más importantes:
/etc/openldap/ldap.conf — Este es el archivo de configuración
para todas las aplicaciones cliente que usan las bibliotecas
OpenLDAP tales como ldapsearch, ldapadd, Sendmail, Pine,
Balsa, Evolution, y Gnome Meeting.
Página 141
GRUPO LINUX REDES II
/etc/openldap/slapd.conf — Este es el archivo configuración para
el demonio slapd.
Directorio /etc/openldap/schema/ — Este subdirectorio contiene
el esquema usado por el demonio slapd.
Nota
Si está instalado el paquete nss_ldap, creará un archivo llamado /etc/ldap.conf. Este archivo es usado por los módulos PAM y NSS proporcionados por el paquete nss_ldap.
19. PROTOCOLO SAMBA
19.1. Cómo configurar Samba básico. Acerca del protocolo SMB.
SMB (acrónimo de Server Message Block) es un protocolo, del Nivel
de Presentación del modelo OSI de TCP/IP, creado en 1985 por IBM.
Algunas veces es referido también como CIFS (Acrónimo de Common
Internet File System, http://samba.org/cifs/) tras ser renombrado por
Microsoft en 1998. Entre otras cosas, Microsoft añadió al protocolo soporte
para enlaces simbólicos y duros así como también soporte para ficheros de
gran tamaño. Por mera coincidencia esto ocurrió por la misma época en
que Sun Microsystems hizo el lanzamiento de WebNFS.
SMB fue originalmente diseñado para trabajar a través del protoclo
NetBIOS, el cual a su vez trabaja sobre NetBEUI (acrónimo de NetBIOS
Extended User Interface, que se traduce como Interfaz de Usuario
Extendida de NetBIOS), IPX/SPX (acrónimo de Internet Packet
Página 142
GRUPO LINUX REDES II
Exchange/Sequenced Packet Exchange, que se traduce como Intercambio
de paquetes interred/Intercambio de paquetes secuenciales) o NBT,
aunque también puede trabajar directamente sobre TCP/IP.
Acerca de Samba.SAMBA es un conjunto de programas, originalmente creados por
Andrew Tridgell y actualmente mantenidos por The SAMBA Team, bajo la
Licencia Publica General GNU, y que implementan en sistemas basados
sobre UNIX el protocolo SMB. Sirve como reemplazo total para Windows
NT,Warp, NFS o servidores Netware.
19.2. Equipamiento lógico necesario.
Los procedimientos descritos en este manual han sido probados
para poder aplicarse en sistemas con Red Hat™ Enterprise Linux 4, o
equivalentes o versiones posteriores, y al menos Samba 3.0.10 o versiones
posteriores.
Necesitará tener instalados los siguientes paquetes, que
seguramente vienen incluidos en los discos de instalación o depósitos de
equipamiento lógico de la distribución de GNU/Linux utilizada:
1. samba: Servidor SMB.
2. samba-client: Diversos clientes para el protoclo SMB.
3. samba- Ficheros necesarios para cliente y servidor.
4. common:
Instalación a través de yum.Si utiliza CentOS 4 y 5, Red Hat Enterprise Linux 5 o White Box
Enterprise Linux 4 y 5, y versiones posteriores, solo se necesita realizar lo
siguiente para instalar o actualizar el equipamiento lógico necesario:
Página 143
GRUPO LINUX REDES II
yum -y install samba samba-client samba-common
Instalación a través de up2date.Si se utiliza Red Hat Enterprise Linux 4, solo bastará realizar lo
siguiente para instalar o actualizar el equipamiento lógico necesario:
up2date -i samba samba-client samba-common
19.2.1. Procedimientos.
SELinux y el servicio smb.A fin de que SELinux permita al servicio smb funcionar como
Controlador Primario de Dominio (PDC, Primary Domain Controler), utilice
el siguiente mandato:
setsebool -P samba_domain_controller 1
A fin de que SELinux permita al servicio smb compartir los
directorios de inicio de los usuarios locales del sistema, utilice el siguiente
mandato:
setsebool -P samba_enable_home_dirs 1
Para definir que un directorio será compartido a través del servicio
smb, como por ejemplo /var/samba/publico, y que se debe considerar como
contenido tipo Samba, se utiliza el siguiente mandato:
chcon -t samba_share_t /var/samba/publico
Cada nuevo directorio que vaya a ser compartido a través de
Samba, debe ser configurado como acaba de describirse antes de ser
configurado en el fichero /etc/samba/smb.conf.
A fin de que SELinux permita al servicio smb compartir todos los
recursos en modo de solo lectura, utilice el siguiente mandato:
Página 144
GRUPO LINUX REDES II
setsebool -P samba_export_all_ro 1
A fin de que SELinux permita al servicio smb compartir todos los
recursos en modo de lectura y escritura, utilice el siguiente mandato:
setsebool -P samba_export_all_rw 1
Alta de cuentas de usuario.
Es importante sincronizar las cuentas entre el servidor Samba y las
estaciones Windows. Es decir, si en una máquina con Windows
ingresamos como el usuario paco con clave de acceso elpatito16, en el
servidor Samba deberá existir también dicha cuenta con ese mismo
nombre y la misma clave de acceso. Como la mayoría de las cuentas de
usuario que se utilizarán para acceder hacia Samba no requieren acceso al
interprete de mandatos del sistema, no es necesario asignar clave de
acceso con el mandato passwd y se deberá definir /sbin/nologin o bien
/bin/false como interpete de mandatos para la cuenta de usuario
involucrada.
useradd -s /sbin/nologin usuario-windows smbpasswd -a usuario-
windows No hace falta se asigne una clave de acceso en el sistema con el
mandato passwd puesto que la cuenta no tendrá acceso al interprete de
mandatos.
Si se necesita que las cuentas se puedan utilizar para acceder hacia
otros servicios como seríanTelnet, SSH, etc, es decir, que se permita
acceso al interprete de mandatos, será necesario especificar /bin/bash
como interprete de mandatos y además se deberá asignar una clave de
acceso en el sistema con el mandato passwd:
useradd -s /bin/bash usuario-windows
passwd usuario-windows
Página 145
GRUPO LINUX REDES II
smbpasswd -a usuario-windows
19.2.2. El fichero lmhosts
Es necesario empezar resolviendo localmente los nombres NetBIOS
asociándolos con direcciones IP correspondientes en el fichero lmhosts
(LAN Manager hosts). Para fines prácticos el nombre NetBIOS debe tener
un máximo de 11 caracteres. Normalmente se utiliza como referencia el
nombre corto del servidor o el nombre corto que se asigno como alias a la
interfaz de red. Si se edita el fichero /etc/samba/lmhosts, se encontrará un
contenido similar al siguiente:
127.0.0.1 localhost
Se pueden añadir los nombres y direcciones IP de cada uno de los
anfitriones de la red local.
Como mínimo debe encontrarse el nombre del anfitrión Samba y su
dirección IP correspondiente, y opcionalmente el resto de los anfitriones de
la red local. La separación de espacios se hace con un tabulador. Ejemplo:
127.0.0.1 localhost
192.168.1.1 servidor
192.168.1.2 joel
192.168.1.3 blanca
192.168.1.4 jimena
192.168.1.5 regina
192.168.1.6 isaac
192.168.1.7 finanzas
192.168.1.8 direccion
Parámetros principales del fichero smb.conf.
Página 146
GRUPO LINUX REDES II
Se modifica el fichero /etc/samba/smb.conf con cualquier editor de
texto. Este información que será de utilidad y que está comentada con un
símbolo # y varios ejemplos comentados con ; (punto y coma), siendo estos
últimos los que se pueden tomar como referencia.
Parámetro workgroup.Se establece el grupo de trabajo definiendo el valor del parámetro
workgroup asignando un grupo de trabajo deseado:
workgroup = MIGRUPO
Parámetro netbios name.Opcionalmente se puede establecer con el parámetro netbios name
otro nombre distinto para el servidor si acaso fuese necesario, pero
siempre tomando en cuenta que dicho nombre deberá corresponder con el
establecido en el fichero /etc/samba/lmhosts:
netbios name = maquinalinux
Parámetro server string.El parámetro server string es de carácter descriptivo. Puede
utilizarse un comentario breve que de una descripción del servidor.
server string = Servidor Samba %v en %L
Parámetro hosts allow.La seguridad es importante y esta se puede establecer
primeramente estableciendo la lista de control de acceso que definirá que
máquinas o redes podrán acceder hacia el servidor. El parámetro hosts
allow sirve para determinar esto. Si la red consiste en las máquinas con
dirección IP desde 192.168.1.1 hasta 192.168.1.254, el rango de
direcciones IP que se definirá en hosts allow será 192.168.1. De modo tal
que solo se permitirá el acceso dichas máquinas. En el siguiente ejemplo
se define la red 192.168.1.0/24 definiendo los tres primeros octetos de la
Página 147
GRUPO LINUX REDES II
dirección IP de red, así como cualquier dirección IP de la red 127.0.0.0/8
definiendo el primer octeto:
hosts allow = 192.168.1. 127.
Parámetro interfaces.El parámetro interfaces permite establecer desde que interfaces de
red del sistema se escucharán peticiones. Samba no responderá a
peticiones provenientes desde cualquier interfaz no especificada. Esto es
útil cuando Samba se ejecuta en un servidor que sirve también de puerta
de enlace para la red local, impidiendo se establezcan conexiones desde
fuera de la red local.
interfaces = lo eth0 192.168.1.254/24
Parámetro remote announce.La opción remote announce se encarga de que el servicio nmbd se
anuncie a si mismo de forma periódica hacia una red en particular y un
grupo de trabajo específico. Esto es particularmente útil si se necesita que
el servidor Samba aparezca no solo en el grupo de trabajo al que
pertenece sino también otros grupos de trabajo. El grupo de trabajo de
destino puede estar en donde sea mientras exista una ruta y sea posible la
difusión exitosa de paquetes.
Los valores que pueden ser utilizados son direcciones IP de difusión
(broadcast) de la red utilizada (es decir la última dirección IP del segmento
de red) y/o nombres de grupos de trabajo. En el siguiente ejemplo se define
que el servidor Samba se anuncie a través de las direcciones IP de difusión
192.168.1.255 (red 192.168.1.0/24) y 192.168.2.255 (red 192.168.2.0/24) y
- PowerPC/32 (Apple Macintosh PowerMac corriendo sobre
procesadores G3 o G4 PowerPC).
- IBM Mainframe (eServer zSeries y S/390).
Además tiene soporte para dos arquitecturas no soportadas por su original.
- Alpha procesador (DEC_Alpha)
- SPARC
5. EVOLUCIÓN DE CENTOS
CentOS 2
El 14 de mayo de 2004 CentOS 2 fue liberado. Esta versión está
basada en la versión 2.1 de Red Hat Enterprise Linux.
CentOS 3
El 19 de marzo de 2004 CentOS 3.1 (fue liberado. El 18 de septiembre
de 2004. CentOS 3.3 para las arquitecturas i386 y AMD64. CentOS 3.2
nunca fue liberado.
El 10 de enero de 2005 CentOS 3.4 para i386 fue oficialmente liberado
en conjunto con una nueva versión de CentOS 3.4 i386 de un CD para
servidores
El 13 de febrero de 2005 CentOS 3.4 para procesadores de la
arquitectura ia64 fue liberado. También fue liberado el 13 de febrero del
2005 CentOS 3.4 para la arquitectura s390, y CentOS 3.4 para la
arquitectura s390x.
El 10 de junio de 2005 CentOS 3.5 para i386 fue liberado.
Sobre el 13 de octubre, 2005, CentOS 3.6 fue liberado. Diferente a las
otras versiones de CentOS 3 releases, éste no fue anunciado en las
listas de correo de CentOS. Su anuncio ocurrió el 1 de noviembre,
Página 178
GRUPO LINUX REDES II
2005.
El 11 de abril, 2006, CentOS 3.7 fue liberado.
El 25 de agosto, 2006, CentOS 3.8 fue liberado.
CentOS 4
CentOS 4.0 está basado en la versión 4 de Red Hat Enterprise Linux.
El 1 de marzo de 2005, CentOS 4.0 para la arquitectura i386 fue
liberado. El equipo de CentOS también liberó CentOS 4.0 para la
arquitectura ia64 ese mismo día.
El 9 de marzo de 2005, la versión final, CentOS 4.0 para la arquitectura
x86_64
El 12 de juniode 2005 CentOS 4.1 para i386.
El 17 de junio de 2005 la versión 4.1 de CentOS para la arquitectura
x86_64 fue liberada en conjunto con la versión final para la arquitectura
ia64.
El 12 de octubre de 2005 CentOS versión 4.2 fue liberado.
El 21 de marzo de 2006 CentOS versión 4.3 para las arquitecturas i386,
x86_64 e ia64.
El 31 de agosto de 2006 fue liberado Centos 4.4
El 17 de mayo de 2007 CentOS versión 4.5 para las arquitecturas i386
x86_64 e ia64. Incluye soporte para ser instalado como domU en Xen.
CentOS 5
CentOS 5.0 está basado en la versión 5 de Red Hat Enterprise Linux.
Fue liberado el 12 de abril de 2007. CentOS 5.3 es la tercera
actualización para la serie de distribuciones CentOS 5. Contiene una
Página 179
GRUPO LINUX REDES II
gran cantidad de correcciones, actualizaciones y nuevas
funcionalidades.
SERVICIOS EN CENTOS
1.SERVIDOR DHCP
DHCP (Dynamic Host Configuration Protocol - Protocolo de
configuración dinámica de servidores) es un protocolo que permite a
dispositivos individuales en una red de direcciones IP obtener su propia
información de configuración de red (dirección IP; máscara de sub-red, puerta
de enlace, etc.) a partir de un servidor DHCP. Su propósito principal es hacer
más fáciles de administrar las redes grandes. DHCP existe desde 1993 como
protocolo estándar y se describe a detalle en el RFC 2131.
Sin la ayuda de un servidor DHCP, tendrían que configurarse de forma
manual cada dirección IP de cada host que pertenezca a una Red de Área
Local. Si un host se traslada hacia otra ubicación donde existe otra Red de
Área Local, se tendrá que configurar otra dirección IP diferente para poder
unirse a esta nueva Red de Área Local. Un servidor DHCP entonces supervisa
y distribuye las direcciones IP de una Red de Área Local asignando una
dirección IP a cada host que se una a la Red de Área Local. Cuando, por
mencionar un ejemplo, una computadora portátil se configura para utilizar
DHCP, a ésta le será asignada una dirección IP y otros parámetros de red
necesarios para unirse a cada Red de Área Local donde se localice.
Existen tres métodos de asignación en el protocolo DHCP:
• Asignación manual: La asignación utiliza una tabla con direcciones
MAC (Media Access Control Address - dirección de Control de Acceso
Página 180
GRUPO LINUX REDES II
al Medio). Sólo los host con una dirección MAC definida en dicha tabla
recibirá el IP asignada en la misma tabla.
• Asignación automática: Una dirección de IP disponible dentro de un
rango determinado se asigna permanentemente al host que la requiera.
• Asignación dinámica: Se determina arbitrariamente un rango de
direcciones IP y cada host conectado a la red está configurada para
solicitar su dirección IP al servidor cuando se inicia el dispositivo de red,
utilizando un intervalo de tiempo controlable (parámetros default-lease-time y maxlease- time) de modo que las direcciones IP no son
permanentes y se reutilizan de forma dinámica.
1.1. DHCP POR INTERNET SOFTWARE CONSORTIUM, INC.
Fundado en 1994, Internet Software Consortium, Inc., distribuye un
conjunto de herramientas para el protocolo DHCP, las cuales consisten en:
o Servidor DHCP: Este software se encarga de asignarnos los
datos de configuración ip al equipo que conectamos a la red
o Cliente DHCP: Es el que solicita una dirección ip al servidor
DHCP
o Agente de retransmisión: Es el que escucha las peticiones
DHCP
1.2. FUNCIONAMIENTO DE UN DHCP
Antes que nada hay que tener en cuenta que nuestro servidor DHCP
debe contar con una dirección IP fija, por lo tanto en nuestra red solo
existirá un equipo que dispondrá de una IP fija, o sea, nuestro servidor
DHCP.
Página 181
GRUPO LINUX REDES II
El paso siguiente es cuando la maquina cliente se conecta a la red,
en este fase, la maquina cliente hace uso del sistema básico de
comunicación BOOTP. El BOOTP (Bootstrap Protocol) es un protocolo de
red UDP utilizado para obtener la dirección IP automáticamente y
usualmente es iniciado cuando se realiza en el proceso de boteo de una
computadora o sistema operativo. Cuando la maquina cliente se inicia esta
no cuenta con información sobre la configuración de red a la cual está
conectada, en este momento la maquina cliente inicia una técnica llamada
transmisión la cual busca, encuentra y se comunica con el servidor DHCP
solicitándole los parámetros de configuración de la red. Cuando el DHCP
recibe el paquete de transmisión este contestará con otro paquete de
transmisión que contiene toda la información solicitada por el maquina
cliente.
Algunos de esos paquetes que se transmiten del cliente al servidor
DHCP y viceversa son los siguientes:
DHCP Discovery. La maquina cliente enviá este paquete para ubicar
los servidores DHCP disponibles en la red interna, una vez recibido este
paquete, el servidor DHCP almacena la dirección Ethernet de quien
genera la petición.
DHCP Offer. Respuesta del servidor DHCP al paquete DHCP Discover
la cual contiene los parámetros de red interna.
DHCP Request. El cliente selecciona la configuración de los paquetes
recibidos de DHCP Offer. Una vez más, el cliente solicita una dirección
IP específica que indicó el servidor
DHCP Acknowledge. Cuando el servidor DHCP recibe el mensaje
DHCP Request del cliente, este inicia la fase final del proceso de
configuración .Esta fase implica el reconocimiento DHCP Pack el envío
Página 182
GRUPO LINUX REDES II
de un paquete al cliente. En este punto, la configuración TCP/IP se ha
completado. El servidor reconoce la solicitud y se lo enviá al cliente.
DHCP Release.La maquina cliente enviá una petición al servidor DHCP
informándole sobre la liberación de su dirección IP
DHCP Ack. Respuesta del Servidor DHCP al la maquina cliente la cual
enviá los parámetros de red como por ejemplo la dirección IP que le
corresponde a la misma.
DHCP Inform. El cliente envía una petición al servidor de DHCP para
solicitar más información que la que el servidor ha enviado con el DHCP
Ask o para repetir los datos para un uso particular.
DHCP Nak. Respuesta del servidor DHCP a la maquina cliente la cual
le indica que su dirección IP ha vencido o que su configuración es
errónea
DHCP Decline. La maquina cliente le informa el servidor DHCP que la
dirección IP ya está en uso
1.3.EQUIPAMIENTO LÓGICO NECESARIO.
a) Instalación a través de yum.
Página 183
GRUPO LINUX REDES II
Para CentOS 5, Red Hat™ Enterprise Linux 5 o White Box
Enterprise Linux 5, solo se necesita realizar lo siguiente para instalar o
actualizar el equipamiento lógico necesario:
yum -y install dhcp
1.4. PARAMETROS DE CONFIGURACIÓN
ignore/allow client-updates
Permite la actualización de las asignaciones de un cliente a requerimiento de este, o bien las asignaciones se actualizan cuando el servidor así lo requiera (ignore).
shared-network redLocalParámetro que describe las subredes que compartirán la misma red física las cuales se especifican dentro de esta declaración
subnet Segmento de subred sobre el cual actuara el dhcp
netmask Mascara de red de la subred
option routersParámetro que especifica mediante IP la ubicación del router
option subnet-mask Mascara de red de la subred
option broadcast-address Parámetro que especifica la IP de broadcast
option domain-name
"tuDominio.com";
Parámetro que describe el nombre de tu dominio
option domain-name-serversParámetro que especifica mediante IP la ubicación del DNS
rangeRango sobre el cual el DHCP asignara direcciones IP
default-lease-timeParámetro que indica el tiempo entre cada nueva asignación de IP a los equipos
max-lease-timeParámetro que indica el tiempo de vigencia de la dirección IP para cada equipo
host nombreDeLaMaquina Parámetro que describe el nombre del equipo
Página 184
GRUPO LINUX REDES II
option host-name
"nombreDeLaMaquina.tuDominio.com"
Parámetro que describe el nombre de la computadora y el nombre de dominio asociado a la misma
hardware ethernetParámetro que describe la dirección MAC asociada a la tarjeta ethernet del equipo
fixed-addressParámetro que describe la dirección IP destinada a un equipo
authoritative
La configuración correcta para la red es la definida en el servidor DHCP. Poner este parámetro al comienzo del archivo de configuración supone que el servidor DHCP reasignará direcciones a los clientes mal configurados por el motivo que sea, incluida una configuración nueva del servidor.
not authoritative
La función de este parámetro es justo la contraria del anterior. Es decir: la configuración del servidor de DHCP no es concluyente y los clientes mal configurados que sean detectados por el servidor, seguirán con su configuración intacta.
ddns-domainname <nombre>
Mediante el uso de este parámetro, se añadirá <nombre> al final del nombre de la máquina cliente, para formar un nombre de dominio totalmente cualificado (FQDN).
ddns-hostname <nombre>
Por defecto, el servidor DHCP utiliza como nombre para la solicitud el nombre que el cliente tiene asignado a su máquina. Mediante este parámetro se asigna un nombre concreto a una máquina o a todas en general. Porejemplo, para asignar un nombre a una dirección MAC concreta, utilizaremos el código siguiente:
host "nada" {
hardware ethernet 00:60:30:3f:2d:4a;
ddnshostname
"nombre_del_host";
}
Y para asignar, por ejemplo, la dirección MAC como parte del nombre del
maquina cliente, podemos usar lo siguiente:
Página 185
GRUPO LINUX REDES II
ddnshostname
= binarytoascii
(16,8, "",
substring (hardware, 1, 6));
ddns-updates <on|off> Activa la actualización DNS mediante los valores asignados por DHCP.
group Inicia la declaración de Grupo.
min-lease-time <duración>Especifica la cantidad mínima de tiempo, en segundos, que será mantenida una asignación de direcciones.
one-lease-per-client <on/off>
Cuando la opción se iguala a on y un cliente solicita una asignación de dirección (DHCPREQUEST), el servidor libera de forma automática cualquier otra asignación asociada a dicho cliente. Con esto se supone que si el cliente solicita una nueva asignación es porque ha olvidado que tuviera alguna, luego tiene un sólo interfaz de red. No dándose esta situación entre los clientes no es muy aconsejable el uso de esta opción.
range ip-menor ip-mayor
En una declaración de subred, este parámetro define el rango de direcciones que serán asignadas. Pueden darse dos instrucciones range seguidas del modo:
range 192.168.0.11 192.168.0.100;
range 192.168.0.125 192.168.0.210;
server-identifier <IP>
Identifica la máquina donde se aloja el servidor de DHCP.
Su uso se aplica cuando la máquina en cuestión tiene varias direcciones asignadas en un mismo interfaz de red.
server-name <nombre>Nombre del servidor que será suministrado al cliente que solicita la asignación.
1.5.PROCEDIMIENTOS.
Página 186
GRUPO LINUX REDES II
a) SELinux y el servicio DHCPD.
Para que SELinux permita al servicio dhcpd funcionar normalmente
y sin protección alguna, utilice el siguiente mandato.
setsebool -P dhcpd_disable_trans 1
b) Fichero de configuración /etc/dhcpd.conf.El primer paso para configurar el servidor de DHCP será editar el
fichero dhcp.conf al cual le añadiremos la información de nuestra LAN.
El archivo de configuración puede contener tabulaciones o líneas en
blanco adicionales para facilitar el formato. Las palabras clave no
distinguen entre mayúsculas y minúsculas. Las líneas que empiezan
con el símbolo numeral (#) se consideran comentarios.
Ejemplo 1: Se requiere implementar un servidor DHCP que
implemente los tres métodos de asignación de direcciones IP. El
servidor DHCP contara con dos tarjetas de red, las cuales tendrán
asignadas las direcciones 192.168.1.5 y 192.168.2.5 , el segmento de
red sobre el cual actuara el servidor DHCP es el 192.168.1.0, la
submascara de red asignada será la 255.255.255.0, así mismo el
servidor DHCP servirá como gateway el cual tendrá asignada la misma
dirección IP que el DHCP (192.168.1.5), la dirección de broadcast
asignada sera la 192.168.1.255, el rango de direcciones IP que
asignara el servidor DHCP estará entre el rango de 192.168.1.7 á 192.168.1.100
Página 187
GRUPO LINUX REDES II
Editaremos el fichero /etc/dhcpd.conf de tres maneras diferentes,
esto con el fin de ejemplificar los tres métodos de asignación de
direcciones IP.
Asignación manualAbriremos una terminal y con la ayuda de “vi” editaremos el fichero
dhcpd.conf
[localhost@localdomain ~]#vi /etc/dhcpd.conf
Una vez abierto el fichero deberemos añadir el siguiente contenido:
# DHCP Server Configuration file.# see /usr/share/doc/dhcp*/dhcpd.conf.samplednsupdatestyle interim;ignore clientupdates;sharednetwork redLocal{subnet 192.168.2.0 netmask 255.255.255.0{
Lo hecho anteriormente hace que el servidor DHCP asigne a
dos equipos de la red, dos direcciones IP aleatorias dentro del rango
de 192.168.2.10 al 192.168.1.200 las cuales serán renovadas cada
cierto tiempo asignado de nuevo direcciones IP aleatorias dentro del
rango de 192.168.2.10 al 192.168.1.200
Ejemplo 2: El diagrama de la red quedara de la siguiente manera
Página 190
GRUPO LINUX REDES II
Considerando como ejemplo que se tiene una red local con las
siguientes características:
• Número de red 192.168.0.0
• Máscara de sub-red: 255.255.255.0
• Puerta de enlace: 192.168.0.1
• Servidor de nombres: 192.168.0.1, 148.240.241.42 y 148.240.241.10
• Rango de direcciones IP a asignar de modo dinámico: 192.168.0.11
- 192.168.0.199
• Dos direcciones IP se asignarán como fijas (192.168.1.252,
192.168.0.253 y 192.168.0.254) para las tarjetas de red con
direcciones MAC (Media Access Control o Control de Acceso de
Medios) 00:24:2B:65:54:84, 00:50:BF:27:1C:1C y
00:01:03:DC:67:23.
Puede utilizar el siguiente contenido de ejemplo para adaptar y crear desde cero un nuevo fichero /etc/dhcpd.conf que se ajuste
a una red y conjunto de sistemas en particular.server-identifier proxy.redlocal.net;ddns-update-style interim;ignore client-updates;authoritative;option ip-forwarding off;default-lease-time 21600;max-lease-time 43200;
Y se crea un fichero que se denominará arbitrariamente como
/etc/httpd/conf.d/aliases.conf con el siguiente contenido:
Alias /varios /var/contenidos/varios
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:
Página 201
GRUPO LINUX REDES II
Alias /varios /var/contenidos/varios
<Directory "/var/contenidos/varios">
Options Indexes</Directory>
El parámetro Indexes indica que se deberá mostrar el índice de
contenido del directorio. Si se requiere que este directorio tenga mayor
funcionalidad, se pueden añadir más opciones, como por ejemplo:
Alias /varios /var/contenidos/varios
<Directory "/var/contenidos/varios">
Options Indexes Includes FollowSymLinksAllowOverride all
</Directory>
El parámetro FollowSymLinks posibilita poder colocar enlaces
simbólicos dentro del directorio los cuales se seguirán. El parámetro
Includes especifica que se permite la utilización de los SSI (Server
Side Includes) que posibilitan utilizar funciones como autenticación. El
parámetro AllowOverride all posibilita utilizar ficheros .htaccess.
Reinicie o recargue Apache y acceda hacia
http://127.0.0.1/varios/ con cualquier navegador de red y visualice el
resultado.
NOTA:
La directiva Options indica varias posibles opciones de
comportamiento y estas pueden ser aplicadas a un directorio concreto.
En el cuadro se detallan las opciones:
All Todas las opciones salvo MultiViews
ExecCGI Se permite la ejecución de scripts CGI.
FollowSymLinks El servidor seguirá los enlaces simbólicos. Tener esta opción activa aumenta el rendimiento ya que el servidor no comprueba si un fichero o directorio es un enlace simbólico y es más rápido, pero en algunos
Página 202
GRUPO LINUX REDES II
casos puede presentar problemas de inseguridad.
Includes Se permiten incluir Server-side.
Indexes Si una URL solicita un directorio y no existe DirectoryIndex (v.g., index.html) en ese directorio, el servidor devolverá una lista del contenido del directorio.
MultiViews Se permite mostrar contenido negociado en función de diversos valores.
SymLinksIfOwnerMatch Se sigue un enlace simbólico sólo si los propietarios del enlace y del destino coinciden.
La directiva AllowOverride controla qué directivas se pueden
situar el los ficheros .htaccess y estas pueden ser aplicadas
igualmente a un directorio concreto. Los valores de AllowOverride
pueden ser "All", "None", o una combinación de:
AuthConfig Permitir el uso de directivas de autorización (AuthDBMGroupFile, AuthDBMUserFile, AuthGroupFile, AuthName, AuthType, AuthUserFile, Require, etc).
FileInfo Permitir el uso de directivas de control de tipo de documentos (DefaultType, ErrorDocument, ForceType, LanguagePriority, SetHandler, SetInputFilter, SetOutputFilter, etc).
Indexes Permitir el uso de directivas que controlan los índices de directorios (AddDescription, AddIcon, AddIconByEncoding, AddIconByType, DefaultIcon, DirectoryIndex, FancyIndexing, HeaderName, IndexIgnore, IndexOptions, ReadmeName, etc).
Limit Permitir el uso de directivas de acceso de hosts (Allow, Deny y Order).
Options Permitir el uso de las opciones antes vistas en
Página 203
GRUPO LINUX REDES II
la directiva Options
2.5.4. Redirección 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 dirección.
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 número 301 corresponde al
mensaje del protocolo HTTP para indicar que la redirección es
permanente. Si por ejemplo hubiese un objeto en /webmail, como por
ejemplo /webmail/estadisticas/estadisticas.php, Apache realizará el
re-direccionamiento transparente hacia http://mail.sudominio.
net/estadisticas/estadisticas.php.
2.5.5. Tipos de MIME.
MIME (Multipurpose Internet Mail Extensions, Extensiones de
Correo de Internet Multipropósito), son una serie de convenciones o
especificaciones dirigidas a que se puedan intercambiar a través de
Internet todo tipo de archivos (texto, audio, vídeo, etc.) de forma
transparente para el usuario. Una parte importante del MIME está
dedicada a mejorar las posibilidades de transferencia de texto en
distintos idiomas y alfabetos. En sentido general las extensiones de
MIME van encaminadas a soportar:
Texto en conjuntos de caracteres distintos de US-ASCII.
Adjuntos que no son de tipo texto.
Cuerpos de mensajes con múltiples partes (multi-part).
puede ser rápido usando el método de exponentiation by squaring
(llamado también exponenciación binaria). Bob transmite c a Alicia.
1. Cada usuario elige n = p·q2. Los valores p y q NO se hacen públicos
3. Cada usuario calcula φ(n) = (p-1)(q-1)4. Cada usuario elige una clave pública e de forma que 1 < e <
φ(n) y que cumpla con la condición: mcd [e, ϕ(n)] = 15. Cada usuario calcula la clave privada d = inv [e, φ(n)]6. Se hace público el grupo n y la clave e7. Se guarda en secreto la clave d
Cifra: C = NeR mod nR
Firma: C = h(M)dE mod nE
Ejemplo:
Aquí tenemos un ejemplo de cifrado/descifrado con RSA. Los
parámetros usados aquí son pequeños y orientativos con respecto a
los que maneja el algoritmo, pero podemos usar también OpenSSL
para generar y examinar una par de claves reales.
p=61 1º nº primo Privado
q=53 2º nº primo Privado
n=pq=3233 producto p*q
e=17 exponente Público
d=2753 exponente Privado
La clave pública (e, n). La clave privada es d. La función de
Si se utiliza este fichero (server.key) para la configuración del
sitio virtual, se requerirá de interacción del administrador cada vez
que se tenga que iniciar, o reiniciar, el servicio httpd, ingresando la
clave de acceso de la clave RSA. Este es el procedimiento más
seguro, sin embargo, debido a que resultaría poco práctico tener que
ingresar una clave de acceso cada vez que se inicie el servicio httpd,
resulta conveniente generar una clave sin Triple DES, la cual
permita iniciar normalmente, sin interacción alguna, al servicio httpd.
A fin de que no se sacrifique demasiada seguridad, es un requisito
indispensable que esta clave (fichero server.pem) solo sea accesible
para root. Ésta es la razón por la cual se crea el directorio
/etc/ssl/midominio.org con permiso de acceso solo para root.
openssl rsa -in server.key -out server.pem
Opcionalmente se genera un fichero de petición CSR (Certificate Signing Request) que se hace llegar a una RA (Registration Authority o Autoridad de Registro), como Verisign,
quienes, tras el correspondiente pago, envían de vuelta un
certificado (server.crt) firmado por dicha autoridad.
openssl req -new -key server.key -out server.csr
Lo anterior solicitará se ingresen varios datos:
• Código de dos letras para el país.
• Estado o provincia.
• Ciudad.
• Nombre de la empresa o razón social.
• Unidad o sección.
• Nombre del anfitrión.
Página 227
GRUPO LINUX REDES II
• Dirección de correo.
• Opcionalmente se puede añadir otra clave de acceso y
nuevamente el nombre de la empresa.
La salida devuelta sería similar a la siguiente:You are about to be asked to enter information that will be incorporated into your
certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [GB]:MXState or Province Name (full name) [Berkshire]:Distrito FederalLocality Name (eg, city) [Newbury]:MexicoOrganization Name (eg, company) [My Company Ltd]:
Mi empresa, S.A. de C.V.Organizational Unit Name (eg, section) []:Direccion Comercial
Common Name (eg, your name or your server's hostname) []:
www.midominio.orgEmail Address []:[email protected] enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
Si no se desea un certificado firmado por un RA, puede
generarse uno certificado propio utilizando el fichero de petición CSR (server.csr). En el ejemplo a continuación, se crea un certificado con
estructura X.509 en el que se establece una validez por 730 días
Idealmente se deben definir primero los siguientes 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
utilizarán para efectos de redundancia. Éstos deben ser
nombres que ya estén plenamente resueltos, y deben ser
además FQDN.
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 estarán 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 reenvío por
cada dominio sobre el cual se tenga autoridad plena y absoluta y
se generará una zona de resolución inversa por cada red sobre la
cual se tenga plena y absoluta autoridad. Es decir, si se es
Página 245
GRUPO LINUX REDES II
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 resolución inversa a fin de resolver inversamente las
direcciones IP de dicha zona. Regularmente la resolución inversa
de las direcciones IP públicas 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 modificar éstos en el caso de tratarse de zonas esclavas.
3.3.3. Creación de los ficheros de zona.
Los siguientes corresponderían 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. Cabe señalar que en las zonas
de reenvío siempre se especifica al menos un registro MX (Mail
Exchanger o intercambiador de correo), para definir donde está el
servidor de correo para el dominio, y que se utilizan tabuladores (tecla TAB) en lugar de espacio. Solo necesitará sustituir
nombres y direcciones IP, y quizá añadir nuevos registros para
complementar su red local.
a) Zona de reenvío red local /var/named/chroot/var/named/redlocal.zone
$TTL 86400@ IN SOA dns.red-local. alguien.gmail.com. (
2009080301; número de serie28800 ; tiempo de refresco7200 ; tiempo entre reintentos de consulta604800 ; tiempo tras el cual expira la zona
Página 246
GRUPO LINUX REDES II
86400 ; tiempo total de vida)
@ IN NS dns@ IN MX 10 mail@ IN A 192.168.1.1intranet IN A 192.168.1.1maquina2 IN A 192.168.1.2maquina3 IN A 192.168.1.3maquina4 IN A 192.168.1.4www IN CNAME intranetmail IN A 192.168.1.1ftp IN CNAME intranetdns IN CNAME intranet
b) Zona de resolución inversa red local /var/named/chroot/var/named/1.168.192.in-addr.arpa.zone
$TTL 86400@ IN SOA dns.red-local. alguien.gmail.com. (
2009080301 ; número de serie28800 ; tiempo de refresco7200 ; tiempo entre reintentos de consulta604800 ; tiempo tras el cual expira la zona86400 ; 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.
c) Zona de reenvío del dominio /var/named/chroot/var/named/dominio.com.zoneSuponiendo que hipotéticamente se es la autoridad para el
dominio «dominio.com», se puede crear una Zona de Reenvío con un contenido similar al siguiente:$TTL 86400@ IN SOA fqdn.dominio-resuelto. alguien.gmail.com. (
2009080301; número de serie28800 ; tiempo de refresco7200 ; tiempo entre reintentos de consulta604800 ; tiempo tras el cual expira la zona86400 ; tiempo total de vida)
@ IN NS dns@ IN MX 10 mail@ IN A 148.243.59.1servidor IN A 148.243.59.1
Página 247
GRUPO LINUX REDES II
www IN CNAME servidormail IN A 148.243.59.1ftp IN CNAME servidordns IN CNAME servidor
d) Zona de resolución inversa del dominio /var/named/chroot/var/named/1.243.148.in-addr.arpa.zoneSuponiendo que hipotéticamente se es la autoridad para el
segmento de red 148.234.1.0/24 (regularmente lo es el proveedor
de servicio de acceso hacia Internet), se puede crear una Zona de Resolución Inversa con un contenido similar al siguiente:$TTL 86400@ IN SOA fqdn.dominio-resuelto. alguien.gmail.com. (
2009080301 ; número de serie28800 ; tiempo de refresco7200 ; tiempo entre reintentos de consulta604800 ; tiempo tras el cual expira la zona86400 ; 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 algún cambio en algún fichero de zona,
deberá cambiar el número de serie a fin de que tomen efecto los
cambios de inmediato cuando se reinicie el servicio named, ya
que de otro modo tendría que reiniciar el equipo, algo poco
conveniente.
Las zonas de resolución inversa que involucran direcciones IP
públicas son responsabilidad de los ISP (proveedores de servicio
de Internet). Crear una zona de resolución inversa sin ser la
autoridad de dicha zona tiene efecto solo para quien use el
servidor DNS recién configurado como único DNS.
e) Configuración de parámetros en el fichero /etc/named.confoptions {
-rw-r--r-- 1 553 48 37347 May 30 23:26 manuales-HTML.tar.bz2
226 Directory send OK.
ftp> bye221 Goodbye.
4.7.CONFIGURACIÓN DE pure-ftpd
Pure-ftpd es un equipamiento lógico para servidor FTP
originalmente creado por Arnt Gulbrandsen. A pesar de su escasa
popularidad, se distingue de otros proyectos porque ha tenido como
objetivos el mantener el servicio con poco consumo de recursos, no utiliza
llamadas de mandatos externos (origen de la mayoría de los problemas de
seguridad en este tipo de equipamiento lógico), cumple con los estándares
para el protocolo FTP, es fácil de instalar y configurar, es amistoso con el
usuario y muy seguro.
4.7.1. Equipamiento lógico necesario.
Instalación a través de yum.
Pure-ftpd no está incluido en la instalación estándar de CentOS 5, Red Hat™ Enterprise Linux 5 ni White Box Enterprise Linux 5.
Página 275
GRUPO LINUX REDES II
Está disponible utilizando el siguiente depósito Yum, mantenido por
Alcance Libre.
[alcance-libre]
name=Alcance Libre para Enterprise Linux 5baseurl=http://www.alcancelibre.org/al/el/5/
gpgkey=http://www.alcancelibre.org/al/AL-RPM-KEY
Una vez configurado lo anterior, solo se necesita realizar lo
siguiente para instalar o actualizar el equipamiento lógico necesario:
yum -y install pure-ftpd
4.7.2. Procedimientos.4.7.2.1. Fichero de configuración /etc/pure-ftpd/pure-ftpd.conf
Los valores predeterminados del fichero /etc/pure-ftpd/pure-ftpd.conf hacen que el servicio funcione sin necesidad de cambio
alguno y además lo haga de una forma segura. Sin embargo existen
varios parámetros que vale la pena conocer.
a) Parámetro MaxClientsNumber.Establece el número máximo de usuarios conectados de
forma simultánea. El valor predeterminado es 50. Puede modificarse
de acuerdo a un propósito en particular y disponibilidad de ancho de
banda. Ejemplo: limita el número de usuarios simultáneos a 25.
MaxClientsNumber 25
b) Parámetro MaxClientsPerIP.Establece el número máximo de conexiones desde una
misma dirección IP. Considerando que muchos usuarios pudieran
acceder desde un servidor intermediario (proxy), lo cual significa que
lo harían con una misma dirección IP, el valor predeterminado de 8
puede ser modificado de acuerdo al criterio del administrador.
Ejemplo: limita el número de conexiones desde una misma dirección
IP a 5.
Página 276
GRUPO LINUX REDES II
MaxClientsPerIP 5
c) Parámetro DisplayDotFiles.Establece si se permitirá mostrar los ficheros cuyo nombre
inicia con un punto (ficheros ocultos) cuando el usuario envíe un
mandato de listado con la opción -a. En la mayoría de los casos, no
es conveniente permitir mostrar los ficheros ocultos. Ejemplo: se
define que no se permita mostrar ficheros ocultos.
DisplayDotFiles no
d) Parámetro NoAnonymous.Define si se permitirán o no los accesos anónimos. En la
mayoría de los casos, como un servidor FTP público, es una función
deseada. Si el administrador lo considera pertinente, puede
desactivarse cambiando el valor predeterminado no por yes.
NoAnonymous yes
e) Parámetro AnonymousCanCreateDirs.Define si se permite a los usuarios anónimos crear directorios
cuando está permitido que éstos puedan subir ficheros al servidor
FTP. El valor predeterminado es no.
f) Parámetro MaxLoad.Define que los usuarios anónimos no podrán descargar desde
el servidor FTP cuando éste tenga una carga igual o superior al valor
establecido. El valor predeterminado es 4.
g) Parámetro AntiWarez.Define que no sea posible descargar ficheros cuyo propietario
sea el usuario ftp, como una medida de seguridad que permitirá al
administrador supervisar lo que se ha subido al servidor FTP antes
de permitir su distribución. El valor predeterminado es no, y se
recomienda dejarlo de ese modo a fin de contar con una buena
política de seguridad.
Página 277
GRUPO LINUX REDES II
h) Parámetro AnonymousBandwidth.Define la tasa de Kb por segundo de descarga permitida para
los usuarios anónimos. En el ejemplo, se establece que los usuarios
anónimos tendrán una tasa de hasta 12 Kb por segundo para
descargar ficheros desde el servidor FTP.
AnonymousBandwidth 12
i) Parámetro UserBandwidth.Define la tasa de Kb por segundo de descarga permitida para
todos los usuarios, incluyendo los anónimos. Su utilización junto con
el parámetro AnonymousBandwidth hace que este último no tenga
sentido. Se utiliza o bien UserBandwidth o bien
AnonymousBandwidth. No puede combinarse su uso. En el
ejemplo, se establece que todos los usuarios, incluyendo los
anónimos, tendrán una tasa de hasta 12 Kb por segundo para
descargar ficheros desde el servidor FTP.
UserBandwidth 12
j) Parámetro umask.Define la máscara predeterminada para los nuevos ficheros y
nuevos directorios en el servidor FTP. El valor predeterminado es
133:022. Si se desea que los ficheros subidos por un usuario solo
sean leídos por ese mismo usuario, se puede utilizar 177:077. Si se
desea que los ficheros solo sean leíbles y ejecutables para su
propietario, se puede utilizar 077:077. Si se desea que los ficheros
subidos sean ejecutables, se puede utilizar 122:022. Si se desea
que los ficheros sean leíbles para otros usuarios, pero no puedan ser
reescritos por éstos, se pude utilizar 022:022. El usuario, claro,
puede cambiar desde el cliente FTP la máscara utilizada en sus
ficheros y directorios a través de SITE CHMOD. En el siguiente
ejemplo, se establecen los valores predeterminados.
umask 133:022
k) Parámetro ProhibitDotFilesWrite.
Página 278
GRUPO LINUX REDES II
Define si se permitirá sobreescribir ficheros que inicien con
punto. Su valor predeterminado es no. Si se trata de un servidor FTP
que permite el acceso hacia el directorio raíz de un sitio virtual de un
servidor HTTP, es conveniente permitir sobreescribir los ficheros
.htaccess, .htpasswd y otros contenidos, por lo que no conviene
activar este parámetro. De ser otro tipo de servidor, puede activarse
y añadir seguridad.
l) Parámetro AnonymousCantUpload.Define si se permitirá a los usuarios anónimos subir contenido
hacia el servidor FTP. De modo predefinido, este parámetro está
activo para impedir lo anterior.
AnonymousCantUpload yes
m) Parámetro CreateHomeDir.Especifica si se debe crear automática el directorio de inicio
de un usuario en caso de no existir éste. En el siguiente ejemplo, se
habilita esta función.
CreateHomeDir yes
n) Parámetro Quota.Define la cuota de número máximo de ficheros y espacio
utilizado por el usuario. Muy conveniente y útil si se tiene un servidor
FTP que permite subir contenido para un servidor HTTP compartido
por varios sitios de red virtuales. En el ejemplo se establece una
cuota máxima de 1500 ficheros y 50 MB de espacio a utilizar para
los usuarios.
Quota 1500:50
o) Parámetro MaxDiskUsage.Define el espacio máximo permitido en la partición que
contiene /var/ftp para el servicio FTP donde se está permitiendo que
Página 279
GRUPO LINUX REDES II
los usuarios anónimos suban contenido. El valor predeterminado es
99. Conviene definir un límite más bajo si el servicio FTP no es
prioritario en el sistema. En el ejemplo, se establece un uso máximo
del 80% de la partición donde se localiza /var/ftp.
MaxDiskUsage 80
p) Parámetro CustomerProof.Este parámetro fue diseñado para lidiar con los usuarios
ignorantes a fin de impedir que realicen operaciones que bloqueen el
acceso hacia sus ficheros y/o directorios de forma accidental. Es
decir, impiden que se realicen operaciones como chmod 0 public_html. Si se va a utilizar el servicio como parte de un servicio
de hospedaje de sitios de red a través de HTTP, conviene que este
parámetro esté activo.
CustomerProof yes
4.7.3. Agregar el servicio al arranque del sistema.Para hacer que el servicio de pure-ftpd esté activo con el
siguiente inicio del sistema, en todos los niveles de ejecución (2, 3, 4, y
5) se utiliza lo siguiente:
chkconfig pure-ftpd on
4.7.4. Iniciar, detener y reiniciar servicio.Para iniciar por primera vez el servicio pure-ftpd, utilice:
service pure-ftpd start
Para hacer que los cambios hechos tras modificar la
configuración surtan efecto, utilice:
service pure-ftpd restart
Para detener el servicio, utilice:
service pure-ftpd stop
Página 280
GRUPO LINUX REDES II
4.7.5. Modificaciones necesarias en el muro cortafuegos.Si se utiliza un cortafuegos con políticas estrictas, como por
ejemplo Shorewall, es necesario abrir los puerto 20 y 21 por TCP
(FTP-DATA y FTP, respectivamente).
Las reglas para el fichero /etc/shorewall/rules de Shorewall correspondería a algo similar a lo siguiente:
#ACTION SOURCE DEST PROTO DEST SOURCE
# PORT PORT(S)1
ACCEPT net fw tcp 20,21#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE
5.SERVIDOR PROXY
El término en ingles «Proxy» tiene un significado muy general y al mismo
tiempo ambiguo, aunque invariablemente se considera un sinónimo del concepto
de «Intermediario».
Página 281
GRUPO LINUX REDES II
Un Servidor Intermediario (Proxy) se define como una computadora o
dispositivo que ofrece un servicio de red que consiste en permitir a los clientes
realizar conexiones de red indirectas hacia otros servicios de red. Durante el
proceso ocurre lo siguiente:
- Cliente se conecta hacia un Servidor Intermediario (Proxy).
- Cliente solicita una conexión, fichero u otro recurso disponible en un
servidor distinto.
- Servidor Intermediario (Proxy) proporciona el recurso ya sea conectándose
hacia el servidor especificado o sirviendo éste desde un caché.
- En algunos casos el Servidor Intermediario (Proxy) puede alterar la
solicitud del cliente o bien la respuesta del servidor para diversos
propósitos.
Los Servidores Intermediarios (Proxies) generalmente se hacen trabajar
simultáneamente como muro cortafuegos operando en el Nivel de Red, actuando
como filtro de paquetes, como en el caso de iptables, o bien operando en el Nivel
de Aplicación, controlando diversos servicios, como es el caso de TCP Wrapper.
Dependiendo del contexto, el muro cortafuegos también se conoce como BPD o
Border Protection Device o simplemente filtro de paquetes.
Una aplicación común de los Servidores Intermediarios (Proxies) es
funcionar como caché de contenido de Red (principalmente HTTP),
proporcionando en la proximidad de los clientes un caché de páginas y ficheros
Página 282
GRUPO LINUX REDES II
disponibles a través de la Red en servidores HTTP remotos, permitiendo a los
clientes de la red local acceder hacia éstos de forma más rápida y confiable.
Cuando se recibe una petición para un recurso de Red especificado en un
URL el Servidor Intermediario busca el resultado del URL dentro del caché. Si
éste es encontrado, el Servidor Intermediario responde al cliente proporcionado
inmediatamente el contenido solicitado. Si el contenido solicitado no estuviera
disponible en el caché, el Servidor Intermediario lo traerá desde el servidor
remoto, entregándolo al cliente que lo solicitó y guardando una copia en el caché.
El contenido en el caché es eliminado luego a través de un algoritmo de
expiración de acuerdo a la antigüedad, tamaño e historial de respuestas a
solicitudes (hits) (ejemplos: LRU, LFUDA y GDSF).
Los Servidores Intermediarios para contenido de Red (Web Proxies) también
pueden actuar como filtros del contenido servido, aplicando políticas de censura
de acuerdo a criterios arbitrarios.
SQUID
Squid es un Servidor Intermediario (Proxy), un popular programa de
software libre que implementa un servidor proxy y un demonio para caché de
páginas web, publicado bajo licencia GPL. Tiene una amplia variedad de
utilidades, desde acelerar un servidor web, guardando en caché peticiones
repetidas a DNS y otras búsquedas para un grupo de gente que comparte
recursos de la red, hasta caché de web, además de añadir seguridad filtrando el
tráfico. Es ampliamente utilizado entre los sistemas operativos como GNU/Linux y
derivados de Unix®. Es muy confiable, robusto y versátil.
Página 283
GRUPO LINUX REDES II
Squid consiste de un programa principal como servidor, un programa para
búsqueda en servidores DNS, programas opcionales para reescribir solicitudes y
realizar autenticación y algunas herramientas para administración y herramientas
para clientes. Al iniciar Squid da origen a un número configurable (5, de modo
predefinido a través del parámetro dns_children) de procesos de búsqueda en
servidores DNS, cada uno de los cuales realiza una búsqueda única en servidores
DNS, reduciendo la cantidad de tiempo de espera para las búsquedas en
servidores DNS.
Squid no debe ser utilizado como Servidor Intermediario (Proxy) para
protocolos como SMTP, POP3, TELNET, SSH, IRC, etc. Si se requiere intermediar
para cualquier protocolo distinto a HTTP, HTTPS, FTP, GOPHER y WAIS se
requerirá implementar obligatoriamente un enmascaramiento de IP o NAT
(Network Address Translation) o bien hacer uso de un servidor SOCKS como
Dante
5.1.ALGORITMOS DE CACHÉ UTILIZADOS POR SQUID.
A través de un parámetro (cache_replacement_policy) Squid incluye
soporte para los siguientes algoritmos para el caché:
Página 284
GRUPO LINUX REDES II
• LRU Acrónimo de Least Recently Used, que traduce como Menos Recientemente Utilizado. En este algoritmo los objetos que no
han sido accedidos en mucho tiempo son eliminados primero,
manteniendo siempre en el caché a los objetos más
recientemente solicitados. Ésta política es la utilizada por Squid de modo predefinido.
• LFUDA
Acrónimo de Least Frequently Used with Dynamic Aging, que se
traduce como Menos Frecuentemente Utilizado con Envejecimiento Dinámico. En este algoritmo los objetos más
solicitados permanecen en el caché sin importar su tamaño
optimizando la eficiencia (hit rate) por octetos (Bytes) a
expensas de la eficiencia misma, de modo que un objeto grande
que se solicite con mayor frecuencia impedirá que se pueda hacer
caché de objetos pequeños que se soliciten con menor frecuencia.
• GDSF Acrónimo de GreedyDual Size Frequency, que se traduce como
Frecuencia de tamaño GreedyDual (codicioso dual), que es el
algoritmo sobre el cual se basa GDSF. Optimiza la eficiencia (hit
rate) por objeto manteniendo en el caché los objetos pequeños
más frecuentemente solicitados de modo que hay mejores
posibilidades de lograr respuesta a una solicitud (hit). Tiene una
eficiencia por octetos (Bytes) menor que el algoritmo LFUDA debido a que descarta del caché objetos grandes que sean
solicitado con frecuencia.
5.2.EQUIPAMIENTO LÓGICO NECESARIO.
Para poder llevar al cabo los procedimientos descritos en este y otros
documentos relacionados, se necesitará tener instalado al menos lo
siguiente:
Página 285
GRUPO LINUX REDES II
• Al menos squid-2.5.STABLE6
• httpd-2.0.x (Apache), como auxiliar de caché con aceleración.
• Todos los parches de seguridad disponibles para la versión del
sistema operativo que esté utilizando. No es conveniente utilizar un
sistema con posibles vulnerabilidades como Servidor Intermediario.
Debe tomarse en consideración que, de ser posible, se debe utilizar
siempre las versiones estables más recientes de todo equipamiento lógico
que vaya a ser instalado para realizar los procedimientos descritos en este
manual, a fin de contar con los parches de seguridad necesarios.
Ninguna versión de Squid anterior a la 2.5.STABLE6 se considera como
apropiada debido a fallas de seguridad de gran importancia.
Squid no se instala de manera predeterminada a menos que
especifique lo contrario durante la instalación del sistema operativo, sin
embargo viene incluido en casi todas las distribuciones actuales. El
procedimiento de instalación es exactamente el mismo que con cualquier
otro equipamiento lógico.
a) Instalación de Squid a través de yum.
Para el sistema operativo CentOS o White Box Enterprise Linux 3 o
versiones posteriores, utilice lo siguiente y se instalará todo lo necesario
junto con sus dependencias:
yum -y install squid httpd
b) Instalación a través de up2date.
Si cuenta con un sistema con Red Hat™ Enterprise Linux 3 o
versiones posteriores, utilice lo siguiente y se instalará todo lo necesario
junto con sus dependencias:
up2date -i squid httpd
Página 286
GRUPO LINUX REDES II
c) Otros componentes necesarios.
El mandato iptables se utilizará para generar las reglas necesarias
para el guión de Enmascaramiento de IP. Se instala de modo predefinido
en todas las distribuciones actuales que utilicen núcleo (kernel) versiones
2.4 y 2.6.
Es importante tener actualizado el núcleo del sistema operativo por
diversas cuestiones de seguridad. No es recomendable utilizar versiones
del kernel anteriores a la 2.4.21.
Para el sistema operativo CentOS o White Box Enterprise Linux 3 o
versiones posteriores, utilice lo siguiente para actualizar el núcleo del
sistema operativo e iptables, si acaso fuera necesario:
yum -y update kernel iptables
5.3. SELinux Y EL SERVICIO SQUID.
A fin de que SELinux permita al servicio squid que los clientes se
conecten desde cualquier direccion IP, ejecutar lo siguiente.
setsebool -P squid_connect_any 1
Para que SELinux permita al servicio squid funcionar normalmente,
haciendo que todo lo anteriormente descrito pierda sentido, utilice el
siguiente mandato:
setsebool -P squid_disable_trans 1
5.4.CONFIGURACIÓN BÁSICA.
Squid utiliza el fichero de configuración localizado en
/etc/squid/squid.conf, y podrá trabajar sobre este utilizando su editor de texto
simple preferido. Existen un gran número de parámetros, de los cuales
recomendamos configurar los siguientes:
Página 287
GRUPO LINUX REDES II
• http_port
• cache_dir
• Al menos una Lista de Control de Acceso
• Al menos una Regla de Control de Acceso
• httpd_accel_host
• httpd_accel_port
• httpd_accel_with_proxy
a) Parámetro http_port
De acuerdo a las asignaciones hechas por IANA y continuadas
por la ICANN desde el 21 de marzo de 2001, los Puertos Registrados
(rango desde 1024 hasta 49151) recomendados para Servidores Intermediarios (Proxies) pueden ser el 3128 y 8080 a través de TCP.
De modo predefinido Squid utilizará el puerto 3128 para atender
peticiones, sin embargo se puede especificar que lo haga en cualquier
otro puerto disponible o bien que lo haga en varios puertos disponibles
a la vez.
En el caso de un Servidor Intermediario (Proxy) Transparente,
regularmente se utilizará el puerto 80 o el 8080 y se valdrá del re-
direccionamiento de peticiones de modo tal que no habrá necesidad
alguna de modificar la configuración de los clientes HTTP para utilizar
el Servidor Intermediario (Proxy). Bastará con utilizar como puerta de
enlace al servidor. Es importante recordar que los Servidores HTTP,
como Apache, también utilizan dicho puerto, por lo que será necesario
volver a configurar el servidor HTTP para utilizar otro puerto disponible,
o bien desinstalar o desactivar el servidor HTTP.
Página 288
GRUPO LINUX REDES II
Hoy en día puede no ser del todo práctico el utilizar un Servidor Intermediario (Proxy) Transparente, a menos que se trate de un
servicio de Café Internet u oficina pequeña, siendo que uno de los
principales problemas con los que lidian los administradores es el mal
uso y/o abuso del acceso a Internet por parte del personal. Es por esto
que puede resultar más conveniente configurar un Servidor Intermediario (Proxy) con restricciones por clave de acceso, lo cual no
puede hacerse con un Servidor Intermediario (Proxy) Transparente,
debido a que se requiere un diálogo de nombre de usuario y clave de
acceso.
Regularmente algunos programas utilizados comúnmente por los
usuarios suelen traer de modo predefinido el puerto 8080 (servicio de cacheo WWW) para utilizarse al configurar que Servidor Intermediario (Proxy) utilizar. Si queremos aprovechar esto en nuestro favor y
ahorrarnos el tener que dar explicaciones innecesarias al usuario,
podemos especificar que Squid escuche peticiones en dicho puerto
también. Siendo así localice la sección de definición de http_port, y
A continuacion especificaremos una Regla de Control de
Acceso existente agregando con un simbolo de ! que se denegara el
acceso a la Lista de Control de Acceso denominada listaextensiones:
http_access allow redlocal !listaextensiones
La regla anterior permite el acceso a la Lista de Control de Acceso denominada redlocal, pero le niega el acceso a todo lo que
coincida con lo especificado en la Lista de Control de Acceso
denominada listaextensiones.
Reglas de control de acceso: denegacion de extensiones.
#INSERT YOUR OWN RULE(S) HERE TO allow ACCESS FROM YOUR
CLIENTS
# http_access allow localhost
http_access allow redlocal password !sitiosdenegados !listaextensioneshttp_access deny all
Finalmente, solo bastara reiniciar Squid para que tomen efecto los
cambios y podamos hacer pruebas.
service squid restart
5.11. CONFIGURAR SQUID: RESTRICCIÓN DE ACCESO POR HORARIOS
Denegar el acceso a ciertos usuarios en ciertos horarios permite
hacer un uso mas racional del ancho de banda con el que se dispone. El
funcionamiento es verdaderamente simple, y consiste en denegar el
acceso en horarios y dias de la semana.
5.11.1. Procedimientos
La sintaxis para crear Listas de control de acceso que definan
horarios es la siguiente:
acl [nombre del horario] time [dias de la semana] hh:mm-hh:mm
Los dias de la semana se definen con letras, las cuales
corresponden a la primera letra del nombre en ingles, de modo que se
utilizaran del siguiente modo:
• S - Domingo• M - Lunes• T - Mastes• W - Miercoles• H - Jueves• F - Viernes• A - Sabado
Ejemplo: acl semana time MTWHF 09:00-21:00
Esta regla define a la lista semana, la cual comprende un horario de 09:00 a 21:00
horas desde el Lunes hasta el Viernes.
Este tipo de listas se aplican en las Reglas de Control de Acceso con una
mecanica similar a la siguiente: se permite o deniega el acceso en el horario definido en la
Lista de Control de Acceso denominada X para las entidades definidas en la Lista de
Control de Acceso denominada Y. Lo anterior expresado en una Regla de Control de
Acceso, quedaria del siguiente modo:
http_access [allow | deny] [nombre del horario] [lista de entidades]
Ejemplo: Se quiere establecer que los miembros de la Lista de Control de Acceso denominada clasematutina tengan permitido acceder hacia Internet en un horario
que denominaremos como matutino, y que comprende de lunes a viernes de 09:00 a
15:00 horas.
La defincion para le horario corresponderia a:
acl clasematutina src 192.168.1.0/255.255.255.0
acl matutino time MTWHF 09:00-15:00
La definicion de la Regla de Control de Acceso seria:
http_access allow matutino clasematutina
Lo anterior, en resumen, significa que quienes conformen clasematutina podran
acceder a Internet de Lunes a Viernes de 09:00-15:00 horas.
Finalmente, solo bastara reiniciar Squid para que tomen efecto los cambios y
podamos hacer pruebas.
service squid restart
5.12. CONFIGURAR SQUID CON SOPORTE PARA DIRECCIONES MAC
Squid de modo predeterminado no esta incluido el soporte para
listas de control de acceso basadas sobre direcciones MAC (Media
Access Control).
5.12.1. Instalación a través de yum.
Si utiliza CentOS 5, Red Hat Enterprise Linux 5 o White Box Enterprise
Linux 5, solo se necesita realizar lo siguiente para instalar o actualizar el
equipamiento logico necesario:
yum -y install squid-arp
Lo anterior instalara el paquete squid-arp y reemplazara al paquete
squid. El paquete squidarp es identico al paquete squid con la unica
diferencia de que el primero fue compilado con la opcion --enable-arp-acl.
En otras distribuciones distintas a CentOS 5, Red Hat Enterprise Linux
5 o White Box Enterprise Linux 5, se requiere desinstalar el paquete original
y descargar los fuentes de squid y compilar estos con la opcion --enable-arp-
acl.
./configure --enable-arp-aclmakemake install
5.12.2. Procedimientos
Se requiere se hayan configurado al menos los siguientes parametros: