• No se han encontrado resultados

Administración de servicios Internet Intranet

N/A
N/A
Protected

Academic year: 2021

Share "Administración de servicios Internet Intranet"

Copied!
33
0
0

Texto completo

(1)

Tema 7

ASII 1

Administración de servicios Internet Intranet

Tema 7: Seguridad

(2)

Tema 7

ASII 2

Seguridad

Tipos de ataques:

Ataques físicos

.

Ataques de denegación de servicio

.

Ataques de privilegios

.

Router Internet

(3)

Tema 7 ASII 3

Servidor proxy

Internet LAN Servidor Proxy

Conexión a Internet utilizando un servidor proxy:

Proporciona seguridad actuando como una puerta de enlace

entre nuestra red y la Internet

Almacena en caché información para reducir el tráfico entre

nuestra intranet y la Internet

(4)

Tema 7

ASII 4

Funcionamiento del proxy

Equipos cliente IP = 192.168.1.3 IP = 192.168.1.4 IP = 192.168.1.5 Equipo Proxy IP interna = 192.168.1.1 IP externa = 131.107.2.1

1. El cliente envía el paquete al equipo que funciona como proxy

4. El Proxy determina el destino, almacena en la caché la página para siguientes peticiones.

2. El equipo que funciona como proxy comprueba si ese equipo tiene permiso para salir y envía el paquete a Internet.

3. El servidor Web envía una respuesta al equipo que es Proxy

Internet

Servidor Web

(5)

Tema 7

ASII 5

Squid

• Software para servidor Proxy más popular y extendido.

• Es muy confiable, robusto y versátil.

• Hace de Proxy y caché con los protocolos HTTP, FTP,

GOPHER y WAIS, Proxy de SSL, caché transparente,

WWCP, aceleración HTTP, caché de consultas DNS y otras

muchas más.

(6)

Tema 7 ASII 6

/etc/squid/squid.conf

Parámetros configurables:

http_port

cache_mem

ftp_user

cache_dir

Al menos una Lista de Control de Acceso

Al menos una Regla de Control de Acceso

httpd_accel_host

httpd_accel_port

(7)

Tema 7

ASII 7

http_port

Squid por defecto utilizará el puerto 3128 para atender peticiones,

pero puede especificarse otro, o más de uno.

• Proxy Transparente, utiliza el puerto 80 y redirecciona peticiones.

• Proxy convencional, los usuarios suelen traer por defecto el

puerto 8080 (servicio de cacheo WWW).

http_port 3128 http_port 8080

Si desea incrementar la seguridad, para acceder desde la RAL.

http_port 192.168.1.254:3128 http_port 192.168.1.254:8080

(8)

Tema 7

ASII 8

cache_mem y cache_dir

Establece la cantidad ideal de memoria para lo siguiente:

• Objetos en tránsito.

• Objetos Hot.

• Objetos negativamente almacenados en el caché.

Los datos se almacenan en bloques de 4 Kb. Por defecto se

establecen 8 MB.

cache_mem 16 MB

Mientras más grande el caché de disco, más objetos de

almacenarán en éste y por lo tanto se utilizará menos el

ancho de banda. Por defecto 100 Mb.

(9)

Tema 7

ASII 9

Listas de control de acceso

Listas de control de acceso.

Regularmente una lista de control de acceso se establece

siguiendo la siguiente sintaxis:

acl [nombre de la lista] src [lo que compone a la lista]

acl miredlocal src 192.168.1.0/255.255.255.0

acl clase src 192.168.1.64/26

También puede definirse una Lista de Control de Acceso

invocando un fichero con una lista de direcciones IP:

(10)

Tema 7

ASII 10

Reglas de control de acceso

http_access [deny o allow] [lista de control de acceso]

http_access allow permitidos

También pueden definirse reglas valiéndose de la expresión

!

,

la cual significa excepción.

http_access allow lista1 !lista2

Ejemplo (lista de control):

acl all src 0.0.0.0/0.0.0.0

acl localhost src 127.0.0.1/255.255.255.255 acl redlocal src "/etc/squid/lista"

Ejemplo (regla de control):

http_access allow localhost http_access allow redlocal http_access deny all

(11)

Tema 7

ASII 11

Opciones varias de Squid

Aceleración con Proxy:

httpd_accel_host virtual httpd_accel_port 0 httpd_accel_with_proxy on

Errores en español:

rm -f /etc/squid/errors ln -s /usr/lib/squid/errors/Spanish /etc/squid/errors

Redireccionamiento (iptables) para usar el servidor proxy:

/sbin/iptables -t nat -A PREROUTING -i eth0

(12)

Tema 7

ASII 12

Acceso por Autentificación con Squid

Instrucciones:

touch /etc/squid/claves chmod 600 /etc/squid/claves

chown squid:squid /etc/squid/claves htpasswd /etc/squid/claves manu

Parámetros en squid.conf:

auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/claves

acl password proxy_auth REQUIRED http_access allow redlocal password

(13)

Tema 7

ASII 13

Restricción de accesos a sitios Web con Squid

/etc/squid/sitiosdenegados:

www.porno www.otroporno.es culos warez hackers.es

/etc/squid/squid.conf:

acl sitiosdenegados url_regex "/etc/squid/sitiosdenegados”

http_access allow redlocal !sitiosdenegados

(14)

Tema 7

ASII 14

Ejemplo squid.conf

#Lista que define método de autenticación:

acl password proxy_auth REQUIRED

# Listas de control de acceso por defecto:

acl all src 0.0.0.0/0.0.0.0

acl localhost src 127.0.0.1/255.255.255.255

# Listas que definen conjuntos de maquinas

acl redlocal src "/etc/squid/redlocal"

acl privilegiados src "/etc/squid/privilegiados" acl restringidos src "/etc/squid/restringidos" acl administrador src 192.168.1.254

# Listas que definen palabras contenidas en un URL

acl porno url_regex "/etc/squid/porno"

# Contenido: # # sex # porn # girl # celebrit # extasis # drug # playboy # hustler # Lista de sitios inocentes que accidentealmente sean bloqueados

acl noporno url_regex "/etc/squid/noporno"

# Contenido: # # missingheart # wirelessexcite # msexchange # msexcel # freetown # geek-girl # Define una lista estricta de extensiones prohibidas

acl multimedia urlpath_regex "/etc/squid/multimedia"

# Contenido: # # \.mp3$ # \.avi$ # \.mov$ # \.mpg$ # \.bat$ # \.pif$ # \.sys$ # \.lnk$ # \.scr$ # \.exe$ # Define una lista moderada de extensiones prohibidas

acl peligrosos urlpath_regex "/etc/squid/peligrosos"

# Contenido: # # \.bat$ # \.pif$ # \.sys$ # \.lnk$ # \.scr$ # \.exe$

(15)

Tema 7

ASII 15

Ejemplo squid.conf

acl matutino time MTWHF 09:00-15:00 # Reglas de control de acceso

# Regla por defecto:

http_access allow localhost # Ejemplos de reglas de control de acceso

http_access allow restringidos password !porno !multimedia http_access allow redlocal password !porno !peligrosos http_access allow privilegiados password !peligrosos http_access allow matutino !porno

http_access allow administrador http_access allow noporno all # Regla por defecto:

(16)

Tema 7

ASII 16

Cortafuegos

Securizando las conexiones a Internet utilizando un cortafuegos:

Evita un acceso no autorizado a nuestra red

Permite especificar el tipo de tráfico permitido que entra y sale

de nuestra red

Intranet Internet

Router Cortafuegos

(17)

Tema 7

ASII 17

Cortafuegos

Un firewall es el conjunto de hardware, software y reglas

utilizados para proteger el sistema.

Si se usa una máquina “segura” como cortafuegos separada

del resto de máquinas que dan servicio:

host bastión

Se puede usar una máquina que es cortafuegos y da servicios.

Internet

Servidor Web

(18)

Tema 7

ASII 18

Filtrado de paquetes

Técnica basada en inspeccionar los datagramas IP para

decidir los que se procesan y los que se descartan.

Criterios de elección

Tipo de protocolo: TCP, UDP, ICMP…

Número de socket

Tipo de datagrama: SYN/ACK,data

Dirección de origen o de destino.

Se utiliza iptables (versión 2.4 del kernel).

(19)

Tema 7

ASII 19

Iptables

Utiliza 3 tablas o listas de reglas:

filter — La tabla por defecto para el manejo de paquetes

de red.

nat — Usada para alterar paquetes que crean una

nueva conexión.

mangle — Usada por tipos específicos de alteración de

paquetes.

Cada una de estas tablas tiene un grupo de

cadenas

internas que corresponden a las acciones llevadas a

cabo por el filtro de red en el paquete.

(20)

Tema 7

ASII 20

Tabla filter

Las cadenas internas para la tabla filtro son las

siguientes:

INPUT

— Aplica a los paquetes recibidos a través de

una interfaz de red.

OUTPUT

— Esta cadena sirve para paquetes enviados

por medio de la misma interfaz de red que recibió los

paquetes.

FORWARD

— Esta cadena sirve para paquetes

(21)

Tema 7

ASII 21

Tabla nat

Las cadenas internas para la tabla nat son las

siguientes:

PREROUTING

— Esta cadena altera paquetes

recibidos por medio de una interfaz de red cuando

llegan.

OUTPUT

— Esta cadena altera paquetes generados

localmente antes de que sean dirigidos por medio de

una interfaz de red.

POSTROUTING

— Esta cadena altera paquetes antes

(22)

Tema 7

ASII 22

Configuración iptables

Cuando un paquete cumple una regla en particular en una de las tablas, se asignan a un objetivo (target)particular:

ACCEPT: el paquete se salta el resto de las verificaciones de la regla y se permite que continúe hacia su destino.

DROP: a el paquete se le niega el acceso al sistema y no se envía nada de vuelta al servidor que envió el paquete.

QUEUE: el paquete se pasa al espacio del usuario.

REJECT: el paquete es entregado, pero se envía un paquete de error al que envió el paquete.

Si ninguna de estas reglas en la cadena se aplican al paquete, entonces el paquete es tratado de acuerdo a la política por defecto.

(23)

Tema 7

ASII 23

iptables orden especificación_de_regla extensiones

-A — Añade la regla iptables al final de la cadena especificada. Este es el comando utilizado para simplemente añadir una regla cuando el orden de las reglas en la cadena no importa.

-C — Verifica una regla en particular antes de añadirla en la cadena especificada por el usuario. Este comando puede ser de ayuda para construir reglas iptables complejas pidiéndole que introduzca parámetros y opciones adicionales.

-D — Borra una regla de una cadena en particular por número (como el 5 para la quinta regla de una cadena). Puede también teclear la regla entera e iptables borrará la regla en la cadena que corresponda.

-E — Renombra una cadena definida por el usuario. Esto no afecta la estructura de la tabla.

-F — Libera la cadena seleccionada, que borra cada regla de la cadena. Si no se especifica ninguna cadena, este comando libera cada regla de cada cadena,

-h — Proporciona una lista de estructuras de comandos, así como también un resúmen rápido de parámetros de comandos y opciones.

(24)

Tema 7

ASII 24

Más ordenes

-I — Inserta una regla en una cadena en un punto especificado por un valor entero definido por el usuario. Si no se especifica ningún número, iptables colocará el comando en el tope de la cadena.

-L — Lista todas las reglas de la cadena especificada tras el comando. Para ver una lista de todas las cadenas en la tabla filter por defecto. La sintaxis siguiente deberá utilizarse para ver todas la listas de todas las reglas de una cadena específica en una tabla en particular:

-N — Crea una nueva cadena con un nombre especificado por el usuario. -P — Configura la política por defecto para una cadena en particular de tal

forma que cuando los paquetes atraviesen la cadena completa sin cumplir ninguna regla, serán enviados a un objetivo en particular, como puedan ser ACCEPT o DROP.

-R — Reemplaza una regla en una cadena particular. El número de la regla debe ser especificado después del nombre de la cadena. La primera regla en una cadena corresponde a la regla número uno.

-X — Borra una cadena especificada por el usuario. No se permite borrar ninguna de las cadenas predefinidas para cualquier tabla.

-Z — Pone ceros en los contadores de byte y de paquete en todas las cadenas de una tabla en particular.

(25)

Tema 7

ASII 25

Especificación de regla

-c — Resetea los contadores de una regla en particular.

-d — Configura el nombre de la máquina destino, dirección IP o red de un paquete que coincide con la regla.

-f — Aplica esta regla sólo a los paquetes fragmentados.

Usando la opción ! después de este parámetro, únicamente los paquetes no fragmentados se tendrán en cuenta.

-i — Configura la interfaz de red entrante, tal como eth0 o ppp0. Con iptables, este parámetro opcional puede ser usado solamente con las cadenas INPUT y FORWARD cuando es usado con la tabla filter y la cadena PREROUTING con las tablas nat y mangle.

Este parámetro también soporta las siguientes opciones especiales: ! — Dice a este parámetro que no concuerde, queriendo decir esto que las interfaces especificadas se excluirán de esta regla.

+ — Un caracter tipo comodín utilizado para coincidir todas las interfaces con una cadena de caracteres particular. Por ejemplo, el parámetro -i eth+ aplicará esta regla a cualquier interfaz Ethernet pero excluirá cualquier otra interfaz, tal com ppp0.

(26)

Tema 7

ASII 26

Especificación de regla

-j — Le dice a iptables que salte a un objetivo particular cuando un paquete coincide con una regla. Los objetivos válidos a usar después de la opción -j incluye las opciones estándar, ACCEPT, DROP, QUEUE, y RETURN. Si no especifica ningún objetivo, el paquete se mueve hacia atrás en la regla sin llevar a cabo ninguna acción. A pesar de todo, el contador para esta regla se sigue incrementando en uno, a partir del momento en el que el paquete se adecua a la regla especificada.

-o — Configura la interfaz de red de salida para una regla y puede ser usada solamente con las cadenas OUTPUT y FORWARD en la tabla de filtro y la cadena POSTROUTING en las tablas nat y mangle. Estos parámetros de opciones son los mismos que aquellos de la interfaz de entrada (-i).

-p — Configura el protocolo IP para la regla, el cual puede ser icmp, tcp, udp, o all, para coincidir todos los protocolos soportados. Además, se puede usar cualquier protocolo listado en /etc/protocols. Si esta opción es omitida cuando se esté creando una regla, la opción all es la opción por defecto.

-s — Configura la fuente para un paquete particular usando la misma sintaxis que el parámetro (-d).

(27)

Tema 7

ASII 27

Identificación de paquetes (TCP)

Estas opciones de identificación están disponibles en el protocolo TCP (opción -p tcp):

--dport — Configura el puerto de destino para el paquete. Use bien sea un nombre de servicio (tal como www o smtp), número de puerto, o el rango de números de puertos para configurar esta opción, tal como -p tcp --dport 3000:3200. El caracter de exclamación (!) indica todos los paquetes que no usan el servicio de red o puerto.

--sport — Configura el puerto fuente del paquete usando las mismas opciones que --dport. La opción --source-port es sinónimo con --sport. --syn Provoca que todos los paquetes designados de TCP, comúnmente llamados paquetes SYN, cumplan esta regla.

--tcp-flags — Permite a los paquetes TCP packets con bits específicos o banderas, ser coincididos con una regla. La opción --tcp-flags acepta dos parámetros. El primer parámetro es la máscara, la cual configura banderas a ser examinadas en el paquete. El segundo parámetro se refiere a la bandera que se debe configurar para poder coincidir. Las banderas posibles son ACK, FIN, PSH, RST, SYN, URG, ALL y NONE.

--tcp-option Intenta seleccionar con opciones específicas de TCP que pueden estar activas en un paquete en particular. Esta opción se puede revertir con el punto de exclamación (!).

(28)

Tema 7

ASII 28

Identificación de paquetes (UDP)

Estas opciones de selección están disponibles para el protocolo UDP (-p udp):

--dport — Especifica el puerto destino del paquete UDP, usando el nombre del servicio, número de puerto, o rango de números de puertos. La --destination-port que coincide la opción es sinónimo con --dport. --sport — Especifica el puerto fuente de un paquete UDP, usando el

nombre del servicio, número de puerto, o rango de números de puertos. La --source-port opción es sinónimo con --sport.

(29)

Tema 7

ASII 29

Identificación de paquetes (ICMP y módulos)

Estas opciones de coincidencia están disponibles para el Internet Control Message Protocol (ICMP) (-p icmp):

--icmp-type Selecciona el nombre o el número del tipo ICMP que concuerde con la regla. Se puede obtener una lista de nombres válidos ICMP tecleando el comando iptables -p icmp -h.

Opciones adicionales de coincidencia. -m <module-name>

limit module — Permite colocar un límite en cuántos paquetes son coincididos a una regla particular. Tiene las opciones siguientes:

--limit — Configura el número de coincidencias en un intervalo de tiempo,

<número>/<tiempo>. Ej: --limit 5/hour

--limit-burst — Configura un límite en el número de paquetes capaces de cumplir una regla en un determinado tiempo.

módulo state — Habilita la coincidencia de estado. Tiene las siguientes opciones:

--state — coincide un paquete con los siguientes estados de conexión:

ESTABLISHED El paquete seleccionado se asocia con otros paquetes en una conexión establecida.

INVALID El paquete seleccionado no puede ser asociado a una conexión conocida. NEW El paquete seleccionado o bien está creando una nueva conexión o bien forma parte de una conexión de dos caminos que antes no había sido vista.

RELATED El paquete seleccionado está iniciando una nueva conexión en algún punto de la conexión existente.

módulo mac — Habilita la coincidencia de direcciones MAC de hardware:

--mac-source — Coincide una dirección MAC a la tarjeta de red que envió el paquete. Para excluir una dirección MAC de la regla, coloque un símbolo de exclamación (!) después de la opción --mac-source.

(30)

Tema 7

ASII 30

Ejemplo de cortafuegos

modprobe ip_tables

iptables –F FORWARD

iptables –P FORWARD DROP

iptables –A FORWARD –m tcp –p tcp –s 0/0 --sport

80 –d 182.16.1.0/24 –syn –j DROP

iptables –A FORWARD –m tcp –p tcp –s

172.16.1.0/24 --sport 80 –d 0/0 –j ACCEPT

iptables –A FORWARD –m tcp –p tcp –s

172.16.1.0/24 --dport 80 –s 0/0 –j ACCEPT

(31)

Tema 7

ASII 31

ISA Server

• Cortafuegos.

• Proxy.

(32)

Tema 7

ASII 32

(33)

Tema 7

ASII 33

Referencias

Documento similar