Está en la página 1de 155

Instituto de Educacin Superior Tecnolgico Privado

RM No. 1803-91-ED REVALIDADO POR RD. No. 035-2005-ED

Miraflores San Miguel

Av. Ramrez Gastn 151 Telf.: 719-3103 / 719-3102 Av. La Marina 2685 Telf.: 719-3767 / 719-3768

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

1. Instalacin Del Sistema Operativo Centos 6.3


Inserte el disco DVD de instalacin de CentOS 6, y espere 60 segundos para el inicio automtico, o bien pulse la teclaENTER para iniciar de manera inmediata, o bien pulse la tecla TAB, e ingrese las opciones de instalacin deseadas.

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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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.

2. Estructura De Directorios En Linux


Linux organiza la informacin en archivos, los cuales estn contenidos en directorios. Un directorio puede contener subdirectorios, teniendo as una estructura jerrquica, como en cualquier otro sistema operativo. Las nuevas versiones de Linux (incluido CentOS) siguen el estndar FSSTND (Linux Filesystem Standard). El cual estipula los nombres, la ubicacin y la funcin de la mayora de los directorios y los archivos del sistema. Conociendo esta estructura bsica, el usuario/administrador podr moverse ms fcilmente por los directorios, ya que la mayora de stos, tienen un determinado uso.

Pgina: 7

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

/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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

3. Comandos Bsicos LINUX


A continuacin mostraremos los comandos con su respectiva sintaxis para un mejor comprensin al momento de usarlo.

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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

4. Empaquetador Universal TAR


El comando tar es utilizado normalmente para empaquetar o desempaquetar ficheros, empaquetar significa guardar en un nico fichero una lista de varios ficheros, o el contenido de todo un directorio (o varios directorios). El formato del comando tar es:

tar [opciones] [fichero1][fichero2]...[ficheroN]


Donde es la lista de opciones y hasta es la lista de ficheros a aadir o extraer del archivo. En las opciones de tar hay algunas que son importantes para su uso : c: Crea un nuevo archivo tar. v: Modo verbose, quiere decir que mostrar por pantalla las operaciones que va realizando archivo por archivo, si no se pone esta opcin ejecutar la accin pero en pantalla no veremos el proceso. x: Extrae los archivos (Descomprime los ficheros que se encuentran dentro del archivo tar). t: Nos muestra el contenido del archivo tar. Esto es cuando tu deseas saber que es lo que contiene ese archivo sin necesidad de desempaquetarlo. p: Mantiene los permisos originales de los archivos. f: Cuando se usa con la opcin -c, usa el nombre del archivo especificado para la creacin del archivo tar; cuando se usa con la opcin -x, retira del archivo el archivo especfico. z: Comprime el archivo tar con gzip. j: Comprime el archivo tar con bzip2.

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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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

Resultado mediante entorno grafico

root #] tar xvf archivo.tar


Extraer el fichero archivo.tar en el directorio actual. Una de las ventajas que nos ofrece tar es que respeta la estructura de directorio existente en el momento de empaquetar, de forma que al desempaquetar se reproducir como estaba originalmente.

Pgina: 14

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

Ten en cuenta que hasta ahora solo hemos empaquetado, mas no comprimido. Para poder empaquetar y comprimir se usa el siguiente comando :

root #] tar czvf archivo.tar.gz documentos

Visualizacin en modo grafico

Si queremos descomprimir igual que en la lnea que desempaquetamos, solo que ahora cambiamos la c por la x de extraccin:

$tar xzvf archivo.tar.gz

Pgina: 15

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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.

root #] tar cjvf archivo.tar.bz2 documentos

Visualizando en modo grafico

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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

$tar xjvf archivo.tar.gz

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 :

$zip -r documento.zip carpeta_o_archivo_a_comprimir

Pgina: 17

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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.

Visualizacin en modo grafico

Pgina: 18

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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.

Consultas potentes y eficaces

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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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. #################################

Paquete que ya ha sido instalado


Si el paquete ya ha sido instalado, ver:

Pgina: 20

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

# rpm ivh foo-1.0-1.i386.rpm


foo # package foo-1.0-1 is already installed error: foo-1.0-1.i386.rpm cannot be installed

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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

foo is needed by bar-1.0-1


#

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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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 Fvh *.rpm

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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

-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.

11. Verificacin de un paquete


La verificacin de un paquete consiste en comparar las informaciones que se refieren a los ficheros instalados desde un paquete con las anlogas informaciones del paquete original. Entre otras cosas, la verificacin de un paquete que compara las dimensiones, el MD5sum, los permisos, el tipo, el propietario y el grupo de cada uno de los archivos. El comando rpm -V verifica un paquete. Puede utilizar cada una de las Opciones de seleccin de los paquetes enumerados para efectuar las entradas para especificar los paquetes que deseen verificar. Una simple aplicacin de cuanto hemos visto es rpm -V foo que verifica que todos los ficheros en el paquete sean como eran en la versin original cuando han sido instalados. Por ejemplo:

Para verificar un paquete que contiene un fichero particular:

rpm -Vf /bin/vi

Para verificar TODOS los paquetes instalados:

rpm Va

Para controlar un paquete instalado con un fichero de un paquete RPM:

rpm -Vp foo-1.0-1.i386.rpm

Todo lo anterior puede ser til si sospecha que la base de datos de RPM tiene cualquier problema de funcionamiento.

Pgina: 25

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

12. Instalacin de Paquetes va Web


Actualizar el sistema aplicando los ms recientes parches de seguridad y correctivos al sistema operativo no es tan difcil como muchos suponen, ni tampoco tiene que ser un infierno de dependencias entre paquetes RPM como algunos otros argumentan. La realidad de las cosas es que es mucho muy simple y solo requiere de un buen ancho de banda o bien muchsima paciencia. A continuacin presentamos los procedimientos para utilizar yum y realizar fcilmente lo que algunos denominan horrible, difcil y complicado. Los procedimiento son tan fcil que realmente no hay muchas excusas para no aplicar los parches de seguridad y correctivos al sistema.

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:

yum search cualquier-paquete


Ejemplo:

yum search httpd

Consulta de informacin
Consultar la informacin contenida en un paquete en particular::

yum info cualquier-paquete


Ejemplo:

yum info httpd

Pgina: 26

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

Instalacin de paquetes
Instalacin de paquetera con resolucin automtica de dependencias.:

yum install cualquier-paquete


Ejemplo:

yum install httpd Desinstalacin de paquetes


Desinstalacin de paquetes junto con todo aquello que dependa de stos:

yum remove cualquier-paquete


Ejemplo:

yum remove httpd

Algunos paquetes que se pueden desinstalar del sistema.


Los siguientes paquetes pueden ser desinstalados del sistema de manera segura junto con todo aquello que dependa de estos: pcmcia-cs (kernel-pcmcia-cs): requerido solo en computadoras porttiles para el soporte de PCMCIA. mdadm: requerido solo para arreglos RAID. autofs: servicio de auto-montado de unidades de disco. ypserv: servidor NIS, utilizado principalmente como servidor de autenticacin. ypbind, yp-tools: herramientas necesarias para autenticar contra un servidor NIS (ypserv) hwcrypto: bibliotecas y herramientas para interactuar con aceleradores criptogrficos de hardware. vnc-server: servidor VNC irda-utils: herramientas y soporte para dispositivos infrarojos. Ejecute lo siguiente para desinstalar los paquetes anteriormente mencionados:

Pgina: 27

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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:

yum list available | less


Lo siguiente listar todos los paquetes instalados en el sistema:

yum list installed |less


Lo siguiente listar todos los paquetes instalados en el sistema y que pueden (deben) actualizarse:

yum list updates | less

Limpieza del sistema.


Yum deja como resultado de su uso cabeceras y paquetes RPM almacenados en el interior del directorio localizado en la ruta /var/cache/yum/. Particularmente los paquetes RPM que se han instalado pueden ocupar mucho espacio y es por tal motivo conviene eliminarlos una vez que ya no tienen utilidad. Igualmente conviene hacer lo mismo con las cabeceras viejas de paquetes que ya no se encuentran en la base de datos. A fin de realizar la limpieza correspondiente, puede ejecutarse lo siguiente:

yum clean all

13. Montando Particiones NTFS


Lo primero es comprender las particiones que existen en nuestro disco duro. Por lo tanto antes de preparar cualquier proceso, debemos ejecutar el siguiente comando para ver como referencia la tabla de particiones de nuestro disco.

Pgina: 28

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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

Versin del kernel

Luego bajamos la aplicacin que se encuentra en sourceforge.net y el nombre de paquete

Pgina: 29

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

14. LINUX NTFS

Una vez descargado el paquete, ejecutaremos el siguiente comando:

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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

Ejecutamos el comando para montar una unidad

Con esto logramos montar una unidad con el tipo de sistema de archivos NTFS De la misma manera que una unidad FAT.

15. Permisos de Archivos y Directorios


La asignacin de permisos de acceso (de lectura, escritura y ejecucin) pueden asignarse a travs de modos, que son combinaciones de nmeros de tres dgitos (usuario, grupo y resto del mundo) y el mandato chmod. Cada clase de permisos es representada por un conjunto de tres caracteres. El primer conjunto de caracteres representa la clase del usuario, el segundo conjunto de tres caracteres representa la clase del grupo y el tercer conjunto representa la clase de otros (resto del mundo). Cada uno de los tres caracteres representa permisos de lectura, escritura y ejecucin, respectivamente y en ese orden.

Pgina: 31

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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).

Modificacin de Propietario y Grupo. Opciones de chmod.


Opcin Descripcin

-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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado Opcin Descripcin

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

4348 Nov 24 16:19 test

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.

As pues, el fichero test de nuestro ejemplo tiene los siguientes permisos:

Pgina: 33

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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.

16. Como utilizar mandatos Chown y Chgrp


Tanto chown como chgrp, forman parte del paquete coreutils, el cual se instala de forma predeterminada en todas las distribuciones de GNU/Linux, por tratarse de un componente esencial
Mandato chown.

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.

-v (overbose) --version --dereference -h (onodereference) --reference

Utilizacin.

chown [opciones] usuario[:grupo] fichero(s) o directorio(s)

Mandato chgrp. El mandato chgrp se utiliza para cambiar el grupo al que pertenece un fichero o

Pgina: 34

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

directorio. Puede especificarse tanto el nombre de un grupo, as como un nmero de identidad de grupo (GID).

Opciones.

-R -v (overbose) --version --dereference -h (onodereference) --reference

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.

Utilizacin. chgrp [opciones] fichero(s) o directorio(s)

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

El siguiente mandato realiza el cambio de grupo a desarrollo, sobre el fichero algo.txt.

Pgina: 35

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

chgrp desarrollo algo.txt

17. Bloquear archivos mediante el mandato chattr


Acerca del mandato chattr. El mandato chattr se utiliza para cambiar los atributos de los sistemas de ficheros ext2 y ext3. Desde cierto punto de vista, es anlogo al mandato chmod, pero con diferente sintaxis y opciones. Utilizado adecuadamente, dificulta las acciones en el sistema de ficheros por parte de un intruso que haya logrado suficientes privilegios en un sistema. En la mayora de los casos, cuando un intruso consigue suficientes privilegios en un sistema, lo primero que har ser eliminar los registros de sus actividades modificando estructuras de los ficheros de bitcoras del sistema y otros componentes. Utilizar el mandato chattr ciertamente no es obstculo para un usuario experto, pero, afortunadamente, la gran mayora de los intrusos potenciales no suelen ser expertos en GNU/Linux o Unix, dependiendo enormemente de diversos programas o guiones (los denominados rootkits y zappers) para eliminar aquello que permita descubrir sus actividades.

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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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.

chattr =aAsS algo.txt


El siguiente mandato lista los atributos del fichero algo.txt.

lsattr algo.txt

18. Creacin de usuarios y grupos


Creando una cuenta en el modo de texto: useradd y passwd Este procedimiento puede realizarse de forma segura tanto fuera de X Window como desde una ventana terminal en el entorno grfico del que se disponga. Fue el mtodo comnmente utilizado antes de la aparicin de programas como YaST y Linuxconf. Sin embargo an resulta til para la administracin de servidores, cuando no se tiene instalado X Window, no se tienen instalados YaST o Linuxconf -o las versiones de estos que se han instalado no trabajan correctamente-, o bien se tienen limitaciones o problemas para utilizar un entorno grfico.

Lo primero: la orden useradd.


El primer paso para crear una nueva cuenta consiste en utilizar el mandato useradd del siguiente modo:

Pgina: 38

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

useradd nombre_del_usuario
Ejemplo:

useradd fulano

Lo segundo: la orden passwd.


Despus de crear la nueva cuenta con useradd o que sigue a continuacin es especificar una contrasea para el usuario. Determine una que le resulte fcil de recordar, que mezcle nmeros, maysculas y minsculas y que, preferentemente, no contenga palabras que se encontraran fcilmente en el diccionario. Existen otras recomendaciones ms, por lo que es conveniente leer, antes de continuar, los comentarios finales acerca de la seguridad incluidos en este mismo artculo. Aunque el sistema siempre tratar de prevenirlo cuando se escoja una mala contrasea, el sistema no le impedir que lo haga. Especificar una nueva contrasea para un usuario, o bien cambiar la existente, se puede realizar utilizando el mandato passwd del siguiente modo:

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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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:

useradd -u 500 -d /home/fulano -G floppy,pppusers,popusers fulano


Lo anterior crear una cuenta de usuario llamada fulano, que se encuentra incluido en los grupos floppy, pppusers y popusers, que tendr un UID=500, utilizar Bash como intrprete de mandatos y tendr un directorio de trabajo en /home/fulano. Existen ms opciones y comentarios adicionales para el mandato useradd, estas se encuentran especificadas en los manuales -Man pages-. Para acceder a esta informacin, utilice el mandato man useradd desde una ventana terminal. Eliminar una cuenta de usuario. En ocasiones un administrador necesitar eliminar una o ms cuentas de usuario. Este es un procedimiento principalmente utilizado en servidores y estaciones de trabajo a los cuales acceden mltiples usuarios. Para tal fin nos valdremos del mandato userdel. La sintaxis bsica de userdel es la siguiente: userdel nombre_del_usuario 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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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.

gpasswd -a usuario-que-sea grupo-que-sea

19. Configuracin de Parmetros de la Red


Configurar los parmetros de red en una estacin de trabajo GNU/Linux o un servidor no es realmente complicado. Solamente requerir de algunos conocimientos bsicos sobre redes y cualquier editor de texto simple.

Deteccin y configuracin del hardware.


La deteccin del hardware es realizada o bien por el programa de instalacin, o bien a travs de kudzu, un servicio que inicia con el sistema y que se encarga de detectar y configurar los dispositivos de hardware instalados. En trminos generales, no hace

Pgina: 41

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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.

Asignacin de parmetros de red.


Nombre del anfitrin (HOSTNAME). Debe editarse con un editor de textos el fichero /etc/hosts, y debe verificarse que este diferenciado el eco o retorno del sistema del nombre del sistema, el cual deber estar asociado a una de las direcciones IP, especficamente la que est asociado a dicho nombre en el servidor de nombres de dominio o DNS si se cuenta con uno en la red local. Ejemplo:

127.0.0.1 localhost.localdomain localhost 192.168.1.50 su_mquina.su_dominio.com su_mquina


Se debe establecer un nombre para el sistema. Este deber ser un nombre de dominio completamente resuelto por un servidor de nombre de domino (DNS) o bien, en el caso de sistemas sin conexin a red o sistemas caseros, sea resuelto localmente en /etc/hosts. De tal modo, el nombre del anfitrin o hostname del sistema se definir dentro del fichero /etc/sysconfig/network del siguiente modo:

NETWORKING=yes HOSTNAME=su_mquina.su_dominio.com

Direccin IP, mscara de sub-red y puerta de enlace.


Debe editarse con cualquier editor de textos, y verificar que sus parmetros de red sean los correctos, el fichero localizado en la ruta /etc/sysconfig/network-scripts/ifcfgeth0. Ejemplo: DEVICE=eth0 ONBOOT=yes BOOTPROTO=static IPADDR=192.168.1.50 NETMASK=255.255.255.0 GATEWAY=192.168.1.254

Pgina: 42

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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:

nameserver 192.168.1.254 nameserver 192.168.1.1


Comprobaciones. Despus de hacer configurado todos los parmetros de red deseados, solo deber de ser reiniciado el servicio de red, ejecutando lo siguiente:

/sbin/service network restart


Basta solamente comprobar si hay realmente conectividad. Puede ejecutarse el mandato ping hacia cualquier direccin de la red local para tal fin.

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

20. Servidor de Conexiones Seguras


SSH.
SSH (Secure Shell) es un conjunto de estndares y protocolo de red que permite establecer una comunicacin a travs de un canal seguro entre un cliente local y un servidor remoto. Utiliza una clave pblica cifrada para autenticar el servidor remoto y,

Pgina: 43

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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.

Equipamiento lgico necesario.


openssh-3.5p1-6 openssh-clients-3.5p1-6 openssh-server-3.5p1-6 Antes de continuar verifique siempre la existencia de posibles actualizaciones de seguridad:

yum -y install openssh openssh-server openssh-clients

Pgina: 44

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

Ficheros de configuracin. /etc/ssh/sshd_config Fichero central de configuracin del servicio SSH.

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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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.

AllowUsers fulano mengano


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, solamente desde los anfitriones 10.1.1.1 y 10.2.2.1. AllowUsers fulano@10.1.1.1 mengano@10.1.1.1 fulano@10.2.2.1 mengano@10.2.2.1 Aplicando los cambios. El servicio de SSH puede iniciar, detenerse o reiniciar a travs de un guin similar a los del resto del sistema. De tal modo, podr iniciar, detenerse o reiniciar a travs del mandato service y aadirse al arranque del sistema en un nivel o niveles de corrida en particular con el mandato chkconfig. Para ejecutar por primera vez el servicio, utilice:

service sshd start

Para hacer que los cambios hechos a la configuracin surtan efecto, utilice:

service sshd restart

Para detener el servicio, utilice:

Pgina: 46

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

service sshd stop


De forma predeterminada, el servicio SSH est incluido en todos los niveles de corrida con servicio de red. Para desactivar el servicio Sshd de los niveles de corrida 2, 3, 4 y 5, ejecute:

chkconfig --level 2345 sshd off

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.

ssh -p 52341 juan@192.168.0.99


Transferencia de ficheros a travs de SFTP. Para acceder a travs de SFTP hacia el servidor, basta con ejecutar desde el sistema cliente el mandato sftp definiendo el usuario a utilizar y el servidor al cual conectar:

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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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.

scp -rp Mail fulano@192.168.0.99:~/

Pgina: 48

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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.

scp -P 52341 -rp fulano@192.168.0.99:~/Mail ./

21. Como Configurar Un Servidor DHCP


DHCP (acrnimo de Dynamic Host Configuration Protocol que se traduce Protocolo de configuracin dinmica de servidores) es un protocolo que permite a dispositivos individuales en una red de direcciones IP obtener su propia informacin de configuracin de red (direccin IP; mscara de sub-red, puerta de enlace, etc.) a partir de un servidor DHCP. Su propsito principal es hacer ms fciles de administrar las redes grandes. DHCP existe desde 1993 como protocolo estndar en el RFC 2131. Sin la ayuda de un servidor DHCP, tendran que configurarse de forma manual cada direccin IP de cada anfitrin que pertenezca a una Red de rea Local. Si un anfitrin se traslada hacia otra ubicacin donde existe otra Red de rea Local, se tendr que configurar otra direccin IP diferente para poder unirse a esta nueva Red de rea Local. Un servidor DHCP entonces supervisa y distribuye las direcciones IP de una Red de rea Local asignando una direccin IP a cada anfitrin que se una a la Red de rea Local. Cuando, por mencionar un ejemplo, una computadora porttil se configura para utilizar DHCP, a sta le ser asignada una direccin IP y otros parmetros de red necesarios para unirse a cada Red de rea Local donde se localice. Existen tres mtodos de asignacin en el protocolo DHCP: Asignacin manual: La asignacin utiliza una tabla con direcciones MAC (acrnimo de Media Access Control Address, que se traduce como direccin de Control de Acceso al Medio). Slo los anfitriones con una direccin MAC definida en dicha tabla recibir el IP asignada en la misma tabla. sto se hace a travs de los parmetros hardware ethernet y fixed-address. Asignacin automtica: Una direccin de IP disponible dentro de un rango determinado se asigna permanentemente al anfitrin que la requiera. Asignacin dinmica: Se determina arbitrariamente un rango de direcciones

Pgina: 49

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

Luego de ejecutar la siguiente acccion nos motrara el archivo en blanco y rellenaremos de la siguiente manera.

Guardamos salimos del archivo de configuracin con la sentencia


ESC + Shift :wq

ara ejecutar por primera vez el servicio, ejecute:

/sbin/service dhcpd start


Para hacer que los cambios hechos a la configuracin surtan efecto, ejecute:

/sbin/service dhcpd restart

Pgina: 51

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

Para detener el daemon, ejecute:

/sbin/service dhcpd stop


Para aadir dhcpd al arranque del sistema, ejecute:

/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.

Base de datos Lease


En el servidor DHCP, el fichero /var/lib/dhcp/dhcpd.leases almacena la base de datos lease del cliente DHCP. Este fichero no debe modificarse manualmente. La informacin sobre lease de DHCP de cada direccin IP asignada recientemente se almacena de modo automtico en la base de datos lease. La informacin incluye la longitud del lease, al que se ha asignado la direccin IP, las fechas iniciales y finales del lease, y la direccin MAC de la tarjeta de interfaz de red utilizada para recuperar el lease. Todas las horas de la base de datos lease se expresan segn GMT, no con la hora local. La base de datos lease se crea nuevamente de vez en cuando para que su tamao no sea excesivo. En primer lugar, se guardan todos los lease conocidos en una base de datos lease temporal. El fichero dhcpd.leases cambia su nombre a dhcpd.leases~, y la base de datos lease temporal se registra en dhcpd.leases. El demonio DHCP puede borrarse porque, de otro modo, el sistema puede quedarse inestable despus de cambiar el nombre de la base de datos por el fichero de copia de seguridad, antes de escribir el nuevo fichero. Si ocurre esto, no se necesitar ningn fichero dhcpd.leases para arrancar el servicio. No cree un nuevo fichero lease si ocurre esto. Si lo hace, se perdern las versiones anteriores lease y podran generarse problemas. La solucin correcta consiste en cambiar el nombre del fichero de copia de seguridad dhcpd.leases~ de nuevo a dhcpd.leases y, a continuacin, arrancar el demonio. Para verificar que nuestro servidor dhcpd funciona de forma correcta, verificaremos en la ubicacin /var/lib/dhcp/ un archivo que se creo con el nombre dhcpd.leases DHCP tambin usa el fichero /var/lib/dhcp/dhcpd.leases para almacenar la base de datos lease del cliente

Pgina: 52

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

22. Configuracin de Servidor Proxy


Un servidor Proxy , es bsicamente un programa que acepta peticiones de clientes para las URL, obtiene, y devuelve los resultados al cliente. Los Proxy se utilizan en redes en la que los clientes no tienen acceso directo a Internet, pero tienen que ser capaces de ver pginas Web y para la memoria cach de las pginas comnmente solicitadas, de manera que si ms de un cliente quiere ver la misma pgina, slo tiene que ser una vez descargada.

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.

Instalacin y Configuracin de Squid


Empezamos instalando squid y httpd: # yum - y install squid httpd Squid utiliza el fichero de configuracin ubicado en la siguiente ruta: /etc/squid/squid.conf, el cual podremos trabajar con nuestro editor preferido.

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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

# vim squid.conf

Configurar: parmetro http_port: (puerto que utilizar Squid)


De acuerdo a las asignaciones hechas por IANA y continuadas por la ICANN desde el 21 de marzo de 2001, los Puertos Registrados recomendados para servidores intermediarios (proxies) pueden ser el 3128 y 8080 a travs de TCP. De modo predefinido Squid utilizar el puerto 3128 para atender a peticiones, sin embargo podemos especificar que lo haga en cualquier otro puerto disponible o bien que lo haga en varios puertos a la vez.

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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

Configurar: parmetro cache_mem


Este parmetro cache_mem establece la cantidad de memoria para: -Objetos de transito -Objetos frecuentemente utilizados (Hot). Por defecto vienen 8 MB. Podemos especificar una cantidad mayor dependiendo de nuestras necesidades. Si tenemos un servidor con al menos 128 MB de RAM, establecemos 16 MB como valor para este parmetro: cache_mem 16 MB

Configurar: parmetro cache_dir


Establecemos que tamao deseamos que tenga el cach en el disco duro para Squid. De modo predefinido Squid utilizar un cach de 100 MB, de modo que encontramos la siguiente lnea: cache_dir ufs /var/spool/squid 100 16 256 Podemos incrementar el tamao del cach segn nuestra necesidad. Mientras ms cach tengamos, ms objetos se almacenarn en ste y por lo tanto se utilizar menos ancho de banda. Por ejemplo establecemos un cach de 10000 MB: cache_dir ufs /var/spool/squid 10000 16 256 Los nmeros 16 y 256 significan que el directorio del cach contendr 16 directorios

Pgina: 56

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

# chkconfig squid on

Restriccin de Pginas Web Indebidas


Denegar el acceso a ciertos sitios de red permite hacer un uso ms racional del ancho de banda. El proceso es simple, y consiste en denegar el acceso a nombres de dominio o direcciones Web que contengan patrones en comn. Definiendo patrones comunes Debemos de generar una lista que contenga las direcciones Web y palabras utilizadas en nombres de ciertos dominios. Ejemplos: http://www.sitioporno.com/ http://www.otrositioporno.com/ sitioindeseable.com otrositioindeseable.com napster sex porn mp3 xxx adult warez celebri Se recomienda denegar la direccin web del sitio, as como tambin el dominio, tal como se indico en el ejemplo anterior Estos dominios y palabras las ingresaremos dentro de una lista en la ruta: /etc/squid/sitiosdenegados Previamente deberamos haber creado el fichero sitiosdenegados dentro de /etc/squid Parmetros en /etc/squid/squid.conf Una vez generado el fichero sitiosdenegados, tambin debemos definir una Lista de Control de Acceso que defina a dicho fichero y la denominaremos sitiosdenegados. La lnea correspondiente debera quedar as: acl sitiosdenegados url_regex /etc/squid/sitiosdenegados Debemos tener lo siguiente: Ahora generamos la Regla de Control de Acceso correspondiente a la lista

Pgina: 60

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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

Restriccin de Archivos por su Extensin


Squid permite denegar el acceso a ciertos tipos de extensiones, lo que nos permite hacer un uso ms racional del ancho de banda. El funcionamiento es simple, y consiste en denegar el acceso a ciertos tipos de extensiones que coincidan con lo establecido en unaLista de Control de Acceso. Definiendo elementos de la Lista de Control de Acceso Primero debemos generar una lista que contenga las extensiones que vamos a denegar, esta lista la generamos dentro de /etc/squid. Ejemplo: \.avi$ \.mp4$ \.mp3$ \.mpg$ \.mpeg$ \.exe$ Esta lista debe ser guardada con todas las extensiones de fichero que consideremos pertinentes, la guardamos como /etc/squid/listaextensiones. Parmetros en /etc/squid/squid.conf Debemos definir una Lista de Control de Acceso que a su vez defina al

Pgina: 61

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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

23. Como Implementar un servidor


Instalacin del software necesario. Instalacin a travs de yum.
Si se utiliza de CentOS 4.0 o White Box Enterprise Linux 4.0, solo basta ejecutar lo siguiente:

yum -y install httpd


Si se desea que Apache incluya soporte para PHP/MySQL, Perl, Python y SSL, solo bastar ejecutar:

yum -y install php php-mysql mod_perl mod_python mod_ssl

Pgina: 62

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

Instalacin a travs de Up2date


Si se utiliza de Red Hat Enterprise Linux 4.0, solo basta ejecutar lo siguiente:

up2date -i httpd
Si se desea que Apache incluya soporte para PHP/MySQL, Perl, Python y SSL, solo bastar ejecutar:

up2date -i php php-mysql mod_perl mod_python mod_ssl

Iniciar servicio y aadir a los servicios de arranque del sistema.


Apache es un servicio que por fortuna solo es necesario instalar e iniciar. No requiere modificaciones adicionales para su funcionamiento bsico. Para aadir el servicio a los servicios que inician junto con el sistema, solo basta ejecuta:

/sbin/chkconfig httpd on
Para iniciar el servicio por primera vez, solo basta ejecutar:

/sbin/service httpd start


Si el servicio ya est trabajando, tambin puede utilizar reload a fin de que Apache vuelva a leer y cargar la configuracin sin interrumpir el servicio.

/sbin/service httpd reload


Una vez iniciado el servicio abrimos un explorador cualquiera y colocamos de la siguiente forma:

Pgina: 63

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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...

ServerType { standalone | inetd }:


El servidor se lanza bien como un servicio independiente que est corriendo como un demonio esperando alguna peticin (standalone) o bien es lanzado por el superservidor de internet (inetd) como un servicio bajo demanda.

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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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.

Main Server Configuration.


Estas directivas definen los parmetros del servidor principal, el cual responde a las peticiones que no son manejadas por un host virtual. Tambin proporciona parmetros por defecto para todos los hosts virtuales.

Pgina: 66

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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.

Options: [+|-] opcion:


Controla que caractersticas estn disponibles para un directorio en particular. La opcin se puede definir a None, de forma que ninguna caracterstica extra se habilita o a All de forma que todas se habilitan menos MultiViews. Otras caractersticas extra son: ExecCGI , FollowSymLinks, Includes, IncludesNOEXEC, Indexes, MultiViews, SymLinksIfOwnerMatch.

Pgina: 67

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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.

Alias url directorio:


Esta directiva permite que los documentos sean almacenados en un sistema de ficheros diferente al definido por la directiva DocumentRoot.

Location url:
La directiva proporciona control de acceso por URL. Es similar a la directiva Directory.

ScriptAlias url directorio:


Tiene el mismo comportamiento que la directiva Alias, excepto que adems define el directorio para que pueda contener scripts CGI.

Pgina: 68

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

24. Como Configurar Un Servidor de Correo


SENDMAIL + DOVECOT TEXTO PLANO
Habilitando el servicio Saslauthd
En esta nueva versin 6, Linux requiere de una aplicacin para autenticar a los usuarios almacenados en el server para lo cual debemos habilitar mediante un comando

Configuracin del servicio Dovecot


Resulta que en CentOS-6 se ha hecho un poquito ms complejo el instlar correctamente el dovecot, anteriormente era simplemente instalarle y arrancar el servicio y ya funcionaba, ahora igualmente debemos hacer:

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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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:

Configuracin del servicio Sendmail


En la configuracin de sendmail es simple, primero debemos verificar si el servicio se encuentra instalado en nuestro equipo o no. Sino lo esta ejecutamos el siguiente comando.

Pgina: 71

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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.

Finalmente reiniciamos el servicio sendmail y hacemos las pruebas correspondientes:

Pgina: 72

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

Finalmente comprobamos la conexin mediante un cliente de correo

SENDMAIL + DOVECOT CON SEGURIDAD SSL


Para configurar un servidor de correos se debe de configurar correctamente los parmetros de red, a continuacin dejo los pasos de como deben estar los archivos esenciales.

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.

Aqu estamos deshabilitando el programa SELINUX el cual coloca por default

Pgina: 73

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

polticas de proteccin para cada aplicacin.

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.

Configuracin del servicio Dovecot


Primero consultamos si el paquete se encuentra instalado o no.

Luego configuramos el siguiente archivo.

Pgina: 74

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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.

Con este comando

reiniciamos el servicio Dovecot y vemos que esta funcionando correctamente., hagamos la prueba de conexin mediante el siguiente comando:

Pgina: 75

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

Configuracin del servicio Sendmail


Primero consultamos si tenemos el servicio de sendmail instalado o no:

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.

Lo anterior solicitar se ingresen varios datos:


Codigo de dos letras para el pas: PE Estado o provincia: Lima Ciudad: Lima Nombre de la empresa o razn social: Mikro Unidad o seccin: Tecnologa Nombre de dominio: *.mikro.com.pe Correo electrnico: usuario@mikro.com.pe

Al terminar, ya no ser necesario conservar el archivo dsa1024.pem, mismo que puede eliminarse con plena seguridad.

Pgina: 76

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

Es indispensable que todos los archivos de claves y certificados tengan permisos de acceso de slo lectura para el usuario root:

Cambie al directorio /etc/pki/dovecot/

Elimine los certificados de prueba creados durante la instalacin.

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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

Y para finalizar, reiniciamos el servicio de sendmail

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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

Luego ejecutamos el siguiente comando para entrar al mysql

Posterior a esto debemos de reiniciar el servicio APACHE mediante el siguientecomando:

Pgina: 81

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

25. Como Configurar Squirre Mail


SquirrelMail es un interesante, extensible, funcional y robusto software para correo y que permite acceder al usuario a su correo electrnico desde el navegador de su predileccin. SquirrelMail est escrito en PHP4 y cumple con los estndares como correo a travs de interfaz HTTP. Incluye su propio soporte para los protocolos IMAP y SMTP. Adems todos las pgina se muestran con HTML 4.0 sin la necesidad de JavaScript para una mxima compatibilidad con cualquier navegador. SquirrelMail incluye toda la funcionalidad deseada para un cliente de correo como un robusto soporte MIME, libreta de direcciones y administracin de carpetas. Procedimientos.

Instalacin del software requerido. yum -y install squirrelmail httpd

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):

protocols = imap pop3

Pgina: 82

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

El servicio se agrega al arranque del sistema y se inicializa del siguiente modo:

chkconfig dovecot on service dovecot start


Si utiliza Red Hat Enterprise Linux 3.0, CentOS 3.0 o White Box Enterprise Linux 3.0, el procedimiento utilizar el paquete imap, el cual solo requiere un simple mandato para activar el servicio.

chkconfig imap on
Reinicie o inicie el servicio de apache:

service httpd start


Acceda con el navegador de su predileccin hacia http://127.0.0.1/webmail/.

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

26. Servicio Web Seguro (HTTPS)


El protocolo HTTPS es la versin segura del protocolo HTTP. El sistema HTTPS utiliza un cifrado basado en las Secure Socket Layers (SSL) para crear un canal cifrado (cuyo nivel de cifrado depende del servidor remoto y del navegador utilizado por el cliente) ms apropiado para el trfico de informacin sensible que el protocolo HTTP. Cabe mencionar que el uso del protocolo HTTPS no impide que se pueda utilizar HTTP. Es aqu, cuando nuestro navegador nos advertir sobre la carga de elementos no seguros (HTTP), estando conectados a un entorno seguro (HTTPS). Los protocolos https son utilizados por navegadores como: Internet Explorer, Mozilla Firefox, Opera, ... entre otros.

Pgina: 83

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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

El certificado no puede ser validado en una entidad certificadora

Pgina: 87

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

A continuacin ejecutaremos el comando donde nos permite definir parmetros de identificacin de la empresa para el certificado digital.

Aqu nos generara el CSR (server.csr) as como lo muestra la siguiente figura.

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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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:

server.crt server.csr server.key

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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

el puerto, Debajo colocaremos el lugar donde se almacena el directorio Web y por ultimo la direccin IP del servidor + el puerto correspondiente

Reiniciamos el servicio Web. Y colocamos https://130.10.1.29

27. Servidor De Horario


NTP (Network Time Protocol) es un protocolo, de entre los ms antiguos protocolos de Internet (1985), utilizado para la sincronizacin de relojes de sistemas computacionales a travs de redes, haciendo uso de intercambio de paquetes (unidades de informacin transportadas entre nodos a travs de enlaces de datos compartidos) y latencia variable (tiempo de demora entre el momento en que algo inicia y el momento en que su efecto inicia).

Pgina: 90

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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.

Archivo de configuracin /etc/ntp.conf.


Los sistemas operativos como Red Hat Enterprise Linux 4 y CentOS 4, se incluye un fichero de configuracin /etc/ntp.conf, con fines demostrativo. Lo recomendable es sacar una copia de seguridad para que luego puedan hacer nuevos cambios si es que se desea as. Empezaremos editando el archivo de configuracin. # -- CLIENT NETWORK ------# Permit systems on this network to synchronize with this # time service. Do not permit those systems to modify the # configuration of this service. Also, do not use those # systems as peers for synchronization. restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap

# --- GENERAL CONFIGURATION --# # Undisciplined Local Clock. This is a fake driver intended for backup

Pgina: 92

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

# 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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

28. Configuracin De MailScanner Y Clamav Con Sendmail


MailScanner, un robusto servicio que se encarga de examinar el correo electrnico e identificar y etiquetar correo masivo no solicitado ( Spam), as como tambin los fraudes electrnicos (Phishing). Combinado con ClamAV, un poderoso y verstil antivirus libre para GNU/Linux y otros sabores de Unix, resultan una de las soluciones ms robustas para la proteccin contra correo masivo no solicitado, fraudes electrnicos, virus, gusanos y troyanos desde el servidor de correo electrnico. MailScanner tiene las siguientes caractersticas: Distribuido bajo los trminos de la Licencia Publica General GNU versin 2. Revisa el correo electrnico en busca de virus utilizando cualquier combinacin de entre ms de una docena de distintos programas anti-virus. Automticamente actualiza todo los anti-virus instalados cada hora. Identifica alrededor del 95% del correo masivo no solicitado (Spam) utilizando diferentes tcnicas, incluyendo altamente avanzadas tcnicas de heurstica (capacidad de un sistema para realizar de forma inmediata innovaciones positivas para sus fines). El correo identificado como peligroso puede ser etiquetado, rechazado, descartado, archivado o reenviado hacia otras direcciones para su inspeccin por los administradores. Puede eliminar el contenido grfico de correo masivo no solicitado (Spam) de tipo pornogrfico protegiendo a los usuarios de contenido obsceno. Verifica el coreo electrnico en busca de conocidas vulnerabilidades para las ms populares aplicaciones de correo electrnico y corrige automticamente los mensajes durante el proceso cuando sea posible poniendo en cuarentena las secciones peligrosas de contenidas en los mensajes. Es altamente escalable. Un servidor puede procesar ms de milln y medio de mensajes de correo por da. Es robusto. Se protege a si mismo contra ataques de Denegacin de Servicio (DoS) y fuga de recursos del sistema operativo. Es altamente configurable, proporciona a los Proveedores de Servicios de Internet (ISP o Internet Service Provider y Proveedores de Servicios de Aplicaciones (ASP o Application Service Provider) la posibilidad de utilizar miles de diferentes reglas y configuraciones para cualquier combinacin de usuarios y dominios. Es fcil de instalar y configurar puesto que sus opciones predefinidas permiten trabajar al servicio de correo sin complicaciones. ClamAV tiene las siguientes caractersticas:

Pgina: 94

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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:

Lenguaje de los mensajes de sistema.


Puede configurar MailScanner para que devuelva los mensajes de sistema en espaol. Localice lo siguiente:

%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.

%org-long-name% = Centro de Computo Sistemas.

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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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

Adjuntos en formato de texto enriquecido.


Algunas versiones de Microsoft Outlook generan adjuntos en formato de Texto Enriquecido (Rich Text Format) que no pueden ser examinados. El valor predefinido es no ya que de otro modo habra un alto riesgo de permitir la entrada de virus a travs de este tipo de mensajes. Sin embargo muchos usuarios de Outlook pueden protestar al respecto por carecer una enfoque apropiado acerca de la seguridad. Realmente vale la pena el riesgo? Si los usuarios estn de acuerdo en que recibir un mensaje con colores y letras bonitos es ms importante que la seguridad, puede cambiarse el valor a yes.

Deliver Unparsable TNEF = no


Adicionalmente puede, aunque no se recomienda, cambiar el valor de deny por allowen la lnea de configuracin correspondiente para adjuntos con extensin *.dat en el fichero /etc/MailScanner/filename.rules.conf. En este fichero se define lo que se quiera denegar si los mensajes incluyen ciertos tipos de ficheros adjuntos que se consideran de alto riesgo. El formato de este fichero consiste en definir una regla (que puede ser allow, deny o deny+delete), una expresin regular a filtrar, texto a incluir en la bitcora del sistema y el texto a utilizar en el reporte para el usuario, todo separado por tabuladores y en una sola lnea por cada regla. deny winmail.dat$ Windows security vulnerability No Outlook Rich Text Format messages due to security hole, use HTML instead Lo anterior rechaza los mensajes que incluyan adjuntos *.dat, es decir mensajes de Outlook en Formato de Texto Enriquecido (Outlook Rich Text Format), devolviendo un mensaje de error en ingls que dira: No Outlook Rich Text Format messages due to security hole, use HTML instead. Se puede poner el mensaje al espaol: deny winmail.dat$ Windows security vulnerability No aceptamos mensajes en Formato de Texto Enriquecido de Outlook, por favor utilice HTML. Lo anterior rechaza los mensajes que incluyan adjuntos *.dat, es decir mensajes de Outlook en Formato de Texto Enriquecido (Outlook Rich Text Format), devolviendo un mensaje de error en ingls que dira: No aceptamos mensajes en Formato de Texto Enriquecido de Outlook, por favor utilice HTML..

Pgina: 97

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

Definir anti-virus a utilizar.


MailScanner puede detectar automticamente los anti-virus a utilizar dejando el valor auto en el parmetro Virus Scanners, de modo que detectar cualquiera de los siguientes: Sophos. Bitdefender. eTrust. Nod32. Panda. ClamAV. Css. Mcafee. DRweb. Inoculate. F-Secure. Rav. Trend. AVG. Command. Kaspersky. Inoculan. F-Prot. Antivir. Norman. Vexira.

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

Poner en cuarentena los mensajes infectados o no?


Si decide no poner en cuarentena los elementos adjuntos infectados en los mensajes de correo electrnico y prefiere eliminar estos adjuntos inmediatamente despus de ser procesados, localice lo siguiente: Quarantine Infections = yes Cambie por: Quarantine Infections = no

Permitir mensajes con etiqueta Iframe, Form y Script.


Las etiquetas iframe se utilizan para cargar una pgina empotrada dentro de un marco. Lamentablemente esto representa un riesgo muy alto e innecesario debido a que un mensaje de correo electrnico podra no contener material daino, pero tal vez el la pgina que cargue el marco que si lo contenga. Actualmente se considera el enviar correo electrnico utilizando etiquetas iframe como poco tico por todos los riesgos que conlleva.

Pgina: 98

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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.

Ignore Spam Whitelist If Recipients Exceed = 20

A travs de DNSBL o listas negras.


MailScanner permite tambin realizar filtrado de correo contra listas negras como SpamCop y Spamhaus. Si ya utiliza los DNSBL o listas negras desde Sendmail, no active esta funcionalidad en MailScanner para no duplicar las consultas hacia los DNSBL.

Pgina: 99

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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:

Spam List = ORDB-RBL SBL+XBL # MAPS-RBL+ costs money (except .ac.uk)

Cambie por:

Spam List = ORDB-RBL SBL+XBL spamcop.net NJABL SORBS

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.

Use SpamAssassin = yes

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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

Required SpamAssassin Score = 6

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.

High SpamAssassin Score = 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.

Store forward usuario@dominio.com Striphtml

Attachment

notify

header "nombre: valor"

Pgina: 101

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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

29. Configuracin De Un Servidor De Correo Con Soporte SSL y TLS


Para la realizacin de este tema, es necesario que el usuario administrador tenga los suficientes conocimientos para configurar un servidor de correo con protocolos imap y pop3 (protocolos clsicos de correo). En esta seccin veremos como configurar un servidor de correo con soporte a protocolos seguros tales como son el imaps y el pop3s de manera tal que los usuarios sin notarlo enven y reciban los correos de manera segura. Antes que todo debemos tener en cuenta algunos conceptos fundamentales de los servicios que necesitamos para usar un mtodo de encriptacin. A continuacin menciono algunos conceptos de lo necesario para la configuracin de este servidor/. DSA (Digital Signature Algorithm o Algoritmo de Firma digital) es un algoritmo creado por el NIST (National Institute of Standards and Technology o Instituto Pgina: 103

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

Unidad o seccin. Nombre del anfitrin. Direccin de correo.

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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

chmod 400 /etc/ssl/sistemasuni.edu.pe/sendmail.*

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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

Nombre del anfitrin. Direccin de correo.

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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

30. Servidores De Seguridad Firewall


Un firewall es un sistema o grupo de sistemas que impone una poltica entre una red o un equipo privado e Internet, determinando qu servicios de red son accesibles por los usuarios externos e internos. Para que el firewall funcione de forma efectiva, todo el trfico de informacin tendr que pasar por l, para poder ser inspeccionado mediante el uso de polticas de seguridad, y supervisar los registros de seguridad creando un permetro de defensa diseado para proteger la informacin. Las principales funciones de los firewalls o cortafuegos son las siguientes: Bloquear el acceso a determinados lugares en Internet (redes, subredes, nodos especficos), o prevenir que ciertos usuarios o mquinas puedan acceder a ciertos servidores o servicios y bloquear el acceso a nuestra red o equipo desde ciertas mquinas. Filtrar los paquetes que circulan entre la red local e Internet, de modo que slo aquellos correspondientes a servicios permitidos puedan pasar (Telnet, e-mail, ftp, www...). Vigilar el trfico. Supervisar el destino, origen y cantidad de informacin enviados o recibidos.

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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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

Implement. de Firewall Con Iptables


En este manual se a intentado dar una breve introduccin sobre lo que es un firewall, sus tipologas bsicas y en concreto se presenta el sistema iptables. Pero vamos al grano y empezamos a ver configuraciones de firewall con iptables, empezando desde la ms bsica a las ms complejas, en las que se establece la denegacin como poltica por defecto. Nota: se recomienda encarecidamente ir practicando estas reglas en alguna maquina linux disponible, y especialmente hacer uso de la herramienta iptraf para depurar y comprobar el funcionamiento de iptables. Con iptraf podemos comprobar si las conexiones TCP/IP se llegan a establecer o no.

Proteger la propia mquina


En nuestro Caso tenemos una computadora conectada a Internet y queremos protegerlo con su propio firewall, lo nico que tenemos que hacer es crear un script de shell en el que se van aplicando las reglas.

Los scripts de iptables pueden tener este aspecto: #!/bin/sh ## SCRIPT de IPTABLES - ejemplo del manual de iptables

Pgina: 115

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

## Ejemplo de script para proteger la propia mquina

## 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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

# 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

Firewall De Una LAN Con Salida A Internet


Qu es lo que hace falta? Obviamente, una regla que haga NAT hacia fuera (enmascaramiento en iptables), con lo que se hara dos veces NAT en el firewall y en el router. Entre el router y el firewall lo normal es que haya una red privada (192.168.1.1 y 192.168.1.2 por ejemplo), aunque dependiendo de las necesidades puede que los dos tengan IP pblica. El router se supone que hace un NAT completo hacia dentro (quiz salvo puerto 23), o sea que desde el exterior no se llega al router si no que de forma transparente se "choca" contra el firewall. Lo normal en este tipo de firewalls es poner la poltica por defecto de FORWARD en denegar (DROP), pero eso lo vemos ms adelante.

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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

##

## 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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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

## FLUSH de reglas iptables -F iptables -X iptables -Z iptables -t nat F

## Establecemos politica por defecto

Pgina: 121

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

# 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

Firewall de Una LAN con salida a Internet con DMZ


En este tipo de firewall hay que permitir: Acceso de la red local a internet. Acceso pblico al puerto tcp/80 y tcp/443 del servidor de la DMZ Acceso del servidor de la DMZ a una BBDD de la LAN Obviamente bloquear el resto de acceso de la DMZ hacia la LAN.

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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

#!/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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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

Firewall Entre Redes

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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

## Ejemplo de script para firewall entre redes.

## 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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

# 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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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.

Distribucion Basada En Firewall


Endian Firewall.- Es una pequea distribucion basada en firewall, es un
conjunto de aplicaciones RPM que se basa como plataforma de trabajo en CentOS. Esta pequea distro cumple distintas funciones por ejemplo: Salida a Internet Proxy cache Proxy transparente IPSec Gateway to gateway VPN IPSec Remote client to gateway VPN (roadwarrior) NAT - Multi-IP address support (aliases) DNS Dinmico Soporte DMZ Interfaz Web HTTPS Detalle Grafico Del Trafico De Red Vista De Conexiones Activas Manejador de Eventos Log

Pgina: 131

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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

Requisitos para la instalacin


Para la instalacin de esta distro, como mnimo se necesita tener 2 interfaces de red, una para la red externa y una para la red local. Ya que este funciona como firewall nativamente. Uno de los puntos importantes que un administrador de red debe de saber es la direccin de ip que funcionara como puerta de enlace para los clientes de la red local asi como tambien debe saber las direcciones ip reales de su proveedor de Internet asi como tambien los DNS. Ya que al momento de la instalacion primero pedira la direccion ip de la red local que funcionara como puerta de enlace o gateway. Seguido y al terminar el proceso de instalacion la administracin y configuracin restante se lograra mediante un cliente x que se encuentre en la red local.

Pgina: 132

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

Usos de las VPN's


Las VPN's se usan generalmente para:

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.

Implementaciones de capa 2 - Enlace


El encapsulamiento a este nivel ofrece ciertas ventajas ya que permite transferencias sobre protocolos no-IP, como por ejemplo IPX4 de Netware Systems. Tericamente, las tecnologas implementadas en capa 2 pueden tunelizar cualquier tipo de paquetes y

Pgina: 137

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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.

Implementaciones de capa 3 - Red


IPsec es la tecnologa ms aceptada en este punto y fue desarrollada como un estndar de seguridad de Internet en capa 3. IPsec se pude utilizar para encapsular cualquier trfico de capa 3 pero no el trfico de capas inferiores, por lo que no se podr utilizar para protocolos no-IP como IPX o mensajes de broadcast. Su principal ventaja es que puede ser usado prcticamente en cualquier plataforma existiendo una gran variedad de soluciones tanto de software como de hardware. Existen dos mtodos principales usados por IPsec:

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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

Implementaciones de capa 7 - Aplicacin


Tambin es posible establecer tneles en la capa de aplicacin y de hecho son ampliamente utilizados hoy en da siendo algunas aproximaciones soluciones como SSL6 y TLS7. El usuario accede a la VPN de la organizacin a travs de un browser iniciando la conexin en un sitio web seguro (HTTPS-Secured website). Adems, existen otros productos como SSL-Explorer y otros que ofrecen una combinacin de gran flexibilidad, seguridad fuerte y facilidad de configuracin. La seguridad es lograda mediante cifrado del trfico usando mecanismos SSL/TLS, los cuales han probado ser muy seguros y estn siendo constantemente sometidos a mejoras y testeos.

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.

Cifrado simtrico y claves pre-compartidas


Cualquiera que posea la clave podr descifrar el trfico, por lo que si un atacante la obtuviese comprometera el trfico completo de la organizacin ya que tomara parte como un integrante ms de la VPN.

Pgina: 139

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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.

Cifrado asimtrico con SSL/TLS


SSL/TLS usa una de las mejores tecnologas de cifrado para asegurar la identidad de los integrantes de la VPN. Cada integrante tiene dos claves, una pblica y otra privada.

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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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.

Ventajas y Desventajas de OpenVPN


Ventajas OpenVPN provee seguridad, estabilidad y comprobados mecanismos de cifrado sin sufrir la complejidad de otras soluciones VPN como las de IPsec. Adems ofrece ventajas que van ms all que cualquier otra solucin como ser:

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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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.

Comparacin entre OpenVPN e IPsec VPN


IPsec Estndar de la tecnologa VPN Plataformas de hardware (dispositivos, aparatos) Tecnologa conocida y probada Muchas interfaces grficas disponibles Modificacin compleja del stack IP Necesidad de modificaciones crticas al kernel Necesidad de permisos de administrador Diferentes implementaciones de distintos proveedores pueden ser incompatibles entre si Configuracin compleja y tecnologa compleja Curva de aprendizaje muy pronunciada OpenVPN Aun desconocida y no compatible con IPsec Solo en computadoras, pero en todos los sistemas operativos disponbiles Tecnologa nueva y aun en crecimiento Sin interfaces grficas profesionales, aunque ya existen algunos proyectos prometedores Tecnologa sencilla Interfaces de red y paquetes estandarizados Ejecuta en el espacio del usuario y puede ser chroot-ed Tecnologas de cifrado estandarizadas Facilidad, buena estructuracin, tecnologa modular y facilidad de configuracin Fcil de aprender y xito rpido para principiantes

Pgina: 142

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

# 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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

# asterisk vvvvv luego: # asterisk r

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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

33. Instalacion y configuracin de Mikrotik


En primer lugar, es necesario descargar el ISO de MikroTik, en este caso ser la versin 4.16 que la pueden descargar directamente desde mikrotik.com. Una vez que se tenga el ISO hay grabarlo en un CD, el programa para hacerlo ya es a gusto de cada uno, que puede ser Nero, CDBurnerXP (Bueno, Bonito y... Gratis! Lo recomiendo), etc.

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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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.

El usuario login y password por defecto son: Login: admin Password:

Pgina: 149

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

34. CentOS 6 Escritorio Remoto desde Windows


Mas de una vez necesitamos ver nuestro escritorio Linux para correr un app o simplemente por que necesitamos, voy a marcar los pasos mas importantes para montar un servicio nx el cual nos permitir tener un escritorio remoto del server. 1.- Descargamos los rpms desde la web: http://centos.toracat.org/misc/nx-freenx/6/ 2.- instalamos como root: # rpm -i nx-3.4.0-7.el6.ay.i386.rpm # rpm -i freenx-0.7.3-7.el6.ay.i386.rpm por si nos sale este error: error: Failed dependencies: /usr/bin/expect is needed by freenx-0.7.3-7.el6.ay.i386 expect is needed by freenx-0.7.3-7.el6.ay.i386 Le hacemos caso e instalamos: # yum install expect

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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

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

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

En la seccin general se debe importar o copiar la llave archivada en el bloc de notas

Pgina: 154

Linux Centos 6.3


Instituto de Educacin Superior Tecnolgico Privado

Luego de eso, iniciamos sesin con el usuario root y la clave respectiva. Posterior a esto entramos al NX y nos muestra lo siguiente:

Listo hemos configurado el escritorio remoto usando aplicaciones Free.

Pgina: 155