Configura el firewall de Linux con IPtables y protege tu servidor

Configura el firewall de Linux con IPtables y protege tu servidor

Sergio De Luz

iptables es el firewall que se utiliza en sistemas operativos basados en Linux. Aunque en los últimos años tenemos instalado de forma predeterminada nftables, aún se puede utilizar la sintaxis de iptables para configurar el cortafuegos en nuestro sistema operativo, como Debian, Ubuntu e incluso el firewall del router si está basado en Linux. Conocer iptables es muy importante para mantener protegida nuestra red local de intrusiones, esto se debe a que iptables nos dará la posibilidad de permitir o denegar el tráfico que nosotros queramos. Hoy en RedesZone os vamos a explicar cómo funciona iptables, y ejemplos de utilización avanzados.

 

Qué es iptables

Iptables es una herramienta esencial en de Linux, diseñada para gestionar y filtrar el tráfico de red a través de reglas definidas. Su nombre, derivado de «IP» y «tables», refleja su función principal de trabajar con tablas que contienen reglas específicas para determinar el destino de los paquetes de datos.

Este sistema de filtrado de paquetes ofrece varias funcionalidades, desde las tareas más básicas hasta funciones avanzadas de administración de red. Con iptables, es posible bloquear o permitir el tráfico basándose en criterios como direcciones IP, puertos, protocolos y estados de conexión.

Además, una de las características más destacadas de iptables es su capacidad para realizar la traducción de direcciones de red, permitiendo compartir una única dirección IP pública entre varios dispositivos en una red interna. También puede realizar mapeo de puertos, redirigiendo el tráfico desde un puerto específico a otro, facilitando la exposición de servicios internos a través de una única dirección IP pública.

Iptables mantiene un seguimiento del estado de las conexiones, recordando si una conexión está establecida, en curso o es una respuesta a una conexión interna. Esto proporciona una capacidad avanzada para establecer reglas de estado y gestionar el tráfico de manera eficiente.

En términos de configuración, iptables utiliza reglas organizadas en diferentes tablas, como la tabla «filter» para el filtrado básico, la tabla «nat» para la traducción de direcciones, y la tabla «mangle» para la manipulación de paquetes.

 

Principales características de iptables

iptables es un software que se encarga de actuar como un firewall o cortafuegos en nuestra red. Es una parte muy importante de los sistemas operativos, y es que está específicamente diseñado para permitir el acceso autorizado y bloquear el acceso no autorizado. Un firewall establece un punto de control, tanto de entrada como salida de los paquetes, además, es muy importante indicar que un cortafuegos protege del tráfico que atraviesan diferentes redes, pero no protege la red local de ataques que se produzcan dentro de una misma subred.

iptables es el cortafuegos incluido en sistemas Linux desde la versión 2.4, por lo tanto, está incorporado de forma predeterminada en sistemas como Debian, Ubuntu, Linux Mint y muchos otros, aunque actualmente de forma interna se utiliza nftables, porque iptables se considera antiguo, aunque hoy en día todavía se utiliza iptables ampliamente en el mundo de la administración de sistemas Linux y también en el mundo de la administración de redes.

Este cortafuegos dispone de varias tablas creadas de forma predeterminada, con el objetivo de facilitar enormemente la posibilidad de añadir diferentes cadenas y reglas. Un detalle muy importante, es que de forma predeterminada tenemos todo en «aceptar», es decir, todo el tráfico se permite, no hay ninguna regla para denegar el tráfico, por lo tanto, en un primer momento este firewall es permisivo, pero podemos cambiar la política predeterminada de forma muy fácil y rápida.

 

Mejoras de rendimiento

Como puedes ver, Iptables son una solución muy buena para realizar configuraciones y administración del firewall del sistema. Pero más allá de las configuraciones que podamos llevar a cabo, Iptables es capaz de mejorar el rendimiento de nuestro sistema de una forma que puede ser bastante significativa. Una de las formas en las cuales lo hace, es a través de la configuración de la tasa de paquetes. Si estos cuentan con actividad limitada de ancho de banda, se pueden establecer la cantidad de los mismos que se pueden enviar o recibir en un tiempo determinado. Esto evita las sobrecargas del sistema, y asegura que el tráfico tenga una distribución uniforme.

Otra de las formas en las cuales nos puede ayudar, es con las reglas de filtrado de paquetes. Si conocemos el tráfico que es innecesario, se pueden establecer reglas para poder bloquearlo antes de que llegue a entrar al sistema. Esto nos va a ayudar a reducir de forma considerable en algunos casos, reducir la cantidad de tráfico que circula por la red, mejorando el rendimiento de una forma generalizada. A esto le podemos sumar las reglas de enrutamiento, las cuales son tremendamente útiles en gran cantidad de casos diferentes.

Cuando disponemos de redes muy complejas, con múltiples segmentos de red o rutas diferentes, estas reglas de enrutamiento nos garantizan que los paquetes que circulan se envían por la ruta más eficiente y directa posible. Esto reduce los tiempos de latencia y de nuevo, mejora el rendimiento general de nuestra red. Por no hablar de todas las funciones avanzadas para los controles de calidad QoS. Esta cuando tienen la configuración adecuada, puede establecer prioridades para garantizar que se cumplen todos los requisitos de ancho de banda. Por lo cual todas las aplicaciones de verán directamente beneficiadas en su rendimiento.

 

¿Qué se puede hacer con iptables?

Uno de sus usos principales es analizar el tráfico para ver las características de los paquetes. Para esto se implementa un cortafuegos que controla el tráfico.Por otro lado, también permiten utilizar una tecnología tan importante como es la NAT, que se basa en la traducción de redes. Se puede configurar un dispositivo para NAT con iptables, independientemente del Firewall.

Otra función interesante es la de marcar los paquetes. Esto se suele hacer con el uso de iptables, para que esos paquetes pasen a otros programas, y estos en función de las etiquetas, hacen una cosa u otra. Esto se realiza mediante mangle que, con el marcado, prepara los paquetes para un procesamiento futuro.

 

Combinar con otros servicios

Las iptables resultan una herramienta muy potente y flexible, y nos ayudan mucho en cuanto al control del tráfico en sistemas basados en Linux. Lo cual es muy útil para proteger los servicios que dependen de estos servidores. Lo cuales podemos encontrar en una grandísima cantidad de servicios actualmente. Uno de los problemas que nos podemos encontrar, es que, para poder implementarlas con otros servicios, es necesario llegar a utilizar código para que todo salga a la perfección. Ante esto, debemos tener en cuenta que cualquier cambio que se realice de forma incorrecta en las reglas, puede hacer que todo el tráfico de la red se quede bloqueado. Por lo cual siempre es recomendable dar uso de copias de seguridad, para tener siempre una vía de recuperación.

Algunos de los ejemplos de uso más básicos son:

  • Servidores web HTTP/HTTPS.
  • Servidores SSH.
  • Servidores SMTP.

También es posible implementarlas para disponer de algunas políticas por defecto, como puede ser la denegación de todo. Es común que muchos lugares utilicen estas políticas predefinidas, en lugar de crear las suyas. En este caso, siempre tendremos una disponible que negará todo el tráfico, y luego abrir solo los puertos que sea explícitamente necesarios para lo que vamos a necesitar. En todo caso, estos ejemplos son los más básicos. Iptables puede ser implementado en muchos más sistemas y muy complejos. Como limitar la tasa de tráfico, bloquear direcciones IP, loguear tráfico y muchas más opciones. Siempre se debe recordar, que las reglas no persisten después de los reinicios. Por lo cual será necesario dar uso de scripts que programemos, y que se ejecuten al inicio de la sesión. De este modo estarán siempre disponibles. El problema de todo esto es que, para la programación, es necesario tener conocimientos sobre el código necesario para estas herramientas.

 

Calcular iptables

El cálculo de iptables, implica que se deben definir las reglas en una tabla, y que sean aplicadas a la entrada y salida del tráfico. Para ello se debe seguir un conjunto de cadenas predefinidas, las cuales con INPUT, OUTPUT y FORWARD. Estas son las encargadas de determinar el tráfico que se debe analizar. Pero para poder calcularlas, se deben conocer las reglas de las mismas.

  • Criterios de procedencia: Se deben establecer las condiciones para que los paquetes puedan aplicar las reglas. Esto incluye información como las direcciones IP de origen y destino, así como los puertos, protocolos y otras características que puede tener un paquete.
  • Acción: Se tiene que definir la acción que se va a tomar cuando se cumplan ciertos criterios de coincidencia. Estas pueden ser ACCEPT, DROP y REJECT. Donde se acepta el paquete, se rechaza o incluso se llega a descartar por completo.
  • Orden de las reglas: Debemos saber que las reglas se van a evaluar de forma secuencial. Esto hace que el orden en el cual se establecen, sea sumamente importante, ya que determinará la acción que se va a realizar primero. Lo más recomendable es buscar un orden lógico, y que sea coherente con todas las demás reglas que se establecen.

Pero eso no es todo, sino que para poder calcular las iptables, debemos tener en cuenta algunos factores que son muy importantes.

  • Seguridad: Al fin y al cabo, las iptables se utilizan para proteger a los sistemas de posibles amenazas externas. Por lo cual se debe pensar en la seguridad cuanto nos encontramos manipulando este tipo de parámetros.
  • Rendimiento: Se debe realizar un cálculo eficiente, el cual se encuentre totalmente optimizado. Esto minimizará la cantidad de reglas que vamos a necesitar, reduciendo también todas las posibles redundancias que se pueden generar. Lo cual puede producir una sobreocupación de reglas.
  • Flexibilidad: Las iptables son una característica muy flexible a la hora de definir lo que pueden hacer. Es por ello que se pueden establecer condiciones muy específicas para poder adaptarse a prácticamente cualquier necesidad que tenga el sistema que estamos manejando.

Una vez que ya conocemos las principales características, os vamos a enseñar el funcionamiento y la arquitectura de este cortafuegos.

 

Funcionamiento y arquitectura

Este cortafuegos se basa en reglas que iremos introduciendo una tras otra, su funcionamiento se basa en aplicar reglas que el propio firewall se encargue de ejecutar. Aunque en un primer momento iptables pueda parecer sencillo de usar, si quieres hacerlo de forma avanzada, es más complicado. A continuación, podéis ver un esquema resumido del funcionamiento de iptables.

La estructura de iptables se basa en tablas, muchas de ellas ya están creadas de forma predeterminada. Dentro de las tablas tenemos las cadenas, que también tenemos algunas creadas de forma predeterminada. Finalmente, dentro de las cadenas tenemos las diferentes reglas que podemos configurar. En la siguiente foto podéis ver un pequeño esquema de cómo quedaría la arquitectura del firewall:

De forma predeterminada tenemos un total de cuatro tablas:

  • Tabla filter: es la tabla por defecto, si no definimos una tabla para añadir una regla, siempre se irá a la tabla filter. En esta tabla tenemos un total de tres cadenas por defecto, dependiendo de lo que nos interese, tendremos que usar una cadena u otra: INPUT (son los paquetes en sentido entrante, al propio firewall), OUTPUT (son los paquetes en sentido saliente, desde el servidor hacia fuera), y FORWARD (sirve para filtrar los paquetes que van de una interfaz de red a otra).
  • Tabla nat: esta tabla se encarga de hacer el NAT, transformar la IP privada en pública y al revés. Dentro de NAT tenemos tres cadenas: PREROUTING (altera los paquetes antes de enrutarlos, aquí se hace el DNAT o reenvío de puertos), POSTROUTING (altera los paquetes después de enrutarlos, aquí se hace el SNAT o MASQUERADE) y OUTPUT (paquetes generados por el firewall que atravesará el NAT configurado).
  • Tabla mangle: esta tabla se encarga de hacer la alteración de los paquetes, es donde se configura el QoS para la calidad del servicio, alterar cabeceras TCP etc. En esta tabla tenemos las cinco cadenas: PREROUTING, INPUT, FORWARD, OUTPUT, POSTROUTING.
  • Tabla raw: esta tabla no se suele usar porque los paquetes viajan sin estado de conexión. Tenemos la cadena PREROUTING y OUTPUT.

Para hacer todo esto, utiliza algunas reglas de filtrado que nos indicarán que paquetes serán aceptados y cuales rechazados o directamente, omitidos. Estas cadenas de datos la forman:

  • INPUT: Se refiere a los paquetes que llegan al sistema.
  • OUTPUT: Filtra los paquetes que salen de nuestra red.
  • FORWARD: No indica el tráfico del router que es enviado a otros equipos.

En la siguiente imagen podéis ver un pequeño resumen de las cadenas que tenemos en las diferentes tablas:

El funcionamiento a la hora de añadir una regla es el siguiente:

  • Las reglas que incorporamos a las cadenas siempre tienen un objetivo (-j en la regla).
  • Cuando el firewall recibe un paquete, comprueba si el paquete concuerda con una regla que hayamos dado de alta. Si concuerda, se ejecuta el orden objetivo, si no, pasa a la siguiente regla hasta el final de la cadena.
  • Las reglas se verifican en un orden secuencial, desde la primera regla hasta la última. Es muy importante el orden, si bloqueamos todo primero y luego permitimos algo más específico, bloquearemos todo el tráfico y la regla más específica no se comprobará.
  • En el caso de que ninguna regla satisfaga el paquete, entonces se utilizará la política de la cadena que tengamos (regla global).

Los objetivos que tienen las diferentes reglas son las siguientes:

  • ACCEPT: acepta el paquete y lo pasa al siguiente nivel, un servidor web, SSH, FTP etc.
  • DROP: bloquea el paquete y no lo pasa al siguiente nivel.
  • QUEUE: es un objetivo especial, que pasa al paquete en una cola destinada al procesamiento en espacio de usuario. Esto se puede usar para utilizar otros programas externos.
  • RETURN: tiene el mismo efecto que si hubiésemos llegado al final de la cadena. Si la regla estaba en una cadena de las que hay por defecto, entonces se ejecuta la política de la cadena. Para una regla que esté en una cadena definida por el usuario, se sale de ella, y se continúa atravesando la cadena anterior al salto, justo después de la regla con la que se saltó.

Como hemos mencionado y con respecto a las tablas mangle, iptables puede dar uso de la NAT, que contará con sus propias tablas, mediante la que se indica las reglas para realizar el enmascaramiento del paquete, redirigir puertos o cambiar alguna dirección de origen y destino. Nos podemos encontrar:

  • PREROUTING: Mediante esta, indicaremos a la máquina que realice determinadas acciones sobre los paquetes antes de que sean enrutados.
  • POSTROUTING: Nos permite realizar determinadas acciones antes de que el paquete salga del cortafuegos.
  • OUTPUT: Nos da la opción de modificar los paquetes generados en el cortafuegos antes de ser enrutados.

Una vez que ya conocemos el funcionamiento y su arquitectura, vamos a ver diferentes comandos para realizar diferentes acciones.

 

Comandos imprescindibles para usar iptables

Lo primero que debemos tener en cuenta a la hora de configurar este firewall, es que necesitamos permisos de superusuario para realizar las diferentes órdenes. Es totalmente necesario para que se ejecuten, de lo contrario no funcionará. Las siguientes órdenes no llevan «sudo» porque suponemos que ya estás con el superusuario (sudo su).

En las últimas versiones de Linux no es posible parar el servicio de iptables, para poder permitir todo el tráfico de red y dejar el firewall con los parámetros por defecto, tenemos que ejecutar las siguientes órdenes:

  • sudo iptables -F
  • sudo iptables -X
  • sudo iptables -t nat -F
  • sudo iptables -t nat -X
  • sudo iptables -t mangle -F
  • sudo iptables -t mangle -X
  • sudo iptables -P INPUT ACCEPT
  • sudo iptables -P FORWARD ACCEPT
  • sudo iptables -P OUTPUT ACCEPT

Una vez que hayamos hecho esto, ya tendremos el firewall «reseteado» y con el permitir todo. Ahora que ya sabemos cómo resetearlo, vamos a ver las diferentes órdenes.

 

Visualizar las tablas actuales

Si quieres ver el contenido de las diferentes cadenas y reglas que tenemos en una determinada tabla, a continuación, puedes ver cómo se verían:

  • iptables -t filter –list
  • iptables -t mangle –list
  • iptables -t nat –list
  • iptables -t raw –list
 

Argumentos principales y para qué sirven

  • -t, –table table Selecciona la tabla que queramos
  • -A, –append chain rule-specification Añadimos una nueva regla en una determinada cadena
  • -C, –check chain rule-specification Comprobamos que existe una determinada regla en una determinada cadena
  • -D, –delete chain rule-specification Borramos la regla que pongamos en una determinada cadena
  • -D, –delete chain rulenum Borramos la regla número X en una determinada cadena
  • -I, –insert chain [rulenum] rule-specification Insertamos una nueva cadena con un número en una determinada tabla
  • -R, –replace chain rulenum rule-specification Reemplaza una determinada cadena en una tabla, sirve para moverla de número.
  • -L, –list [chain] Muestra el listado de reglas de una cadena
  • -F, –flush [chain] Elimina todas las reglas de una determinada cadena.
  • -Z, –zero [chain [rulenum]] Pone los contadores de una determinada regla a 0.
  • -N, –new-chain chain Creamos una nueva cadena en una determinada tabla
  • -X, –delete-chain [chain] Borramos una determinada cadena (vacía) en una determinada tabla
  • -P, –policy chain target Aplicamos la política por defecto, se cumple cuando ninguna regla de las cadenas se cumple.
  • -E, –rename-chain old-chain new-chain Renombra una cadena añadida anteriormente
  • -h, muestra la ayuda
  • -v, –verbose Salida que se usa en conjunto con –L, sirve para mostrar más información que lo que proporciona el comando –L.
  • -n, –numeric Las direcciones IP y los números de puertos aparecerán con números. Por ejemplo, si filtramos el puerto 80, con el –L típico aparecerá www, y no 80.
  • -x, –exact Muestra el valor exacto del contador de paquetes y bytes, en lugar de usar K, M o G para los valores.
  • –line-numbers Al mostrar el listado de reglas, mostrará el número exacto de la regla. Ideal para usar –D y el número (eliminar) o –I para introducir delante o detrás de dicha regla.
 

Condiciones principales

  • -p, –protocol protocol. Filtra el paquete por protocolo, el protocolo especificado puede ser: tcp, udp, Idplite, icmp, esp, ah, sctp.
  • -s, –source address[/mask][,…] Dirección IP de origen del paquete. Podemos tener una IP o una subred (indicando la máscara en formato CIDR). También podemos poner nombres de host (dominios, webs etc), pero es una mala idea porque no es eficiente. Se pueden especificar varias direcciones de origen, (192.168.1.1,192.168.1.2) pero creará diferentes reglas para satisfacerlas.
  • -d, –destination address[/mask][,…] Dirección IP de destino del paquete. Se comporta exactamente igual que -s.
  • -m, –match match. Especifica si queremos llamar a los módulos extendidos de iptables, para realizar determinadas acciones como:
    • Poner múltiples puertos de origen y destino (módulo multiport).
    • Controlar conexiones (módulo conntrack).
    • Evitar fuerza bruta (módulo recent, ideal para SSH).
    • Limitar el número de conexiones (módulo limit y connlimit).
    • Rango de direcciones IP (iprange).
  • -j, –jump target. Especifica el objetivo de la regla, si queremos aceptar, denegar e incluso reenviar el paquete a otra cadena para su posterior tratamiento. Siempre en cualquier regla vamos a tener un –j para decirle qué queremos hacer. Si no incorporamos un –j se añadirá la regla y contará los paquetes, pero no hará nada. Si utilizamos –j para reenviar a otra cadena, una vez que en la otra cadena haya terminado, volverá a la original.
  • -g, –goto chain. Sirve para reenviar el tráfico a otra cadena, pero a diferencia de jump, no volverá a la cadena original por donde entró.
  • -i, –in-interface name. Nombre de la interfaz por donde un paquete se recibe. Solo vale para las cadenas de entrada como INPUT, FORWARD y PREROUTING. Si ponemos ‘!’ Significa todas menos esa interfaz. Si ponemos un + al final del nombre, cualquier interfaz con el inicio del nombre la cogerá para comprobarla. Imaginemos eth0, eth1 y eth2. Si queremos poner las tres simplemente con poner eth+ es suficiente.
  • -o, –out-interface name. Nombre de la interfaz por donde un paquete sale. Solo vale para las cadenas de salida como OUTPUT, FORWARD y POSTROUTING.
 

Condiciones solamente si usas TCP o UDP

Si utilizas el protocolo TCP o UDP, es posible que quieras filtrar por número de puerto origen y/o destino, a continuación, tenéis los dos argumentos que puedes usar:

  • –sport –source-port. Selecciona puertos de origen para permitir o denegar. Si usamos ! excluye.
  • –dport –destination-port. Selecciona puertos de destino para permitir o denegar. Si usamos ! excluye.

Existen muchas más condiciones para una configuración avanzada del firewall, pero las elementales ya las tenemos listadas.

 

Configurar la política por defecto

Las políticas sirven para que cuando no se encuentra una regla dentro de la cadena, se ejecute la política por defecto. La política por defecto de todas las cadenas es ACCEPT, pero hay dos opciones: ACCEPT o DROP

-P, –policy chain target

Ejemplos:

  • iptables -P INPUT DROP
  • iptables -P FORWARD DROP
  • iptables -P OUTPUT DROP

Con esto nos quedaremos sin internet, por lo que a continuación debemos empezar a crear reglas permisivas.

A continuación, podéis ver todas las políticas que tenemos en las diferentes tablas:

  • iptables -t filter -P (INPUT | OUTPUT | FORWARD) (ACCEPT | DROP)
  • iptables -P (INPUT | OUTPUT | FORWARD) (ACCEPT | DROP)
  • iptables -t mangle -P (INPUT | OUTPUT | FORWARD | PREROUTING | POSTROUTING) (ACCEPT | DROP)
 

Ver el estado del firewall

El parámetro -L muestra las reglas que tenemos configuradas. V permite recibir más información sobre las conexiones y N nos devuelve las direcciones IP y sus correspondientes puertos sin pasar por un servidor DNS.

  • iptables -L -n -v

Este es uno de los comandos más importantes para ver el estado del cortafuegos.

 

Módulos (-m match) de iptables

 

Multiport

Es una extensión de iptables que nos da la posibilidad de agrupar reglas similares con diferentes puertos TCP y UDP en una sola. Multiport permite poner varios puertos salteados, y también varios puertos seguidos, el máximo es de 15 argumentos de puertos. Ejemplo:

  • iptables –A INPUT –p tcp –m multiport –dports 80,81,1000:1200 –j ACCEPT

Gracias a este módulo, tenemos la posibilidad de usar varios puertos en la misma regla.

 

iprange

iprange nos permite poner varias direcciones IP de origen o destino de una vez, sin necesidad de poner decenas de reglas. También permite poner tanto IP de origen como de destino, la sintaxis es la siguiente:

  • [!]–src-range ip-ip
  • [!]–dst-range ip-ip

El funcionamiento de esta regla es bastante sencillo, simplemente ponemos IP inicio e IP final.

 

Connlimit

El módulo connlimit se encarga de restringir el número de conexiones simultáneas realizadas por una dirección IP, es ideal para limitar el número de conexiones para evitar DoS.

  • –connlimit-upto n . Marcamos si el número de conexiones es igual o menor que N (luego podemos permitir o denegar).
  • –connlimit-above n . Marcamos si el número de conexiones es mayor que N (luego podemos permitir o denegar).
  • –connlimit-mask prefix_length . Marcamos por rango de subred (es igual que un host haga 2 conexiones, que dos host de la misma subred hagan 1 conexión cada uno).
  • –connlimit-saddr . Aplicar la limitación al grupo de origen, es la de por defecto si no se especifica nada.
  • –connlimit-daddr . Aplica la limitación al grupo de destino.

Por ejemplo, imaginemos que queremos permitir dos conexiones SSH por cliente únicamente:

  • iptables -A INPUT -p tcp –dport 22 -m connlimit –connlimit-above 2 -j DROP

No obstante, podemos hacer la regla complementaria, poniendo un accept hasta 2 conexiones.

 

Conntrack

Este módulo sirve para realizar un tracking de las conexiones, sirve para gestionar la entrada y salida de paquetes antes y después del establecimiento de la conexión. Dentro de este módulo hay varias opciones, pero la más importante es -ctstate que nos permite aceptar o denegar diferentes tipos de paquetes. Dentro de ctstate tenemos varios estados, destacan los siguientes:

  • INVALID: El paquete recibido es inválido y no pertenece a ninguna conexión.
  • NEW: Conexiones nuevas que se realizan, o que está asociado a una conexión que aún no es bidireccional.
  • ESTABLISHED: Conexiones establecidas, pasan primero por NEW ya que han tenido respuesta
  • RELATED: Paquete que está relacionado a una conexión existente, pero que no es parte de ella, como FTP pasivo.

Imaginemos que queremos acceder a cualquier sitio, sin embargo, no queremos que absolutamente nadie acceda a nosotros.

  • iptables –P INPUT DROP
  • iptables -A INPUT -m conntrack –ctstate ESTABLISHED,RELATED -j ACCEPT
 

Limit

El módulo limit nos permite limitar, tanto tráfico, como número de logs a escribir en el syslog como intentos de conexión. Tiene dos argumentos principalmente:

  • –limit N . Este argumento especifica el número máximo de coincidencias de media por segundo (N/s), minuto (N/m), hora (N/h) o día (N/d) a permitir. N especifica el número
  • –limit-burst N . Indica la ráfaga más larga que se puede producir antes de comprobar el límite –limit.

El valor por defecto si no se especifica nada es 3 coincidencias por hora, a ráfagas de 5. Imaginemos la siguiente regla: «iptables -A INPUT -m limit -j LOG», el funcionamiento es el siguiente:

  • La primera vez que se alcanza esta regla, se registran los primeros cinco paquetes.
  • Después, pasarán veinte minutos antes de que vuelva a registrarse un paquete con esta regla (3 coincidencias entre 60 minutos igual a 20 minutos, ya que es MEDIA).
  • Además, cada veinte minutos que pasen sin que un paquete alcance la regla, la ráfaga recuperará un paquete.
  • Si no sucede nada durante 100 minutos, la ráfaga quedará completamente recargada; de vuelta entonces a la situación inicial.
 

Recent

El módulo recent sirve para limitar el número de conexiones por segundo a nivel de IP, esto es ideal para protegernos de ataques al puerto SSH porque un atacante probará múltiples contraseñas. Por ejemplo, si queremos proteger nuestro SSH, podríamos ejecutar la siguiente regla:

  • iptables -A INPUT -p tcp –dport 22 -m conntrack –ctstate NEW -m recent –set –name ssh –rsource
  • iptables -A INPUT -p tcp –dport 22 -m state –state NEW -m recent –rcheck –seconds 60 –hitcount 4 –name ssh –rsource -j DROP

Esta regla permite solamente hacer cuatro intentos de conexión al cabo de 60 segundos, es una ventana «deslizante».

 

NAT

Este firewall también se encarga de hacer NAT de nuestra conexión. Para hacer el NAT de nuestra IP pública (o interfaz que tenga esta IP pública), debemos poner:

  • SNAT Estático: iptables -t nat -A POSTROUTING -s 192.168.1.0/24 –o eth1 -j SNAT –to IP_eth1
  • SNAT Dinámico: iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth1 -j MASQUERADE

Lo normal es usar MASQUERADE para hacer NAT independientemente de la dirección IP que tenga la interfaz física o lógica.

Para abrir puertos tenemos que añadir una regla en la cadena PREROUTING de la tabla NAT.

  • iptables -t nat -A PREROUTING -i eth1 -p tcp –dport 22 -j DNAT –to-destination 192.168.1.1

La tabla PREROUTING también nos permite modificar los puertos al vuelo, de tal forma que, si recibimos paquetes en el puerto 2121, lo podemos transformar al 21.

  • iptables -t nat -A PREROUTING -i eth1 -p tcp –dport 2121 -j DNAT –to-destination 192.168.1.1:21

Una vez que ya conocemos en detalle este cortafuegos, vamos a ver los ejemplos básicos de utilización y también los más avanzados.

 

Ejemplos básicos de utilización

Este firewall es muy completo y tenemos cientos de comandos que podemos ejecutar para realizar diferentes acciones. En RedesZone os vamos a poner unos ejemplos fáciles de entender para un primer acercamiento a este cortafuegos.

Primero, bloquear la dirección IP 192.168.1.10 para que no realice ninguna comunicación a nuestro servidor:

  • iptables -A INPUT –s 192.168.1.10 –j DROP

Luego, si quieres bloquear las direcciones IP 192.168.1.20, 192.168.1.30, 192.168.1.40, 192.168.1.50 para que no realicen ninguna comunicación a nuestro servidor:

  • iptables -A INPUT –s 192.168.1.20,192.168.1.30,192.168.1.40,192.168.1.50 –j DROP

Y para bloquear toda la subred 192.168.2.0/24 para que no realicen ninguna comunicación a nuestro servidor, excepto la dirección IP 192.168.2.20 que sí se permitiría:

  • iptables –A INPUT –s 192.168.2.20 –j ACCEPT
  • iptables –A INPUT –s 192.168.2.0/24 –j DROP

Si buscas bloquear la dirección IP de 192.168.4.50 para que no puedas hacer ninguna comunicación:

  • iptables –A OUTPUT –d 192.168.4.50 –j DROP

También está la opción de bloquear las direcciones IP 192.168.4.51 y 192.168.4.52 para que nosotros no podamos hacer ninguna comunicación:

  • iptables –A OUTPUT –d 192.168.4.51,192.168.4.52 –j DROP

Y bloquear el acceso a www.google.es desde iptables:

  • iptables –A OUTPUT –d www.google.es –j DROP

Queremos bloquear el acceso a nuestro servidor de la MAC 00:01:02:03:04:05, y el resto permitir todo:

  • iptables -A INPUT -m mac –mac-source 00:01:02:03:04:05 -j DROP

Queremos permitir el acceso a nuestro servidor a la dirección MAC MAC 00:01:02:03:04:06, y el resto denegar todo:

  • iptables -A INPUT -m mac –mac-source 00:01:02:03:04:05 -j ACCEPT
    iptables -A INPUT -j DROP

También está la opción de bloquear la dirección IP 192.168.1.10 para realizar ping desde nuestro nuestro servidor:

  • iptables -A INPUT -s 192.168.1.10 -p icmp -j DROP

Después, bloquear las direcciones IP 192.168.1.20, 192.168.1.30, 192.168.1.40, 192.168.1.50 para que no realicen PING a nuestro servidor (en una sola regla):

  • iptables -A INPUT -s 192.168.1.20,192.168.1.30,192.168.1.40,192.168.1.50 -p icmp -j DROP

Bloquear toda la subred 192.168.2.0/24 para que no realicen PING a nuestro servidor, excepto la dirección IP 192.168.2.20 que sí se permitiría:

  • iptables -A INPUT -s 192.168.2.20 -p icmp -j ACCEPT
    iptables -A INPUT -s 192.168.2.0/24 -p icmp -j DROP

También para bloquear la dirección IP de 192.168.4.50 para que nosotros no podamos hacer ping.

  • iptables -A OUTPUT -d 192.168.4.50 -p icmp -j DROP

Y bloquear las direcciones IP 192.168.4.51 y 192.168.4.52 para que nosotros no podamos hacer ping.

  • iptables -A OUTPUT -d 192.168.4.51,192.168.4.52 -p icmp -j DROP

Bloquear el acceso a www.google.es desde iptables.

  • iptables -A OUTPUT -d www.google.es -p icmp -j DROP

Tal y como podéis ver, el funcionamiento es bastante sencillo con las reglas basadas en IP con origen y destino. También podríamos usar el módulo iprange para configurar un rango de IPs:

Bloquear un rango de direcciones IP que van desde 192.168.5.1 hasta la dirección 192.168.5.50 para que no puedan hacer ping desde nuestro servidor.

  • iptables -A OUTPUT -m iprange –dst-range 192.168.5.1-192.168.5.50 -p icmp -j DROP

También podemos filtrar de forma más avanzada el protocolo ICMP. Imaginemos que tenemos un usuario que quiere poder hacer ping a cualquier host, pero, sin embargo, no quiere que NADIE le pueda hacer ping a él. ¿Cómo lo podemos hacer con iptables si el propio PING tiene comunicación bidireccional?

  • iptables -A INPUT -s IP -p icmp –icmp-type echo-request -j DROP

Bloquear cualquier acceso entrante por la interfaz eth0 (únicamente), por lo tanto, permitir el acceso eth1.

  • iptables -A INPUT -i eth0 -j DROP
  • iptables -A INPUT -i eth1 -j ACCEPT

Bloquear el tráfico saliente por la interfaz eth0 (únicamente), por lo tanto, permitir el acceso eth1.

  • iptables -A OUTPUT -o eth0 -j DROP
  • iptables -A OUTPUT -o eth1 -j ACCEPT

Permitir cualquier tipo de tráfico entrante y saliente por eth0, y denegar cualquier tráfico entrante o saliente por eth1.

  • iptables -A INPUT -i eth0 -j ACCEPT
  • iptables -A OUTPUT -o eth0 -j ACCEPT
  • iptables -A INPUT -i eth1 -j DROP
  • iptables -A OUTPUT -o eth1 -j DROP

Si quieres empezar a ver cómo funciona el protocolo TCP y UDP, a continuación, tenéis algunos ejemplos:

Bloquear el acceso web a www.google.es y permitir todo lo demás (ping) por ejemplo.

  • iptables -A OUTPUT -d www.google.es -p tcp –dport 80 -j DROP

Por otro lado, para bloquear el acceso FTP a cualquier IP o dominio, y permitir todo lo demás.

  • iptables -A OUTPUT -p tcp –dport 21 -j DROP

Si lo que buscas es bloquear el acceso SSH a la IP 192.168.1.50, y permitir todo lo demás.

  • iptables -A OUTPUT -d 192.168.1.50 -p tcp –dport 22 -j DROP

Para bloquear el acceso Telnet a la subred 192.168.2.0, y permitir todo lo demás.

  • iptables -A OUTPUT -d 192.168.2.0/24 -p tcp –dport 23 -j DROP

Bloquear el acceso de 192.168.1.50 a nuestro servidor web.

  • iptables -A INPUT -s 192.168.1.50 -p tcp –dport 80 -j DROP

Bloquear el acceso de 192.168.1.150 y 192.168.1.151 a nuestro servidor SSH.

  • iptables -A INPUT -s 192.168.1.150,192.168.1.151 -p tcp –dport 22 -j DROP

Si quieres bloquear el acceso de toda la subred 192.168.2.0/24 a nuestro servicio telnet

  • iptables -A INPUT -s 192.168.2.0/24 -p tcp –dport 23 -j DROP

Bloquear el acceso de todo el mundo al servidor OpenVPN, excepto la dirección IP 77.77.77.77 que sí se permite.

  • iptables -A INPUT -s 77.77.77.77 -p tcp –dport 1194 -j ACCEPT
  • iptables -A INPUT -p tcp –dport 1194 -j DROP

En cambio, para bloquear el acceso DNS a 8.8.8.8 y permitir todo lo demás (ping) por ejemplo.

  • iptables -A OUTPUT -d 8.8.8.8 -p tcp –dport 53 -j DROP
  • iptables -A OUTPUT -d 8.8.8.8 -p udp –dport 53 -j DROP

Para bloquear el acceso al puerto 1194 a cualquier IP o dominio, y permitir todo lo demás.

  • iptables -A INPUT -p udp –dport 1194 -j DROP

Tenemos un servidor DNS en nuestro servidor. Queremos que solo los equipos de la subred 192.168.1.0/24 se puedan comunicar con él, y bloquear todos los demás accesos.

  • iptables -A INPUT -s 192.168.1.0/24 -p tcp –dport 53 -j ACCEPT
  • iptables -A INPUT -s 192.168.1.0/24 -p udp –dport 53 -j ACCEPT
  • iptables -A INPUT -p tcp –dport 53 -j DROP
  • iptables -A INPUT -p udp –dport 53 -j DROP

Bloquear el acceso a nuestro servidor web, del rango de IP 192.168.100.0/24, que proviene de la interfaz eth0.

  • iptables -A INPUT -s 192.168.100.0/24 -i eth0 -p tcp –dport 80 -j DROP

Bloquear el acceso a nuestro servidor ssh, del rango de IP 192.168.100.0/24, que proviene de la interfaz eth1.

  • iptables -A INPUT -s 192.168.100.0/24 -i eth1 -p tcp –dport 22 -j DROP
 

Ejemplos avanzados de uso

Si quieres aprender más sobre iptables, a continuación, tenéis algunos ejemplos donde hacemos uso del módulo connlimit.

Permitir únicamente 10 conexiones Telnet por cliente.

  • iptables -A INPUT -p tcp –dport 23 -m connlimit –connlimit-above 10 –connlimit-mask 32 -j DROP

Denegar hasta la conexión número 5 en web que realice un cliente (no tiene mucho sentido, pero es un ejemplo).

  • iptables -A INPUT -p tcp –dport 80 -m connlimit –connlimit-upto 5 –connlimit-mask 32 -j DROP

Si quieres permitir únicamente 10 conexiones Telnet por cliente (hacerlo de otra manera al anterior).

  • iptables -A INPUT -p tcp –dport 23 -m connlimit –connlimit-upto 10 –connlimit-mask 32 -j ACCEPT
  • iptables -A INPUT -p tcp –dport 23 -j DROP

Permitir únicamente 10 conexiones web en el rango de IP 10.0.0.0/8, y denegar si supera este número.

  • iptables -A INPUT -s 10.0.0.0/8 -p tcp –dport 80 -m connlimit –connlimit-above 10 –connlimit-mask 8 -j DROP

Pero, si buscas permitir únicamente 20 conexiones HTTP por cada cliente, en cuanto se supere mandamos un TCP Reset.

  • iptables -A INPUT -p tcp –dport 80 -m connlimit –connlimit-above 20 –connlimit-mask 32 -j REJECT –reject-with tcp-reset

O esta forma:

  • iptables -A INPUT -p tcp –syn –dport 80 -m connlimit –connlimit-above 20 –connlimit-mask 32 -j REJECT –reject-with tcp-reset

Tal y como podéis ver, este firewall es realmente completo y podremos hacer una gran cantidad de configuración muy avanzadas, para controlar en detalle todas las conexiones entrantes y salientes.

También cabe recordar que los cambios que podamos realizar en la configuración de iptables, son efímeros, por lo cual debemos guardarlos para que estos persistan tras posibles reinicios que se puedan producir en el servidor.

 

¿Qué es el firewall Ferm y para qué sirve?

Ferm (For Easy Rule Making) es un frontend de iptables, esto significa que, por debajo, realmente está utilizando iptables para permitir o denegar el tráfico, pero nos permite configurar de forma muy avanzada el firewall sin necesidad de aprendernos la sintaxis de iptables ni realizar diferentes scripts haciendo uso de iptables, sino que lo haremos directamente con Ferm. Esta herramienta es capaz de leer las reglas de un archivo de configuración que nosotros vamos a definir, y posteriormente «llamará» a iptables para ir añadiendo las diferentes reglas una a una, insertándose en tiempo real en el kernel.

El objetivo de Ferm es proporcionar a los administradores de sistemas y redes una forma fácil de leer y escribir todas las reglas del cortafuegos, reduciendo la tarea de tener que escribir una regla tras otra, por lo que podremos dedicar más tiempo al desarrollo y optimización de las reglas, para que sean lo más eficientes posible. Ferm utiliza un lenguaje de configuración muy simple pero bastante avanzado, podremos utilizar variables, funciones, arrays e incluso bloques. Otras opciones muy interesantes de Ferm es que nos permitirá incluir otros archivos de configuración en un directorio, y se encargará de importar y aplicar todas esas reglas de forma automática.

Ferm no deja de ser un frontend de iptables, por tanto, cuando utilicemos esta herramienta, siempre vamos a poder editar y configurar directamente el firewall haciendo uso de los comandos de iptables. De hecho, Ferm es capaz de importar las reglas actuales de iptables y ponerlas automáticamente en el archivo de configuración, para posteriormente editarlas o ampliarlas.

 

Alternativas a iptables

El mercado de firewalls está lleno de opciones, las cuales varían mucho en características. Por lo cual, si no te acaba de convencer, o necesitas algo que este no te ofrece, vamos a ver algunas alternativas.

 

pfSense

Es una aplicación de firewall de código abierto y basada en el sistema operativo FreeBSD. Se utiliza para crear reglas de firewall dedicadas, siendo muy fiable y ofreciendo diferentes características que hacen de él uno de los más famosos y comerciales. Entre sus principales características podemos destacar:

  • Es altamente configurable y se puede actualizar desde la interfaz web.
  • Se puede utilizar como firewall perimetral, enrutador, servidor DHCP y DNS.
  • Cuenta con balanceo de carga entrante y saliente.
  • Se puede utilizar como punto de acceso y punto final de VPN.
 

IPCop Firewall

Se trata de una distribución de Linux, y está muy enfocado a sistemas domésticos y pequeñas empresas u oficinas. Es muy sencillo de utilizar por lo cual es accesible, y se puede utilizar como una VPN, por lo cual se pueden reducir costes en este sentido. Entre sus características más destacadas podemos ver:

  • La interfaz gráfica es sencilla.
  • Se pueden visualizar y rotar los registros automáticamente.
  • Da soporte a muchos idiomas.
  • Es sencillo de implementar, y se encuentra con actualizaciones constantes.
 

Shorewall

Se trata de una herramienta donde poder configurar un firewall o un Gateway para Linux. Es una herramienta de alto nivel, por lo cual se necesitan ciertos conocimientos para poder configurar filtros de red y establecer los requisitos del firewall. Este puede realizar lecturas de archivos de configuración gracias a la ayuda de iptables. Entre sus principales características se pueden destacar:

  • Permite configurar Netfliter para que coincida con los requisitos establecidos.
  • Se puede utilizar en sistemas de firewall dedicado.
  • Puede hacer la función de enrutador.
  • Puede instalarse como servidor multi-función.
 

Importancia de tener firewall

Un firewall, o también conocido como cortafuegos, es un sistema hardware y/o software que se encarga de monitorizar todas las conexiones entrantes y salientes de diferentes redes, con el objetivo de permitir o denegar el tráfico entre las diferentes redes. Un firewall se puede instalar en un ordenador o host final, pero también en un router que incorpora un cortafuegos, e incluso uno dedicado para controlar todas las conexiones entre diferentes redes.

Son una gran fuente de información para muchas empresas y otros organismos. Pero también lo pueden ser para atacantes que buscan cualquier brecha para fines maliciosos. Mantenernos a salvo de todo esto, es algo que es muy importante. Y para ello tenemos varias formas de hacerlo. Lo primero siempre es contar con in antivirus, el cual nos proteja de las amenazas. Pero también es extremadamente importante contar con un Firewall.

 

Para qué sirve

Este va a supervisar todo el tráfico de la red, y tiene permisos para realizar bloqueos cuando él lo considere necesario. Que la gran mayoría de los equipos de hoy en día esté conectado a internet, hace que esto sea vital. Un atacante puede realizar sondeos de equipos que cumplen algunos requisitos concretos, y determinar de esta forma, si son atacables o no.

Una vez es detectada una posible víctima, pueden tratar de atacar los sistemas de diferentes formas. Si llegados al punto de que esta toma el control de nuestro equipo, puede obligar a nuestro equipo a hacer prácticamente lo que él quiera. Por lo general, es aprovecharse de la información personal del usuario atacado, y así cometer algún tipo de fraude. Y esto puede ocurrir sin que el usuario pueda detectarlo, sin darse cuenta.

Por ello necesitamos un firewall. Pero podemos estar tranquilos, porque hoy en día, casi todos los sistemas operativos traen esta herramienta de seguridad incorporada. En el caso de Windows, no solo tendremos el Firewall, si no que este incorpora un antivirus llamado Windows Defender. Si le damos al ordenador un uso normal, lo más probable es que esto sea suficiente. Pero la cosa puede cambiar rápidamente si es un entorno empresarial. En estos casos, es más recomendable utilizar firewalls más profesionales, o incluso plantearse instalar uno por hardware.

 

Tipos de cortafuegos

Actualmente disponemos de diferentes tipos, tanto para el sistema operativo Windows como también otros softwares específicamente orientados a cortafuegos. Saber la diferencia entre los diferentes tipos es muy importante para elegir el que a nosotros nos interese.

 

Stateless Firewall o Cortafuegos sin estado

Este tipo de cortafuegos es el más básico que existe, se le conoce como «cortafuegos sin estado» o «cortafuegos con filtrado de paquetes». Este es el tipo es el más antiguo y simple que tenemos, este tipo de cortafuegos suele instalarse dentro del perímetro de la red, no enruta ningún tipo de paquete ni tampoco sabe si las diferentes conexiones que se permiten se han establecido o no.

Este tipo de cortafuegos funciona en base a unas reglas básicas predefinidas, donde debemos aceptar o denegar los diferentes paquetes, pero nunca controlando si la conexión se ha establecido, si está relacionada con otros puertos como ocurre con el protocolo FTP pasivo, ni tampoco si la conexión es inválida.

 

Stateful Packet Inspection

Este tipo de cortafuegos es más avanzado que el anterior, a este tipo se le conoce como «con estado«, y es que es capaz de saber si una conexión se ha establecido, es relacionada e incluso inválida. Este tipo es lo mínimo que deberíamos tener para estar bastante protegidos frente a amenazas externas. Gracias a que es un firewall con estado, es capaz de supervisar la conexión activa, realizar un seguimiento e incluso limitar el número de conexiones simultáneas en un determinado equipo para protegerlo frente a ataques DoS.

Otras características muy importantes son que es capaz de evitar que el tráfico malicioso obtenga acceso a la red interna, ya que puede monitorizar en tiempo real las conexiones e incluso detectar intentos de acceso no autorizados.

 

Application-Level Gateway Firewall

Un firewall de nivel de aplicación (ALG) es una especie de proxy que nos proporciona seguridad en las aplicaciones, el objetivo de este tipo de cortafuegos es filtrar el tráfico entrante en base a unas determinadas reglas. No todas las aplicaciones que usamos habitualmente son soportadas por ALG, por ejemplo, FTP, SIP, varios protocolos de VPN, RSTP y protocolo de BitTorrent sí lo soportan. La forma de funcionamiento de ALG es la siguiente:

  • Cuando un cliente quiere conectarse a una aplicación remota, el cliente se conecta realmente al servidor proxy, nunca directamente a la aplicación final.
  • El servidor proxy se encargará de conectarse con la aplicación, será la que establezca la comunicación con el servidor principal.
  • Habrá comunicación entre cliente y servidor principal, pero siempre pasando por el proxy.
 

Next-Generation Firewall

Los Next-Generation Firewall o también conocidos como NG-Firewall son unos cortafuegos muy avanzados tecnológicamente. Disponen las tecnologías de Stateful Packet Inspection, además, realizan una inspección profunda de todos los paquetes que va más allá de mirar la cabecera del paquete IP, TCP o UDP entre otros protocolos, es capaz de ver la carga útil que se envía con el objetivo de protegernos frente a ataques más sofisticados. Este tipo de cortafuegos ofrecen inspección a nivel de aplicación, por lo que llegamos hasta la capa 7 del modelo OSI.

Aunque en general ofrece los mismos beneficios que un cortafuegos SPI, son más avanzados al permitir aplicar políticas de filtrado de paquetes dinámico y estático, junto con soporte avanzado de VPN con el objetivo de proteger todas las conexiones entrantes y salientes de la red. Los NGFW son los más usados en medianas y grandes empresas para proteger todas las comunicaciones.

¡Sé el primero en comentar!
Logo redeszone.net
Navega gratis con cookies…

Navegar por redeszone.net con publicidad personalizada, seguimiento y cookies de forma gratuita. i

Para ello, nosotros y nuestros socios i necesitamos tu consentimiento i para el tratamiento de datos personales i para los siguientes fines:

Las cookies, los identificadores de dispositivos o los identificadores online de similares características (p. ej., los identificadores basados en inicio de sesión, los identificadores asignados aleatoriamente, los identificadores basados en la red), junto con otra información (p. ej., la información y el tipo del navegador, el idioma, el tamaño de la pantalla, las tecnologías compatibles, etc.), pueden almacenarse o leerse en tu dispositivo a fin de reconocerlo siempre que se conecte a una aplicación o a una página web para una o varias de los finalidades que se recogen en el presente texto.

La mayoría de las finalidades que se explican en este texto dependen del almacenamiento o del acceso a la información de tu dispositivo cuando utilizas una aplicación o visitas una página web. Por ejemplo, es posible que un proveedor o un editor/medio de comunicación necesiten almacenar una cookie en tu dispositivo la primera vez que visite una página web a fin de poder reconocer tu dispositivo las próximas veces que vuelva a visitarla (accediendo a esta cookie cada vez que lo haga).

La publicidad y el contenido pueden personalizarse basándose en tu perfil. Tu actividad en este servicio puede utilizarse para crear o mejorar un perfil sobre tu persona para recibir publicidad o contenido personalizados. El rendimiento de la publicidad y del contenido puede medirse. Los informes pueden generarse en función de tu actividad y la de otros usuarios. Tu actividad en este servicio puede ayudar a desarrollar y mejorar productos y servicios.

La publicidad que se presenta en este servicio puede basarse en datos limitados, tales como la página web o la aplicación que esté utilizando, tu ubicación no precisa, el tipo de dispositivo o el contenido con el que está interactuando (o con el que ha interactuado) (por ejemplo, para limitar el número de veces que se presenta un anuncio concreto).

  • Un fabricante de automóviles quiere promocionar sus vehículos eléctricos a los usuarios respetuosos con el medioambiente que viven en la ciudad fuera del horario laboral. La publicidad se presenta en una página con contenido relacionado (como un artículo sobre medidas contra el cambio climático) después de las 18:30 h a los usuarios cuya ubicación no precisa sugiera que se encuentran en una zona urbana.
  • Un importante fabricante de acuarelas quiere realizar una campaña publicitaria en Internet para dar a conocer su última gama de acuarelas con la finalidad de llegar tanto a artistas aficionados como a profesionales y, a su vez, se evite mostrar el anuncio junto a otro contenido no relacionado (por ejemplo, artículos sobre cómo pintar una casa). Se detectará y limitará el número de veces que se ha presentado el anuncio a fin de no mostrarlo demasiadas veces.

La información sobre tu actividad en este servicio (por ejemplo, los formularios que rellenes, el contenido que estás consumiendo) puede almacenarse y combinarse con otra información que se tenga sobre tu persona o sobre usuarios similares(por ejemplo, información sobre tu actividad previa en este servicio y en otras páginas web o aplicaciones). Posteriormente, esto se utilizará para crear o mejorar un perfil sobre tu persona (que podría incluir posibles intereses y aspectos personales). Tu perfil puede utilizarse (también en un momento posterior) para mostrarte publicidad que pueda parecerte más relevante en función de tus posibles intereses, ya sea por parte nuestra o de terceros.

  • En una plataforma de redes sociales has leído varios artículos sobre cómo construir una casa en un árbol Esta información podría añadirse a un perfil determinado para indicar tuinterés en el contenido relacionado con la naturaleza, así como en los tutoriales de bricolaje (con el objetivo de permitir la personalización del contenido, de modo que en el futuro, por ejemplo, se te muestren más publicaciones de blogs y artículos sobre casas en árboles y cabañas de madera).
  • Has visualizado tres vídeos sobre la exploración espacial en diferentes aplicaciones de televisión. Una plataforma de noticias sin relación con las anteriores y con la que no has tenido contacto en el pasado crea un perfil basado en esa conducta de visualización marcando la exploración del espacio como un tema de tu posible interés para para otros vídeos.

El contenido que se te presenta en este servicio puede basarse en un perfilde personalización de contenido que se haya realizado previamente sobre tu persona, lo que puede reflejar tu actividad en este u otros servicios (por ejemplo, los formularios con los que interactúas o el contenido que visualizas), tus posibles intereses y aspectos personales. Un ejemplo de lo anterior sería la adaptación del orden en el que se te presenta el contenido, para que así te resulte más sencillo encontrar el contenido (no publicitario) que coincida con tus intereses.

  • Has leído unos artículos sobre comida vegetariana en una plataforma de redes sociales. Posteriormente has usado una aplicación de cocina de una empresa sin relación con la anterior plataforma. El perfil que se ha creado sobre tu persona en la plataforma de redes sociales se utilizará para mostrarte recetas vegetarianas en la pantalla de bienvenida de la aplicación de cocina.
  • Has visualizado tres vídeos sobre remo en páginas web diferentes. Una plataforma de video, no relacionada con la página web en la que has visualizado los vídeos sobre remo, pero basandose en el perfil creado cuando visistaste dicha web, podrá recomendarte otros 5 vídeos sobre remo cuando utilices la plataforma de video a través de tu televisor .

La información sobre qué publicidad se te presenta y sobre la forma en que interactúas con ella puede utilizarse para determinar lo bien que ha funcionado un anuncio en tu caso o en el de otros usuarios y si se han alcanzado los objetivos publicitarios. Por ejemplo, si has visualizado un anuncio, si has hecho clic sobre el mismo, si eso te ha llevado posteriormente a comprar un producto o a visitar una página web, etc. Esto resulta muy útil para comprender la relevancia de las campañas publicitarias./p>

  • Has hecho clic en un anuncio en una página web/medio de comunicación sobre descuentos realizados por una tienda online con motivo del “Black Friday” online y posteriormente has comprado un producto. Ese clic que has hecho estará vinculado a esa compra. Tu interacción y la de otros usuarios se medirán para saber el número de clics en el anuncio que han terminado en compra.
  • Usted es una de las pocas personas que ha hecho clic en un anuncio que promociona un descuento por el “Día de la madre”de una tienda de regalos en Internet dentro de la aplicación de una web/medio de comunicación. El medio de comunicación quiere contar con informes para comprender con qué frecuencia usted y otros usuarios han visualizado o han hecho clic en un anuncio determinado dentro de la aplicación y, en particular, en el anuncio del “Día de la madre” para así ayudar al medio de comunicación y a sus socios (por ejemplo, las agencias de publicidad) a optimizar la ubicación de los anuncios.

La información sobre qué contenido se te presenta y sobre la forma en que interactúas con él puede utilizarse para determinar, por ejemplo, si el contenido (no publicitario) ha llegado a su público previsto y ha coincidido con sus intereses. Por ejemplo, si hasleído un artículo, si has visualizado un vídeo, si has escuchado un “pódcast” o si has consultado la descripción de un producto, cuánto tiempo has pasado en esos servicios y en las páginas web que has visitado, etc. Esto resulta muy útil para comprender la relevancia del contenido (no publicitario) que se te muestra.

  • Has leído una publicación en un blog sobre senderismo desde la aplicación móvil de un editor/medio de comunicación y has seguido un enlace a una publicación recomendada y relacionada con esa publicación. Tus interacciones se registrarán para indicar que la publicación inicial sobre senderismo te ha resultado útil y que la misma ha tenido éxito a la hora de ganarse tu interés en la publicación relacionada. Esto se medirá para saber si deben publicarse más contenidos sobre senderismo en el futuro y para saber dónde emplazarlos en la pantalla de inicio de la aplicación móvil.
  • Se te ha presentado un vídeo sobre tendencias de moda, pero tu y otros usuarios habéis dejado de visualizarlo transcurridos unos 30 segundos. Esta información se utilizará para valorar la duración óptima de los futuros vídeos sobre tendencias de moda.

Se pueden generar informes basados en la combinación de conjuntos de datos (como perfiles de usuario, estadísticas, estudios de mercado, datos analíticos) respecto a tus interacciones y las de otros usuarios con el contenido publicitario (o no publicitario) para identificar las características comunes (por ejemplo, para determinar qué público objetivo es más receptivo a una campaña publicitaria o a ciertos contenidos).

  • El propietario de una librería que opera en Internet quiere contar con informes comerciales que muestren la proporción de visitantes que han visitado su página y se han ido sin comprar nada o que han consultado y comprado la última autobiografía publicada, así como la edad media y la distribución de género para cada uno de los dos grupos de visitantes. Posteriormente, los datos relacionados con la navegación que realizas en su página y sobre tus características personales se utilizan y combinan con otros datos para crear estas estadísticas.
  • Un anunciante quiere tener una mayor comprensión del tipo de público que interactúa con sus anuncios. Por ello, acude a un instituto de investigación con el fin de comparar las características de los usuarios que han interactuado con el anuncio con los atributos típicos de usuarios de plataformas similares en diferentes dispositivos. Esta comparación revela al anunciante que su público publicitario está accediendo principalmente a los anuncios a través de dispositivos móviles y que es probable que su rango de edad se encuentre entre los 45 y los 60 años.

La información sobre tu actividad en este servicio, como tu interacción con los anuncios o con el contenido, puede resultar muy útil para mejorar productos y servicios, así como para crear otros nuevos en base a las interacciones de los usuarios, el tipo de audiencia, etc. Esta finalidad específica no incluye el desarrollo ni la mejora de los perfiles de usuario y de identificadores.

  • Una plataforma tecnológica que opera con un proveedor de redes sociales observa un crecimiento en los usuarios de aplicaciones móviles y se da cuenta de que, en funciónde sus perfiles, muchos de ellos se conectan a través de conexiones móviles. La plataforma utiliza una tecnología nueva para mostrar anuncios con un formato óptimo para los dispositivos móviles y con un ancho de banda bajo a fin de mejorar su rendimiento.
  • Un anunciante está buscando una forma de mostrar anuncios en un nuevo tipo de dispositivo. El anunciante recopila información sobre la forma en que los usuarios interactúan con este nuevo tipo de dispositivo con el fin de determinar si puede crear un nuevo mecanismo para mostrar la publicidad en ese tipo de dispositivo.

El contenido que se presenta en este servicio puede basarse en datos limitados, como por ejemplo la página web o la aplicación que esté utilizando, tu ubicación no precisa, el tipo de dispositivo o el contenido con el que estás interactuando (o con el que has interactuado) (por ejemplo, para limitar el número de veces que se te presenta un vídeo o un artículo en concreto).

  • Una revista de viajes, para mejorar las experiencias de viaje en el extranjero, ha publicado en su página web un artículo sobre nuevos cursos que ofrece una escuela de idiomas por Internet. Las publicaciones del blog de la escuela se insertan directamente en la parte inferior de la página y se seleccionan en función de la ubicación no precisa del usuario (por ejemplo, publicaciones del blog que explican el plan de estudios del curso para idiomas diferentes al del país en el que este te encuentras).
  • Una aplicación móvil de noticias deportivas ha iniciado una nueva sección de artículos sobre los últimos partidos de fútbol. Cada artículo incluye vídeos alojados por una plataforma de streaming independiente que muestra los aspectos destacados de cada partido. Si adelantas un vídeo, esta información puede utilizarse para determinar que el siguiente vídeo a reproducir sea de menor duración.

Se puede utilizar la localización geográfica precisa y la información sobre las características del dispositivo

Al contar con tu aprobación, tu ubicación exacta (dentro de un radio inferior a 500 metros) podrá utilizarse para apoyar las finalidades que se explican en este documento.

Con tu aceptación, se pueden solicitar y utilizar ciertas características específicas de tu dispositivo para distinguirlo de otros (por ejemplo, las fuentes o complementos instalados y la resolución de su pantalla) en apoyo de las finalidades que se explican en este documento.

O sin cookies desde 1,67€ al mes

Por solo 1,67€ al mes, disfruta de una navegación sin interrupciones por toda la red del Grupo ADSLZone: adslzone.net, movilzona.es, testdevelocidad.es, lamanzanamordida.net, hardzone.es, softzone.es, redeszone.net, topesdegama.com y más. Al unirte a nuestra comunidad, no solo estarás apoyando nuestro trabajo, sino que también te beneficiarás de una experiencia online sin cookies.