Iptables e filtragem de tráfego de dissidentes pobres e preguiçosos

A relevância do bloqueio de visitas a recursos proibidos afeta qualquer administrador que possa ser oficialmente acusado de descumprimento de leis ou ordens das autoridades competentes.

Iptables e filtragem de tráfego de dissidentes pobres e preguiçosos

Por que reinventar a roda quando existem programas e distribuições especializadas para nossas tarefas, por exemplo: Zeroshell, pfSense, ClearOS.

A direção tinha outra dúvida: o produto utilizado possui certificado de segurança do nosso estado?

Tivemos experiência trabalhando com as seguintes distribuições:

  • Zeroshell - os desenvolvedores até doaram uma licença de 2 anos, mas descobriu-se que o kit de distribuição que nos interessava, ilogicamente, desempenhava uma função crítica para nós;
  • pfSense - respeito e honra, ao mesmo tempo chato, acostumar-se com a linha de comando do firewall do FreeBSD e não é conveniente o suficiente para nós (acho que é uma questão de hábito, mas acabou sendo o caminho errado);
  • ClearOS - em nosso hardware ficou muito lento, não conseguimos fazer testes sérios, então por que interfaces tão pesadas?
  • Ideco SELECTA. O produto Ideco é uma conversa à parte, um produto interessante, mas por motivos políticos não para nós, e também quero “mordê-los” sobre a licença do mesmo Linux, Roundcube, etc. De onde eles tiraram a ideia de que, ao cortar a interface em Python e ao retirar os direitos de superusuário, eles podem vender um produto acabado composto de módulos desenvolvidos e modificados pela comunidade da Internet distribuídos sob a GPL, etc.

Entendo que agora surgirão exclamações negativas em minha direção com demandas para fundamentar detalhadamente meus sentimentos subjetivos, mas quero dizer que este nó da rede também é um balanceador de tráfego para 4 canais externos à Internet, e cada canal tem suas próprias características . Outra pedra angular foi a necessidade de uma das diversas interfaces de rede funcionar em diferentes espaços de endereço, e eu pronto admitir que as VLANs podem ser usadas em qualquer lugar onde for necessário e não necessário não está pronto. Existem dispositivos em uso como o TP-Link TL-R480T+ – eles não se comportam perfeitamente, em geral, com nuances próprias. Foi possível configurar esta parte no Linux graças ao site oficial do Ubuntu Balanceamento de IP: combinação de vários canais da Internet em um. Além disso, cada um dos canais pode “cair” a qualquer momento, bem como subir. Se você estiver interessado em um script que está funcionando atualmente (e vale uma publicação separada), escreva nos comentários.

A solução em consideração não pretende ser única, mas gostaria de fazer a pergunta: “Por que uma empresa deveria se adaptar a produtos duvidosos de terceiros com sérios requisitos de hardware quando uma opção alternativa pode ser considerada?”

Se na Federação Russa existe uma lista de Roskomnadzor, na Ucrânia existe um anexo à Decisão do Conselho de Segurança Nacional (por exemplo. aqui), então os líderes locais também não dormem. Por exemplo, recebemos uma lista de sites proibidos que, na opinião da administração, prejudicam a produtividade no local de trabalho.

Comunicando-nos com colegas de outras empresas, onde por defeito todos os sites são proibidos e só mediante pedido e autorização do patrão se pode aceder a um determinado site, sorrindo respeitosamente, pensando e “fumando sobre o problema”, chegamos ao entendimento de que a vida ainda está bom e começamos a busca.

Tendo a oportunidade não só de ver analiticamente o que escrevem nos “livros das donas de casa” sobre filtragem de tráfego, mas também de ver o que está acontecendo nos canais dos diferentes provedores, notamos as seguintes receitas (qualquer captura de tela fica um pouco cortada, por favor entenda ao perguntar):

Provedor 1
— não se incomoda e impõe seus próprios servidores DNS e um servidor proxy transparente. Bem?.. mas temos acesso onde precisamos (se precisarmos :))

Provedor 2
- acredita que seu principal provedor deveria pensar nisso, o suporte técnico do principal fornecedor até admitiu porque não consegui abrir o site que precisava, o que não era proibido. Acho que a foto vai te divertir :)

Iptables e filtragem de tráfego de dissidentes pobres e preguiçosos

Acontece que eles traduzem os nomes de sites proibidos em endereços IP e bloqueiam o próprio IP (eles não se incomodam com o fato de que esse endereço IP pode hospedar 20 sites).

Provedor 3
— permite que o tráfego vá até lá, mas não permite que retorne ao longo da rota.

Provedor 4
— proíbe todas as manipulações com pacotes na direção especificada.

O que fazer com VPN (em relação ao navegador Opera) e plug-ins de navegador? Brincando inicialmente com o nó Mikrotik, conseguimos até uma receita L7 que consome muitos recursos, que depois tivemos que abandonar (pode haver mais nomes proibidos, fica triste quando, além de suas responsabilidades diretas pelas rotas, em 3 dúzias expressões, a carga do processador PPC460GT vai para 100%).

Iptables e filtragem de tráfego de dissidentes pobres e preguiçosos.

O que ficou claro:
DNS em 127.0.0.1 não é absolutamente uma panacéia: versões modernas de navegadores ainda permitem que você contorne esses problemas. É impossível limitar todos os utilizadores a direitos reduzidos e não devemos esquecer o grande número de DNS alternativos. A Internet não é estática e, além de novos endereços DNS, sites proibidos compram novos endereços, alteram domínios de nível superior e podem adicionar/remover um caractere em seus endereços. Mas ainda tem o direito de viver algo como:

ip route add blackhole 1.2.3.4

Seria bastante eficaz obter uma lista de endereços IP da lista de sites proibidos, mas pelas razões expostas acima, passamos às considerações sobre o Iptables. Já existia um balanceador ao vivo no CentOS Linux versão 7.5.1804.

A Internet do usuário deve ser rápida, e o Navegador não deve esperar meio minuto, concluindo que esta página não está disponível. Depois de uma longa pesquisa chegamos a este modelo:
Arquivo 1 -> /script/denied_host, lista de nomes proibidos:

test.test
blablabla.bubu
torrent
porno

Arquivo 2 -> /script/intervalo_negado, lista de espaços de endereço e endereços proibidos:

192.168.111.0/24
241.242.0.0/16

Arquivo de script 3 -> ipt.shfazendo o trabalho com 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

O uso do sudo se deve ao fato de termos um pequeno hack para gerenciamento via interface WEB, mas como mostra a experiência no uso desse modelo há mais de um ano, o WEB não é tão necessário. Após a implementação, surgiu o desejo de adicionar uma lista de sites ao banco de dados, etc. O número de hosts bloqueados é superior a 250 + uma dúzia de espaços de endereço. Realmente existe um problema ao acessar um site através de uma conexão https, como o administrador do sistema, tenho reclamações sobre navegadores :), mas esses são casos especiais, a maioria dos gatilhos por falta de acesso ao recurso ainda estão do nosso lado , também bloqueamos com sucesso o Opera VPN e plug-ins como friGate e telemetria da Microsoft.

Iptables e filtragem de tráfego de dissidentes pobres e preguiçosos

Fonte: habr.com

Adicionar um comentário