IPTABLES y SQUID

30
La Academia al servicio de la Vida SERVIDOR FIREWALL (IPTABLE)

description

Informacion de configuracion, ventajas e instalacion de IPTABLES y SQUID en servidores FEDORA.

Transcript of IPTABLES y SQUID

Page 1: IPTABLES y SQUID

La Academia al servicio de la Vida

SERVIDOR FIREWALL (IPTABLE)

Page 2: IPTABLES y SQUID

Qué es un firewall?Un firewall es un dispositivo que filtra el tráfico entre redes. puede ser físico o un software sobre un sistema operativo. En éste se establecen una reglas con las que se decide si una conexión determinada puede establecerse o no.

Es un tipo de defensa que se basa en la instalación de una "barrera" entre tu PC y la Red, por la que circulan todos los datos. Este tráfico entre la Red y tu PC es autorizado o denegado por el FIREWALL, siguiendo las instrucciones que le hayamos configurado.

FIREWALL

Page 3: IPTABLES y SQUID

FUNCIONAMIENTO:

Un firewall funciona, en principio DENEGANDO cualquier tráfico que se produzca cerrando todos los puertos de nuestro PC. En el momento que un determinado servicio o programa intente acceder a Internet o a nuestro PC nos lo hará saber.

Page 4: IPTABLES y SQUID

PELIGROS QUE PUEDE EVITAR EL SERVIDOR:

Instalación y ejecución de programas instalados clandestinamente desde Internet que pueden llegar a transferir datos personales del usuario a sitios.

Troyanos: aplicaciones ocultas que se descargan de la red y que pueden ser usadas por terceros para extraer datos personales. A diferencia del virus, estos troyanos son activados en forma remota.

Reducción del ancho de banda disponible por el tráfico, sitios no solicitados, y otro tipo de datos innecesarios que rentalizan la conexión.

Page 5: IPTABLES y SQUID

POLITICAS DE DISEÑO

Un Firewalls se debe diseñar poniendo principal atención en sus limitaciones y capacidades pero también pensando en las amenazas y vulnerabilidades presentes en una red externa insegura.

Conocer los puntos a proteger es el primer paso a la hora de establecer normas de seguridad.

definir los usuarios contra los que se debe proteger cada recurso, ya que las medidas diferirán notablemente en función de esos usuarios.

Page 6: IPTABLES y SQUID

BENEFICIOS DEL SERVIDOR • Administra los accesos posibles del internet a la red

privada.

• Protege a los servidores del sistema de ataques de otros servidores en internet.

• Permite al administrador de la red definir un “CHOKEPOINT “(embudo), manteniendo al margen los usuarios no-autorizados, prohibiendo potencialmente la entrada o salida al vulnerar los servicios de la red.

• Ofrece un punto donde la seguridad puede ser monitoreada.

• monitorea la seguridad de la red y generar alarmas de intentos de ataque, el administrador será el responsable de la revisión de estos monitoreo

Page 7: IPTABLES y SQUID

LIMITACIONES DE UN FIREWALL

Puede únicamente autorizar el paso del trafico y el mismo podrá ser inmune a la penetración. desafortunadamente este sistema no puede ofrecer protección alguna una vez que el agresor lo traspasa o permanece entorno a este.

Los Firewalls no son sistemas inteligentes, ellos actúan de acuerdo a parámetros introducidos por su diseñador, por ende si un paquete de información no se encuentra dentro de estos parámetros como una amenaza de peligro simplemente lo deja pasar.

NO provee herramientas contra la filtración de software o archivos infectados con virus, aunque es posible dotar a la máquina, donde se aloja el Firewall, de antivirus apropiados. Finalmente, un Firewall es vulnerable, él NO protege de la gente que está dentro de la red interna.

Page 8: IPTABLES y SQUID

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.

Se pone en marcha aplicando reglas, para ello se ejecuta el comando IPTABLE con el que añadimos, borramos o creamos reglas.

QUE SON LAS IPTABLES?

Page 9: IPTABLES y SQUID

• FILTER (filtrado): permite generar las reglas de filtrado ósea que paquetes aceptar, cuales rechazar o cuales omitir.las cadenas serán: INPUT, OUTPUT Y FORWARD.

• NAT (network address translation) :desde esta tabla es posible el enmascaramiento de IP, se usa para re- direccionar puertos o cambiar las: IPS de origen y destino atraves de interface de red. las cadenas serán: PREROUTING Y POSTROUTING.

• MANGLE( modificado de paquetes ) :permite la modificación de paquetes como Tos (TYPE OF SERVICE),TTL (TIME TOLIVE) OMARK, marcar el paquete

RAW: esta tabla se usa para configurar principalmente excepsiones en el seguimiento de paquetes en combinación con la acción o target NOTRACK

TABLAS

Page 10: IPTABLES y SQUID

I:Insertar nueva regla antes de la regla numero regla (rulenum)En la cadena especificada de acuerdo a los parámetros sometida

R :Remplazar la regla (RULENUM) en la cadena especificada

E Modifica el nombre de la cadena [nombre- anterior-cadena por nombre- nueva-cadena]

L Listado de reglas de la cadena especificadas. si no se determina una

N crear una nueva cadena asociándola a un nombre.

P Modifica la acción por defecto de la cadena preseleccionada.

D Eliminar la regla _ numero (RULENUM) en la cadena seleccionada.

Z:agregar nueva regla ala cadena especificada.

CADENAS

Page 11: IPTABLES y SQUID

ACCIONESACCEP---> paquete aceptado

REJECT---> paquete rechazado.se envía notificación atraves del protocolo ICMP

DROP---> paquete rechazado. sin notificación

MASQUERADE--->enmascaramiento de la dirección IP origen de forma dinamica.esta acción es solo valida en la tabla NAT en la cadena postrouting.

DNAT--->enmascaramiento de la dirección destino muy conveniente para enrutado de paquetes.

SNAT--->enmascaramiento de la ip origen de forma similar, pero con la ip fija.

Page 12: IPTABLES y SQUID

SQUID

Page 13: IPTABLES y SQUID

CONTROL DE ACCESOEs necesario establecer listas de control de acceso (acl) que definan una red o bien ciertas maquinas en particular. A cada acl se le asignara una regla de control de acceso (acr) que funcionara bloqueando o permitiendo el acceso a través de squid. Comúnmente las acl se definen y aplican (acr) de la siguiente manera:

Page 14: IPTABLES y SQUID

acl [nombre de la lista] src/dst [ips que componen la lista] http_access allow/deny [nombre de la lista]

Para el siguiente ejemplo, la red 192.168.0.0/24 llamada LAN1 tendr´a permitido acceder al proxy:

acl LAN1 src 192.168.0.0/255.255.255.0http_access allow LAN1

Ademas de direcciones ip, en las acl es posible definir nombres de dominios y puertos

Page 15: IPTABLES y SQUID

COINCIDENCIA EN LAS ACL

Para que se produzca una coincidencia (match) en una acl, se utiliza la función OR, ejemplo: acl ips src 192.168.0.10 192.168.0.11 192.168.0.16, cuando la ip origen sea 192.168.0.11 la coincidencia se dará luego de la segunda dirección ip, y la acl será considerada verdadera. Por esta razón, se recomienda incluir las opciones mas comunes al comienzo, para acelerar el proceso de evaluación.

Page 16: IPTABLES y SQUID

AUTENTICACION

SQUID permite realizar autenticación mediante diferentes métodos, Basic, Digest y NTLM. Estos métodos especifican como SQUID recibe el nombre de usuario y la clave desde los clientes. Por cada método, SQUID provee varios módulos de autenticación (helpers) que serán los encargados de realizar.

Page 17: IPTABLES y SQUID

CREACION DE USUARIOS

Desde la linea de comandos, creamos un archivo en el directorio /etc/squid/claves: #touch /etc/squid/claves y luego los usuarios:

# htpasswd2 /etc/squid/claves usuario1Luego se solicitara la clave y la confirmación de la misma. Hay que tener en cuenta que htpasswd2 debe estar instalado (pertenece a Apache2).

Page 18: IPTABLES y SQUID

EJEMPLO

Una servidor proxy simple podría definirse de la siguiente manera:Listas de control de acceso:

#---parametros globales---#visible_hostname squid1http_port 3128icp_port 3130cache_dir ufs /var/cache/squid 400 16 256

Page 19: IPTABLES y SQUID

#---consulta de caches---##cache_peer <host> <type> <http_port> <icp_port> <options>cache_peer 192.168.1.252 parent 3128 7 no-query defaultcache_peer 192.168.1.108 sibling 3128 3130 proxy-only

#--- ACL---#acl all src 0.0.0.0/0.0.0.0acl manager proto cache_objectacl localhost src 127.0.0.1/255.255.255.255acl webserver dst 192.168.1.10/255.255.255.255acl todalared src 192.168.1.0/255.255.255.0

Page 20: IPTABLES y SQUID

#--- Reglas de control de acceso---#http_access allow manager localhosthttp_access deny managernever_direct allow !webserverhttp_access allow todalaredhttp_access deny allicp_access allow all

Page 21: IPTABLES y SQUID

INSTALAR UN SERVIDOR PROXY (SQUID)

1. Instalar el proxyPara instalar Squid escribe en un terminal: sudo aptitude install squid

2. Configurar el proxyLa configuración de Squid se hace editando el archivo / etc / squid / squid.conf 

Para editar este archivo, presiona Alt+F2 y: gksu gedit /etc/squid/squid.conf

Page 22: IPTABLES y SQUID

2.1 Nombrar el proxynecesita conocer el nombre de la máquina. Para ello, ubica la línea visible_hostname. Por ejemplo, si la máquina se llama “ubuntu” visible_hostname ubuntu

2.2 Elegir el puertoPor defecto, el puerto de escucha del servidor proxy será 3128. Para elegir otro puerto, ubica la línea: http_port 3128 Y cambia el número de puerto, por ejemplo: http_port 3177

Page 23: IPTABLES y SQUID

2.3 Elegir la interfazPor defecto el servidor proxy escucha por todas las interfaces. Por razones de seguridad, sólo debes hacer que escuche en tu red local. Por ejemplo si la tarjeta de red ligada a tu LAN tiene el IP 10.0.0.1, modifica la línea a: http_port 10.0.0.1:3177

Page 24: IPTABLES y SQUID

2.4 Definir los derechos de accesoPor defecto, nadie está autorizado a conectarse al servidor proxy, excepto tu máquina. Entonces hay que crear una lista de autorización. Por ejemplo vamos a definir un grupo que abarca toda la red local. 

Ubica la línea del archivo que comienza por acl localhost... Al final de la sección, agrega: acl lanhome src 10.0.0.0/255.255.255.0

Page 25: IPTABLES y SQUID

2.5 Autorizar al grupoAhora que el grupo está definido, vamos a autorizar para que utilice el proxy. Ubica la línea http_access allow... 

Y agrega debajo (antes de la línea http_access deny all) 

http_access allow lanhome

Page 26: IPTABLES y SQUID

2.6 Autorizar los puertos no estándarPor defecto, Squid sólo autoriza el trafico HTTP en algunos puertos (80, etc.) 

puertos Ejemplo: http://toto.com/:81/images/titi.png seria bloqueado por Squid. 

Para evitar que lo bloquee, encuentra la línea: http_access deny !Safe_ports 

Y agrega un comentario: #http_access deny !Safe_ports 

Page 27: IPTABLES y SQUID

3. Iniciar el proxyReinicia el proxy para que tome en cuenta la nueva configuración que acabamos de realizar. Escribe: 

sudo /etc/init.d/squid restart

Page 28: IPTABLES y SQUID

VENTAJASEn primer lugar un proxy nos permite agregarle un CONTROL, en cuanto a la navegación y la utilización de internet, debido a que tenemos la posibilidad de limitar y restringir recursos a los usuarios.

Utiliza una arquitectura muy definida de cliente/servidor en donde sería posible adaptarlo e incorporarlo a nuestro sistema de red sin ningún problema.

Por otro lado podemos contar con algo de VELOCIDAD, si por ejemplo varios usuarios realizan las mismas peticiones al servidor proxy, el mismo puede contar con o hacer como cache, en donde guarda las respuestas a esas peticiones para brindarlas a otros usuarios de manera más rápida.

Como otra ventaja que encontramos es el de FILTRADO, ya que es posible negar algunas peticiones realizadas al servidor, si es que el mismo detecta que son prohibidas o que puedan existir reglas que indiquen que son inaccesibles.

Page 29: IPTABLES y SQUID

DESVENTAJASDebemos tener muy en claro que el servidor debe contestar todas las peticiones de todos los usuarios, esto obviamente va a depender de la cantidad de puestos u ordenadores que cuenta nuestra red. Además debemos conocer cuales son los servicios configurado, las respuestas deberían de ser casi instantáneas para que el rendimiento de nuestra red no disminuya.

Implementar un proxy puede que no sea del agrado de muchos de los usuarios que navegan, esto es por la intromisión que tiene el proxy como intermediario entre el origen y el destino de cada una de las peticiones.

Almacenar información en el cache del proxy, hace que muchas veces los sitios en lo que acceden los usuarios no siempre este actualizada debido a este almacenamiento temporal.

Page 30: IPTABLES y SQUID

Fin