Iptables y filtrado de tráfico de disidentes pobres y vagos

La relevancia de bloquear las visitas a recursos prohibidos afecta a cualquier administrador que pueda ser acusado oficialmente de incumplimiento de la ley o de las órdenes de las autoridades pertinentes.

Iptables y filtrado de tráfico de disidentes pobres y vagos

Para qué reinventar la rueda cuando existen programas y distribuciones especializadas para nuestras tareas, por ejemplo: Zeroshell, pfSense, ClearOS.

La dirección tenía otra pregunta: ¿El producto utilizado tiene un certificado de seguridad de nuestro estado?

Tuvimos experiencia trabajando con las siguientes distribuciones:

  • Zeroshell: los desarrolladores incluso donaron una licencia de 2 años, pero resultó que la distribución que nos interesaba, ilógicamente, desempeñaba una función crítica para nosotros;
  • pfSense: respeto y honor, al mismo tiempo aburrido, acostumbrarnos a la línea de comando del firewall de FreeBSD y no es lo suficientemente conveniente para nosotros (creo que es una cuestión de costumbre, pero resultó ser el camino equivocado);
  • ClearOS: en nuestro hardware resultó ser muy lento, no pudimos realizar pruebas serias, entonces, ¿por qué interfaces tan pesadas?
  • Ideco SELECTA. El producto Ideco es una conversación aparte, un producto interesante, pero por razones políticas no para nosotros, y también quiero "morderles" la licencia para el mismo Linux, Roundcube, etc. ¿De dónde sacaron la idea de que al cortar la interfaz en Python y al quitarles los derechos de superusuario, pueden vender un producto terminado compuesto de módulos desarrollados y modificados de la comunidad de Internet distribuidos bajo GPL, etc.

Entiendo que ahora me llegarán exclamaciones negativas con exigencias para fundamentar en detalle mis sentimientos subjetivos, pero quiero decir que este nodo de red también es un equilibrador de tráfico para 4 canales externos a Internet, y cada canal tiene sus propias características. . Otra piedra angular fue la necesidad de que una de varias interfaces de red funcionara en diferentes espacios de direcciones, y yo готов admitir que las VLAN se pueden utilizar en todas partes donde sea necesario y no necesario no está listo. Se utilizan dispositivos como el TP-Link TL-R480T+; en general, no se comportan perfectamente con sus propios matices. Fue posible configurar esta parte en Linux gracias al sitio web oficial de Ubuntu. Equilibrio de IP: combinar varios canales de Internet en uno. Además, cada uno de los canales puede "bajar" en cualquier momento, así como subir. Si está interesado en un script que está funcionando actualmente (y vale la pena publicarlo por separado), escriba en los comentarios.

La solución que estamos considerando no pretende ser única, pero me gustaría hacer la pregunta: "¿Por qué una empresa debería adaptarse a productos dudosos de terceros con importantes requisitos de hardware cuando se puede considerar una opción alternativa?"

Si en la Federación de Rusia existe una lista de Roskomnadzor, en Ucrania hay un anexo a la Decisión del Consejo de Seguridad Nacional (por ejemplo. aquí), entonces los líderes locales tampoco duermen. Por ejemplo, nos dieron una lista de sitios prohibidos que, según la dirección, perjudican la productividad en el lugar de trabajo.

Comunicándonos con colegas de otras empresas, donde por defecto todos los sitios están prohibidos y solo previa solicitud y con el permiso del jefe se puede acceder a un sitio específico, sonriendo respetuosamente, pensando y “fumando sobre el problema”, llegamos a comprender que la vida Todavía está bien y comenzamos su búsqueda.

Al tener la oportunidad no solo de ver analíticamente lo que escriben en los "libros de amas de casa" sobre el filtrado de tráfico, sino también de ver lo que sucede en los canales de diferentes proveedores, notamos las siguientes recetas (cualquier captura de pantalla está un poco recortada, por favor entender al preguntar):

Proveedor 1
— no se molesta e impone sus propios servidores DNS y un servidor proxy transparente. Bueno?.. pero tenemos acceso a donde lo necesitamos (si lo necesitamos :))

Proveedor 2
- cree que su principal proveedor debería pensar en esto, el soporte técnico del principal proveedor incluso admitió por qué no pude abrir el sitio que necesitaba, lo cual no estaba prohibido. Creo que la imagen te divertirá :)

Iptables y filtrado de tráfico de disidentes pobres y vagos

Al final resultó que, traducen los nombres de sitios prohibidos en direcciones IP y bloquean la IP en sí (no les molesta el hecho de que esta dirección IP pueda albergar 20 sitios).

Proveedor 3
— permite que el tráfico vaya allí, pero no le permite regresar a lo largo de la ruta.

Proveedor 4
— prohíbe toda manipulación con paquetes en la dirección especificada.

¿Qué hacer con la VPN (con respecto al navegador Opera) y los complementos del navegador? Al jugar con el nodo Mikrotik al principio, incluso obtuvimos una receta que consume muchos recursos para L7, que luego tuvimos que abandonar (puede que haya más nombres prohibidos, se vuelve triste cuando, además de sus responsabilidades directas en las rutas, en 3 docenas expresiones la carga del procesador PPC460GT llega al 100%).

Iptables y filtrado de tráfico de disidentes pobres y vagos.

Lo que quedó claro:
DNS en 127.0.0.1 no es en absoluto una panacea; las versiones modernas de los navegadores aún permiten evitar este tipo de problemas. Es imposible limitar a todos los usuarios a derechos reducidos y no debemos olvidarnos de la gran cantidad de DNS alternativos. Internet no es estático y, además de las nuevas direcciones DNS, los sitios prohibidos compran nuevas direcciones, cambian dominios de nivel superior y pueden agregar o eliminar un carácter en su dirección. Pero todavía tiene derecho a vivir algo como:

ip route add blackhole 1.2.3.4

Sería bastante efectivo obtener una lista de direcciones IP de la lista de sitios prohibidos, pero por las razones expuestas anteriormente, pasamos a consideraciones sobre Iptables. Ya existía un balanceador en vivo en la versión 7.5.1804 de CentOS Linux.

La Internet del usuario debe ser rápida y el Navegador no debe esperar ni medio minuto concluyendo que esa página no está disponible. Después de una larga búsqueda llegamos a este modelo:
Archivo 1 -> /script/host_denied, lista de nombres prohibidos:

test.test
blablabla.bubu
torrent
porno

Archivo 2 -> /script/rango_denegado, lista de espacios de direcciones y direcciones prohibidos:

192.168.111.0/24
241.242.0.0/16

Archivo de guión 3 -> ipt.shhaciendo el trabajo con ipables:

# считываем полезную информацию из перечней файлов
HOSTS=`cat /script/denied_host | grep -v '^#'`
RANGE=`cat /script/denied_range | grep -v '^#'`
echo "Stopping firewall and allowing everyone..."
# сбрасываем все настройки iptables, разрешая то что не запрещено
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
#решаем обновить информацию о маршрутах (особенность нашей архитектуры)
sudo sh rout.sh
# циклически обрабатывая каждую строку файла применяем правило блокировки строки
for i in $HOSTS; do
sudo iptables -I FORWARD -m string --string $i --algo bm --from 1 --to 600 -p tcp -j REJECT --reject-with tcp-reset;
sudo iptables -I FORWARD -m string --string $i --algo bm --from 1 --to 600 -p udp -j DROP;
done
# циклически обрабатывая каждую строку файла применяем правило блокировки адреса
for i in $RANGE; do
sudo iptables -I FORWARD -p UDP -d $i -j DROP;
sudo iptables -I FORWARD -p TCP  -d $i -j REJECT --reject-with tcp-reset;
done

El uso de sudo se debe al hecho de que tenemos un pequeño truco para administrar a través de la interfaz WEB, pero como lo demuestra la experiencia en el uso de un modelo de este tipo durante más de un año, WEB no es tan necesario. Después de la implementación, surgió el deseo de agregar una lista de sitios a la base de datos, etc. La cantidad de hosts bloqueados es más de 250 + una docena de espacios de direcciones. Realmente hay un problema al acceder a un sitio a través de una conexión https, como el administrador del sistema, tengo quejas sobre los navegadores :), pero estos son casos especiales, la mayoría de los desencadenantes de la falta de acceso al recurso todavía están de nuestro lado , también bloqueamos con éxito Opera VPN y complementos como friGate y telemetría de Microsoft.

Iptables y filtrado de tráfico de disidentes pobres y vagos

Fuente: habr.com

Añadir un comentario