Sunteți pe pagina 1din 11

Guia practica Seguridad. PASOS DE LA PRACTICA!!!!!!!!!!! Paso 1. Activar ip_forward echo 1 > /proc/sys/net/ipv4/ip_forward Paso 2.

Levantar un alias de la interfaz eht0, con el comando:


sudo ifconfig eth0:1 172.16.1.1 netmask 255.255.0.0 Paso 3. Habilitar la function NAT Tomando en cuanta la ip que es de clase B que sue utilize se aplica el siguiente commando: # iptables -t nat -A POSTROUTING -s 172.16.1.0/16 -o eth0 -j SNAT --to 192.168.1.105

Explicacin de los parmetros: -A POSTROUTING: Aade (Add) una regla a la cadena POSTROUTING -s 172.16.1.0/16: Se aplica a los paquetes que tengan como direccin origen (source) la 172.16.1.0/16 -o eth0: Se aplica a los paquetes que salgan (out-interface) por eth0 -j SNAT to 192.168.1.105 (--to aqu es equivalente a --to-source): Cambia la direccin de origen por la 192.168.1.105, mi direccin ip que va a internet

Paso 4. Instalamos el DNS bind9 # apt-get install bind9 Con esto ya hay internet pero aun no esta el DNScache

Configuracin como cach DNS Por defecto, al instalar el paquete bind est preconfigurado como servidor cach DNS. Tan solo ser necesario editar el archivo /etc/bind/named.conf.options y en la seccin forwarders aadir las IPs de dos servidores DNS donde redirigir las peticiones DNS: // Configuracin como cach DNS // Aadir IPs de los DNS de nuestro proveedor en /etc/bind/named.conf.options options { forwarders { 80.58.0.33; 80.58.32.97; }; }; Dspues reiniciamos el servicio: #
/etc/init.d/bind9 restart

Paso 5. Instalar squid y configurarlo en modo cache. Se instala con el comando:

#apt-get install squid

Configuracion para modo cahce. Squid utiliza el fichero de configuracin localizado en /etc/squid/squid.conf, las configuraciones de memoria cache empiezan en la lnea 1719 Parmetro cache_mem en la lnea 1751 El parmetro cache_mem establece la cantidad ideal de memoria para:

Objetos en trnsito. Objetos Hot. Objetos negativamente almacenados en el cach.

Los datos de estos objetos se almacenan en bloques de 4 Kb. El parmetro cache_mem especifica un lmite mximo en el tamao total de bloques acomodados, donde los objetos en trnsito tienen mayor prioridad. Sin embargo los objetos Hot y aquellos negativamente almacenados en el cach podrn utilizar la memoria no utilizada hasta que esta sea requerida. De ser necesario, si un objeto en trnsito es mayor a la cantidad de memoria especificada, Squid exceder lo que sea necesario para satisfacer la peticin. Por defecto se establecen 8 MB. Puede especificarse una cantidad mayor si as se considera necesario. Si se posee un servidor con al menos 128 MB de RAM, establezca 16 MB como valor para este parmetro: cache_mem 16 MB Parmetro cache_dir: Cuanto desea almacenar de Internet en el disco duro? 1813 Es cuanto tamao se desea que tenga el cache en el disco duro para Squid, es decir Cuanto desea almacenar de Internet en el disco duro? Por defecto Squid utilizar un cache de 100 MB, de modo tal que encontrar la siguiente lnea: cache_dir ufs /var/spool/squid 100 16 256 Se puede incrementar el tamao del cache hasta donde lo desee el administrador. Mientras ms grande el cache, ms objetos de almacenarn en ste. y por lo tanto se utilizar menos el ancho de banda. La siguiente lnea establece un cache de 700 MB: cache_dir ufs /var/spool/squid 700 16 256 Los nmeros 16 y 256 significan que el directorio del cache contendr 16 subdirectorios con 256 niveles cada uno. No modifique esto nmeros, no hay necesidad de hacerlo. Es muy importante considerar que si se especifica un determinado tamao de cache y este excede al espacio real disponible en el disco duro, Squid se bloquear inevitablemente. Sea cauteloso con el tamao de cache especificado. Iniciando, reiniciando y aadiendo el servicio al arranque del sistema. Una vez terminada la configuracin, ejecute el siguiente comando para iniciar por primera vez Squid: /etc/rc.d/init.d/squid start Si necesita reiniciar para probar cambios hechos en la configuracin, ejecute lo siguiente: /etc/rc.d/init.d/squid restart

ContinuaN LOS PASOS Para comprobar el squid se cuenta con el fichero: /var/log/squid/Access_log, el cual puede ser revisado con: #tail f /var/log/squid/access_log Si ejecuta pero se niega todo Agregamos las siguientes lneas: Lnea 612 aprox, agregamos una nueva red interna, tomando la que creamos anteriormente, por lo que se agrega la lnea: acl localnet src 172.16.0.0/16 Y despus en la lnea 677 aproximadamente, se agrega http_access allow localnet Con la cual se permiten las peticiones de las maquinas de nuestras localnet dadas de alta atreves del puerto 80 (http), con esto tenemos internet. Para configurar Mozila abrimos Edit->Preferencias->Avanzado->Red->ajustes->Configuracin manual de proxy-> Colocamos la ip de nuestro proxy, que seria 172.16.1.1 y el puerto 3128 Paso 6 instalar y configurar dansguardian Instalamos con el comando: #apt-get install dansguardian Una vez instalado, pasamos a configurarlo. Para ello abrimos el fichero /etc/dansguardian/dansguardian.conf. #vi /etc/dansguardian/dansguardian.conf En primer lugar vamos a ponerlo en castellano, buscamos la directiva language, y la dejamos as: language = 'spanish' Ahora vamos a comentar una lnea del archivo, en la que indicamos a Dansguardian que ya est configurado por nosotros, el hecho de no comentar esta lnea supone un modesto recordatorio cuando reiniciamos Dansguardian. La lnea en concreto es la siguiente: # UNCONFIGURED - Please remove this line after configuration Otras directivas a tener en cuenta filterport = 8080: Esta directiva define el puerto que usar Dansguardian para filtrar. proxyip = 172.16.1.1: Esta directiva define la direccin IP de nuestro proxy.

proxyport = 3128: Esta directiva define el puerto que usa nuestro proxy. Restringiendo contenidos Prohibir la pgina web, en primer lugar abrimos el fichero /etc/dansguardian/lists/bannedsitelist, desde un terminal escribimos: vi /etc/dansguardian/lists/bannedsitelist Cuando tenemos el archivo abierto, nos vamos a la zona #List other sites to block: y aadimos la pgina web que queremos bloquear, en nuestro caso, www.facebook.com. Agregamos: Facebook.com Ahora vamos a prohibir la descarga de archivos .exe. Las extensiones prohibidas estn en el fichero /etc/dansguardian/lists/bannedextensionlist, para editarlo nos vamos a un terminal y tecleamos: vi /etc/dansguardian/lists/bannedextensionlist En ese archivo tenemos todas las extensiones para los archivos que Dansguardian no permite descargar. Por defecto vienen la gran mayora prohibidos, lo que vamos a hacer es comentarlos todos menos el que queremos prohibir, la extensin .exe. Prohibir la entrada a pginas que contengan la expresin porno. Abrimos el archivo /etc/dansguardian/lists/bannedphraselist #vi /etc/dansguardian/lists/bannedphraselist Ahora nos vamos al final del fichero, y aadimos la palabra que queremos prohibir, guardamos los cambios y listo. Ahora toca reiniciar Dansguardian para que los cambios surtan efecto, desde un terminal tecleamos: sudo /etc/init.d/dansguardian restart NOTA. Para aplicar la configuracin se debe configurar nuevamente el navegador del cliente cambiando el puerto de 3128(squid) a 8080(dansguardian). NOTA. Para que el mensaje de alerta se presente debe estar ejecutndose apache: # /etc/init.d/apache2 start Ficheros ms importantes: Vamos a comentar ahora los ficheros ms importantes que usa Dansguardian, tanto en su versin permisiva como en su versin restrictiva. Estos son los principales: bannedextensionlist: Extensiones de archivo prohibidas.

bannedphraselist: Frases o palabras prohibidas. exceptionphraselist: Frases o palabras que no se prohibirn. exceptionsitelist: Dominions que no se prohibirn. bannedregexurllist: Expresiones que se prohibirn en las URL. exceptionurllist: Parte de un dominio que no se prohibir. exceptioniplist: Direcciones IP que no sern filtradas. bannedmimetypelist: Contenidos que se prohibirn. weightedphraselist: Lista de palabras prohibidas con su correspondiente peso. <palabra><peso>

TEORIA DE APOYO..

Direcciones IP tipo A, B y C.
En una red de clase A, se asigna el primer octeto para identificar la red, reservando los tres ltimos octetos (24 bits) para que sean asignados a los hosts, de modo que la cantidad 24 mxima de hosts es 2 - 2 (se excluyen la direccin reservada para broadcast (ltimos octetos en 255) y de red (ltimos octetos en 0)), es decir, 16 777 214 hosts. En una red de clase B, se asignan los dos primeros octetos para identificar la red, reservando los dos octetos finales (16 bits) para que sean asignados a los hosts, de modo que la cantidad 16 mxima de hosts es 2 - 2, o 65 534 hosts. En una red de clase C, se asignan los tres primeros octetos para identificar la red, reservando el octeto final (8 bits) para que sea asignado a los hosts, de modo que la cantidad mxima de 8 hosts es 2 - 2, 254 hosts. N de Redes N de Host Por Red Mscara de Red

Clase

Rango

Broadcast ID

1.0.0.0 127.255.255.255

128

16.777.214

255.0.0.0

x.255.255.255

128.0.0.0 191.255.255.255

16.384

65.534

255.255.0.0

x.x.255.255

192.0.0.0 223.255.255.255

2.097.152

254

255.255.255.0

x.x.x.255

(D)

224.0.0.0 239.255.255.255

histrico

(E)

240.0.0.0 255.255.255.255

histrico

La direccin 0.0.0.0 es reservada por la IANA para identificacin local. La direccin que tiene los bits de host iguales a cero sirve para definir la red en la que se ubica. Se denomina direccin de red. La direccin que tiene los bits correspondientes a host iguales a uno, sirve para enviar paquetes a todos los hosts de la red en la que se ubica. Se denomina direccin de broadcast. Las direcciones 127.x.x.x se reservan para designar la propia mquina. Se denomina direccin de bucle local o loopback.

A.1.2. Configuracion basica de parametros de red


1. Configuracion de la direccion ip con el comando: ifconfig eth0 192.168.2.100 netmask 255.255.255.0 up 2. Configuracion del gateway por default: route add default gw 192.168.2.254 3. Configuracion de los dns: Editar el archivo /etc/resolv.conf con el siguiente comando vi /etc/resolv.conf Agregar la lnea: nameserver 132.248.10.2 4. Validar la correcta configuracion de los parametros de red: pinc -c 3 www.google.com

Comandos mas comunes de vi


ESC - Cambio a modo comando :x - Guardar y salir. x - Borra un caracter. a - Inserta un caracter despues del cursor. h j k l - Navegacion.

TEORIA NAT.

Tablas y cadenas (nat)


Hay tres tablas definidas en iptables que son filter, nat y mangle, que se encargan de diferentes tipos de procesos, aqu slo trataremos de latabla nat, por lo que cada vez que escribamos una instruccin comenzaremos con iptables -t nat. La tabla nat est formada por tres cadenas:

PREROUTING: Permite modificar paquetes entrantes antes de que se tome una decisin de enrutamiento. OUTPUT: Permite modificar paquetes generados por el propio equipo despus de enrutarlos POSTROUTING: Permite modificar paquetes justo antes de que salgan del equipo.

Parmetros generales
Listar reglas
Utilizamos el parmetro -L (normalmente se acompaa de -n para que los resultados se muestren de forma numrica y evitar consultas DNS)

# iptables -t nat -L -n Chain PREROUTING (policy ACCEPT) target prot opt source destination Chain POSTROUTING (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination
Que nos muestra las tres cadenas de la tabla nat y que en este momento no hay ninguna regla aplicada.

Verbose
Para una salida ms completa de iptables utilizamos el parmetro -v:

# iptables -t nat -L PREROUTING -n -v Chain PREROUTING (policy ACCEPT 21 packets, 4133 bytes) pkts bytes target prot opt in out source destination
que nos informa de los paquetes y bytes que atraviesan una cadena y en caso de que hubiese reglas, se contaran los paquetes y bytes a los que se ha aplicado cada una.

Borrar contadores
Si queremos poner a cero los contadores de paquete que se aplican en las cadenas de una tabla:

iptables -t nat -Z

Borrar todas las reglas de una cadena


Para borrar todas las reglas de una cadena se escribe:

iptables -t nat -F OUTPUT


Se puede no especificar ninguna cadena, con lo que se borran todas las reglas de todas las cadenas de una tabla:

iptables -t nat -F
Antes de empezar a utilizar iptables, una norma elemental es escribir:

iptables -t nat -F iptables -t nat -Z


Que borra todas las reglas anteriores y pone los contadores a cero.

Ejemplo
Supongamos que tenemos una situacin como la de la imagen:

Esquema de NAT

Vamos a ver los pasos que habra que dar para que todos los equipos de la red local tuviesen acceso a Internet y se pudiesen alojar servicios en cualquiera de ellos.

Activacin del bit de forward


En principio un equipo con GNU/Linux no permite que pasen paquetes de una interfaz de red a otra, para que se permita esto y por tanto pueda funcionar el equipo como router, o ms concretamente en este caso como dispositivo de NAT, hay que activar (dar

valor 1) lo que se denomina bit de forward:

echo 1 > /proc/sys/net/ipv4/ip_forward


Esta activacin se borra cuando se apaga el equipo, ya que el directorio /proc est en memoria. Para que dicha activacin permanezca lo habitual es definirla en el fichero /etc/sysctl.conf, asegurndonos de que exista una lnea como:

net.ipv4.ip_forward=1

POSTROUTING
Todos los equipos de la red 192.168.3.0/24 estn interconectados entre s, pero en principio no tienen acceso a Internet puesto que sus direcciones IP son privadas y por tanto no son accesibles desde Internet (ningn equipo contestara a sus peticiones). El equipo que tiene dos interfeces de red s tiene acceso a Internet ya que la interfaz de red eth0 tiene una direccin IP pblica, adems pertenece a la red 192.168.3.0/24 ya que est conectado a travs de la interfaz de red eth1 con direccin IP 192.168.3.254. El equipo con dos interfaces de red puede funcionar como dispositivo de NAT (source NAT), aceptando paquetes provenientes del resto de equipos de la red 192.168.3.0/24 que entren por eth1 con destino a cualquier equipo de Internet. Tal como se describe en el ejemplo inicial de SNAT, el dispositivo de NAT debe cambiar la direccin IP origen, pero esto se hace justo antes de enviar el paquete a Internet y por tanto habr que definirlo en la cadena POSTROUTING.

Source NAT (esttico) con iptables


La regla que hay que poner para que se haga SNAT de todos los equipos de la red 192.168.3.0/24 es tan simple como:

iptables -t nat -A POSTROUTING -s 192.168.3.0/24 -o eth0 -j SNAT --to 80.58.1.14


Explicacin de los parmetros:

-A -s -o -j

POSTROUTING: Aade (Add) una regla a la cadena POSTROUTING 192.168.3.0/24: Se aplica a los paquetes que tengan como direccin origen (source) la 192.168.3.0/24 eth0: Se aplica a los paquetes que salgan (out-interface) por eth0 SNAT --to 80.58.1.14 (--to aqu es equivalente a --to-source): Cambia la direccin de origen por

la 80.58.1.14

Source NAT (dinmico) con iptables


Podramos tener un caso similar al anterior, pero en el que la direccin IP pblica del equipo que se conecta a Internet fuese dinmica, por lo que no la sabramos a priori y no sera posible definirla en una regla como la anterior. En ese caso la regla de iptables a utilizar sera:

iptables -t nat -A POSTROUTING -s 192.168.3.0/24 -o eth0 -j MASQUERADE


Donde el nico cambio se refiere a la accin (parmetro -j), en este caso es MASQUERADE, que cambia la direccin origen por la que tenga la interfaz de salida (eth0). MASQUERADE podra funcionar tambin si la direccin IP de eth0 fuese esttica, pero en ese caso se recomienda utilizar SNAT.

PREROUTING
(Todo lo que se explica en este punto no se hace con la seguridad en mente, sino simplemente para explicar algunas cosas que se pueden hacer con PREROUTING. En una implementacin real, esto tendra que ir combinado con un cortafuegos y un esquema de red diferente). Para realizar una conexin cliente-servidor entre dos equipos de Internet hay que especificar completamente lo que se denomina socket de Internet, que queda definido con lo siguiente:

Protocolo (normalmente TCP o UDP) Direccin IP equipo cliente Puerto equipo cliente Direccin IP equipo servidor Puerto equipo servidor

Si volvemos a nuestro problema, el nico equipo de la red local que es accesible desde Internet es el dispositivo de NAT a travs de su direccin IP pblica 80.58.1.14, ya que sera el nico con el que un equipo de Internet podra establecer un socket y por tanto sera el nico equipo de la red que podra alojar servicios. Todo esto cambia si utilizamos NAT, ya que en el equipo que tiene las dos interfaces de red podemos cambiar la direccin IP destino (DNAT) de una peticin que llegue de Internet y mandarla a un equipo de la red local. Supongamos que instalamos un servidor web en un equipo de la red local con direccin IP 192.168.3.2 y queremos que sea accesible desde Internet, tendremos que modificar las peticiones que lleguen al puerto 80/tcp des equipo que tiene la direccin IP pblica y que cambie la direccin IP destino 80.58.1.14 por 192.168.3.2, esto se hace con la siguiente regla:

iptables -t nat -A PREROUTING -p tcp --dport 80 -i eth0 -j DNAT --to 192.168.3.2


Explicacin de los parmetros:

-A PREROUTING: Aade (Add) una regla a la cadena PREROUTING -p tcp: Especifica el (p)rotocolo de transporte (tcp en este caso) --dport 80 (equivalente a --destination-port 80): Puerto destino 80 (ligada al parmentro anterior) -i eth0: Especifica eth0 como interfaz de entrada (in-interface) -j DNAT --to 192.168.3.2 (--to aqu es equivalente a --to-destination): Cambia la direccin IP
destino (inicialmente 80.58.1.14) a 192.168.3.2

Es lgico que haya que hacerlo en la cadena PREROUTING, porque las reglas de esta cadena se aplican antes de tomar la decisin de enrutamiento, as se tomar la decisin de encaminamiento con la nueva direccin IP destino. Para otros servicios bastara con poner el protocolo y puerto adecuados, aunque el caso del servicio ftp es ms complicado y necesitara una discusin mas detallada. La principal limitacin de utilizar DNAT con una sola direccin pblica es que no es posible poner ms de un servicio en el mismo puerto, ya que slo se puede hacer DNAT a un equipo de la red local (el socket debe estar totalmente determinado). Hay algunos servicios que permiten utilizar puertos diferentes a los estndar, como por ejemplo http, ya que podemos acceder a un servidor web que est en un puerto diferente al 80/tcp, simplemente especificndolo en el navegador. Como iptables nos permite no slo modificar la direccin IP destino sino tambin el puerto destino, podramos poner un segundo servidor web en el equipo 192.168.3.3 y aadir la siguiente regla:

iptables -A PREROUTING -p tcp --dport -880 -i eth0 -j DNAT --to

192.168.3.3:80
Donde hemos especificado el puerto destino 880 (que no es un puerto estndar para ningn servicio) y cambiamos tanto la IP destino como el puerto destino con --to

192.168.3.3:80.

Para acceder a ese servicio desde Internet tendremos que escribir en el navegador: http://80.58.1.14:880

Fuente: http://albertomolina.wordpress.com/2009/01/09/nat-con-iptables/

S-ar putea să vă placă și