2011-3770 Sistemas Operativos III José Doñe instalación...

20
Nombre: Yonaira Castillo Soriano Matricula: 2011-3770 Asignatura: Sistemas Operativos III Instructor: José Doñe Tema: instalación firewall

Transcript of 2011-3770 Sistemas Operativos III José Doñe instalación...

Page 1: 2011-3770 Sistemas Operativos III José Doñe instalación ...debianconection.weebly.com/.../2/0/1/8/...firewall.pdfFIREWALL El propósito de un cortafuegos (firewall) es controlar

Nombre: Yonaira Castillo Soriano

Matricula: 2011-3770

Asignatura: Sistemas Operativos III

Instructor: José Doñe

Tema: instalación firewall

Page 2: 2011-3770 Sistemas Operativos III José Doñe instalación ...debianconection.weebly.com/.../2/0/1/8/...firewall.pdfFIREWALL El propósito de un cortafuegos (firewall) es controlar

FIREWALL

El propósito de un cortafuegos (firewall) es

controlar el flujo de datos que salen o entran

por una interfase de red. Se construye

mediante un filtro de paquetes, que es un

código que lee el encabezado de un paquete

de red que recibe una interfase

(e.g. lo, eth0 o ppp0) y luego decide si

aceptarlo, rechazarlo o redirigirlo antes de

alcanzar un proceso local (daemon). En Linux, el filtro de paquetes es parte del

núcleo. A partir de la versión del núcleo 2.4 se reescribió completamente y pasó

a llamarse iptables, reemplazando al antiguo ipchains.

La palabra "cortafuegos" puede dar una sensación falsa de seguridad. No existe

red completamente segura y si bien un cortafuegos puede ser considerado una

primera línea de defensa, la vigilancia ante actividades extrañas en el

computador son esenciales para mantener el sistema seguro. Si no has leído

aún sobre la seguridad del sistema Debiansugerimos que lo hagas antes de

continuar.

Nuestra propuesta de cortafuegos intenta ser lo más simple y transparente

posible. Está ideada para proteger a una estación de trabajo o servidor Debian

de intrusos externos, sin restringir de modo alguno al usuario.

Filtro de paquetes

iptables es la herramienta que inserta o remueve "reglas" (rules) en la tabla

del filtro de paquetes del núcleo y es instalada por omisión en el sistema base.

El núcleo parte con una tabla que contiene tres listas básicas de reglas

llamadas "cadenas" (chain). Estas son INPUT, OUTPUT y FORWARD,

respectivamente (entrada, salida y redirección). Cuando un paquete entra a

una interfase de red, el núcleo examina primero el destino del paquete y decide

que ruta tomar (INPUT o FORWARD). Luego el paquete es examinado en la

cadena, en donde la decisión de desechar (DROP) o aceptar (ACCEPT) el

paquete es tomada. Si la decisión es aceptar, el paquete continua hacia el

destino, siendo recibido por algún proceso local (un daemon). En cambio, si la

decisión es desechar, el paquete es descartado completamente, muriendo en el

lugar, antes de alcanzar un proceso local.

Page 3: 2011-3770 Sistemas Operativos III José Doñe instalación ...debianconection.weebly.com/.../2/0/1/8/...firewall.pdfFIREWALL El propósito de un cortafuegos (firewall) es controlar

_____

Entrante / \ Saliente

-->[Decisión]--->|FORWARD|------->

[de ruta ] \_____/ ^

| |

v ____

___ / \

/ \ |OUTPUT|

|INPUT| \____/

\___/ ^

| |

----> Proceso local ----

Una cadena es entonces una lista de reglas de control. Cada regla dice, "si el

encabezado del paquete es de esta manera, aplico tal acción sobre él". La regla

puede estar compuesta de una o múltiples condiciones. Si cualquiera de las

condiciones de la regla no se cumple, la próxima regla es consultada. Si el

paquete llega al final de la cadena sin que alguna regla le aplique, el núcleo

consulta la "norma" (policy) definida para la cadena. La norma puede ser DROP

o ACCEPT. En un sistema en donde la seguridad es prioridad, la norma de las

cadenas INPUT y FORWARD debería ser siempre DROP.

Un programa o proceso también puede generar un paquete para ser enviado,

pasando por la cadena OUTPUT. Si la decisión es ACCEPT, el paquete continua,

saliendo por la interfase de red. Un sistema en donde el control sobre sus

usuarios es mínimo, la norma de la cadena OUTPUT debería ser siempre

ACCEPT.

Aparte de las tres cadenas básicas, que son imborrables, iptables permite crear

nuevas cadenas e insertar reglas en ellas. Estas no tienen norma y al llegar al

final retornan al punto donde fueron llamadas. Las operaciones que se pueden

realizar sobre una cadena son:

1. Crear una nueva cadena (-N).

2. Borrar una cadena vacía (-X).

3. Cambiar la norma de una cadena básica (-P).

4. Lista de reglas en una cadena (-L).

5. Vaciar las reglas de una cadena (-F).

6. Volver a cero el contador de paquetes y bytes de todas las reglas de una

cadena (-Z).

Las operaciones para manipular una regla dentro de una cadena son:

1. Añadir una regla a una cadena (-A).

2. Insertar una regla en algún punto de la cadena (-I).

3. Reemplazar una regla en algún punto de la cadena (-R).

4. Borrar una regla en algún punto de la cadena, o la primera que coincida

(-D).

Page 4: 2011-3770 Sistemas Operativos III José Doñe instalación ...debianconection.weebly.com/.../2/0/1/8/...firewall.pdfFIREWALL El propósito de un cortafuegos (firewall) es controlar

En mi caso utilizaremos iptables ™ La comanda IPTABLES se utiliza en linux para la

configuración de un firewall.

™ IPTABLES permite realizar la programación de servicios NAT y Listas de Acceso

Accedemos a nuestra telmina y nos logiamos como root.

Luego Procederemos así: ponemos el comando apt-get install iptables este comando me

permite instalar firewall en mi ordenador.

Es importante saber y conocer las diferentes tables que existen. En total existen 3: filter, mangle o nat. Cada vez que utilicemos uno de los parámetros iptables en este documento, llamaremos la tabla correspondiente de la siguiente manera: Iptables –t [nombre de tabla] que puede ser filter, mangle o nat. La letra t con el signo de - (-t) indica cual será la tabla utilizada por defecto si no indicamos nada cuando llamamos a iptables. Vamos entonces a definir políticas generales para las tres cadenas, que se encuentran claro está en la misma tabla (en este caso filter). Iptables –t filter –P INPUT DROP Iptables –t filter –P FORWARD ACCEPT Iptables –t filter –P OUTPUT ACCEPT

Page 5: 2011-3770 Sistemas Operativos III José Doñe instalación ...debianconection.weebly.com/.../2/0/1/8/...firewall.pdfFIREWALL El propósito de un cortafuegos (firewall) es controlar

Si queremos comprobar la configuración de nuestra IPtables solo

tenemos que introducir el siguiente comando iptables-save.

Page 6: 2011-3770 Sistemas Operativos III José Doñe instalación ...debianconection.weebly.com/.../2/0/1/8/...firewall.pdfFIREWALL El propósito de un cortafuegos (firewall) es controlar

Si queremos entrar a cualquier página web, vamos a notar que

estas van a estar bloqueadas por las iptables. Probamos con google.com.

Page 7: 2011-3770 Sistemas Operativos III José Doñe instalación ...debianconection.weebly.com/.../2/0/1/8/...firewall.pdfFIREWALL El propósito de un cortafuegos (firewall) es controlar

Ahora bien si queremos permitir la entrada y salida de paquetes originadas

desde nuestro servidor, indicaremos los siguientes parámetros iptables -t filter -

A INPUT –m state - - state ESTABLISH RELATED –j ACCEPT.

Page 8: 2011-3770 Sistemas Operativos III José Doñe instalación ...debianconection.weebly.com/.../2/0/1/8/...firewall.pdfFIREWALL El propósito de un cortafuegos (firewall) es controlar

Probamos entonces con la página de google.

Page 9: 2011-3770 Sistemas Operativos III José Doñe instalación ...debianconection.weebly.com/.../2/0/1/8/...firewall.pdfFIREWALL El propósito de un cortafuegos (firewall) es controlar

Si queremos tener la certeza de que en este momento las iptables solo aceptan peticiones

originadas desde nuestro servidor, revisamos cual es nuestra dirección IP con el comando

ifconfig.

Page 10: 2011-3770 Sistemas Operativos III José Doñe instalación ...debianconection.weebly.com/.../2/0/1/8/...firewall.pdfFIREWALL El propósito de un cortafuegos (firewall) es controlar

Damos ping desde un cliente al servidor, para de esta manera confirmar que el Firewall

está rechazando o más bloqueando la conexión.

Como pueden observar aunque estén bloqueadas las solicitudes de tráfico externo, solo las peticiones de nuestro servidor son permitidas. Si queremos listar las configuraciones que hasta ahora se han hecho en nuestro servidor,

se verifican con la siguiente sintaxis iptables –t filter –L.

Page 11: 2011-3770 Sistemas Operativos III José Doñe instalación ...debianconection.weebly.com/.../2/0/1/8/...firewall.pdfFIREWALL El propósito de un cortafuegos (firewall) es controlar

Permitir puertos. Para tratar de configurar un puerto para conexiones entrantes con INPUT DROP configurado utilizamos la sintaxis descrita en la parte superior de la siguiente forma iptables –A INPUT –ptcp –dport 80 –j ACCEPT. Esto es para conexiones de tcp si queremos utilizar entonces conexiones udputilizamos la misma sintaxis pero en vez de ponerle tcp le ponemos udp. Es necesario saber la diferencia entre udp y tcp. Basándonos en algunos ejemplos específicos, aprendamos a como configurar

conexiones entrantes y salientes para puertos específicos de nuestro sistema.

Por ejemplo supongamos que tenemos todas las conexiones entrantes en modo

DROP o mejor dicho bloqueo. Y queremos que se permitan ciertas conexiones

entrantes, por parte del puerto 80 que es el http. El puerto 80 permite que

nuestro navegador web pueda enviar y recibir datos de servidores http que se

encuentran en todo el internet.

La sintaxis para configurar un puerto es iptables –A(acción, pusiendo ser tanto –I como –D y demás) [INPUT, OUTPUT o FORWARD] –p [tcp o udp] --dport [número de puerto] –j [ACCEPT o DROP]. Si desea modificar un puerto tanto de entrada, salida y a travez del servidor

# iptables –A INPUT –p tcp –dport 80 –j ACCEPT

Page 12: 2011-3770 Sistemas Operativos III José Doñe instalación ...debianconection.weebly.com/.../2/0/1/8/...firewall.pdfFIREWALL El propósito de un cortafuegos (firewall) es controlar

Con el siguiente comando podrás ver las configuraciones iptables-save. Si

Page 13: 2011-3770 Sistemas Operativos III José Doñe instalación ...debianconection.weebly.com/.../2/0/1/8/...firewall.pdfFIREWALL El propósito de un cortafuegos (firewall) es controlar

Si intentamos dar ping a la loopback veremos que no será posible ya que el Firewall, esta bloqueando todas las conexiones entrantes.

Para esto debemos cambiar el modo INPUT a ACCEPT.

Page 14: 2011-3770 Sistemas Operativos III José Doñe instalación ...debianconection.weebly.com/.../2/0/1/8/...firewall.pdfFIREWALL El propósito de un cortafuegos (firewall) es controlar

Ahora probamos

Page 15: 2011-3770 Sistemas Operativos III José Doñe instalación ...debianconection.weebly.com/.../2/0/1/8/...firewall.pdfFIREWALL El propósito de un cortafuegos (firewall) es controlar

Bloqueando puertos específicos.

Si queremos bloquear un puerto en específico lo podemos hacer de la

siguiente manera, insertar el comando iptalbes -A INPUT –s (la direccion IP

del hosts que queremos bloquear) –p icmp –j DROP y especificamos tanto para

las conexión entrantes, salientes y de reenvió a través del servidor.

Page 16: 2011-3770 Sistemas Operativos III José Doñe instalación ...debianconection.weebly.com/.../2/0/1/8/...firewall.pdfFIREWALL El propósito de un cortafuegos (firewall) es controlar

Si queremos ver la configuración solo tenemos que insertar el siguiente

comando iptables-save.

Page 17: 2011-3770 Sistemas Operativos III José Doñe instalación ...debianconection.weebly.com/.../2/0/1/8/...firewall.pdfFIREWALL El propósito de un cortafuegos (firewall) es controlar

Y si vamos al hots que bloqueamos, e intentamos dar ping hacia el servidor se dará cuenta que el ping fallara, porque el Firewall ha bloqueado ese puerto.

Page 18: 2011-3770 Sistemas Operativos III José Doñe instalación ...debianconection.weebly.com/.../2/0/1/8/...firewall.pdfFIREWALL El propósito de un cortafuegos (firewall) es controlar

De igual manera podemos ir al servidor y probar la conectividad con el

cliente.

Page 19: 2011-3770 Sistemas Operativos III José Doñe instalación ...debianconection.weebly.com/.../2/0/1/8/...firewall.pdfFIREWALL El propósito de un cortafuegos (firewall) es controlar

De la misma forma que podemos bloquear un host en específico, también

podemos bloquear toda una red solo tenemos que insertar el comando iptalbes

-A INPUT –s (la dirección IP de la red que queremos bloquear/seguido de la

máscara) –p icmp –j DROP y especificamos tanto para las conexión entrantes,

salientes y de reenvió a través del servidor

Si queremos ver la configuración solo tenemos que ingresar el siguiente

comando iptables-save.

Page 20: 2011-3770 Sistemas Operativos III José Doñe instalación ...debianconection.weebly.com/.../2/0/1/8/...firewall.pdfFIREWALL El propósito de un cortafuegos (firewall) es controlar