Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Av. Ramrez Gastn 151 Telf.: 719-3103 / 719-3102 Av. La Marina 2685 Telf.: 719-3767 / 719-3768
Temario
1. Instalacin Del Sistema Operativo Centos 6.3 2. Estructura De Directorios En Linux 3. Comandos Bsicos LINUX 4. Empaquetador Universal TAR 5. Comprimiendo: GZIP 6. RPM 7. Desinstalacin 8. Actualizacin 9. Renovacin 10. Consultas 11. Verificacin de un paquete 12. Instalacin de Paquetes va Web 13. Montando Particiones NTFS 14. LINUX NTFS 15. Permisos de Archivos y Directorios 16. Como utilizar mandatos Chown y Chgrp 17. Bloquear archivos mediante el mandato chattr 18. Creacin de usuarios y grupos 19. Configuracin de Parmetros de la Red 20. Servidor de Conexiones Seguras 21. Como Configurar Un Servidor DHCP 22. Como Implementar un servidor 23. Como Configurar Un Servidor de Correo 24. Como Configurar Squirre Mail 25. Configuracin de Servidor Proxy 26. Servicio Web Seguro (HTTPS) 27. Servidor De Horario 28. Configuracin De MailScanner Y Clamav Con Sendmail 29. Configuracin De Un Servidor De Correo Con Soporte SSL y TLS 30. Servidores De Seguridad Firewall 31. OpenVPN 32. Telefonia IP 33. Instalacion y configuracin de Mikrotik 34. CentOS 6 Escritorio Remoto desde Windows
Pgina: 2
La primera pantalla que aparecer le preguntar si desea verificar la integridad del medio de instalacin. Si descarg una imagen ISO desde Internet y la grab en un disco compacto o DVD, es buena idea verificar medios de instalacin. Si est haciendo la instalacin desde una mquina virtual con una imagen ISO y la suma MD5 coincide, descarte verificar.
Pgina: 3
Si desea verificar la integridad del medio de instalacin (DVD o conjunto de discos compactos), a partir del cual se realizar la instalacin, seleccione OK y pulse la tecla ENTER, considere que esto puede demorar varios minutos. Si est seguro de que el(los) disco(s) est(n) en buen estado, pulse la tecla TAB para seleccionar Skip y pulse la tecla ENTER.
Haga clic sobre el botn Next, o bien Siguiente, en cuanto aparezca la pantalla de bienvenida de CentOS.
Seleccione Spanish, o bien Espaol, como idioma para ser utilizado durante la instalacin.
Pgina: 4
A partir de este punto, todos los textos debern aparecer al espaol. Seleccione el mapa de teclado. Elija el mapa de teclado al Espaol, o bien el mapa de teclado Latinoamericano, de acuerdo a lo que corresponda. Al terminar, haga clic sobre el botn denominado Siguiente.
CentOS 6 incluye soporte para realizar una instalacin sobre dispositivos de almacenamiento especializados, como Redes de rea de Almacenamiento (SAN), como FCoE, iSCSI, y zFCP. Obviamente requiere disponer de un SAN en la red de rea local para poder hacer uso de este tipo de dispositivos de almacenamiento. Si slo dispone de discos duros en el equipo donde se realizar la instalacin, elija la opcin predeterminada, es decir Dispositivos de almacenamiento bsicos y haga clic sobre el botn denominado Siguiente.
Si se trata de una unidad de almacenamiento nueva, es decir que carece de tabla de particiones, recibir una advertencia respecto de que esta unidad de almacenamiento deber ser inicializada antes de guardar la tabla de particiones que ser creada posteriormente. Si est seguro de que se trata de una unidad de almacenamiento nueva, o bien a sta le fue previamente borrada la tabla de particiones, haga clic sobre el botn Reinicializar todo.
Pgina: 5
Defina el nombre de anfitrin en el siguiente el formato: nombre.dominio.tld. Procure que el nombre de anfitrin sea corto, de hasta a 12 caracteres ms el dominio, y que est resuelto en un servidor DNS. Si est indeciso al respecto, deje el valor predeterminado como localhost.localdomain, y haga clic sobre el botn denominado Siguiente.
Seleccione la zona horaria que corresponda a su localidad, haciendo clic sobre cualquier punto en el mapamundi. Se recomienda dejar seleccionada la casilla El reloj del sistema utiliza UTC. sto ltimo significa que el reloj del sistema utilizar UTC (Tiempo Universal Coordinado), que es el sucesor de GMT (b>Greenwich Mean Time, que significa Tiempo Promedio de Greenwich), y es la zona horaria de referencia respecto a la cual se calculan todas las otras zonas horarias del mundo. Al terminar, haga clic sobre el botn denominado Siguiente.
Pgina: 6
Defina, y confirme, la clave de acceso para el usuario root, el cual ser el utilizando para la administracin del sistema. Al terminar, haga clic sobre el botn denominado Siguiente.
La siguiente pantalla le dar a elegir las opciones para crear las particiones en el disco duro. Salvo que elija Crear un diseo personalizado, invariablemente se aplicar un diseo predeterminado, el cual consistir en: Una particin estndar de 200 MB para /boot Un volumen lgico para /, que utilizar la mayor parte del espacio disponible, y que posteriormente permitir hacer crecer el sistema aadiendo otro disco duro, con unidades fsicas que se aadirn al volumen lgico. Un volumen lgico para la particin de memoria de intercambio (swap), que en equipos con menos de 1 GM RAM, utilizar un espacio ser equivalente al doble del RAM fsico del sistema, o bien, en equipos con ms de 1 GB RAM, utilizar un espacio equivalente a la suma del RAM fsico del sistema, ms 2 GB.
Pgina: 7
Principales Directorios
Carpeta raz, a partir de esta es donde encontraremos todas las dems.
/bin
Son los programas bsicos del sistema, pueden ser utilizados por todos los usuarios del sistema y por el root (administrador) tambin.
/sbin
Son programas que slo puede utilizar el root (administrador). Se utilizan para administrar el sistema obviamente.
/boot
Contiene la informacin necesaria para gestionar el arranque del sistema a excepcin de los archivos de configuracin. Aqu se encuentra la imagen del kernel con la que estemos trabajando.
/dev
Aqu estn todos los dispositivos del ordenador, un archivo por cada dispositivo que el Kernel haya reconocido.
Pgina: 8
/etc
Archivos de configuracin del sistema, incluidos los del sistema grfico (comnmente denominado xwindows, carpeta X11)
/home
Aqu se almacenan los archivos personales de cada usuario, aqu encontraremos una carpeta por cada usuario que exista en el sistema.
/lib
Libreras de datos compartidas que necesita el sistema para ejecutar programas o arrancar el sistema.
/mnt
Aqu se montan los dispositivos de datos como discos duros, discos USB, etc
/proc
Carpeta especial donde se almacenan datos del kernel y de informacin sobre procesos.
/root
Carpeta home del administrador (root)
/tmp
Archivos temporales, muchos usuarios configuran el sistema para que se borre automticamente al iniciar el sistema.
/usr
Aqu estn la mayora de los archivos del sistema, programas, comandos de usuario, juegos, libreras. Incluso en la carpeta /usr/src podemos encontrar los archivos fuentes del kernel.
/var
Archivos de registro del sistema, casi todo lo que ocurre en el equipo se registra aqu.
/media
Es el lugar de almacenamiento de dispositivos tales como puede ser el CDROM CDRECORDER o dispositivos USB
Pgina: 9
Date
Ejecutando el comando date obtendremos la fecha y la hora actual. Tambin es el comando que se usa para cambiar la fecha de la mquina.
Cal
Permite ver el calendario
who
El comando who nos permite ver los usuarios que estn utilizando el sistema, incluyendo la fecha en la que se conectaron al sistema. Adems, una versin alternativa (who am i) nos muestra nicamente nuestra conexin.
uptime
Podemos ver cunto tiempo hace que se ha iniciado el sistema de nuestra computadora ejecutando el comando uptime. Tambin obtendremos alguna informacin adicional, como la cantidad de usuarios que estn utilizando el sistema, o la carga promedio que tiene el procesador.
clear
El comando clear sirve para limpiar la pantalla. Es equivalente al cls de DOS.
echo
echo es un comando muy sencillo. Lo que hace es repetir todo lo que recibe por lnea de comandos. Si ejecutamos: echo Hola obtendremos la salida Hola.
pwd
El comando pwd es muy sencillo, nos muestra la ruta de directorios en la que estamos situados en este momento. Por ejemplo, /home/user.
ls
Para listar los archivos dentro de un determinado directorio utilizaremos el comando ls. Puede recibir varias opciones: -l: muestra mucha ms informacin sobre los archivos, como el usuario y el grupo al que pertenece, el tamao, los permisos, etc. -a: muestra todos los archivos, incluyendo los ocultos. -t: ordena los archivos por fecha de modificacin. cp El comando cp es el que se utiliza para copiar archivos. La Sintaxis es la siguiente: cp archivo _ origen archivo _ destino
Pgina: 10
cp ax
Este comando copia todo el contenido de un directorio con su contenido La sintaxis es la siguiente: cp ax directorio_a_copiar
mv
Muy similar a cp, el comando mv es el que se utiliza para mover archivos de un lugar a otro, o para cambiarle el nombre a un archivo. La Sintaxis es la siguiente: mv archivo _ origen archivo _ destino (nuevo _ archivo)
rm
Para borrar archivos utilizamos el comando rm. Hay que usarlo cuidadosamente, porque una vez que los archivos han sido borrados, no pueden recuperarse de ninguna forma. La Sintaxis es la siguiente: rm archivo1 archivo2
rm rf
Este comando borra un directorio con su contenido. La Sintaxis es la siguiente: rm rf directorio_a_eliminar
mkdir
Utilizamos el comando mkdir directorio para crear directorios. La sintaxis es la siguiente: mkdir directorio1 directorio2
rmdir
Para borrar directorios utilizamos el comando rmdir directorio. Solamente funcionar si el directorio est vaco. En caso contrario, habr que borrar primero los archivos, para luego borrar el directorio. La sintaxis es la siguiente: rmdir directorio_vacio
cd
El comando cd nos permite cambiar de directorio. La sintaxis es la siguiente: cd ..
du
El comando du, Disk Usage, nos muestra el espacio que ocupan todos los directorios a partir del directorio actual. El nmero de la primera columna es el espacio ocupado por el directorio y est expresado en kb. du -s nos muestra nicamente el total. du -a muestra lo que ocupan los archivos, adems de los directorios. du -h hace el listado, indicando la unidad (human readable). du archivo nos dice cunto ocupa el archivo.
find
El comando find permite encontrar archivos, utilizando diversas tcnicas. En principio, si se le pasa como parmetro nicamente una determinada ruta, por ejemplo find /home/user, el comando buscar todos los archivos y directorios que se encuentren a partir de esa ruta.
Pgina: 11
find . -name hola.txt encuentra todos los archivos llamados hola.txt que se encuentren a partir del directorio actual. Las comillas no son obligatorias, pero son recomendables si se quieren usar opciones ms complejas (por ejemplo, utilizando metacaracteres de shell, que se explican en la seccin 4.1). find /home/user -empty busca todos los archivos que se encuentran vacos, a partir del directorio /home/user.
cat
Ejecutando cat archivo podremos ver el contenido de archivo. Este comando puede recibir una serie de archivos, y el resultado ser que nos mostrar un archivo a continuacin del otro. Un caso especial se produce cuando ejecutamos cat sin ningn nombre de archivo. En este caso, el comando esperar a que nosotros le demos una entrada, y la ir reproduciendo lnea por lnea. Hasta que presionemos la combinacin Ctrl-d, que indica que la entrada ha terminado.
wc
El comando wc archivo, se utiliza para contar la cantidad de lneas, palabras y letras que tiene un archivo.
less
El comando less permite paginar la salida de otros comandos, o bien, el contenido de algn archivo. Si ejecutamos less archivo, veremos la primera pgina del archivo. Si este archivo es lo suficientemente largo, podremos movernos hacia abajo y hacia arriba utilizando PageUp, PageDown, Home, End, Enter, los cursores, la barra espaciadora, etc. Para salir, utilizamos q.
df
Disk Free) nos informa del espacio disponible de las unidades de disco (locales o de red) que tengamos montadas.
df h
Muestra el espacio de nuestro disco duro, en MB, GB
Free
Nos muestra el estado de la memoria actual del sistema operativo
Tree
Muestra los directorios en forma de raiz, estructurado disrectorio por directorio
Pgina: 12
Ejemplos
root #] tar cvf archivo.tar documentos Empaquetar todos los ficheros de documentos en el fichero archivo.tar c le dice a tar que cree un nuevo fichero de archivo. La opcin v fuerza a tar en el modo verbose, (sea mostrando en pantalla el progreso de la tarea que realiza, en este caso los nombres de los ficheros segn se archivan). La opcin f le dice a tar que el siguiente argumento
Pgina: 13
archivo.tar es el nombre del archivo a crear. El resto de los argumentos de tar son los nombres de ficheros y directorios a aadir al archivo. Resultado mediante comando
Pgina: 14
Ten en cuenta que hasta ahora solo hemos empaquetado, mas no comprimido. Para poder empaquetar y comprimir se usa el siguiente comando :
Si queremos descomprimir igual que en la lnea que desempaquetamos, solo que ahora cambiamos la c por la x de extraccin:
Pgina: 15
Hay otro modo de compresin que es el formato bz2. Para comprimir y descomprimir es el mismo procedimiento que con gz, la nica diferencia es que ya no va la letra z, sino la j.
Si queremos descomprimir, las opciones son muy similares a la orden anterior, solo que ahora le cambiamos la c por la x de extraccin:
Pgina: 16
5. Comprimiendo: GZIP
Hay una herramienta especializada en la compresin y descompresin, es la herramienta gzip Normalmente, el fichero a comprimir se reemplaza por otro con la extensin.gz, mantenindose los mismos permisos, propietarios y tiempos de modificacin. La cantidad de compresin obtenida depende de varios factores, tpicamente, texto o cdigo fuente se reduce en un porcentaje del 60 al 70%. Un fichero ya comprimido, como la mayora de archivos grficos (gif, jpg), difcilmente reducirn su tamao. $ gzip -9 archivo.tar
El resultado ser archivo.tar.gz. Para comprimir, puedes poner gzip -d y el nombre del archivo gz a descomprimir
$ gzip -d archivo.tar.gz
En esta ocasin archivo.tar.gz ser descomprimido y reemplazado por archivo.tar. Un equivalente a gzip -d es el comando gunzip :
$gunzip archivo.tar.gz
Ojo que puedes comprimir y descomprimir con esta herramienta , asi como con la poderosa herramienta tar, ambas tienen las mismas extensiones y son compatibles entre ambas. por ejemplo puedes comprimirlo con tar y descomprimirlo con gzip y viceversa. La diferencia esta en que tar tambin hace la funcin de empaquetado.
Extensiones ZIP
Comprimir y descomprimir los archivos zip, tambin es sencillo :
Pgina: 17
El parmetro r indica al comando zip que debe hacer una compresin de manera recursiva, en el caso de comprimir un directorio , comprime todo lo que hay en l.
unzip documento.zip
Esta lnea descomprime el fichero zip , y deja todos los archivos contenidos en ella en la carpeta donde te encuentres en ese momento.
Pgina: 18
Hasta aqu lo relacionado con la compresin y empaquetamiento, ahora podrs hacer tus Backpus (copias de seguridad fcilmente), comprimir tus directorios y descomprimir toda la informacin que requieras con esta consola de comandos que se cada vez se te hace mas familiar
6. RPM
El RedHat Package Manager (RPM), es un sistema de gestin de paquetes que puede ser utilizado por cualquiera y funciona sobre la plataforma RedHat Linux como otras distribuciones de sistemas Linux y Unix, RedHat, Inc. anima a otras distribuidores a tomar en consideracin el uso de RPM para los propios productos. RPM puede distribuirse segn los trminos de la licencia GPL. Al usuario, RPM le proporcin muchas caractersticas que le permiten administrar el sistema de un modo fcil y rpido. La instalacin, la desinstalacin y la actualizacin de los paquetes RPM son operaciones que requieren una sola lnea de comandos. RPM contiene una base de datos de paquetes instalados y de sus archivos, que le permitir efectuar cualquier tipo de verificacin y de consulta del sistema. Durante la actualizacin de un paquete, RPM administra los ficheros de configuracin de manera que no se pierda su personalizacines una caracterstica difcil de obtener con los paquetes del formato .tar.gz. RPM proporciona un modo para producir automticamente los paquetes que contienen la versin del software en cdigo fuente y en versin compilada. El proceso de instalacin del paquete se basa en un nico fichero de configuracin. La filosofa utilizada por RPM simplifica notablemente el mantenimiento de los paquetes y la creacin automtica de nuevas versiones.
Objetivos de RPM
Con RPM podr efectuar la actualizacin de paquetes nicos sin tener que reinstalar todo el sistema operativo. Cuando encuentre una nueva versin de un sistema operativo basado en RPM (como por ejemplo Red Hat Linux), no tendr necesariamente que reinstalar todo el sistema operativo (como ocurrira con los sistemas operativos basados en otros sistemas de paquetes). RPM le permite efectuar una actualizacin del sistema en tiempo real, de forma inteligente y completamente automtico. Los ficheros de configuracin estn protegidos durante las actualizaciones, de modo que no se pierda su personalizacin.
RPM ha sido proyectado para tener potentes opciones de consultas. Podr efectuar bsquedas a travs de la base de datos para encontrar paquetes o tambin ficheros solos. Podr saber con gran facilidad a qu paquete pertenece un fichero, o bien su procedencia. Los ficheros contenidos en un paquete RPM se encuentran en archivos comprimidos, con un encabezado binario personalizado que ofrece importante informacin sobre el paquete
Pgina: 19
mismo y sus contenidos, permitindole consultar a cada uno de los paquetes de manera fcil e inmediata.
Sistema de verificacin
Otra caracterstica importante es la capacidad de verificar los paquetes. Si est preocupado por el hecho de haber eliminado un fichero importante o algunos paquetes, verifique simplemente el paquete. Se le iniciar cualquier anomala. Llegados a este punto, si es necesario, podr reinstalar el paquete Cada fichero de configuracin que ha modificado ser protegido durante la fase di reinstalacin.
Fuente original
Un objetivo crucial es aquel que le permite el uso del cdigo fuente originaria del software, as como ha sido distribuido por los programadores. Con RPM tendr la posibilidad de visualizar los cdigos fuente original junto a los recorridos y a las instrucciones que han sido utilizadas.
Usar RPM
RPM tiene, actualizacin, consulta (de la base de datos) y verificacin (de los paquetes). Esta 5 modos de funcionamiento fundamentales (sin contar la construccin de paquetes): instalacin, desinstalacin seccin contiene un prlogo de cada modo. Para tener mayor informacin al respecto, consulte rpm help.
Instalar
Los paquetes RPM tienen normalmente nombres como foo-1.0-1.i386.rpm, que contienen el nombre del paquete (foo), la versin (1.0),el release (1) y la arquitectura del sistema sobre el que se mueven (i386). Instalar un paquete es tan simple como: # rpm ivh foo-1.0-1.i386.rpm foo # Como puede ver, RPM muestra el nombre del paquete (que no es necesariamente igual a aquel fichero, que habra podido ser 1.rpm), y despus imprime una serie de smbolos que indican si el paquete est instalado o un indicador de avance. La instalacin de los paquetes ha sido estudiada para ser lo ms simple posible, en todo caso es posible encontrar algn error. #################################
Pgina: 20
Si realmente quiere instalar el paquete, podr introducir replacepkgs sobre la lnea de comando, el cul indicar a RPM que ignore el error: # rpm ivh replacepkgs foo-1.0-1.i386.rpm foo # #################################
Fichero en conflicto
Si intenta instalar un fichero que ha sido instalado sobre su sistema, ver aparecer mensajes: # rpm ivh foo-1.0-1.i386.rpm foo # Para que RPM ignore este error, introduzcareplacefiles sobre la lnea de comandos: # rpm ivh replacefiles foo-1.0-1.i386.rpm foo # ##################################### /usr/bin/foo conflicts with file from bar-1.0-1 error: foo-1.0-1.i386.rpm cannot be installed
Dependencias no resueltas
Los paquetes RPM pueden depender de otros paquetes, lo que significa que requieren que otros paquetes sean instalados en el sistema para que funcione correctamente. Si intenta instalar un paquete para el cual se presenta el caso de una dependencia no resuelta, ver aparecer en la pantalla lo siguiente: # rpm ivh bar-1.0-1.i386.rpm failed dependencies:
Pgina: 21
Para solucionar este error deberas instalar los paquetes solicitados. Si, en cambio, tiene intencin de forzar la instalacin (una mala idea, visto que el paquete muy probablemente no funcionar correctamente), use el comando nodeps en el prompt.
7. Desinstalacin
Desinstalar un paquete es tan fcil como instalarlo: # rpm e foo # Es posible encontrar un error de dependencia cuando se desinstala un paquete en el caso en el que est presente otro paquete que dependa de aquel que est intentando instalar. Por ejemplo: # rpm e foo removing these packages would break dependencies: foo is needed by bar-1.0-1 # Para hacer que RPM ignore este error y desinstale igualmente el paquete seleccionado (que es seguramente una mala idea en cuanto que el paquete que depende de aquel no funcionar correctamente), introduzca el comandonodeps sobre la lnea de comandos.
8. Actualizacin
La actualizacin de un paquete es similar a la instalacin. # rpm Uvh foo-2.0-1.i386.rpm foo # Aquello que no consigue ver es que RPM desinstala automticamente las viejas versiones del paquete foo. En efecto podra siempre utilizar el comando -U para instalar los ####################################
Pgina: 22
paquetes, desde el momento que funciona bien tambin cuando no hay versiones precedentes del paquete instalado. Desde el momento que RPM ejecuta las actualizaciones inteligentes de los paquetes con los ficheros de configuracin, podr ver un mensaje como el siguiente: Saving /etc/foo.conf as /etc/foo.conf.rpmsave Esto significa que los cambios que ha aportado a los ficheros de configuracin no son sucesivamente compatibles con los nuevos ficheros de configuracin presentes en el paquete, as RPM salva el fichero original e instala el nuevo en el sistema. Debera verificar y eliminar las diferencias entre los dos ficheros lo ms rpido posible para aseguraros de que vuestro sistema contine trabajando correctamente. Desde el momento en que una actualizacin es efectivamente una combinacin de instalaciones y de desinstalaciones, es posible encontrar los errores debidos a ambas operaciones y un mensaje posterior si RPM piensa que est intentando actualizar un paquete con una versin precedente; entonces ver aparecer sobre la pantalla: rpm -Uvh foo-1.0-1.i386.rpm foo package foo-2.0-1 (wicb is newer) is already installed error foo-1.0-1.i386.rpm cannot be installed # Para hacer que RPM contine igualmente con la actualizacin, utilice el comando --oldpackage: rpm -Uvholdpackage foo-1.0-1.i386.rpm
9. Renovacin
La renovacin de un paquete es similar a la actualizacin: rpm Fvh foo-1.2-1.i386.rpm Foo # Las opciones de renovacin de RPM comparan las versiones de los paquetes especificados en la lnea de comandos con aquellas ya instaladas en vuestro sistema. Cuando una versin ms nueva de aquella ya instalada es procesada desde las opciones de renovacin de RPM, esta ltima es actualizada en la ltima versin. De todas formas, las opciones de renovacin de RPM no instalarn nunca un paquete del que no existe una ###################################
Pgina: 23
versin precedentemente instalada sobre el sistema. Exactamente esta es la diferencia con las opciones de actualizacin de RPM, ya que una actualizacin instalar, los paquetes prescindiendo del hecho de que existan o no precedentes versiones del paquete ya instalado. Las opciones de renovacin de RPM trabajan bien ya sea con cada uno de los paquetes, o ya sea con grupos de paquetes. Es particularmente ventajoso usarlo en el caso en que haya descargado un gran nmero de paquetes diferentes y queris actualizar solamente aquellos que efectivamente estaban ya presentes en el ordenador. Utilizar las opciones de renovacin (refresh) de RPM significa que no estar obligado a seleccionar el paquete que quiere actualizar eliminando aquellos que no existieran previamente. En este caso, deber simplemente introducir el siguiente comando:
RPM actualizar automticamente slo aquellos paquetes que ya han sido instalados.
10. Consultas
Consultar la base de datos de los paquetes instalados es posible gracias al comando rpm -q. Un ejemplo de su uso es dado por: rpm -q foo que har imprimir el nombre del paquete, la versin y el nmero de implementacin del paquete que fue instalado:
rpm q foo
En vez de especificar el nombre del paquete, podr utilizar las siguientes opciones -q para especificar los paquetes que se quiere que sean consultados. Estos son llamados Package Specification Options.
-a consulta todos los paquete instalados. -f <file> consulta el paquete que posee <file>. -p <packagefile> consulta el paquete <packagefile>.
Existen diversos modos para especificar que informaciones se quieren visualizar de los paquetes consultados. Las siguientes opciones son utilizadas para seleccionar el tipo de informacin que est buscando. Este es llamado Information Selection Options.
-i muestra informaciones relativas al paquete como el nombre, la descripcin, la implementacin, el tamao, la fecha de fabricacin, la fecha de instalacin, el distribuidor y otras informaciones genricas. -l muestra la lista de ficheros que pertenecen al paquete que se est examinando.
Pgina: 24
-s muestra el estado de todos los ficheros contenidos en el paquete. -d muestra una lista de ficheros registrados como documentacin (pginas man, paginas de informacin, Readme, etc.) -c muestra una lista de ficheros marcados como ficheros de configuracin. Estos son los ficheros que ha cambiado despus de la instalacin para adaptar el paquete a su sistema (sendmail.cf, paswwd, inittab, etc).
En el caso de todas aquellas opciones que muestran un elenco de ficheros, puede aadir la escritura -v a la lnea de comandos para obtener como resultado una lista en el formato ms familiar de ls -l.
rpm Va
Todo lo anterior puede ser til si sospecha que la base de datos de RPM tiene cualquier problema de funcionamiento.
Pgina: 25
Procedimientos
Actualizar sistema. Actualizacin del sistema con todas las dependencias que sean necesarias:
yum update
Bsquedas
Realizar una bsqueda de algn paquete o trmino en la base de datos en alguno de los depsitos yum configurados en el sistema:
Consulta de informacin
Consultar la informacin contenida en un paquete en particular::
Pgina: 26
Instalacin de paquetes
Instalacin de paquetera con resolucin automtica de dependencias.:
Pgina: 27
yum -y remove pcmcia-cs mdadm autofs ypserv ypbind yp-tools hwcrypto vnc-server irda-utils Listado de paquetes.
Lo siguiente listar todos los paquetes disponibles en la base de datos yum y que pueden instalarse:
Pgina: 28
Identificada la particin NTFS que montaremos en nuestro Linux, pasaremos a buscar el modulo existente para el soporte NTFS en Linux. Para lo cual deberemos de tener en cuenta lo siguiente:
1.- La versin del kernel de nuestro Linux 2.- La arquitectura sobre el cual est instalado el S.O
Teniendo en cuenta estos dos aspectos podremos buscar el paquete que necesitamos
Arquitectura
Pgina: 29
Con esto se logra que el sistema operativo cargue el modulo que especifica que el kernel va poder reconocer particiones NTFS y de esa manera podr montar a dichas unidades tal como lo hace en particiones FAT. A continuacin montaremos la particin NTFS existente en nuestro disco para lo cual crearemos un directorio como se muestra en la imagen
Pgina: 30
Con esto logramos montar una unidad con el tipo de sistema de archivos NTFS De la misma manera que una unidad FAT.
Pgina: 31
Ejemplos: Permisos drwxr-xr-x crw-rw-r srwxrwxr-x prw-rw-r -rw-rr Descripcion Directorio con permiso 755 Fichero de carcter especial con permiso 664. Zcalo con permiso 775. Tubera (FIFO) con permiso 664. Fichero regular con permiso 644.
Notacin octal.
Estos valores nunca producen combinaciones ambiguas y cada una representa un conjunto de permisos especficos. De modo tal puede considerarse la siguiente tabla: Valor 0 1 2 3 4 5 6 7 Permiso x w wx r rx rw rwx Decripcin Nada Ejecucin Escritura Escritura y ejecucin Lectura Lectura y Ejecucin Lectura y Escritura Lectura, Escritura y Ejecucin
Note que el 3 (wx) es el resultado de 1+2 (w+x). Note que 5 (rx) es el resultado de 4+1 (r+x). Note que 6 (rw) es el resultado de 4+2 (r+w). Note que 7 (rwx) es el resultado de 4+3 (r+xw).
-R
Cambia permisos de forma descendente en un directorio dado. Es la nica opcin de los estndares POSIX. Muestra que ficheros han cambiado recientemente en una ubicacin dada No muestra errores de ficheros o directorios
-c -f
Pgina: 32
que no se hayan podido cambiar -v Descripcin detallada de los mensajes generados por el proceso
Informacin de un fichero/directorio Cuando obtienes informacin sobre un fichero/directorio con el comando ls, existen diferentes campos que te dicen que clase de permisos el fichero/directorio tiene. Ejemplo: [user@localhost]# ls -l rwxr-x--- 1 pepito depart1
En la primera columna se pueden ver una serie de letras y guiones -rwxr-x---, estas letras nos dicen quien en el sistema, y que clases de permisos tiene el fichero test. Estas letras estn agrupadas en tres grupos con tres posiciones cada uno, ms una primera posicin que nos dice de qu clase de archivo se trata (los ms normales (d) directorios, o (-) archivos de datos). En nuestro ejemplo la primera posicin es (-) con lo cual el archivo test, es un archivo de datos (binario/ejecutable en este ejemplo). El primer grupo de tres (rwx en nuestro caso) nos dice que clase de permisos tiene el dueo del fichero (u)(user/owner) El segundo grupo de tres (r-x en nuestro caso) nos dice que clase de permisos tiene el grupo del fichero (g)(group). Y el ltimo grupo de tres (--- en nuestro caso) nos dice que clase de permisos tienen todos los dems usuarios del sistema sobre este fichero (o)(others).
r :significa permiso para leer w :significa permiso para escribir x :significa permiso para ejecutar La segunda columna pepito, nos dice quien es el dueo del fichero,(pepito en este caso). La tercera columna depart1, nos dice cual es el grupo del fichero (depart1 en este caso). La cuarta columna 4348, nos dice el tamao del fichero. La quinta columna Nov 24 16:19, nos dice cual es la fecha y hora de la ltima modificacin. La sexta columna test, nos dice cual es el nombre del fichero/directorio.
Pgina: 33
pepito puede leer, escribir/modificar, y ejecutar el fichero test. Los usuarios pertenecientes al grupo depart1 puede leer, y ejecutar pero no escribir/modificar. Los dems usuarios no pueden hacer nada, ni leerlo, ni escribir/modificar, ni ejecutarlo.
El mandato chown se utiliza para cambiar el propietario al que pertenece un fichero o directorio. Puede especificarse tanto el nombre de un usuario, as como un nmero de identidad de usuario (UID). Opcionalmente, utilizando un signo de dos puntos (:), o bien un punto (.), permite especificar tambin un nombre de grupo.
Opciones.
-R
Cambia recursivamente el propietario (y, opcionalmente, el grupo al que pertenecen los directorios, junto con todos sus contenidos. Salida de chown ms descriptiva. Ver el nmero de versin del programa. Acta sobre enlaces simblicos en lugar de hacerlo sobre el destino. En el caso de enlaces simblicos, cambia el propietario del destino en lugar del propio enlace. Cambia el el propietario de un fichero, tomando como referencia el propietario de otro.
Utilizacin.
Mandato chgrp. El mandato chgrp se utiliza para cambiar el grupo al que pertenece un fichero o
Pgina: 34
directorio. Puede especificarse tanto el nombre de un grupo, as como un nmero de identidad de grupo (GID).
Opciones.
Cambia recursivamente el grupo al que pertenecen los directorios, junto con todos sus contenidos. Salida de chgrp ms descriptiva. Ver el nmero de versin del programa. Acta sobre enlaces simblicos en lugar de hacerlo sobre el destino. En el caso de enlaces simblicos, cambia el grupo del destino en lugar del propio enlace. Cambia el grupo de un fichero, tomando como referencia el propietario de otro.
Ejemplos. El siguiente mandato realiza el cambio de propietario a fulano, sobre el fichero algo.txt. chown fulano algo.txt El siguiente mandato realiza el cambio de propietario a fulano y el grupo desarrollo, sobre el fichero algo.txt. chown fulano:desarrollo algo.txt El siguiente mandato realiza el cambio de propietario a fulano y el grupo mail, del subdirectorio Mail, junto con todo su contenido. chown -R fulano:mail Mail
Pgina: 35
Opciones.
-R Cambia recursivamente los atributos de directorios y sus contenidos. Los enlaces simblicos que se encuentren, son ignorado Salida de charttr ms descriptiva, mostrando adems la versin del programa. Ver el nmero de versin del programa.
-V -v
Operadores.
+ = Hace que se aadan los atributos especificados a los atributos existentes de un fichero. Hace que se eliminen los atributos especificados de los atributos existentes de un fichero Hace que solamente haya los atributos especificados.
Pgina: 36
Atributos.
A A C Establece que la fecha del ltimo acceso (atime) no se modifica. Establece que el fichero solo se puede abrir en modo de adjuntar para escritura. Establece que el fichero es comprimido automticamente en el disco por el ncleo del sistema operativo. Al realizar lectura de este fichero, se descomprimen los datos. La escritura de dicho fichero comprime los datos antes de almacenarlos en el disco. Cuando se trata de un directorio, establece que los datos se escriben de forma sincrnica en el disco. Es decir, los datos se escriben inmediatamente en lugar de esperar la operacin correspondiente del sistema operativo. Es equivalente a la opcin dirsync del mandato mount, pero aplicada a un subconjunto de ficheros. Establece que el fichero no sea candidato para respaldo al utilizar la herramienta dump. Establece que el fichero ser inmutable. Es decir, no puede ser eliminado, ni renombrado, no se pueden apuntar enlaces simblicos, ni escribir datos en el fichero. En los sistemas de ficheros ext3, cuando se montan con las opciones data=ordered o data=writeback, se establece que el fichero ser escrito en el registro por diario (Journal). Si el sistema de ficheros se monta con la opcin data=journal (opcin predeterminada), todo el sistema de ficheros se escribe en el registro por diario y por lo tanto el atributo no tiene efecto. Cuando un fichero tiene este atributo, los bloques utilizados en el disco duro son escritos con ceros, de modo que los datos no se puedan recuperar por medio alguno. Es la forma ms segura de eliminar datos. Cuando el fichero tiene este atributo, sus cambios son escritos de forma sincrnica en el disco duro. Es decir, los datos se escriben inmediatamente en lugar de esperar la operacin correspondiente del sistema operativo. Es equivalente a la opcin sync del mandato mount. Cuando un fichero con este atributo es eliminado, sus contenidos son guardados permitiendo recuperar el fichero con herramientas para tal fin.
D I
Pgina: 37
Utilizacin.
chattr [-RV] +-=[AacDdijsSu] [-v versin] ficheros Ejemplos. el siguiente mandato agrega el atributo inmutable al fichero algo.txt..
chattr +i algo.txt
El siguiente mandato elimina el atributo inmutable al fichero algo.txt.
chattr -i algo.txt
El siguiente mandato agrega el modo de solo adjuntar para escritura al fichero algo.txt.
chattr +a algo.txt
El siguiente mandato elimina el modo de solo adjuntar para escritura al fichero algo.txt.
chattr -a algo.txt
El siguiente mandato establece que el fichero algo.txt solo tendr los atributos a, A, s y S.
lsattr algo.txt
Pgina: 38
useradd nombre_del_usuario
Ejemplo:
useradd fulano
passwd nombre_del_usuario
Ejemplo:
passwd fulano
Este procedimiento tambin puede utilizarse para cambiar una contrasea existente.
Opciones avanzadas.
En muchos casos pueden no ser necesarios, pero si se esta administrando un servidor o estacin de trabajo, o bien se es un usuario un poco ms experimentado, y se quiere crear una cuenta con mayores o menores restricciones, atributos y/o permisos, pueden utilizarse las siguientes opciones de useradd:
c comment
Se utiliza para especificar el archivo de comentario de campo para la nueva cuenta.
d home dir
Se utiliza para establecer el directorio de trabajo del usuario. Es conveniente, a fin de tener un sistema bien organizado, que este se localice dentro del directorio /home.
e expire date
Se utiliza para establecerla fecha de expiracin de una cuenta de usuario. Esta debe ingresarse en el siguiente formato: AAAA-MM-DD.
Pgina: 39
g initial group
Se utiliza para establecer el grupo inicial al que pertenecer el usuario. De forma predeterminada se establece como nico grupo 1. Nota: el grupo asignado debe de existir.
G group,[...]
Se utiliza para establecer grupos adicionales a los que pertenecer el usuario. Estos deben separarse utilizando una coma y sin espacios. Esto es muy conveniente cuando se desea que el usuario tenga acceso a determinados recursos del sistema, como acceso a la unidad de disquetes, administracin de cuentas PPP y POP. Nota: los grupos asignado deben de existir.
m
Se utiliza para especificar que el directorio de trabajo del usuario debe ser creado si acaso este no existiese, y se copiaran dentro de este los archivos especificados en /etc/skel.
s shell
Se utiliza para establecer el UID, es decir, la ID del usuario. Este debe ser nico. De forma predeterminada se establece como UID el nmero mnimo mayor a 99 y mayor que el de otro usuario existente. Cuando se crea una cuenta de usuario por primera vez, como ocurre en Red Hat Linux y Fedora Core generalmente se asignar 500 como UID del usuario. Los UID entre 0 y 99 son reservados para las cuentas de los servicios del sistema. Ejemplo:
userdel fulano
Si se desea eliminar tambin todos los archivos y sub-directorios contenidos dentro del directorio de trabajo del usuario a eliminar, se debe agregar la opcin -r:
Pgina: 40
userdel -r nombre_del_usuario
Ejemplo:
userdel -r fulano
Manejo de Grupos.
Alta de grupos.
groupadd grupo-que-sea
Alta de grupos de sistema. Un grupo de sistema es aquel que tiene un nmero de identidad de grupo (GID) por debajo del 500. Regularmente se asigna automticamente el nmero de identidad de grupo ms bajo disponible.
groupadd -r grupo-que-sea
Baja de grupos
groupdel grupo-que-sea
Asignacin de usuarios existentes a grupos existentes.
Pgina: 41
falta configurar parmetro alguno mientras los dispositivos de red sean compatibles y exista un controlador para la versin del kernel ejecutado. Si acaso no fuese detectado el dispositivo de red debido a la ausencia de kudzu, es posible configurar todo manualmente. La marca de la tarjeta de red es lo que menos interesa, lo que es importante es que se determine con exactitud que chipset utiliza la tarjeta de red.
NETWORKING=yes HOSTNAME=su_mquina.su_dominio.com
Pgina: 42
Los parmetros anteriores son proporcionados por el administrador de la red local en donde se localice la mquina que est siendo configurada, o bien definidos de acuerdo a una planificacin pre-definida. El administrador de la red deber proporcionar una direccin IP disponible (IPADDR) y una mscara de la sub-red (NETMASK).
Servidores de nombres.
Debe editarse con un procesador de textos /etc/resolv.conf y deben establecerse en ste los servidores de resolucin de nombres de dominio (DNS). Ejemplo:
ping 192.168.1.254
Las interfaces y la informacin de las mismas se pueden examinar utilizando:
/sbin/ifconfig
Caso contrario tambin es valido utilizar el comando netconfig
Pgina: 43
opcionalmente, permitir al servidor remoto autenticar al usuario. SSH provee confidencialidad e integridad en la transferencia de los datos utilizando criptografa y MAC (Message Authentication Codes, o Cdigos de Autenticacin de Mensaje). De modo predeterminado, escucha peticiones a travs del puerto 22 por TCP.
SFTP.
SFTP (SSH File Transfer Protocol) es un protocolo que provee funcionalidad de transferencia y manipulacin de ficheros a travs de un flujo confiable de datos. Comnmente se utiliza con SSH para proveer a ste de transferencia segura de ficheros.
SCP.
SCP (Secure Copy, o Copia Segura) es una protcolo seguro para transferir ficheros entre un anfitrin local y otro remoto, a travs de SSH. Bsicamente, es idntico a RCP (Remote Copy, o Copia Remota), con la diferencia de que los datos son cifrados durante la transferencia para evitar la extraccin potencial de informacin a travs de programas de captura de las tramas de red (packet sniffers). SCP solo implementa la transferencia de ficheros, pues la autenticacin requerida es realizada a travs de SSH.
OpenSSH.
OpenSSH (Open Secure Shell) es una alternativa de cdigo abierto, con licencia BSD, hacia la implementacin propietaria y de cdigo cerrado SSH creada por Tatu Ylnen. OpenSSH es un proyecto creado por el equipo de desarrollo de OpenBSD y actualmente dirigido por Theo de Raadt. Se considera es ms segura que su contraparte propietaria debido a la constante auditora que se realiza sobre el cdigo fuente por parte de una gran comunidad de desarrolladores, una ventaja que brinda al tratarse de un proyecto de fuente abierta. OpenSSH incluye servicio y clientes para los protocolos SSH, SFTP y SCP.
Pgina: 44
Procedimientos. Edite /etc/ssh/sshd_config. A continuacin se analizarn los parmetros a modificar. Parmetro Port. Una forma de elevar considerablemente la seguridad al servicio de SSH, es cambiar el nmero de puerto utilizado por el servicio, por otro que solo conozca el administrador del sistema. A este tipo de tcnicas se les conoce como Seguridad por Oscuridad. La mayora de los delincuentes informticos utiliza guiones que buscan servidores que respondan a peticiones a travs del puerto 22. Cambiar de puerto el servicio de SSH disminuye considerablemente la posibilidad de una intrusin a travs de este servicio.
Port 22
SSH trabaja a travs del puerto 22 por TCP. Puede elegirse cualquier otro puerto entre el 1025 y 65535. Ejemplo:
Port 52341
Parmetro ListenAddress. Por defecto, el servicio de SSH responder peticiones a travs de todas las interfaces del sistema. En algunos casos es posible que no se desee esto y se prefiera limitar el acceso slo a travs de una interfaz a la que slo se pueda acceder desde la red local. Para tal fin puede establecerse lo siguiente, considerando que el servidor a configurar posee la IP 192.168.1.254:
ListenAddress 192.168.1.254
Parmetro PermitRootLogin. Establece si se va a permitir el acceso directo del usuario root al servidor SSH. Si se va a permitir el acceso hacia el servidor desde redes pblicas, resultar prudente utilizar este parmetro con el valor no.
PermitRootLogin no
Pgina: 45
Parmetro X11Forwarding. Establece si se permite o no la ejecucin remota de aplicaciones grficas. Si se va a acceder hacia el servidor desde red local, este parmetro puede quedarse con el valor yes. Si se va a permitir el acceso hacia el servidor desde redes pblicas, resultar prudente utilizar este parmetro con el valor no.
X11Forwarding yes
Parmetro AllowUsers. Permite restringir el acceso por usuario y, opcionalmente, anfitrin desde el cual pueden hacerlo. El siguiente ejemplo restringe el acceso hacia el servidor SSH para que solo puedan hacerlo los usuarios fulano y mengano, desde cualquier anfitrin.
Para hacer que los cambios hechos a la configuracin surtan efecto, utilice:
Pgina: 46
Probando OpenSSH. Para acceder a travs de intrprete de mandatos hacia el servidor, basta con ejecutar desde el sistema cliente el mandato sshdefiniendo el usuario a utilizar y el servidor al cual conectar:
ssh usuario@servidor
Para acceder hacia un puerto en particular, se utiliza el parmetro -p. En el siguiente ejemplo, utilizando la cuanta del usuariojuan, se intentar acceder hacia el servidor con direccin IP 192.168.0.99, el cual tiene un servicio de SSH que responde peticiones a travs del puerto 52341.
sftp usuario@servidor
El intrprete de mandatos de SFTP es muy similar al utilizado para el protocolo FTP y tiene las mismas funcionalidades. Para acceder hacia un puerto en particular, en el cual est trabajando el servicio de SSH, se hace travs de el parmetro -o, con la opcin Port=nmero de puerto. En el siguiente ejemplo, utilizando la cuenta del usuario juan, se acceder a travs de SFTP hacia el servidor 192.168.0.99, el cual tiene trabajando el servicio de SSH en el puerto 52341. sftp -o Port=52341 juan@192.168.0.99
Pgina: 47
Si dispone de un escritorio en GNU/Linux, con GNOME 2.x, puede acceder hacia servidores SSH a travs del protocolo SFTPutilizando el administrador de ficheros (Nautilus) para realizar transferencias y manipulacin de ficheros, especificando el URI(Uniform Resource Locator o Localizador Uniforme de Recursos) sftp:, seguido del servidor y la ruta hacia la que se quiere acceder, seguido del puerto, en el caso que sea distinto al 22.
Nautilus, accediendo hacia un directorio remoto a travs de SFTP. Transferencia de ficheros a travs de SCP. Para realizar transferencias de ficheros a travs de SCP, es necesario conocer las rutas de los directorios objetivo del anfitrin remoto. A continuacin se describen algunas de las opciones ms importantes del mandato scp. Preserva el tiempo de modificacin, tiempos de -p acceso y los modos del fichero original. Especifica el puerto para realizar la conexin. -P Copia recursivamente los directorios especificados. -r En el siguiente ejemplo, se transferir el fichero algo.txt, preservando tiempos y modos, hacia el directorio de inicio del usuario fulano en el servidor 192.169.0.99. scp -p algo.txt fulano@192.168.0.99:~/
En el siguiente ejemplo, se transferir la carpeta Mail, junto con todo su contenido, preservando tiempos y modos, hacia el directorio de inicio del usuario fulano en el servidor 192.169.0.99.
Pgina: 48
En el siguiente ejemplo, se transferir la carpeta Mail, junto con todo su contenido, desde el directorio de inicio del usuario fulano en el servidor 192.169.0.99, cuyo servicio de SSH escucha peticiones a travs del puerto 52341, preservando tiempos y modos, hacia el directorio del usuario con el que se est trabajando en el anfitrin local.
Pgina: 49
Nmero de red 192.130.1.0 Mscara de sub-red: 255.255.255.0 Option routers: 192.130.1.1 Servidor de nombres: 172.16.1.1 Rango de +direcciones IP a asignar de modo dinmico: 130.10.1.100130.10.1.254 IP y cada anfitrin conectado a la red est configurada para solicitar su direccin IP al servidor cuando se inicia el dispositivo de red, utilizando un intervalo de tiempo controlable (parmetros default-lease-time y max-leasetime) de modo que las direcciones IP no son permanentes y se reutilizan de forma dinmica.
Programtica necesaria.
Se requiere instalar el paquete dhcp el cual deber estar incluido en los discos de instalacin de la mayora de las distribuciones. yum -y install dhcp Si se utiliza Red Hat Enterprise Linux, solo bastar ejecutar lo siguiente para instalar o actualizar el software necesario: up2date -i dhcp
Fichero de configuracin.
Considerando como ejemplo que se tiene una red local con las siguientes caractersticas: Nota: Es indispensable conocer y entender perfectamente todo lo anterior para poder continuar. Lo primero sera crear dentro del directorio /etc un archivo llamado dhcpd.conf, archivo con el cual el servicio podra funcionar leyendo el contenido de la configuracin del mismo. Utilizaremos el editor vi para crear y hacer modificaciones en nuestro archivo de configuracin.
Pgina: 50
Luego de ejecutar la siguiente acccion nos motrara el archivo en blanco y rellenaremos de la siguiente manera.
Pgina: 51
/sbin/chkconfig dhcpd on
Hecho lo anterior solo bastar con configurar como interfaces DHCP las estaciones de trabajo que sean necesarias sin importar que sistema operativo utilicen.
Pgina: 52
Para asignar una direccin IP a una cliente segn la direccin MAC de la tarjeta de interfaz de red, use el parmetro hardware ethernet de una declaracin host. Como se muestra en el Ejemplo 12-5, la declaracin host apex especifica que la tarjeta de interfaz de red con la direccin MAC 00:A0:78:8E:9E:AA siempre debe ejecutarse en lease con la direccin IP 192.168.1.4. Tenga en cuenta que tambin puede usar el parmetro opcional host-name para asignar un nombre host al cliente. Ejemplo 12-5. Ejemplo de direccin IP esttica con DHCP
host apex { option host-name "apex.example.com"; hardware ethernet 00:A0:78:8E:9E:AA; fixed-address 192.168.1.4; }
Estas direcciones de ip estticas son amarradas al MAC ADRRESS de la tarjeta de red del equipo. Nota: El servicio de dhcp utiliza el puerto 67 y 68 de nuestro sistema operativo.
Pgina: 53
Squid PROXY
Squid es el Proxy ms popular servidor para sistemas Unix. Es libre y est disponible para su descarga desde www.squid-cache.org, y se incluye como paquete estndar con todas las distribuciones de Linux y muchos otros sistemas operativos. Squid soporta Proxy, caching y aceleracin HTTP, y tiene un gran nmero de opciones de configuracin para controlar el comportamiento de estas caractersticas.
Configuracin squid.conf
Antes de empezar a configurar algn servicio en Linux es recomendable hacer una copia del archivo de configuracin que viene por defecto, esto lo hacemos de la siguiente manera: # cp squid.conf squid.conf.original Ahora pasamos a configurar squid.conf. Usamos algn editor vim, mcedit, etc. Entramos en la ruta absoluta del archivo de configuracin: # cd /etc/squid
Pgina: 54
# vim squid.conf
Si queremos darle mayor seguridad, vinculamos el servicio a una IP que solo se pueda acceder desde la red local. Si nuestro servidor tiene la direccin IP: 192.168.1.45, hacemos lo siguiente:
Pgina: 55
Pgina: 56
subordinados con 256 niveles cada uno. No es necesario modificar estos nmeros. Configurar: parmetro cache_mgr De modo predefinido, si algo ocurre con el cach, como por ejemplo que muera el proceso, se enviar un mensaje de aviso a la cuenta webmaster del servidor. Puede especificarse una distinta si acaso de considere conveniente. cache_mgr webmaster@redlinux.com
Controles de Acceso
Es necesario establecer Listas de Control de Acceso que definan una red o bien ciertos equipos en particular. A cada lista se le asignar una Regla de Control de Acceso que permitir o denegar el acceso a Squid. * Listas de Control de Acceso La sintaxis para una lista de control de acceso por lo general es la siguiente: acl [nombre de la lista] src [lo que compone la lista] Si deseamos establecer una lista de control de acceso que abarque a toda la red, tenemos que definir la direccin IP correspondiente a la red y la mscara de sub-red. Por ejemplo: Mi red: 192.168.1.0 (nuestra red local) Mscara de sub-red: 255.255.255.0 La lista sera: acl mired src 192.168.1.0/255.255.255.0 Tambin podemos especificar una Lista de Control de Acceso especificando un fichero que contenga una lista de direcciones IP. Por ejemplo un grupo de IPs de los jefes. Primero creamos el fichero dentro de la ruta de Squid: # cd /etc/squid # touch jefes Editamos el fichero e ingresamos las direcciones IP: # vim jefes 192.168.1.6 192.168.1.7 192.168.1.8 192.168.1.9 192.168.1.10
Pgina: 57
Aqu estamos definiendo la Lista de Control de Acceso denominada jefes estara compuesta para las IP incluidas en el fichero /etc/squid/jefes. La lista sera: acl jefes src /etc/squid/jefes Reglas de Control de Acceso Estas definen si se permite o no el acceso hacia Squid. Se aplican a las Listas de Control de Acceso. Deben colocarse en la seccin de reglas de control de acceso, es decir, a partir de donde se localiza la siguiente leyenda:
La sintaxis bsica es la siguiente: http_access [deny o allow] [lista de control de acceso] Ahora un ejemplo con la Lista de Control de Acceso jefes definida anteriormente: http_access allow jefes Tambin podemos definir reglas haciendo uso de la expresin ! que significa no. Por ejemplo: Dos listas de control de acceso una denominada jefes (acceso a Squid), y mired (sin acceso). Aqu establecemos que solo la lista jefes tendr acceso a squid excepto todo lo que comprenda a mired. http_access allow jefes !mired Esto tipo de reglas se aplican cuando tenemos un grupo de IP dentro de un rango de red al que se debe permitir acceso, y otro grupo dentro de la misma red al que se debe denegar el acceso. Aplicando Listas y Reglas de Control de Acceso Ahora vamos a ver algunos casos donde podemos aplicar listas y reglas de control de acceso.
Pgina: 58
Ejemplo: Si tenemos una red 192.168.1.0/255.255.255.0, si se desea definir toda la red local, utilizaremos la siguiente lnea en la seccin de Listas de Control de Acceso: acl mired src 192.168.1.0/255.255.255.0 Ahora la seccin de listas de control de acceso deber quedar ms o menos del siguiente modo: # Recommended minimum configuration: acl all src 0.0.0.0/0.0.0.0 acl manager proto cache_object acl localhost src 127.0.0.1/255.255.255.0 acl mired src 192.168.1.0/255.255.255.0 Ahora procedemos a aplicar la regla de control de acceso: http_access allow mired Ahora la seccin de reglas de control de acceso deber quedar ms o menos del siguiente modo: # # INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTES # La regla http_access allow mired permite el acceso a squid a la Lista de Control de Acceso denominada mired, la cual est conformada por 192.168.1.0/255.255.255.0. Lo que significa que cualquier maquina desde 192.168.1.1 hasta 192.168.1.254 podr acceder a Squid.
Iniciado Squid
Una vez que terminamos de configurar Squid, ejecutamos por primera vez la siguiente instruccin: # service squid start Si necesitamos reiniciar el servicio para ejecutar algn cambio de configuracin, hacemos: # service squid restart Para que Squid se inicie de manera automtica cada vez que iniciemos el sistema, hacemos:
Pgina: 59
# chkconfig squid on
Pgina: 60
sitiosdenegados, de la siguiente manera: http_access allow mired !sitiosdenegados Luego en squid.conf tendremos: # # INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTES # http_access allow localhost http_access allow mired !sitiosdenegados http_access deny all Para que se efecten los cambios de configuracin ejecutamos: # service squid restart
Pgina: 61
fichero/etc/squid/listaextensiones. Esta lista ser denominada listaextensiones. Lo que debe quedar de la siguiente manera: acl listaextensiones urlpath_regex /etc/squid/listaextensiones Habiendo hecho esto, en la seccin de Lista de Control de Acceso debemos tener: Ahora generamos una Regla de Control de Acceso para la lista listaextensiones, de la siguiente manera: http_access allow mired !sitiosdenegados !listaextensiones Para que se efecten los cambios de configuracin reiniciamos Squid: # service squid restart
Pgina: 62
up2date -i httpd
Si se desea que Apache incluya soporte para PHP/MySQL, Perl, Python y SSL, solo bastar ejecutar:
/sbin/chkconfig httpd on
Para iniciar el servicio por primera vez, solo basta ejecutar:
Pgina: 63
En nuestro caso, estamos colocando la direccin ip local del equipo con el cual configuramos al inicio en el directorio /etc/hosts
Configuracin de Apache.
El servidor lee la informacin de tres ficheros con directivas de configuracin. Cualquier directiva puede aparecer en cualquiera de estos ficheros. Los nombres de estos ficheros son relativos a la raz de instalacin del servidor, la cual es definida por la directiva ServerRoot, la opcin en lnea de comando -d o en un sistema Windows por el registro:
conf/httpd.conf:
Contiene las directivas que controlan el funcionamiento del demonio servidor (httpd).
conf/srm.conf:
contiene las directivas que controlan la especificacin de documentos que el servidor proporciona a los clientes.
conf/access.conf:
Contiene directivas que controlan el acceso a los documentos Adems, el servidor tambin leer un fichero conteniendo los tipos mime de los documentos. Por defecto el fichero ser conf/mime.types.
Pgina: 64
Sin embargo, la tendencia es que solo se utilice como fichero principal del servidor Web a conf/httpd.conf, agrupando las directivas de configuracin en tres secciones:Global Enviroment. En esta seccin se definen las directivas que controlan el funcionamiento general de Apache, como pueden ser el nmero de peticiones concurrentes que puede manejar, donde puede encontrar los ficheros de configuracin...
ServerRoot:
Define el directorio donde reside toda la informacin de configuracin y registro que necesita el servidor.
PidFile:
Indica el fichero en el cual el servidor registrar el identificador de proceso con el que se lanza.
ScoreBoardFile:
Fichero utilizado para almacenar informacin interna del proceso servidor. Se requiere para algunas arquitecturas para comunicar entre los procesos hijos y el padre.
Timeout:
Nmero de segundos tras los cuales el servidor cierra la conexin.
KeepAlive:
Si se permiten o no conexiones persistentes.
MaxKeepAliveRequest:
El nmero mximo de peticiones permitidas durante una conexin persistente.
MinSpareServers:
Define el nmero de procesos servidores hijo desocupados que no atienden una peticin.
Pgina: 65
MaxSpareServers:
Define el n mximo de procesos servidor hijo desocupados que no manejan una peticin. Si existieran mas de lo que define la directiva, el proceso padre matara los procesos que exceden.
StartServers:
Nmero de procesos servidor hijo que sern creados cuando arranca Apache por primera vez.
Maxclients:
Define el nmero de peticiones simultneas que apache puede soportar. Como mximo se crean este n de procesos servidores hijo.
MaxRequestPerChild:
Define el n de peticiones que cada proceso hijo tiene permitido procesar antes de morir.
ThreadsPerChild:
N de hilos concurrentes que el servidor permitir utilizar. Este valor representa el n mximo de conexiones que el servidor puede manejar a la vez.
Listen:
Esta directiva instruye al servidor Apache para que escuche en mas de una direccin IP o en mas de un puerto.
LoadModule:
Esta directiva enlaza dentro del servidor la librera o fichero objeto nombrado cuando se arranca el servidor y aade la estructura del modulo a la lista de mdulos activos.
Pgina: 66
Port:
Define el puerto en el cual escucha el servidor (0 - 65535). Hay que tener en cuenta la relacin que tiene esta directiva con el fichero /etc/services y que algunos puertos, especialmente los situados por debajo del 1024, estn reservados para protocolos especficos. El puerto estndar para el protocolo HTTP es el 80.
User/Group:
Definen el usuario y el grupo con el que el servidor contestar las peticiones. Para poder utilizar esta directiva, el servidor standalone debe ejecutarse inicialmente como usuario root. El usuario no debera poseer privilegios que otorguen acceso a ficheros que no deseemos.
ServerAdmin:
Define la direccin de correo que el servidor incluir en cualquier mensaje de error que devuelva al cliente.
ServerName:
Define el nombre de host del servidor. Se suele utilizar cuando se crean redirecciones. Sino se define el nombre de servidor, intentar deducirlo a travs de su direccin IP.
DocumentRoot:
Define el directorio desde el cual el servidor servir los documentos. A menos que la URL solicitada coincida con una directiva Alias, el servidor aadir el PATH a la URL.
Directory:
<Directory></Directory> se utilizan para encerrar un grupo de directivas que se aplicarn al directorio en cuestin y sus sub-directorios. El parmetro directorio, puede ser una trayectoria completa o un metacaracter.
Pgina: 67
AllowOverride override:
Cuando el servidor encuentra un fichero .htaccess (definido por la directiva AccessFileName) necesita conocer que directivas declaradas en este fichero pueden sobreescribir informacin de acceso. El parmetro override puede ser definido a None y en tal caso el servidor no leer el fichero o puede ser definido a All, de forma que permitir todas las directivas. El parmetro override tambin puede ser definido a: AuthConfig, FileInfo, Indexes, Limit, Options.
UserDir directorio:
Define el nombre del directorio que ser aadido al directorio HOME del usuario si se recibe una peticin ~usuario.
DirectoyIndex fichero:
Nombre/s del fichero/s a usar como pgina de inicio de un directorio.
AccessFileName fichero:
El nombre del fichero a buscar en cada directorio para informacin de control de acceso.
Location url:
La directiva proporciona control de acceso por URL. Es similar a la directiva Directory.
Pgina: 68
Virtual Hosts.
Un servidor Web puede albergar diferentes sitios web utilizando diferentes nombres de hosts (alias) o diferentes IP's. En esta seccin se define el comportamiento especfico de cada servidor virtual que alberga el servidor. <VirtualHost> </VirtualHost>
<VirtualHost> and </VirtualHost> se utilizan para agrupar un conjunto de directivas que se aplicarn solo a un host virtual. Dentro de este par de directivas se pueden incluir cualquier otra que haga refenrencia a este host particular. NameVirtualHost:
Especifica la direccin a resolver cuando se utiliza un sistema basado en nombres de host virtuales. ServerName:
Especifica el nombre de host que aparecer en la cabecera de la peticin. Los beneficios de utilizar el soporte de host virtuales permite definir prcticamente un nmero de servidores ilimitado, de fcil configuracin y que no requiere hardware adicional. La principal desventaja es que el software cliente debe soportar esta parte del protocolo. Pero como veremos, es fcil mantener varios sitios web con diferentes nombres de dominio tan solo con definir varios alias (CNAME) para ese host: NameVirtualHost 111.22.33.44 <VirtualHost 111.22.33.44> ServerName www.domain.tld DocumentRoot /www/domain </VirtualHost> <VirtualHost 111.22.33.44> ServerName www.otherdomain.tld DocumentRoot /www/otherdomain </VirtualHost>
Pgina: 69
Sin embargo ahora me he topado con dos curiosidades que hacen que no solamente debamos instalarle y arrancarlos ok podran tomarse como caractersticas si le vemos as: La primera es que ya no acepta autenticacin en texto claro. Esto definitivamente es una ventaja, una mejora.. Supuestamente todo lector de correos que se conecte a travs de POP3 o IMAP4 debe usar algn tipo de sistema que no enve las claves en texto claro. Lamentablemente muchos sistemas de correos actualmente no tienen o no es trivial el que usen esos mtodos para encriptar el envo de informacin. Una variante es investigar y lograr la autenticacin encriptado, la otra, facilista es cierto!, es pedirle que siga aceptando autenticacin en texto claro. Para volver a poner autenticacin en texto plano, una vez instalado Dovecot como hicimos arriba, simplemente editamos este archivo:
Pgina: 70
En este cuadro estamos descomentando el parmetro DISABLED_PLAINTTEXT_AUTH y le cambiamos el valor yes por no Pero aguanta, no reinicies todava, ahora viene lo ms engorroso. Luego que me pongo a verificar, me daba error al autenticar en POP3, algo as sala: May 03 15:18:10 curso dovecot: pop3(ecastaneda): Error: user ecastaneda: Initialization failed: mail_location not set and autodetection failed: Mail storage autodetection failed with home=/home/ecastaneda En resumen es que dovecot trata de detectar el mail_location automticamente, el directorio donde estarn los mails de los buzones de IMAP4, pero falla lo nico que hay que hacer es no dejarle deteccin automtica sino definirle directamente el mail_location, esto se hace editando:
Pgina: 71
Con esto ya podemos configurar nuestro servicio de manera correcta, entonces pasaremos a editar el archivo principal de sendmail. Comentamos con el parmetro DNL la lnea que esta marcada para que nuestro servidor de correos interacte con los clientes Windows o Linux, si se dejara habilitada esta opcin no habra comunicacin ni transmisin de correos a travs del servidor.
Pgina: 72
Aqu debemos especificar el nombre del localhost y el nombre de dominio amarrado a la direccin IP del servidor.
En este archivo guardamos el nombre de dominio a buscar y agregamos los DNS del proveedor.
Pgina: 73
Se debe desactivar el cortafuego ya que el sistema operativo aplica reglas el cual no permiten la interaccin con los dems clientes y/o servidores de la red interna.
Adicionalmente debemos de deshabilitar mediante el comando setup las directivas de firewall para que al encender el equipo este limpio sin reglas. Posterior a esto reiniciamos el servidor y estamos listos para configurar nuestro servidor de correos.
Pgina: 74
Habilitamos la lnea 25 para decir que los protocolos a usar van a ser imap y pop3 y el modo local de transferencia de correo (lmtp)
Con esta lnea estamos creando su file del usuario donde se va almacenar la informacin de correo siempre y cuando use imap o tenga configurado en su cliente de correo guardar los correos por cierta cantidad de tiempo.
Aqu activamos el servicio SSL para Dovecot, y en este archivo activamos la opcin para usar SSL y tambin habilitamos la opcin para indicar la ruta de los certificados de seguridad los cuales permitirn uso seguro para la transmisin de correo electrnico.
reiniciamos el servicio Dovecot y vemos que esta funcionando correctamente., hagamos la prueba de conexin mediante el siguiente comando:
Pgina: 75
Posterior a esto vamos a crear los certificados digitales que usaremos para ponerle seguridad a nuestro servicio sendmail.
Los servidores de correo electrnico, como Sendmail y Postfix, pueden utilizar una firma digital creada con algoritmo DSA de 1024 octetos. Para tal fin, se crea primero un archivo de parmetros DSA:
A continuacin, se utiliza este archivo de parmetros DSA para crear una llave con algoritmo DSA y estructura x509, as como tambin el correspondiente certificado. En el mandato de ejemplo mostrado a continuacin, se establece una validez por 1095 das (tres aos) para el certificado creado.
Al terminar, ya no ser necesario conservar el archivo dsa1024.pem, mismo que puede eliminarse con plena seguridad.
Pgina: 76
Es indispensable que todos los archivos de claves y certificados tengan permisos de acceso de slo lectura para el usuario root:
La creacin de la firma digital y certificado para Dovecot es ms simple, pero requiere utilizar una clave con algoritmo RSA de 1024 octetos, con estructura X.509. En el ejemplo a continuacin, se establece una validez por 1095 das (tres aos) para el certificado creado.
De forma similar a como ocurri con el certificado para el servidor correo electrnico, lo anterior solicitar se ingresen varios datos. A fin de facilitar a los clientes de correo electrnico el poder gestionar una futura actualizacin de certificado, conviene aadir una huella distintiva indubitable (fingerprint) al certificado.
Pgina: 77
Es indispensable que todos los archivos de claves y certificados tengan permisos de acceso de slo lectura para el usuario root:
Ahora si, una vez terminamos la creacin de los certificados digitales es necesario configurar los siguientes parmetros en el archivo /etc/mail/sendmail.mc a fin de que Sendmail utilice la clave y certificado recin creados:
Luego modificamos
A fin de habilitar el puerto 465 (smtps), a travs de TCP, se debe descomentar la lnea que contiene DAEMON_OPTIONS(`Port=smtps, Name=TLSMTA, M=s')dnl, como se muestra a continuacin
Pgina: 78
Y listo, lo siguiente ser configurar los clientes de correo electrnico ya sea Microsoft Outlook o sino Mozilla Thunderbird, A continuacin el ejemplo.
Luego nos dirigimos a la opcin MAS CONFIGURACIONES para seleccionar las opciones de SSL
Al finalizar la configuracin la comprobacin debe de salir con vistos buenos, lo que significara que la configuracin del servidor de correo implementado esta correcto. Partiendo de este servicio de correo ya podemos configurar los clientes web de correo electrnico.
Pgina: 79
Herramienta de colaboracin
Para una fcil instalacin de las aplicaciones es necesario agregar el repositorio de GROUPOFFICE el cual lo encontramos en la pagina web http://www.alcancelibre.org/al/server/AL-Server.repo En este Link nos mostrara de forma muy bsica lo necesario para su instalacin de la aplicacin. Antes debemos agregar el repositorio AL-DESKTOP a nuestro Linux mediante el siguiente comando
Posterior a esto, debemos ejecutar el siguiente comando para instalar la herramienta de groupoffice.
Una vez instalado la aplicacin se debe verificar si la aplicacin mysql server esta instalado en el servidor Linux ya que groupoffice trabaja de la mano con dicha aplicacin.
Pgina: 80
Pgina: 81
Configuracin de SquirrelMail.
Cuando se instala de forma completa el Sistema operativo, por defecto el Squirrelmail queda instalado en el siguiente el siguiente directorio: /etc/Squirrelmail/ Dentro de este directorio se encuentran los siguientes archivos. /etc/Squirrelmail/config.php /etc/Squirrelmail/config_local.php /etc/Squirrelmail/default_pref El archivo de configuracin de importancia es el archivo config.php ya que en este archivo habilitaremos y redireccionaremos los protocolos imap y smtp para que el servidor pueda recibir y enviar correos a distintos destinatarios
Finalizando configuracin.
Active, si no lo ha hecho an, el servicio de IMAP. Si utiliza Red Hat Enterprise Linux 4.0, CentOS 4.0 o White Box Enterprise Linux 4.0, el paquete imap es reemplazado por dovecot, el cual funciona como otros servicios. Se debe editar el fichero /etc/dovecot.conf y asegurarse que estn habilitados el servicios de imap (de modo predefinido solo debe estar habilitado imap):
Pgina: 82
chkconfig imap on
Reinicie o inicie el servicio de apache:
http://127.0.0.1/webmail/
Para obtener usuarios que puedan loquearse se tiene que crear usuarios locales con el comando useradd. Al finalizar estara apto para poder enviar y recibir mensajes de correo electrnico va Web o caso contrario configurando el cliente de correo Microsoft Outlook Express o cualquier otra cliente de correo que se encuentre instalado en su computadora
Pgina: 83
Es utilizado principalmente por entidades bancarias, tiendas en lnea, y cualquier tipo de servicio que requiera el envo de datos personales o contraseas. El puerto estndar para este protocolo es el 443. Para la creacin de certificados digitales en nuestro servidor Web debemos tener en cuenta la configuracin bsica de nuestros archivos esenciales para implementar un servidor Web. Cabe sealar que la configuracin debe realizarse de manera exitosa para que el siguiente paso que es la creacin de certificados pueda darse de manera correcta Nativamente el S.O genera un certificado digital a que continuacin mostramos. No haremos cambio en ningn archivo y el primer paso para poder ver el certificado que genera es reiniciar el servicio Web de tal modo que el active el demonio httpd
Una vez ejecutado dicho comando, lo siguiente ser abrir un browser y colocar de la manera siguiente, en este ejemplo tomaremos como referencia la direccin IP 130.10.1.29
https://130.10.1.29
Pgina: 84
Aqu nos muestra un mensaje donde pide la verificacin de identidad que solicita el cliente a nuestro servidor Web seguro (aun nativo del S.O), el paso a seguir es elegir la primera opcin donde menciona lo siguiente Aceptar este ce rtificado permanentemente y nos aparecer un mensaje de error donde nos muestra que el servidor a detectado la solicitud de un usuario a la pagina Web del servidor y este le devolver un certificado perteneciente al localhost.localdomain (certificado digital nativo del S.O)
Luego de este mensaje optaremos por seguir adelante (ACEPTAR) y a continuacin mostrara nuestro servidor Web en modo pgina de prueba ya que aun no hemos creado nuestros certificados digitales al modo que nosotros creamos conveniente. Aqu muestra la direccin IP de nuestro servidor, junto a el una candado de seguridad
Pgina: 85
Tal como se indica en el comentario, esto tiene un significado, el cual es que en el servidor Web se encuentra una estructura predeterminada del servidor Web nativo, si nosotros hacemos doble click sobre dicho candado mostrara lo siguiente. Si queremos mas detalles de lo que existe en dicho certificado, optamos por VER y mostrara lo siguiente.
Con lo ya mostrado en las imgenes anteriores usted estar en las condiciones de como reconocer un certificado de seguridad, ahora pasaremos a la creacin de certificados digitales de manera personalizada, ya que lo mostrado son los certificados digitales
Pgina: 86
nativos del S.O Cabe sealar que antes de crear nuestro certificado digital debemos configurar debidamente el servidor web, sin ningun error.. Para nuestro caso de ejemplo, usaremos dos archivos binarios. En la vida real les recomiendo poner algunos archivos ms, aqu mi ejemplo real:
Con la lnea que se agrego se genero un archivo llamado server.key el cual contiene la clave del servidor con un soporte de 1024 bits para autenticacin. Es muy importante mantener una copia de esta clave pues es la base de encriptacin usando un certificado de ser posible mantener un respaldo en un diskette o cinta. El costo de un certificado, aunque varia esta entre los 100 y 600 dlares aproximadamente y es doloroso tener que generar un certificado, prefiero mantenerlo en un CD con la copia de server.key a no tener que pagar nuevamente El segundo paso es generar una peticin de certificacin (Certificate Signed Request) con esta podremos realizar la peticin de un certificado a la entidad certificadora de nuestra eleccin. Este es el archivo que se les enva cuando las entidades certificadoras solicitan el CSR. Sin embargo tambin podemos hacer que nuestro sistema operativo genere un Certificado Autogenerado el cual nos permita operar de forma segura, pero siempre le sacara a los clientes una advertencia de que
Pgina: 87
A continuacin ejecutaremos el comando donde nos permite definir parmetros de identificacin de la empresa para el certificado digital.
Cuando vayamos a comprar un certificado, solo enviaremos este archivo server.crt a la entidad certificadora. Ahora esto de comprar un certificado toma un tiempo y cuesta dinero, procedamos nosotros a generarnos un certificado autogenerado a partir de estos datos y seguir operando hasta que idealmente nos llegue el certificado valido
Pgina: 88
Este certificado de ejemplo ser valido para 60 das, podemos poner mas (1400 o algo as) si es que nunca vamos a pedir un certificado valido a la entidad certificadora. A continuacin ejecutaremos la lnea para crear el certificado CRT
openssl x509 -req -days 60 -in server.csr -signkey server.key -out server.crt Una vez echo esto, ya tendremos lo certificados autogenerados:
Luego reemplazaremos estos archivos de la manera siguiente: Copiaremos el server.crt al directorio /etc/httpd/conf/ssl.crt/ Copiaremos el server.key al directorio /etc/httpd/conf/ssl.key/ Luego reindicaremos el servicio Web con el comando que se conoce y debe salir de manera correcta (OK) Pasaremos a comprobar si el certificado digital esta amarrado al servicio Web de apache, colocando en el browser lo siguiente https://130.10.1.29 Accedemos al candado que lleva el browser y veremos con detalle las caractersticas de las mismas. El ultimo paso seria configurar el archivo ssl.conf que se encuentra en la ubicacin /etc/httpd/conf.d/ssl.conf En la seccin VirtualName agregaremos nuestra direccin IP o nombre de dominio +
Pgina: 89
el puerto, Debajo colocaremos el lugar donde se almacena el directorio Web y por ultimo la direccin IP del servidor + el puerto correspondiente
Pgina: 90
NTP Utiliza el algoritmo de Marzullo (inventado por Keith Marzullo), el cual es un utilizado para seleccionar fuentes para la estimacin exacta del tiempo a partir de un nmero de fuentes, utilizando la escala UTC. La versin 4 del protocolo puede mantener el tiempo con un margen de 10 milisegundos a travs de la red mundial, alcanzado exactitud de 200 microsegundos. En redes locales, bajo condiciones idneas, este margen se reduce considerablemente. El servicio trabaja a travs del puerto 123, nicamente por UDP.
UTC (Coordinated Universal Time, o Tiempo Universal Coordinado) es un estndar de alta precisin de tiempo atmico. Tiene segundos uniformes definidos por TAI (Tiempo Atmico Internacional, o International Atomic Time), con segundos intercalares o adicionales que se anuncian a intervalos irregulares para compensar la desaceleracin de la rotacin de la Tierra, as como otras discrepancias. Estos segundos adicionales permiten a UTC estar casi a la par del Tiempo Universal ( UT, o Universal Time), el cual es otro estndar pero basado sobre el ngulo de rotacin de la Tierra, en lugar de el paso uniforme de los segundos. A continuacin empezaremos la instalacin y configuracin de un servidor de horario para lo cual empezaremos con el software que se requiere para poder iniciar la configuracin e iniciar el servicio.
Pgina: 91
Procedimientos.
Herramienta ntpdate
Una forma muy sencilla de sincronizar el reloj del sistema con cualquier servidor de tiempo es a travs de ntpdate. Es una herramienta similar a rdate, y se utiliza para establecer la fecha y hora del sistema utilizando NTP. El siguiente ejemplo realiza una consulta directa NTP, utilizando un puerto sin privilegios (opcin -u, muy til si hay un cortafuegos que impida la salida) hacia el servidor 2.pool.ntp.org.
# --- GENERAL CONFIGURATION --# # Undisciplined Local Clock. This is a fake driver intended for backup
Pgina: 92
# and when no outside source of synchronized time is available. The # default stratum is usually 3, but in this case we elect to use stratum # 0. Since the server line does not have the prefer keyword, this driver # is never used for synchronization, unless no other other # synchronization source is available. In case the local host is # controlled by some external source, such as an external oscillator or # another protocol, the prefer keyword would cause the local host to # disregard all other synchronization sources, unless the kernel # modifications are in use and declare an unsynchronized condition. # server 127.127.1.0 # local clock fudge 127.127.1.0 stratum 10 # --- NTP MULTICASTCLIENT --#multicastclient # listen on default 224.0.1.1 #restrict 224.0.1.1 mask 255.255.255.255 nomodify notrap #restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap restrict 0.pool.ntp.org mask 255.255.255.255 nomodify notrap noquery restrict 1.pool.ntp.org mask 255.255.255.255 nomodify notrap noquery restrict 2.pool.ntp.org mask 255.255.255.255 nomodify notrap noquery
Para hacer que los cambios hechos tras modificar la configuracin surtan efecto, utilice:
Luego de iniciar el servicio, empezaremos a configurar nuestros clientes teniendo como servidor al servidor de horario ya implementado. De esta manera tendremos nuestra red sincronizada
Pgina: 93
Pgina: 94
Distribuido bajo los trminos de la Licencia Publica General GNU versin 2. Cumple con las especificaciones de familia de estndares POSIX (Portable Operating System Interface for UNIX o interfaz portable de sistema operativo para Unix). Exploracin rpida. Detecta ms de 44 mil virus, gusanos y troyanos, incluyendo virus para MS Office. Capacidad para examinar contenido de ficheros ZIP, RAR, Tar, Gzip, Bzip2, MS OLE2, MS Cabinet, MS CHM y MS SZDD. Soporte para explorar ficheros comprimidos con UPX, FSG y Petite. Avanzada herramienta de actualizacin con soporte para firmas digitales y consultas basadas sobre DNS. SpamAssassin es un equipamiento lgico que utiliza un sistema de puntuacin, basado sobre algoritmos de tipo gentico, para identificar mensajes que pudieran ser sospechosos de ser correo masivo no solicitado, aadiendo cabeceras a los mensajes de modo que pueda ser filtrado por el cliente de correo electrnico o MUA (Mail User Agent).
Configuracin
Lo primero ser crear un repositorio para poder descargar los paquetes necesarios para la instalacin de mailscanner y clamav para lo cual tenemos que modificar el archivo /etc/yum.repos.d/Centos-Base.repo Al final del archivo agregaremos el nombre del repositorio que es necesario para la descarga de dichos paquetes [sistemas-uni] name=Manual De MailScanner y Clamav baseurl=http://www.alcancelibre.org/al/el/4/ gpgkey=http://www.alcancelibre.org/al/AL-RPM-KEY
Una vez configurado lo anterior, solo bastar utilizar: yum -y install mailscanner clamav Lo anterior instalar mailscanner y clamav junto con todas las dependencias que seas necesarias.
Pgina: 95
Configuracin de MailScanner.
Utilice el editor de texto de su predileccin y disponga a modificar /etc/MailScanner/MailScanner.conf con la finalidad de configurar los siguiente parmetros:
%report-dir% = /etc/MailScanner/reports/en
Cambie por:
%report-dir% = /etc/MailScanner/reports/es
Identificacin de la organizacin.
Solo es de carcter informativo y sirve para identificar si un mensaje infectado pertenece a un servidor u otro. Localice lo siguiente:
%org-name% = yoursite
Cambie por:
%org-name% = Sistemas
El parmetro %org-long-name% es utilizado para definir que mostrar en la firma localizada al final de los reportes enviados por MailScanner. Puede incluir cuanto texto sea necesario, e incluso definir varias lneas utilizando secuencias \n.
El parmetro %web-site% se utiliza para definir el URL de la empresa, mismo que tambin se incluye en la firma al final de los reportes que enva MailScannmer. Se
Pgina: 96
recomienda se utilice una URL hacia un documento que explique el porque se han rechazado/filtrado mensajes o bien informacin de contacto.
%web-site% = http://www.sistemas.edu.pe
Pgina: 97
Para agilizar el inicio de MailScanner se pueden definir los anti-virus necesarios. ClamAV es el anti-virus recomendado por tratarse de un equipamiento lgico libre. Localice lo siguiente en el fichero /etc/MailScanner/MailScanner.conf: Virus Scanners = none Cambie por: Virus Scanners = clamav
Pgina: 98
Las opciones permitidas son: yes: Permite la etiqueta en el mensaje. no: elimina los mensajes que contengan la etiqueta. disarm: Permite las etiquetas pero impide que stas funcionen. El valor predeterminado es disarm. Allow IFrame Tags = disarm Lo mismo aplica para las etiquetas form, que pueden permitir la recoleccin de datos desde el mensaje de correo electrnico con ayuda de la ingenuidad del usuario, o bien la ejecucin de cdigo peligroso a travs de guiones escritos en JavaScript a travs de la etiqueta script. Allow Form Tags = disarm Allow Script Tags = disarm
Control de Spam.
De modo predefinido est activo el soporte de exploracin de correo en bsqueda de correo masivo no solicitado (Spam). Spam Checks = yes Quienes se dedican al envo de correo masivo no solicitado han aprendido que pueden hacer que su mensaje pase los filtros enviando un mensaje con muchos destinatarios, uno de los cuales podra tener configurado tener todo en lista blanca en las opciones de SpamAssassin en el directorio de inicio del usuario. De este modo, si un mensaje llega con ms de un nmero determinado de destinatarios (20 de modo predefinido), ste se ser tratado como cualquier otro mensaje sin an si el destinatario ha decidido poner todo en lista blanca o si el remitente est en la lista blanca en el fichero /etc/MailScanner/rules/spam.whitelist.rules.
Pgina: 99
Modifique el fichero /etc/MailScanner/spam.lists.conf y defina o confirme las listas negras a utilizar ORDB-RBL relays.ordb.org. # # spamhaus.org sbl.spamhaus.org. # spamhaus-XBL xbl.spamhaus.org. # combinacin de las dos anteriores: SBL+XBL sbl-xbl.spamhaus.org. # spamcop.net bl.spamcop.net. NJABL dnsbl.njabl.org. SORBS dnsbl.sorbs.net. Localice en el fichero /etc/MailScanner/MailScanner.conf lo siguiente:
Cambie por:
A travs de SpamAssassin.
MailScanner puede echar mano de SpamAssassin para una ms eficiente deteccin de correo masivo no solicitado. Puede activarse o desactivarse esta funcionalidad a travs del parmetro Use SpamAssassin asignando yes o no.
SpamAssassin utiliza un sistema de calificacin para etiquetar o no como correo masivo no solicitado. Se asigna un valor numrico a partir de 1 (valor recomendado es 6), con o sin decimales, para el parmetro Required SpamAssassin Score. Cada vez que se identifica en un mensaje contiene alguna caracterstica que pudiera clasificarlo como correo masivo no solicitado, se asignan fracciones de punto que se van sumando. Cuando un mensaje rebasa el valor asignado para Required SpamAssassin Score ste es etiquetado de inmediato como correo masivo no solicitado.
Pgina: 100
Puede especificarse tambin a travs del parmetro High SpamAssassin Score que los mensajes que rebasen la puntuacin establecido como valor de este se eliminen directamente en lugar de solo etiquetarlos como correo masivo no solicitado. El valor prefinido (y recomendado) es 10.
El parmetro Spam Actions define que poltica a aplicar para el correo electrnico que se clasifica como Spam, calificado a partir del valor definido en Required SpamAssassin Score, pero inferior al valor definido a High SpamAssassin Score. El parmetro High Scoring Spam Actions se utiliza para definir la poltica a aplicar para el correo electrnico que se clasifica como Spam, calificado a partir del valor definido en High SpamAssassin Score. Pueden utilizarse combinaciones de los siguientes valores: Deliver Delete Bounce Entrega del mensaje de modo normal. Eliminar el Mensaje. Enva un masaje de rechazo al remitente. Este valor solo puede utilizarse con el parmetro Spam Actions, no puede utilizarse con el parmetro High Scoring Spam Actions. Almacenar el mensaje en el directorio de cuarentena. Reenviar copia del mensaje a usuario@dominio.com Convierte el contenido HTML a texto simple. Se requiere especificar el valor deliver para que tenga efecto. Convierte el mensaje a adjunto, de modo que el usuario tendr que realizar un paso adicional para mirar el contenido. Se enva una breve notificacin al usuario que le indica que no le fue entregado un mensaje por haber sido clasificado como correo masivo no solicitado, permitiendo solicitar recuperar el mensaje si acaso ste fuese un mensaje esperado. Aade la cabecera con cualquier nombre (sin espacios) con el valor especificado.
Attachment
notify
Pgina: 101
Suponiendo se aplicarn las siguientes polticas: Si el mensaje es calificado al menos el valor definido en Required SpamAssassin Score, pero inferior al valor definido en High SpamAssassin Score, se entregar al usuario como mensaje adjunto y aadir la cabecera "X-Spam-Status: Yes". Si el mensaje es calificado al menos con el valor definido en High SpamAssassin Score, se eliminar automticamente.
Los valores para Required SpamAssassin Score y High SpamAssassin Score coresponderan del siguiente modo:
Spam Actions = deliver attachment header "X-Spam-Status: Yes" High Scoring Spam Actions = delete
Listas Blancas.
Pueden especificarse listas blancas de direcciones o nombres de dominio que no se desee etiqueten como correo masivo no solicitado (Spam) en el fichero /etc/MailScanner/rules/spam.whitelist.rules del siguiente modo, donde yes signficar que el correo proveniente de dichas direcciones nunca se etiquetar como correo masivo no solicitado (Spam): # This is where you can build a Spam WhiteList # Addresses matching in here, with the value # "yes" will never be marked as spam. #From: 152.78. yes #From: 130.246. yes FromOrTo: default no From: 201.161.1.226 yes From: 192.168.0. yes En el ejemplo anterior, todo el correo proveniente de 201.161.1.226 y cualquier direccin IP de la red 192.168.0.0/24 quedar exento de etiquetarse como correo masivo no solicitado (Spam).
Pgina: 102
Configuracin de servicios.
Necesitar inicializar los servicios clamd y freshclam. El segundo, particularmente, se encarga de contactar los servidores que hospedan las bases de datos actualizadas con las ms recientes firmas de los ms recientes virus, gusanos, troyanos y otros tipos de equipamiento lgico maligno. chkconfig clamd on chkconfig freshclam on service clamd start service freshclam start De ser necesario puede actualizar manualmente y de manera inmediata la base de datos de firmas ejecutando simplemente freshclam desde cualquier terminal como root. Se debe desactivar y detener el servicio de sendmail, el cual ser controlado en adelante por el servicio MailScanner: chkconfig sendmail off chkconfig MailScanner on service sendmail stop service MailScanner start
Nacional de Normas y Tecnologa de EE.UU.), publicado el 30 de agosto de 1991, como propuesta para el proceso de firmas digitales. Se utiliza para firmar informacin, ms no para cifrar sta. RSA, acrnimo de los apellidos de sus autores, Ron Rivest, Adi Shamir y Len Adleman, es un algoritmo para el ciframiento de claves pblicas que fue publicado en 1977, patentado en EE.UU. en 1983 por el el Instituto Tecnolgico de Michigan (MIT). RSA es utilizado ampliamente en todo el mundo para los protocolos destinados para el comercio electrnico. X.509 es un estndar ITU-T (estandarizacin de Telecomunicaciones de la International Telecommunication Union ) para infraestructura de claves pblicas (PKI, o Public Key Infrastructure). Entre otras cosas, establece los estndares para certificados de claves pblicas y un algoritmo para validacin de ruta de certificacin. Este ltimo se encarga de verificar que la ruta de un certificado sea vlida bajo una infraestructura de clave pblica determinada. Es decir, desde el certificado inicial, pasando por certificados intermedios, hasta el certificado de confianza emitido por una Autoridad Certificadora (CA, o Certification Authority). OpenSSL es una implementacin libre, de cdigo abierto, de los protocolos SSL (Secure Sockets Layer o Nivel de Zcalo Seguro) y TLS (Transport Layer Security, o Seguridad para Nivel de Transporte). Est basado sobre el extinto proyecto SSLeay, iniciado por Eric Young y Tim Hudson, hasta que stos comenzaron a trabajar para la divisin de seguridad de EMC Corporation.
Procedimientos.
Acceda al sistema como el usuario root.
Pgina: 104
Se debe crear el directorio donde se almacenarn los certificados para todos los sitios SSL. El directorio, por motivos de seguridad, debe ser solamente accesible para el usuario root. mkdir -m 0700 /etc/ssl A fin de mantener cierta organizacin, es conveniente crear un directorio especfico para almacenar el certificado del servidor. Igualmente, por motivos de seguridad, debe ser solamente accesible para el usuario root. mkdir -m 0700 /etc/ssl/sistemasuni.edu.pe Acceder al directorio que se acaba de crear. cd /etc/ssl/sistemasuni.edu.pe
Sendmail.
Generando clave y certificado.
Sendmail requiere una llave creada con algoritmo DSA de 1024 octetos. Para tal fin, se crea primero un fichero de parmetros DSA: openssl dsaparam 1024 -out dsa1024.pem A continuacin, se utiliza este fichero de parmetros DSA para crear una llave con algoritmo DSA y estructura x509, as como tambin el correspondiente certificado. En el ejemplo a continuacin, se establece una validez por 730 das (dos aos) para el certificado creado. openssl req -x509 -nodes -newkey dsa:dsa1024.pem -days 730 -out sendmail.crt -keyout sendmail.key Lo anterior solicitar se ingresen varios datos: Cdigo de dos letras para el pas. Estado o provincia. Ciudad. Nombre de la empresa o razn social.
Pgina: 105
La salida devuelta sera similar a la siguiente: Generating a 1024 bit DSA private key writing new private key to 'sendmail.key' ----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]:PE State or Province Name (full name) [Berkshire]:Lima Locality Name (eg, city) [Newbury]:PERU Organization Name (eg, company) [My Company Ltd]: Sistemas UNI Organizational Unit Name (eg, section) []:Direccion Educacion Common Name (eg, your name or your server's hostname) []: Sistemasuni.edu.pe Email Address []:webmaster@sistemasuni.edu.pe El certificado solo ser vlido cuando el servidor de correo electrnico sea invocado con el nombre definido en el campo Common Name. Es decir, solo podr utilizarlo cuando se defina sistemasuni.edu.pe como servidor SMTP con soporte TLS. No funcionar si se invoca al servidor como, por mencionar un ejemplo, mail.sistemasuni.edu.pe Al terminar, ya no ser necesario conservar el fichero dsa1024.pem, mismo que puede eliminarse con plena seguridad. rm -f dsa1024.pem Es indispensable que todos los ficheros de claves y certificados tengan permisos de acceso de solo lectura para el usuario root: Pgina: 106
Parmetros de /etc/mail/sendmail.mc.
Es necesario configurar los siguientes parmetros en el fichero /etc/mail/sendmail.mc a fin de que Sendmail utilice la clave y certificado recin creados: define(`confCACERT_PATH',`/etc/ssl/sistemasuni.edu.pe') define(`confCACERT',`/etc/ssl/sistemasuni.edu.pe/sendmail. crt') define(`confSERVER_CERT',`/etc/ssl/sistemasuni.edu.pe/send mail.crt') define(`confSERVER_KEY',`/etc/ssl/sistemasuni.edu.pe/sendm ail.key') Solo resta activar el puerto que ser utilizado para SMTPS (465 por TCP). DAEMON_OPTIONS(`Port=smtps, Name=TLSMTA, M=s')dnl El acceso cifrado con TLS es opcional si se realizan conexiones a travs del puerto 25, y obligatorio si se hacen a travs del puerto 465. El puerto 587 (submission), puede ser tambin utilizado para envo de correo electrnico. Por estndar se utiliza como puerto alternativo en los casos donde un cortafuego impide a los usuarios acceder hacia servidores de correo trabajando por puerto 25. MS Outlook Express no tiene soporte para usar TLS a travs del puerto 587, pero el resto de los clientes de correo electrnico con soporte TLS si. DAEMON_OPTIONS(`Port=submission, Name=MSA, M=Ea')dnl A fin de que surtan efecto los cambios, es necesario reiniciar el servicio sendmail. service sendmail restart
Comprobacin.
Realice una conexin con telnet al puerto 25 del sistema. Ingrese el mandato EHLO. La salida deber devolver, entre todas las funciones del servidor, una lnea que indica STARTTLS. La salida puede ser similar a la siguiente:
Pgina: 107
telnet 127.0.0.1 25 EHLO sistemasuni.edu.pe Trying 127.0.0.1... Connected to 127.0.0.1. Escape character is '^]'. 220 sistemasuni.edu.pe ESMTP Sendmail 8.13.1/8.13.1; Mon, 2 Oct 2006 13:18:02 -0500 ehlo sistemasuni.edu.pe 250-sistemasuni.edu.pe Hello localhost.localdomain [127.0.0.1], pleased to meet you 250-ENHANCEDSTATUSCODES 250-PIPELINING 250-8BITMIME 250-SIZE 250-DSN 250-ETRN 250-AUTH LOGIN PLAIN 250-STARTTLS 250-DELIVERBY 250 HELP
Al realizar la configuracin del cliente de correo electrnico, deber especificarse conexin por TLS. Tras aceptar el certificado, deber ser posible autenticar, con nombre de usuario y clave de acceso, y enviar correo electrnico.
Dovecot.
Generando clave y certificado.
La creacin de la llave y certificado para Dovecot es ms simple, pero requiere utilizar una clave con algoritmo RSA de 1024 octetos, con estructura X.509. En el ejemplo a continuacin, se establece una validez por 730 das (dos aos) para el certificado creado. openssl req -x509 -nodes -newkey rsa:1024 -days 730 -out dovecot.crt -keyout dovecot.key De forma similar a como ocurri con Sendmail, lo anterior solicitar se ingresen varios datos: Cdigo de dos letras para el pas. Estado o provincia. Ciudad. Nombre de la empresa o razn social. Unidad o seccin.
Pgina: 108
La salida devuelta sera similar a la siguiente: Generating a 1024 bit RSA private key ................++++++ .++++++ writing new private key to 'dovecot.key' ----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]:PE State or Province Name (full name) [Berkshire]:Lima Locality Name (eg, city) [Newbury]:PERU Organization Name (eg, company) [My Company Ltd]: Sistemas UNI Organizational Unit Name (eg, section) []:Direccion Educacion Common Name (eg, your name or your server's hostname) []: Sistemasuni.edu.pe Email Address []:webmaster@sistemasuni.edu.pe El certificado solo ser vlido cuando el servidor de correo electrnico sea invocado con el nombre definido en el campo Common Name. Es decir, solo podr utilizarlo cuando se defina sistemasuni.edu.pe como servidor POP3 o IMAP con soporte TLS. No funcionar si se invoca al servidor como, por mencionar un ejemplo, mail.sistemasuni.edu.pe Es indispensable que todos los ficheros de claves y certificados tengan permisos de acceso de solo lectura para el usuario root: chmod 400 /etc/ssl/sistemasuni.edu.pe/dovecot.*
Pgina: 109
Parmetros de /etc/dovecot.conf.
En el parmetro protocols, se activan todos los servicios (imap, imaps, pop3 y pop3s). protocols = imap imaps pop3 pop3s De modo predeterminado, el soporte SSL de Dovecot est activo. Verifique que el parmetro ssl_disable tenga el valor no, o bien solo est comentado. #ssl_disable = no Y se especifican las rutas del certificado y clave a travs de los parmetros ssl_cert_file y ssl_key_file, del siguiente modo: ssl_cert_file = /etc/ssl/sistemasuni.edu.pe/dovecot.crt ssl_key_file = /etc/ssl/sistemasuni.edu.pe/dovecot.key A fin de que surtan efecto los cambios, es necesario reiniciar el servicio dovecot. service dovecot restart
Comprobacin.
Utilice cualquier cliente de correo electrnico con soporte para TLS y configure ste para conectarse hacia el sistema a travs de IMAPS (puerto 993) o bien POP3S (puerto 995). Tras aceptar el certificado del servidor, el sistema deber permitir autenticar, con nombre de usuario y clave de acceso, y realizar la lectura del correo electrnico.
Pgina: 110
Dependiendo de las necesidades de cada red puede ponerse uno o ms firewalls para establecer distintos permetros de seguridad en tono a un sistema. Es frecuente tambin que se necesit exponer algn servidor a Internet ( como es el caso de un servidor web, correo, ftp .. etc ) y en estos casos obviamente en principio se debe aceptar cualquier conexin de ellos. Lo que se recomienda en este caso, es situar en un lugar separado de la red local nuestros servidores, a este espacio separado lo llamamos como DMZ ( Zona Desmilitarizada). Entonces si hacemos esto, nuestro firewall tendr tres entradas tal como lo muestra la imagen.
Pgina: 111
En una zona desmilitarizada pueden poner todos los servidores que necesiten, con esta arquitectura permitimos que cualquier servidor dentro de la DMZ sea accesible desde Internet La estructura DMZ tambin puede hacerse con doble firewall (aunque como se ve, se puede usar un nico dispositivo con al menos tres interfaces de red) Tal como estamos mostrando en las imgenes, un firewall debe tener como mnimo 2 tarjetas de red, una para la red local y otra para la red externa (Internet) Si nosotros quisiramos usar una zona DMZ tendramos que agregar una tarjeta de red ms para habilitar dicho lugar donde se almacenaran los servidores
Pgina: 112
Los firewall pueden usarse en cualquier red. Es habitual tenerlos como proteccin de Internet en las empresas aunque ah tambin suelen tener doble funcin, controlar los accesos externos hacia dentro y los internos hacia el exterior, este ultimo se hace frecuentemente con un el firewall o con un servidor Proxy ( que tambin utilizan reglas, aunque de mas alto nivel) Aunque usted no lo crea tambin existen servidores que se encuentran algunos protegidos y algunos que se encuentran a exposicin de ataques tal como veremos en la siguiente imagen.
Sea el tipo de firewall que sea, generalmente no tendr mas que un conjunto de reglas en las que se examina el origen y el destino de los paquetes del protocolo TCP/IP en cuanto a los protocolos es probable que sean capaces de filtrar muchos tipos de ellos. No solo los TCP, tambien los paquetes UDP, los ICMP, los GRE y otros protocolos vinculados a vpns. Esto podria ser en el conjunto de reglas de un firewall del primero grafico: Poltica por defecto ACEPTAR Todo lo que venga de la red local al firewall ACEPTAR Todo lo que venga de la ipde mi casa al puerto 22 ACEPTAR Todo lo que venga de la casa del jefe al puerto tcp 1723 ACEPTAR Todo lo que venga de la red local al exterior ENMASCARAR Todo lo que venga del exterior al puerto tcp 1 al 1024 DENEGAR Todo lo que venga del exterior al puerto 3389 DENEGAR Todo lo que venga del exterior al puerto UDP 1 al 1024 DENEGAR En definitiva lo que se hace es: Habilitar el acceso a puertos de administracin a determinadas direcciones IP
Pgina: 113
Enmascarar el trafico de la red local hacia el exterior (NAT, una peticin de la LAN sale al exterior con la ip publica) para poder salir a Internet. Deniega el acceso desde el exterior a puertos de administracin y a todo lo que este entre el 1 y 1024
Hay dos maneras de implementar un firewall 1.- poltica por defecto ACEPTAR: en principio todo lo que entra y sale por el firewall se acepta y solo se denegara lo que se diga explcitamente 2.- poltica por defecto DENEGAR: todo esta denegado y solo se permitir pasar por el firewall aquellos que se permita explcitamente
Iptables
IPtables es un sistema de firewall vinculado al kernel de Linux que se ha extendido enormemente a partir del kernel 2.4 de este sistema operativo. Al igual que el anterior sistema ipchains, un firewall de iptables no es como un servidor que lo iniciamos o detenemos o que se pueda caer por un error de programacin (esto es una pequea mentira, ha tenido alguna vulnerabilidad que permite DoS, pero nunca tendr tanto peligro como las aplicaciones que escuchan en determinado puerto TCP): iptables esta integrado con el kernel, es parte del sistema operativo. Cmo se pone en marcha? Realmente lo que se hace es aplicar reglas. Para ellos se ejecuta el comando iptables, con el que aadimos, borramos, o creamos reglas. Por ello un firewall de iptables no es sino un simple script de shell en el que se van ejecutando las reglas de firewall.
Pgina: 114
Como se ve en el grfico, bsicamente se mira si el paquete esta destinado a la propia maquina o si va a otra. Para los paquetes (o datagramas, segn el protocolo) que van a la propia maquina se aplican las reglas INPUT y OUTPUT, y para filtrar paquetes que van a otras redes o maquinas se aplican simplemente reglas FORWARD. INPUT, TPUT y FORWARD son los tres tipos de reglas de filtrado. Pero antes de aplicar esas reglas es posible aplicar reglas de NAT: estas se usan para hacer redirecciones de puertos o cambios en las IPs origen y destino. Veremos ejemplos. E incluso antes de las reglas de NAT se pueden meter reglas de tipo MANGLE, destinadas a modificar los paquetes; son reglas poco conocidas y es probable que no las usen. Por tanto tenemos tres tipos de reglas en iptables:
MANGLE NAT: reglas PREROUTING, POSTROUTING FILTER: reglas INPUT, OUTPUT, FORWARD
Los scripts de iptables pueden tener este aspecto: #!/bin/sh ## SCRIPT de IPTABLES - ejemplo del manual de iptables
Pgina: 115
## FLUSH de reglas iptables -F iptables -X iptables -Z iptables -t nat -F ## Establecemos poltica por defecto iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT iptables -P FORWARD ACCEPT iptables -t nat -P PREROUTING ACCEPT iptables -t nat -P POSTROUTING ACCEPT ## Empezamos a filtrar # El localhost se deja (por ejemplo conexiones locales a mysql) /sbin/iptables -A INPUT -i lo -j ACCEPT # A nuestra IP le dejamos todo iptables -A INPUT -s 195.65.34.234 -j ACCEPT # A un colega le dejamos entrar al mysql para que mantenga la BBDD iptables -A INPUT -s 231.45.134.23 -p tcp --dport 3306 -j ACCEPT # A un diseador le dejamos usar el FTP iptables -A INPUT -s 80.37.45.194 -p tcp -dport 20:21 -j ACCEPT # El puerto 80 de www debe estar abierto, es un servidor web. iptables -A INPUT -p tcp --dport 80 -j ACCEPT # Y el resto, lo cerramos iptables -A INPUT -p tcp --dport 20:21 -j DROP iptables -A INPUT -p tcp --dport 3306 -j DROP iptables -A INPUT -p tcp --dport 22 -j DROP iptables -A INPUT -p tcp --dport 10000 -j DROP echo " OK . Verifique que lo que se aplica con: iptables -L -n" # Fin del script
Se puede mejorar este script usando variables, se puede poner el comando con el path completo, pero limtense a hacer copy-paste. Para el resto de mortales, no olvidarse de ponerle flags de ejecucin: chmod +x firewall1.sh o chmod 750 firewall1.sh Con unas pocas reglas con las que cerramos puertos al pblico a los que no tienen
Pgina: 116
porque tener acceso, salvo el 80. Pero cualquiera con algo de ojo se habr dado cuenta de que ni se filtra el UDP ni el ICMP. Apostara cualquier cosa a que el sistema tiene algn puerto udp abierto, y adems peligroso como el SNMP. netstat nos dar la informacin precisa que necesitamos. Hay gente que se decanta por hacerse un nmap as mismos. Cuidado: dependiendo de cmo lo ejecutemos quiz no nos muestre todos los puertos, ya que suele mirar el bien conocido.
Imaginemos que hemos dado un repaso a nuestro sistema, y ahora si que tenemos mejor identificados los puertos tcp y udp abiertos. Pero por si acaso nos curamos en salud y al final del script cerraremos el rango de puertos del 1 al 1024, los reservados tanto para tcp como udp. #!/bin/sh ## SCRIPT de IPTABLES - ejemplo del manual de iptables ## Ejemplo de script para proteger la propia mquina
## FLUSH de reglas iptables -F iptables -X iptables -Z iptables -t nat -F ## Establecemos politica por defecto iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT iptables -P FORWARD ACCEPT iptables -t nat -P PREROUTING ACCEPT iptables -t nat -P POSTROUTING ACCEPT ## Empezamos a filtrar # El localhost se deja (por ejemplo conexiones locales a mysql) /sbin/iptables -A INPUT -i lo -j ACCEPT # A nuestra IP le dejamos todo iptables -A INPUT -s 195.65.34.234 -j ACCEPT # A un colega le dejamos entrar al mysql para que mantenga la BBDD iptables -A INPUT -s 231.45.134.23 -p tcp --dport 3306 -j ACCEPT # A un diseador le dejamos usar el FTP iptables -A INPUT -s 80.37.45.194 -p tcp -dport 20:21 -j ACCEPT # El puerto 80 de www debe estar abierto, es un servidor web. iptables -A INPUT -p tcp --dport 80 -j ACCEPT # Cerramos rango de los puertos privilegiados. Cuidado con este tipo de
Pgina: 117
# barreras, antes hay que abrir a los que si tienen acceso. iptables -A INPUT -p tcp --dport 1:1024 -j DROP iptables -A INPUT -p udp --dport 1:1024 -j DROP # Cerramos otros puertos que estan abiertos iptables -A INPUT -p tcp --dport 3306 -j DROP iptables -A INPUT -p tcp --dport 10000 -j DROP iptables -A INPUT -p udp --dport 10000 -j DROP echo " OK . Verifique que lo que se aplica con: iptables -L -n" # Fin del script - Versin con DROP por defecto
Veamos como sera este firewall-gateway: #!/bin/sh ## SCRIPT de IPTABLES - ejemplo del manual de iptables ## Ejemplo de script para firewall entre red-local e internet
Pgina: 118
##
## FLUSH de reglas iptables -F iptables -X iptables -Z iptables -t nat -F ## Establecemos politica por defecto iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT iptables -P FORWARD ACCEPT iptables -t nat -P PREROUTING ACCEPT iptables -t nat -P POSTROUTING ACCEPT ## Empezamos a filtrar ## Nota: eth0 es el interfaz conectado al router y eth1 a la LAN # El localhost se deja (por ejemplo conexiones locales a mysql) /sbin/iptables -A INPUT -i lo -j ACCEPT # Al firewall tenemos acceso desde la red local iptables -A INPUT -s 192.168.10.0/24 -i eth1 -j ACCEPT # Ahora hacemos enmascaramiento de la red local # y activamos el BIT DE FORWARDING iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o eth0 -j MASQUERADE # Con esto permitimos hacer forward de paquetes en el firewall, o sea # que otras mquinas puedan salir a traves del firewall. echo 1 > /proc/sys/net/ipv4/ip_forward ## Y ahora cerramos los accesos indeseados del exterior: # Nota: 0.0.0.0/0 significa: cualquier red # Cerramos el rango de puerto bien conocido iptables -A INPUT -s 0.0.0.0/0 -p tcp -dport 1:1024 -j DROP iptables -A INPUT -s 0.0.0.0/0 -p udp -dport 1:1024 -j DROP # Cerramos un puerto de gestin: webmin iptables -A INPUT -s 0.0.0.0/0 -p tcp -dport 10000 -j DROP echo " OK . Verifique que lo que se aplica con: iptables -L -n" # Fin del script
Pgina: 119
Pero como somos muy malvados queremos que los empleados solamente puedan navegar por internet, denegando el acceso a Kazaa o edonkey. Esta sera una configuracin simple pero efectiva. #!/bin/sh ## SCRIPT de IPTABLES - ejemplo del manual de iptables ## Ejemplo de script para firewall entre red-local e internet ## con filtro para que solo se pueda navegar.
## FLUSH de reglas iptables -F iptables -X iptables -Z iptables -t nat -F ## Establecemos politica por defecto iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT iptables -P FORWARD ACCEPT iptables -t nat -P PREROUTING ACCEPT iptables -t nat -P POSTROUTING ACCEPT ## Empezamos a filtrar ## Nota: eth0 es el interfaz conectado al router y eth1 a la LAN # El localhost se deja (por ejemplo conexiones locales a mysql) /sbin/iptables -A INPUT -i lo -j ACCEPT # Al firewall tenemos acceso desde la red local iptables -A INPUT -s 192.168.10.0/24 -i eth1 -j ACCEPT ## Ahora con regla FORWARD filtramos el acceso de la red local ## al exterior. Como se explica antes, a los paquetes que no van dirigidos al ## propio firewall se les aplican reglas de FORWARD # Aceptamos que vayan a puertos 80 iptables -A FORWARD -s 192.168.10.0/24 -i eth1 -p tcp --dport 80 -j ACCEPT # Aceptamos que vayan a puertos https iptables -A FORWARD -s 192.168.10.0/24 -i eth1 -p tcp --dport 443 -j ACCEPT # Aceptamos que consulten los DNS iptables -A FORWARD -s 192.168.10.0/24 -i eth1 -p tcp --dport 53 -j ACCEPT iptables -A FORWARD -s 192.168.10.0/24 -i eth1 -p udp --dport 53 -j ACCEPT # Y denegamos el resto. Si se necesita alguno, ya avisaran iptables -A FORWARD -s 192.168.10.0/24 -i eth1 -j DROP # Ahora hacemos enmascaramiento de la red local # y activamos el BIT DE FORWARDING
Pgina: 120
iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o eth0 -j MASQUERADE # Con esto permitimos hacer forward de paquetes en el firewall, o sea # que otras mquinas puedan salir a traves del firewall. echo 1 > /proc/sys/net/ipv4/ip_forward ## Y ahora cerramos los accesos indeseados del exterior: # Nota: 0.0.0.0/0 significa: cualquier red # Cerramos el rango de puerto bien conocido iptables -A INPUT -s 0.0.0.0/0 -p tcp -dport 1:1024 -j DROP iptables -A INPUT -s 0.0.0.0/0 -p udp -dport 1:1024 -j DROP # Cerramos un puerto de gestin: webmin iptables -A INPUT -s 0.0.0.0/0 -p tcp -dport 10000 -j DROP # Fin del script Supongamos que este firewall tiene alguna funcin adicional: es un servidor proxy y adems es un servidor de correo. Darle funcionalidades de este tipo a un firewall no es recomendable, porque si no se protegen bien esos puertos o si no est actualizado el software pueden entrar en el firewall a base de xploits comprometiendo TODA la red local. De todas formas muchas empresas no se pueden permitir o no quieren tener una mquina para cada cosa, bastante les cuesta a muchas poner un firewall. Por tanto: si se aaden servicios que deben estar abiertos al pblico en el propio firewall, nos la estamos jugando, y se recomienda pasar el servicio a otra mquina y ponerla en la DMZ.
Supongamos tambin que la empresa tiene comerciales en ruta y que se conectan a internet desde su porttil y con una ip dinmica. Supongamos tambin que el jefe de la empresa quiere acceder a la red local desde casa con una conexin ADSL. Ahora en el firewall debieramos tener instalado un servidor SMTP, pop3, y un PPTPD. #!/bin/sh ## SCRIPT de IPTABLES - ejemplo del manual de iptables ## Ejemplo de script para firewall entre red-local e internet ## con servicios abiertos de puerto 25, 110, y 1723
Pgina: 121
iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT iptables -P FORWARD ACCEPT iptables -t nat -P PREROUTING ACCEPT iptables -t nat -P POSTROUTING ACCEPT ## Empezamos a filtrar ## Nota: eth0 es el interfaz conectado al router y eth1 a la LAN # El localhost se deja (por ejemplo conexiones locales a mysql) iptables -A INPUT -i lo -j ACCEPT # Al firewall tenemos acceso desde la red local iptables -A INPUT -s 192.168.10.0/24 -i eth1 -j ACCEPT ## Abrimos el acceso a puertos de correo # Abrimos el puerto 25, hay que configurar bien el relay del servidor SMTP iptables -A INPUT -s 0.0.0.0/0 -p tcp --dport 25 -j ACCEPT # Abrimos el pop3 iptables -A INPUT -s 0.0.0.0/0 -p tcp --dport 110 -j ACCEPT # Y abrimos el puerto pptpd para la ip del adsl de casa del jefe iptables -A INPUT -s 211.45.176.24 -p tcp --dport 1723 -j ACCEPT ## Ahora con regla FORWARD filtramos el acceso de la red local ## al exterior. Como se explica antes, a los paquetes que no van dirigidos al ## propio firewall se les aplican reglas de FORWARD # Aceptamos que vayan a puertos 80 iptables -A FORWARD -s 192.168.10.0/24 -i eth1 -p tcp --dport 80 -j ACCEPT # Aceptamos que vayan a puertos https iptables -A FORWARD -s 192.168.10.0/24 -i eth1 -p tcp --dport 443 -j ACCEPT # Aceptamos que consulten los DNS iptables -A FORWARD -s 192.168.10.0/24 -i eth1 -p tcp --dport 53 -j ACCEPT iptables -A FORWARD -s 192.168.10.0/24 -i eth1 -p udp --dport 53 -j ACCEPT # Y denegamos el resto. Si se necesita alguno, ya avisaran iptables -A FORWARD -s 192.168.10.0/24 -i eth1 -j DROP # Ahora hacemos enmascaramiento de la red local # y activamos el BIT DE FORWARDING iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o eth0 -j MASQUERADE # Con esto permitimos hacer forward de paquetes en el firewall, o sea # que otras mquinas puedan salir a traves del firewall. echo 1 > /proc/sys/net/ipv4/ip_forward ## Y ahora cerramos los accesos indeseados del exterior:
Pgina: 122
# Nota: 0.0.0.0/0 significa: cualquier red # Cerramos el rango de puerto bien conocido iptables -A INPUT -s 0.0.0.0/0 -i eth0 -p tcp -dport 1:1024 -j DROP iptables -A INPUT -s 0.0.0.0/0 -i eth0 -p udp -dport 1:1024 -j DROP # Cerramos un puerto de gestin: webmin iptables -A INPUT -s 0.0.0.0/0 -i eth0 -p tcp --dport 10000 -j DROP # Y cerramos el puerto del servicio PPTPD, solo abierto para el jefe. iptables -A INPUT -s 0.0.0.0/0 -i eth0 -p tcp --dport 1723 -j DROP # Fin del script
Qu tipo de reglas son las que hay que usar para filtrar el trfico entre la DMZ y la LAN? Solo pueden ser las FORWARD, ya que estamos filtrando entre distintas redes, no son paquetes destinados al propio firewall.
Pgina: 123
#!/bin/sh ## SCRIPT de IPTABLES - ejemplo del manual de iptables ## Ejemplo de script para firewall entre red-local e internet con DMZ ## ## FLUSH de reglas iptables -F iptables -X iptables -Z iptables -t nat -F ## Establecemos politica por defecto iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT iptables -P FORWARD ACCEPT iptables -t nat -P PREROUTING ACCEPT iptables -t nat -P POSTROUTING ACCEPT ## Empezamos a filtrar ## Nota: eth0 es el interfaz conectado al router y eth1 a la LAN # Todo lo que venga por el exterior y vaya al puerto 80 lo redirigimos # a una maquina interna iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to 192.168.3.2:80 # Los accesos de un ip determinada HTTPS se redirigen e esa # maquina iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 443 -j DNAT --to 192.168.3.2:443 # El localhost se deja (por ejemplo conexiones locales a mysql) /sbin/iptables -A INPUT -i lo -j ACCEPT # Al firewall tenemos acceso desde la red local iptables -A INPUT -s 192.168.10.0/24 -i eth1 -j ACCEPT # Ahora hacemos enmascaramiento de la red local y de la DMZ # para que puedan salir haca fuera # y activamos el BIT DE FORWARDING iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o eth0 -j MASQUERADE iptables -t nat -A POSTROUTING -s 192.168.3.0/24 -o eth0 -j MASQUERADE # Con esto permitimos hacer forward de paquetes en el firewall, o sea # que otras mquinas puedan salir a traves del firewall. echo 1 > /proc/sys/net/ipv4/ip_forward ## Permitimos el paso de la DMZ a una BBDD de la LAN: iptables -A FORWARD -s 192.168.3.2 -d 192.168.10.5 -p tcp --dport 5432 -j ACCEPT
Pgina: 124
iptables -A FORWARD -s 192.168.10.5 -d 192.168.3.2 -p tcp --sport 5432 -j ACCEPT ## permitimos abrir el Terminal server de la DMZ desde la LAN iptables -A FORWARD -s 192.168.10.0/24 -d 192.168.3.2 -p tcp --sport 1024:65535 -dport 3389 -j ACCEPT # hay que hacerlo en uno y otro sentido iptables -A FORWARD -s 192.168.3.2 -d 192.168.10.0/24 -p tcp --sport 3389 --dport 1024:65535 -j ACCEPT # por que luego: # Cerramos el acceso de la DMZ a la LAN iptables -A FORWARD -s 192.168.3.0/24 -d 192.168.10.0/24 -j DROP ## Cerramos el acceso de la DMZ al propio firewall iptables -A INPUT -s 192.168.3.0/24 -i eth2 -j DROP ## Y ahora cerramos los accesos indeseados del exterior: # Nota: 0.0.0.0/0 significa: cualquier red # Cerramos el rango de puerto bien conocido iptables -A INPUT -s 0.0.0.0/0 -p tcp -dport 1:1024 -j DROP iptables -A INPUT -s 0.0.0.0/0 -p udp -dport 1:1024 -j DROP # Cerramos un puerto de gestin: webmin iptables -A INPUT -s 0.0.0.0/0 -p tcp -dport 10000 -j DROP # Fin del script
Pgina: 125
Esquema De Firewall Entre La Red Local E Internet Con Zona DMZ Para Servidores Expuestos Usando Ips Pblicos
Y este podra ser un firewall adecuado: #!/bin/sh ## SCRIPT de IPTABLES - ejemplo del manual de iptables ## Ejemplo de script para firewall entre red-local e internet con DMZ ## pero con IPs pblicas.
## FLUSH de reglas iptables -F iptables -X iptables -Z iptables -t nat -F ## Establecemos politica por defecto iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT iptables -P FORWARD ACCEPT iptables -t nat -P PREROUTING ACCEPT iptables -t nat -P POSTROUTING ACCEPT ## Empezamos a filtrar ## Nota: eth0 es el interfaz conectado al router y eth1 a la LAN # El localhost se deja (por ejemplo conexiones locales a mysql) /sbin/iptables -A INPUT -i lo -j ACCEPT # Al firewall tenemos acceso desde la red local
Pgina: 126
iptables -A INPUT -s 192.168.10.0/24 -i eth1 -j ACCEPT # Ahora hacemos enmascaramiento de la red local y de la DMZ # para que puedan salir haca fuera # y activamos el BIT DE FORWARDING iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o eth0 -j MASQUERADE # Con esto permitimos hacer forward de paquetes en el firewall, o sea # que otras mquinas puedan salir a traves del firewall. echo 1 > /proc/sys/net/ipv4/ip_forward ## Permitimos el acceso desde el exterior a los puertos 80 y 443 de DMZ iptables -A FORWARD -d 212.194.89.152 -p tcp -dport 80 -j ACCEPT iptables -A FORWARD -d 212.194.89.152 -p tcp -dport 443 -j ACCEPT iptables -A FORWARD -d 212.194.89.150/30 -j DROP
## Permitimos el paso de la DMZ a una BBDD de la LAN: iptables -A FORWARD -s 212.194.89.152 -d 192.168.10.5 -p tcp --dport 5432 -j ACCEPT # en el otro sentido lo mismo iptables -A FORWARD -s 192.168.10.5 -d 212.194.89.152 -p tcp --sport 5432 -j ACCEPT ## permitimos abrir el Terminal server de la DMZ desde la LAN iptables -A FORWARD -s 192.168.10.0/24 -d 212.194.89.152 -p tcp --sport 1024:65535 --dport 3389 -j ACCEPT # hay que hacerlo en uno y otro sentido iptables -A FORWARD -s 212.194.89.152 -d 192.168.10.0/24 -p tcp --sport 3389 -dport 1024:65535 -j ACCEPT # por que luego: # Cerramos el acceso de la DMZ a la LAN iptables -A FORWARD -s 212.194.89.152 -d 192.168.10.0/24 -j DROP ## Cerramos el acceso de la DMZ al propio firewall iptables -A INPUT -s 212.194.89.152 -i eth2 -j DROP ## Y ahora cerramos los accesos indeseados del exterior: # Nota: 0.0.0.0/0 significa: cualquier red # Cerramos el rango de puerto bien conocido iptables -A INPUT -s 0.0.0.0/0 -p tcp -dport 1:1024 -j DROP iptables -A INPUT -s 0.0.0.0/0 -p udp -dport 1:1024 -j DROP # Cerramos un puerto de gestin: webmin iptables -A INPUT -s 0.0.0.0/0 -p tcp -dport 10000 -j DROP
Pgina: 127
echo " OK . Verifique que lo que se aplica con: iptables -L -n" # Fin del script ## permitimos abrir el Terminal server de la DMZ desde la LAN iptables -A FORWARD -s 192.168.10.0/24 -d 212.194.89.152 -p tcp -sport 1024:65535 --dport 3389 -j ACCEPT # hay que hacerlo en uno y otro sentido iptables -A FORWARD -s 212.194.89.152 -d 192.168.10.0/24 -p tcp --sport 3389 -dport 1024:65535 -j ACCEPT # por que luego: # Cerramos el acceso de la DMZ a la LAN iptables -A FORWARD -s 212.194.89.152 -d 192.168.10.0/24 -j DROP
En el firewall debemos indicar una serie de reglas para proteger los equipos que estn al otro lado de este dispositivo, todos ellos de la red 211.34.149.0/24 Cada uno de ellos da un servicio determinado, y puede estar gestionado desde distintas IPs, lo que significa que habr que dar acceso a puertos de gestin (22, 3389, etc..).
Este podra ser el aspecto del script del firewall: #!/bin/sh ## SCRIPT de IPTABLES - ejemplo del manual de iptables
Pgina: 128
## FLUSH de reglas iptables -F iptables -X iptables -Z iptables -t nat -F ## Establecemos politica por defecto iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT iptables -P FORWARD ACCEPT ## Empezamos a filtrar ## Nota: eth0 es el interfaz conectado al router y eth1 a la LAN # A nuestro firewall tenemos acceso total desde la nuestra IP iptables -A INPUT -s 210.195.55.15 -j ACCEPT # Para el resto no hay acceso al firewall iptables -A INPUT -s 0.0.0.0/0 -j DROP ## Ahora podemos ir metiendo las reglas para cada servidor ## Como sern paquetes con destino a otras mquinas se aplica FORWARD ## Servidor WEB 211.34.149.2 # Acceso a puerto 80 iptables -A FORWARD -d 211.34.149.2 -p tcp --dport 80 -j ACCEPT # Acceso a nuestra ip para gestionarlo iptables -A FORWARD -s 210.195.55.15 -d 211.34.149.2 -p tcp --dport 22 -j ACCEPT # El resto, cerrar iptables -A FORWARD -d 211.34.149.2 -j DROP ## Servidor MAIL 211.34.149.3 # Acceso a puerto 25, 110 y 143 iptables -A FORWARD -d 211.34.149.3 -p tcp --dport 25 -j ACCEPT iptables -A FORWARD -d 211.34.149.3 -p tcp --dport 110 -j ACCEPT iptables -A FORWARD -d 211.34.149.3 -p tcp --dport 143 -j ACCEPT
# Acceso a gestion SNMP iptables -A FORWARD -s 210.195.55.15 -d 211.34.149.3 -p udp --dport 169 -j ACCEPT
Pgina: 129
# Acceso a nuestra ip para gestionarlo iptables -A FORWARD -s 210.195.55.15 -d 211.34.149.3 -p tcp --dport 22 -j ACCEPT # El resto, cerrar iptables -A FORWARD -d 211.34.149.3 -j DROP ## Servidor IRC 211.34.149.4 # Acceso a puertos IRC iptables -A FORWARD -d 211.34.149.4 -p tcp --dport 6666:6668 -j ACCEPT # Acceso a nuestra ip para gestionarlo iptables -A FORWARD -s 210.195.55.15 -d 211.34.149.4 -p tcp --dport 22 -j ACCEPT # El resto, cerrar iptables -A FORWARD -d 211.34.149.4 -j DROP ## Servidor NEWS 211.34.149.5 # Acceso a puerto news iptables -A FORWARD -d 211.34.149.5 -p tcp --dport news -j ACCEPT # Acceso a nuestra ip para gestionarlo iptables -A FORWARD -s 213.194.68.115 -d 211.34.149.5 -p tcp --dport 22 -j ACCEPT # El resto, cerrar iptables -A FORWARD -d 211.34.149.5 -j DROP ## Servidor B2B 211.34.149.6 # Acceso a puerto 443 iptables -A FORWARD -d 211.34.149.6 -p tcp --dport 443 -j ACCEPT # Acceso a una ip para gestionarlo iptables -A FORWARD -s 81.34.129.56 -d 211.34.149.6 -p tcp --dport 3389 -j ACCEPT # El resto, cerrar iptables -A FORWARD -d 211.34.149.6 -j DROP ## Servidor CITRIX 211.34.149.7 # Acceso a puerto 1494 iptables -A FORWARD -d 211.34.149.7 -p tcp --dport 1494 -j ACCEPT # Acceso a una ip para gestionarlo iptables -A FORWARD -s 195.55.234.2 -d 211.34.149.7 -p tcp --dport 3389 -j ACCEPT # acceso a otro puerto quiza de BBDD
Pgina: 130
iptables -A FORWARD -s 195.55.234.2 -d 211.34.149.7 -p tcp --dport 1434 -j ACCEPT # acceso a otro puerto quiza de BBDD iptables -A FORWARD -s 195.55.234.2 -d 211.34.149.7 -p udp --dport 1433 -j ACCEPT # El resto, cerrar iptables -A FORWARD -d 211.34.149.7 -j DROP # Fin del script Con esta firewall y sobretodo gracias a las reglas de DROP que metemos tras especificar lo que dejamos abiertos, protegeremos de manera eficaz todos lo puertos abiertos de las mquinas.
Pgina: 131
Server DHCP Server NTP Traffic Shaping / QoS Transparent POP3 antivirus/antispam Proxy Dominio De Windows Samba LDAP Manejador De Servidores Radius IDS (Detector De Intrusos) Creacin De Backup y Restauracin Reenvio De Puertos Acceso Externo Administracin Mediante Consola y Administracin Web
Pgina: 132
Debemos mencionar que al momento de iniciar la instalacin, esta distro ocupara todo el disco, por lo cual al momento de realizar la instalacin, el mismo sistema operativo creara sus propias particiones.
Esperamos que termine el proceso de particionamiento e instalacion de los paquetes Y nos dirigimos a un cliente dentro de la red que configuramos en el servidor y apuntamos lo siguiente en un browser: https:direccion_ip:10443
Pgina: 133
En esta pantalla tenemos que configurar primero la otra tarjeta de red, en pocas palabras la red de Internet. Una vez echo eso, estaremos en condiciones de poder administrar toda la red de una empresa mediante consola de comando as como tambin administrndolo remotamente va entorno Web. Una vez que se encuentra instalado el pequeo sistema operativo llamado endian que no es mas que una distro de seguridad basada en software, la red local debe tener acceso a Internet de manera transparente. Si nosotros quisiramos llevar un control de los usuarios, a donde visitan, que direccin ip, la hora de visita del usuario, debemos activar el cache que tiene como opcin en la seccin de Proxy. Adems cuenta con un servicio que te permite controlar que usuarios pueden y no pueden navegar. Limitar el ancho de banda para toda la red. Adicionalmente tambin permite validar el servicio de Internet con algn servidor de autenticacin remota.
Pgina: 134
31. OpenVPN
OpenVPN es una solucin de conectividad basada en software: SSL (Secure Sockets
Layer) VPN Virtual Private Network (red virtual privada), OpenVPN ofrece conectividad punto-a-punto con validacin, jerrquica de usuarios y host conectados remotamente resulta una muy buena opcin en tecnologas Wi-Fi (redes inalmbricas EEI 802.11) y soporta una amplia configuracin, entre ellas balanceo de cargas entre otras. Est publicado bajo la licencia GPL, de cdigo abierto.
Introduccin
OpenVPN, es un excelente producto de software creado por James Yonan en el ao
2001 y que ha estado siendo mejorado desde entonces. Ninguna otra solucin ofrece una mezcla semejante de seguridad a nivel empresarial, seguridad, usabilidad y riqueza de caractersticas. Es una solucin multiplataforma que ha simplificado mucho la configuracin de VPN's dejando atrs los tiempos de otras soluciones difciles de configurar como IPsec y hacindola ms accesible para gente inexperta en este tipo de tecnologa. Supongamos que necesitamos comunicar diferentes sucursales de una organizacin. A continuacin veremos algunas soluciones que se han ofrecido como respuesta a este tipo de necesidades. En el pasado las comunicaciones se realizaban por correo, telfono o fax. Hoy en da hay factores que hacen necesaria la implementacin de soluciones ms sofisticadas de conectividad entre las oficinas de las organizaciones a lo largo del mundo. Dichos factores son:
La aceleracin de los procesos de negocios y su consecuente aumento en la necesidad de intercambio flexible y rpido de informacin. Muchas organizaciones tienen varias sucursales en diferentes ubicaciones as como tambin tele trabajadores remotos desde sus casas, quienes necesitan intercambiar informacin sin ninguna demora, como si estuvieran fsicamente juntos. La necesidad de las redes de computacin de cumplir altos estndares de seguridad que aseguren la autenticidad, integridad y disponibilidad.
Pgina: 135
Lneas dedicadas
Las necesidades antes mencionadas se satisfacan en principio colocando lneas dedicadas entre las diferentes ubicaciones remotas a un costo mucho mayor que el de simple acceso a Internet. Se necesitaban conexiones fsicas reales necesitando de un proveedor en cada sitio resultando en una solo lnea de comunicacin entre dos partes. Por ejemplo, para una red de 4 nodos en la cual se buscase comunicacin de todos con todos, habra que tender 6 lnea de comunicacin. Adems, para dar conectividad a trabajadores domsticos o viajeros se implementaban servicios RAS1 para aquellos que necesitaban conectarse temporalmente mediante conexiones de mdem o lneas ISDN2 donde la organizacin se comportaba como un proveedor de Internet (ISP).
Acceso mediante Internet y VPNs Con la llegada de Internet y la baja de costos en conectividad se desarrollaron nuevas tecnologas. Surgi entonces la idea de utilizar a Internet como medio de comunicacin entre los diferentes sitios de la organizacin. Surge as la idea de las VPN's que son Virtuales y Privadas. Virtuales porque no son redes directas reales entre partes, sino solo conexiones virtuales provistas mediante software sobre la red Internet. Adems son privadas porque solo la gente debidamente autorizada puede leer los datos transferidos por este tipo de red logrando la seguridad mediante la utilizacin de modernos mecanismos de criptografa. Retomando el ejemplo anterior de una organizacin con cuatro sitios, ahora solo necesitamos cuatro conexiones a Internet en lugar de las seis dedicadas de antes. Adems los que se conectan temporalmente, tambin lo hacen mediante una conexin a Internet, mucho ms barata y accesible desde muchos lugares,
Pgina: 136
Conexin entre diversos puntos de una organizacin a travs de Internet Conexiones de trabajadores domsticos o de campo con IP's dinmicas Soluciones extranet para clientes u organizaciones asociadas con los cuales se necesita intercambiar cierta informacin en forma privada pero no se les debe dar acceso al resto de la red interna.
Implementacin de VPN
Supongamos que se tienen dos sitios de una organizacin conectados a Internet. En ambos se contar con un equipo de conexin a la red de redes que cumplir la funcin de ruteo hacia y desde Internet as como firewall para protegerse de accesos no autorizados. El software VPN debe estar instalado en ese firewall o algn dispositivo protegido por l. Una de los sitios ser el servidor y ser el sitio que contiene la informacin y sistemas que queremos compartir, mientras que al otro lo llamaremos cliente. El servidor ser entonces configurado para aceptar conexiones desde el cliente (y viceversa). Llegado este punto habremos logrado tener dos sitios comunicados como en una red directa real pero aun no es una VPN dado que falta implementar la privacidad, pues cualquier nod o intermedio de Internet puede leer la informacin que viaja sin proteccin. Lo que se debe hacer seguidamente es establecer mecanismos de cifrado que mediante uso de claves aseguren que solo equipos o personas dueos de esas claves puedan acceder a los datos enviados por la VPN. Todos los datos enviados del punto A al B debern ser cifrados antes de ser enviados y descifrados en el otro extremo para posteriormente ser entregados normalmente a su destinatario final. Uno de los factores que diferencian a una implementacin de VPN de otra, son los mecanismos que utilicen para cifrar y distribuir claves a todos los integrantes de dicha red.
Protocolos
Las soluciones de VPN pueden ser implementadas a diferentes niveles del modelo OSI de red.
Pgina: 137
en la mayora de los casos lo que se hace es establecer un dispositivo virtual PPP5 con el cual se establece la conexin con el otro lado del tnel. Algunos ejemplos de estas tecnologas:
PPTP: Point to Porint Tunneling Protocol. Desarrollado por Microsoft, es una extensin de PPP.
Su principal desventaja es que solo puede establecer un tnel por vez entre pares.
L2F: Layer 2 Forwarding. Desarrollado por la empresa Cisco principalmente, ofrece mejores posiblidades que PPTP principalmente en el uso de conexiones simultneas. L2TP: Layer 2 Tunneling Protocol. Usado por Cisco y otras fabricantes, se ha convertido en estndar de la industria y combina las ventajas de PPTP y L2F y adems eliminando las desventajas.
Dado que esta solucin no ofrece mecanismos de seguridad, para su uso deber ser combinada con otros mecanismos generalmente implementados en capa 3 del modelo OSI.
L2Sec: Layer 2 Security Protocol. Desarrollado para proveer una solucin con seguridad, utiliza para ellos SSL/TLS aunque impone una sobrecarga bastante grande en la comunicacin para lograrlo.
Modo Tunnel. Todos los paquetes IP son encapsulados en un nuevo paquete y enviados a travs del tnel siendo desempaquetados en el otro extremo y posteriormente dirigidos a su destinatario final. En este modo, se protegen las direcciones IP de emisor y receptor as como el resto de los metadatos de los paquetes. Modo Transporte. Solo la carga til (payload) de la seccin de datos es cifrada y encapsulada. La sobrecarga entonces, es sensiblemente menor que en el caso anterior, pero se exponen los metadatos a posibles atacantes que podrn ver quien se est comunicando con quien.
Pgina: 138
Implementacin OpenVPN
OpenVPN es una excelente nueva solucin para VPN que implementa conexiones de capa 2 o 3, usa los estndares de la industria SSL/TLS para cifrar y combina todos las caractersticas mencionadas anteriormente en las otras soluciones VPN. Su principal desventaja por el momento es que hay muy pocos fabricantes de hardware que lo integren en sus soluciones. De todos modos no hay que preocuparse siempre que contemos con un Linux en el cual podremos implementarlo sin ningn problema mediante software.
Seguridad en VPN
Para cifrar datos se usan Passwords o claves de cifrado. OpenVPN tiene dos modos considerados seguros, uno basado en claves estticas precompartidas y otro en SSL/TLS usando certificados y claves RSA. Cuando ambos lados usan la misma clave para cifrar y descifrar los datos, estamos usando el mecanismo conocido como clave simtrica y dicha clave debe ser instalada en todas las mquinas que tomarn parte en la conexin VPN. Si bien SSL/TLS + claves RSA es por lejos la opcin ms segura, las claves estticas cuentan con la ventaja de la simplicidad. Veremos a continuacin ese mtodo y otros que aporta mayor seguridad y facilidad de distribucin.
Pgina: 139
Es por ello que mecanismos como IPsec cambian las claves cada cierto perodo de tiempo asociando a las mismas ciertos perodo de tiempo de validez llamados tiempo de vida o lifetime. Una buena combinacin de tiempo de vida y largo de la clave asegurarn que un atacante no pueda descifrar la clave a tiempo, haciendo que cuando finalmente la obtenga (porque lo har), ya no le sirva por estar fuera de vigencia. IPSec utiliza su propio protocolo para intercambiar claves llamado IKE9 que ha sido desarrollado desde mediados de los noventa y aun no ha sido terminado.
La pblica es distribuida y usada por cualquiera para cifrar los datos que sern enviados a la contraparte quien conoce la clave privada que es la nica que sirve para descifrar los datos. El par de clave pblica/privada es generado a partir de algoritmos matemticos que aseguran que solo con la clave privada es posible leer los datos originales. El da
Pgina: 140
que alguien encuentre algn defecto a ese algoritmos, todos aquellos contecados a Internet estarn comprometidos en forma instantnea. Es de destacar que la clave privada debe permanecer secreta mientras que la clave pblica debe ser intercambiada para que nos puedan enviar mensajes.
Seguridad SSL/TLS
Las bibliotecas SSL/TLS son parte del sofware OpenSSL que vienen instaladas en cualquier sistema moderno e implementan mecanismos de cifrado y autenticacin basadas en certificados. Los certificados generalmente son emitidos por entidades de reconocida confiabilidad aunque tambin podemos emitirlos nosotros mismos y usarlos en nuestra propia VPN. Con un certificado firmado, el dueo del mismo es caps de probar su identidad a todos aquellos que confen en la autoridad certificadora que lo emiti.
Posibilidad de implementar dos modos bsicos en capa 2 o capa 3 con lo que se logran tneles capaces de enviar informacin en otros procolos no-IP como IPX o broadcast (NETBIOS). Proteccin de los usuarios remotos. Una vez que OpenVPN ha establecido un tnel el firewall de la organizacin proteger el laptop remoto aun cuando no es un equipo de la red local. Por otra parte, solo un puerto de red podr ser abierto hacia la red local por el remoto asegurando proteccin en ambos sentidos. Conexiones OpenVPN pueden ser realizadas a travs de casi cualquier firewall. Si se posee acceso a Internet y se puede acceder a sitios HTTPS, entonces un tnel OpenVPN deberia funcionar sin ningn problema. Soporte para proxy. Funciona a travs de proxy y puede ser configurado para ejecutar como un servicio TCP o UDP y adems como servidor (simplemente esperando conexiones entrantes) o como cliente (iniciando conexiones). Solo un puerto en el firewall debe ser abierto para permitir conexiones, dado que desde OpenVPN 2.0 se permiten mltiples conexiones en el mismo puerto TCP o UDP. Las interfaces virtuales (tun0, tun1, etc.) permiten la implementacin de reglas de firewall muy especficas. Todas las conceptos de reglas, restricciones, reenvo y NAT10 pueden ser usados en tneles OpenVPN. Alta flexibilidad y posibilidades de extensin mediante scripting. OpenVPN ofrece numerosos puntos para ejecutar scripts individuales durante su arranque.
Pgina: 141
Soporte transparente para IPs dinmicas. Se elimina la necesidad de usar direcciones IP estticas en ambos lados del tnel. Ningn problema con NAT. Tanto los clientes como el servidor pueden estar en la red usando solamente IPs privadas. Instalacin sencilla en cualquier plataforma. Tanto la instalacin como su uso son increblemente simples.
Diseo modular. Se basa en un excelente diseo modular con un alto grado de simplicidad tanto en seguridad como red. Desventajas No es IPsec-compatible siendo que justamente IPsec es el estndar actual para soluciones VPN. Falta de masa crtica. Todava existe poca gente que conoce como usar OpenVPN. Aun no posee interfaz grfica. Aunque esto para algunos pueda significar en realidad una ventaja. Al da de hoy solo se puede conectar a otras computadores. Pero esto est cambiando, dado que ya existe compaas desarrollando dispositivos con clientes OpenVPN integrados.
Pgina: 142
Necesidad de uso de muchos puertos y protocolos en el firewall Problemas con direcciones dinmicas en ambas puntas Problemas de seguridad de las tecnologas IPsec
Utiliza solo un puerto del firewall Trabaja con servidores de nombres dinmicos como DynDNS o No-IP con reconecciones rpidas y transparentes SSL/TLS como estndar de criptografa Control de trfico (Traffic shaping) Velocidad (ms de 20 Mbps en mquinas de 1Ghz) Compatibilidad con firewall y proxies Ningn problema con NAT (ambos lados puede ser redes NATeadas) Posibilidades para hackers y road warriors
32. Telefonia IP
"VoIP: Voz sobre Protocolo de Internet, tambin llamado Voz IP, VozIP, VoIP (por sus siglas en ingls), es un grupo de recursos que hacen posible que la seal de voz viaje a travs de Internet empleando un protocolo IP (Internet Protocol). Esto significa que se enva la seal de voz en forma digital en paquetes en lugar de enviarla (en forma digital o analgica) a travs de circuitos utilizables slo para telefona como una compaa telefnica convencional o PSTN.
Asterisk: Asterisk es una aplicacin de software libre (bajo licencia GPL) que proporciona funcionalidades de una central telefnica (PBX). Como cualquier PBX, se puede conectar un nmero determinado de telfonos para hacer llamadas entre s e incluso conectar a un proveedor de VoIP o bien a una RDSI tanto bsicos como primarios" Ahora llegamos al hecho que exiten multiples versiones de sistemas operativos con
Pgina: 143
embebidos de asterisk, los cuales gozan de mucho renombre, por que no usar uno de esos, bueno basicamete por que delimitan las funcionalidades de nuestra plataforma asterisk a lo que ellos implementan en sus interfaces y hacen mucho mas complicado la modificacion manual de archivos que ellos han renombrado o modificado a su antojo. El precente post se ha realizado y probado en un Sistema Operativo Centos 5.4 final...se parte del hecho que ya conocen un poco como moverse dentro de la estructura de archivos en entornos linux
Instalacion de Asterisk
1- Para empesar debemos seleccionar los archivos y dependencias de asterisk que vamos a instalar...en este momento ya fue liberada la version 1.6.2 de asterisk pero para esta instalacion he seleccionado la 1.6.1 pues ya la conozco y la he testeado y se que cuenta con la suficiente solidez para un entorno de trabajo empresarial - Los paquetes que necesitamos para esto son: Asterisk(la version que uds deseen), dahdiilinux-complete, el libpri y los addons de asterisk, yo me hubicare en el surco de la carpeta /usr/src/ si ud desean descargar en home son libres de acerlo # cd /usr/src/ Con el comando wget descargamos en modo consola Astrerisk # wget http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk1.6.1.9.tar.gz El paquete dahdi-linux provee a nuestro servidor de drivers para las tarjetas de conexion a las lineas de telefonia tradicional ya sean las E1, T1. # wget http://downloads.asterisk.org/pub/telephony/dahdi-linuxcomplete/releases/dahdi-linux-complete-2.2.0.2+2.2.0.tar.gz El empaquetado de libpri da a nuestra central telefonica la posibilidad de realizar conexiones a lineas primarias de telefonia como las que existen en las pstn # wget http://downloads.asterisk.org/pub/telephony/libpri/releases/libpri1.4.10.2.tar.gz Y por ultimo los paquetes del addons asterisk proveen drivers para conexion a serividores de mysql y manejo de bases de datos ademas de proveer de drivers para manejo de archivos en mp3, su instalacion es opcional. # wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-addons-1.6.1current.tar.gz
Pgina: 144
2 - Para la debida instalacion de nuestro asterisk es necesario instalar los paquetes de kernel-devel que corresponden a la version del kernel de nuestro sistema para ver que version del kernel tenemos ingresamos en la consola el comando: # uname -a Esto nos devolvera una linea como la siguiente linux asterisk 2.6.18-164.6.1.el5 3 - Para ver si tenemos los paquetes de desarrollo que provee el kernel-devel en nuestro sistemas revisamos si tenemos instalado las fuentes de kernel-devel, ingresando el comando rpm -q + "el paquete que vamos a averiguar" # rpm -q kernel-devel kernel-devel-2.6.18-164.6.1.el5 Esto si lo tenemos instalado, sino lo tenemos instalado bastara con ingresar el comando: yum -y install kernel-devel-2.6.18-164.6.1.el5
4 - Existen una serie de paquetes que debemos revisar si estan instalados y si no proceder con la instalacion de ellos, la verificacion e instalacion es igual que como se vio arriba y los paquetes son estos:
bison bison-devel ncurses ncurses-devel zlib zlib-devel openssl openssl-devel gnutls-devel gcc gcc-c++ make
5 - Con esto tenemos nuestro sistema listo para llevar a cabo la instalacion de los paquetes que bajamos anteriormente en /usr/src/ Para realizar la descompresion de los archivos con el comando tar -xzvf + "nombre del paquete"
Pgina: 145
# tar -xzvf asterisk-1.6.1.9.tar.gz # tar -xzvf dahdi-linux-complete-2.2.0.2+2.2.0.tar.gz # tar -xzvf libpri-1.4.10.2.tar.gz # tar -xzvf asterisk-addons-1.6.1-current.tar.gz Empesaremos con la instalacion de el libpri ingresamos a la carpeta con el comando cd # cd libpri-1.4.0
creamos el ejecutable con los siguentes comandos dentro de la carpeta del libpri # make clean # make # make install Ahora vamos con el dahdi, estando situados sobre la carpeta de las descargas /usr/src ingresamos a la carpeta cd dahdi-linux-complete-2.2.0.2+2.2.0/tools # ./configure Luego de eso subimos un nivel a la carpeta de dahdi con el comando cd .. y empesamos la compilacion de los archivos # make # make install # make config # make samples ---> esta instalacion lo que hace es crear scrips por defecto para las tarjetas que tradicionamente son instaladas
Estando en /usr/src luego ingresamos a la carpetacd asterisk-1.6.1.9 # ./configure # make # make install # make samples # make config
6 - Ahora para iniciar la carga de nuestro servidor le indicamos en la conzola el comando: # asterisk -vvvvvvvvcg luego en : *CLI> stop now nuevamente
Pgina: 146
Con esto tenemos listo nuestro server VoIP Centos 5.4 y con los comandos service podemos parar y arrancar el servicio de asterisk: # service asterisk stop # service asterisk start
Laboratorio:
Implementar un servidor de llamadas Asterisk
Crear tres usuarios los cuales pueden hacer llamadas unos a otros Crear una sala de conferencia Crear buzones de voz para cada usuario
Con esto el usuario termina este tema con nociones bsicas avanzadas del funcionamiento de telefnia IP.
Pgina: 147
Paso siguiente es configurar el PC para que inicie del CD, si es que no est configurado as. Este paso no necesita mucha explicacin ya que es lo mismo que se hace cuando se va a instalar cualquier sistema operativo, por ejemplo Windows XP. Una vez que el CD inicie mostrar una pantalla para elegir qu paquetes instalar. Con las teclas direccionales nos colocaremos encima del paquete que queremos instalar, y con ayuda de la barra espaciadora los seleccionaremos. Los paquetes que estn seleccionados en la imagen son los que suelo instalar en los servidores que vendo, inclusive para el nivel 'novato' puede ser prescindible el paquete routing, security y wireless (si es que no se va a instalar una tarjeta wireless para hacer trabajar al server como AP). Una vez que los paquetes estn selecionados, presionaremos la tecla 'i' para empezar con la instalacin de MikroTik RouterOS en el disco duro. En el proceso nos aparecern los siguientes mensajes:
Do you want to keep old configuration? [y/n]: Desea mantener la configuracin anterior?
Pgina: 148
Presionamos la tecla 'n' ya que no tenemos una configuracin anterior que mantener. Warning: all data in the disk will be erased! Continue? [y/n]: Advertencia: todos los datos en el disco sern eliminados! Continuar? Presionamos la tecla 'y ' para que empiece a particionar y formatear el disco o unidad de almacenamiento. El proceso puede demorar dependiendo de la capacidad del disco que se haya elegido para hacer la instalacin. Una vez que el disco duro est particionado y formateado, los paquetes seleccionados se instalarn automticamente y al finalizar tedremos el mensaje: Software installed Press ENTER to reboot Software instalado Presione ENTER para reiniciar Ya en este punto hay que retirar el CD de instalacin y presionar la tecla 'enter' para que el PC reinicie y el sistema cargue directamente del disco duro. Tendremos este mensaje: It is recomended to check your disk drive for errors, but it may take a while (~1min for 1Gb). It can be done later with "/system check-disk". Do you want to do it now? [y/N] Es recomendable comprobar que su unidad de disco est libre de errores, pero puede tomar algn tiempo (~1min para 1Gb). puede hacerse ms tarce con "/sistem check-disk". Quiere hacerlo ahora? presionaremos la tecla 'n' para evitar la comprobacin de disco. Una vez hecho esto tendremos la clsica pantalla de login de MikroTik.
Pgina: 149
Bueno, creo que se sobreentiende que no tiene password alguno, as que aqu lo dejamos vaco. Presionamos enter para terminar de loguearnos. Una vez logueados veremos una notificacin del servidor que nos dice que nuestro sistema no tiene licencia, y que tenemos menos de 24 horas para probarlo...
Claro, tenemos menos de 24 horas para colocarle la licencia, o simplemente nuestro sistema expirar (no permitir acceso alguno, empezarn a sonar muchos 'beeps' y se apagar automticamente) lo que inutilizara su uso y posterior licenciamiento. Si esto llegara a ocurrir, no queda otra que volver a reinstalar el sistema siguiendo los pasos de esta gua desde el inicio. Es bastante recomendable verificar que MikroTik RouterOS haya reconocido absolutamente todas nuestras tarjetas de red, inclusive las wireless, si es que hubisemos instalado alguna, para eso escribimos el siguiente comando en la consola y luego presionaremos 'enter': La imagen muestra que MikroTik ha reconocido 2 tarjetas de red en nuestro PC, que es justamente el total de tarjetas de red que tiene el PC en este momento. Si
Pgina: 150
tuviesemos ms tarjetas de red, entonces tendran que aparecer en la lista. Si fuera una tarjeta wireless, el nombre por defecto de este tipo de tarjetas es wlan1. Nota: MikroTik RouterOS slo reconocer las tarjetas wireless que utilicen chipset Atheros. Si no apareciera el total de tarjetas instaladas en el PC server, esto se debe casi siempre a:
Tarjeta de red daada. Conectores de la tarjeta sucios, o inclusive puede ser suciedad en el mismo slot PCI. La placa madre, por antiguedad, limitacin de diseo o chipset, no puede soportar determinada cantidad, marcas, modelos de tarjetas. Esto suele suceder con las tarjetas wireless en placas antiguas, inclusive problemas de IRQ. La tarjeta es un modelo bastante nuevo, o raro, que MikroTik no puede reconocerla. etc.
Tengan en cuenta que no existen drivers para MikroTik RouterOS que se puedan descargar e instalar. Absolutamente todos los drivers vienen dentro de los paquetes de Mikrotik que instalamos previamente, as que no se dejen engaar por 'estafadores' que dicen tener drivers para todas las placas y tarjetas. Con esto ya se tiene el Sistema Operativo MikroTik RouterOS instalado en el PC servidor, ahora slo falta licenciar el software y empezar la configuracin hasta llegar a este esquema
Pgina: 151
Si apareciera un error de dependencia, habra que buscar los paquetes como por ejemplo con la aplicacin expect
Luego instalaremos un programa para que cargue el modulo de entorno grafico via escritorio remoto, la aplicacin es xorg-x11-apps
Pgina: 152
Una vez realizado esto, debemos configurar el archivo principal de ssh. /etc/sshd/sshd_config Y agregamos lo siguiente:
Esto para dar acceso mediante escritorio demoro a los usuarios nx y root. Posterior a esto, reiniciamos el sshd.
Vim /etc/nxserver/client.id_dsa.key
Este contenido lo copiamos al bloc de notas. 5.- Instalamos un cliente NX para Windows, yo lo hice desde la pagina nomachine (http://www.nomachine.com/), la instalacion es sencilla (next a todo) 6.- Configuramos el cliente NX desde nuestro windows Ac setteamos el nombre para la Session, el IP del Server que tiene el nxserver, el puerto del ssh y colocamos el tipo de conexin (para mi caso LAN).
Pgina: 153
Pgina: 154
Luego de eso, iniciamos sesin con el usuario root y la clave respectiva. Posterior a esto entramos al NX y nos muestra lo siguiente:
Pgina: 155