Sob a Capa da Internet Russa: Uma Reflexão de um Desenvolvedor Python sobre as Listas Brancas
Um desenvolvedor Python explora, de forma hipotética e com um toque de humor, o funcionamento interno das "listas brancas" na internet russa, focando em como a infraestrutura de rede e as restrições de acesso podem impactar a experiência do usuário. O artigo analisa a filtragem de tráfego, a importância da soberania digital e as possíveis consequências de uma internet altamente controlada.
MundiX News·12 de maio de 2026·10 min de leitura·👁 5 views
Olá, Habr! (E você, sofredor, que não consegue acessar o aplicativo do seu banco enquanto caminha pela rua.)
Ultimamente, uma ideia não me abandona. Ela se instalou na minha cabeça como um processo de sistema silencioso, mas persistente, e consome os recursos do cérebro, especialmente quando você lê notícias sobre os bloqueios e "listas brancas", e especialmente quando você as encontra diariamente, como eu, que sou da região. E pensei que seria bom entender essa questão e, ao mesmo tempo, fantasiar um pouco. Como faço toda vez que me deparo com a desgraça de um aplicativo que não abre.
Hoje, vamos dar uma olhada sob o capô - puramente hipoteticamente! - daquele mesmo "Grande NOSSO Firewall Branco" e pensar: e se o Roskomnadzor abordasse a questão não como políticos, mas como engenheiros com verdadeira pedantaria?
Resumindo, o artigo não será muito técnico, pois superar os autores que já escreveram artigos grandes e abrangentes sobre esse tópico não é meu objetivo. Este artigo é sobre diversão, em um momento tão difícil para a internet russa, então vamos lá.
Easter egg: código-fonte da soberania
Dizem que nas entranhas do Roskomnadzor, entre milhares de linhas de políticas de ciclo de vida e scripts de configuração espalhados pelos TSUPU - meios técnicos para combater ameaças - vive um pedaço misterioso. Este é um equipamento especial do Roskomnadzor, instalado nas operadoras de telefonia celular e que passa por si 100% do tráfego, mas nem tudo em sequência. Presume-se que em algum lugar lá dentro haja um certo "filtro de software", mais ou menos assim:
E aqui começa a parte mais interessante. A julgar pelos fragmentos (fictícios), os caras, possivelmente, têm um linter rigoroso que não tolera a mistura de idiomas na nomenclatura. Se eles buscam independência tecnológica, então nenhum WHITE_LISTS, white_lists ou whiteList pode estar lá. Apenas hardcore e o espírito da Runet:
python
# Isso não é uma estrutura de substituição de importação, mas uma engenharia verdadeiramente russa!from roskomnadzor import БелыйСписок
Basta pensar nessa beleza! Como essa importação soa poeticamente. Sem compromissos: se construímos nossa internet, o pacote não deve ser chamado rkn, mas roskomnadzor, e exportar - apenas БелыйСписок. Afinal, se você se isolar de recursos estrangeiros, então você precisa fazer isso consistentemente, em todos os níveis da pilha.
Como a lista branca funciona na realidade
Minha hipotética БелыйСписок não é apenas uma lista de URLs permitidos. É uma filtragem de tráfego de dois níveis, que, segundo rumores, funciona assim:
No nível IP (L3) - sub-redes permitidas para as quais o pacote pode "ir mais longe". Se o IP de destino não estiver na lista branca, o pacote é descartado imediatamente - ou seja, fisicamente não deixa a rede da operadora.
No nível SNI (L7 TLS ClientHello) - se o IP for permitido, o sistema verifica qual nome de domínio o cliente está tentando abrir. Se o SNI não for permitido, a conexão é redefinida.
Simplificando, o filtro atinge não os endereços da página, mas os pacotes de rede reais e seus metadados. Se você não tiver um IP ou nome de host na lista, não receberá nada!
Classe hipotética БелыйСписок
Para entender melhor, vamos imaginar como o código de tal sistema pode ser:
python
class БелыйСписок:"""
O principal filtro de tráfego de rede.
Tudo o que não é permitido é proibido.
""" РАЗРЕШЁННЫЕ_IP =['77.88.55.0/24',# Sub-rede Yandex'87.240.128.0/24',# Sub-rede VK# ... mais CIDR] РАЗРЕШЁННЫЕ_SNI =['gosuslugi.ru',# Santo Graal'max.ru',# Mensageiro da moda'vkontakte.ru',# Sem ele em lugar nenhum'nalog.ru',# Multas não se enviam sozinhas'yandex.ru',# Mecanismo de busca popular'2gis.ru',# Para não se perder# TODO: adicionar bancos]defverificar_pacote(self, ip, sni):ifnot self._ip_в_разрешённых(ip):raise НеПройденаПроверкаНаБлагонадёжность("IP não está na lista branca")ifnot self._sni_в_разрешённых(sni):raise НеПройденаПроверкаНаБлагонадёжность("SNI não passou no teste")returnTruedef _ip_в_разрешённых(self, ip):# Verificação CIDR complexa omitida, retornaremos True se estiver na listapassdef _sni_в_разрешённых(self, sni):return sni in self.РАЗРЕШЁННЫЕ_SNI
Filtro de verdade, ou como "proibir tudo, exceto"
Nesta arquitetura, a lista branca não é apenas uma lista de URLs permitidos. É um filtro de acesso rigoroso que corta recursos indesejáveis na infraestrutura de rede mais básica.
Google, Wikipedia, GitHub, YouTube - todos eles estão fora da lista branca no nível IP ou SNI e, portanto, são automaticamente inacessíveis, sem a necessidade de bloquear cada um deles separadamente.
Existe até minha versão know-how do "algoritmo de verificação":
python
def является_ли_пакет_истинно_российским(данные):if'gzip'instr(данные):# Gzip foi inventado na França - demitimos o pacote!returnFalseif'Content-Type: application/json'instr(данные):# JSON - mérito de um americano, é hora de mudar para formatos domésticosreturnFalsereturnTrue
Substituição de importação de logs e mensagens
Quando o sistema funciona exclusivamente em russo - isso deve ser refletido até mesmo nos logs:
[ERROR] [white_list_filter]: Domain 'playstation.com' not found in allowed list, dropping packet.
E também tenho uma ideia: já que controlamos o tráfego, podemos fazer redirecionamentos de URLs não permitidos para sites domésticos - então não haverá erros, e os usuários serão como se "redirecionados para o nativo" (com o código 301).
Nuances técnicas e a loteria das listas brancas
Mas nem tudo é tão simples. As listas brancas, de acordo com relatos do mercado, têm uma característica desagradável: o equipamento do Roskomnadzor (TSPU) muitas vezes não consegue lidar com a largura de banda se o modo máximo da lista branca estiver ativado - que descarta tudo, exceto o permitido.
Quando a carga aumenta, o sistema muda para o modo de emergência "passar sem filtros".
Aqui está a mensagem necessária:
Sobrecarga do sistema detectada. Por favor, não abuse e não acesse recursos sem o domínio .ru.
Conclusão que merecemos
Claro, tudo isso é fruto da minha imaginação. Na realidade, as listas brancas são um mecanismo muito complexo e multicamadas, que é implementado de forma desigual e difere por regiões, operadoras e até mesmo pontos de acesso.
Mas com bancos e alguns outros serviços, fica triste quando você anda na rua e percebe que não pode acessar um aplicativo importante devido a restrições. Sem falar no YouTube ou algo parecido (ocidental).
Se um dia você vir um anúncio entre as vagas:
"Procura-se Desenvolvedor Python Sênior. Conhecimento obrigatório da estrutura roskomnadzor. Experiência com classes БелыйСписок e ПатриотическийПакет é bem-vinda" - Saiba que eu estava moralmente preparado para isso.
Eu realmente gostei do artigo - Isso é tudo o que você precisa saber sobre listas brancas: como são organizadas e 6 maneiras de contorná-las, recomendo e, portanto, não escrevi uma recontagem do mesmo, mas uma visão mais irônica e simplificada do que está acontecendo com a internet, ainda mais, isso se acumulou em mim.
Obrigado por ler! Espero que esta pequena fantasia de engenharia tenha expandido um pouco a ideia de como o espaço da internet está organizado hoje. Escreva seus pensamentos, ironia e fantasie nos comentários, acho que será interessante.
🛡️⚡
Pare de pesquisar. Comece a hackear.
O MundiX é seu copiloto de pentest com IA: comandos exatos, análise de outputs e próximo passo na kill chain — em segundos.
Sem cartão para começar · Planos a partir de R$49/mês
Olá, Habr! (E você, sofredor, que não consegue acessar o aplicativo do seu banco enquanto caminha pela rua.)
Ultimamente, uma ideia não me abandona. Ela se instalou na minha cabeça como um processo de sistema silencioso, mas persistente, e consome os recursos do cérebro, especialmente quando você lê notícias sobre os bloqueios e "listas brancas", e especialmente quando você as encontra diariamente, como eu, que sou da região. E pensei que seria bom entender essa questão e, ao mesmo tempo, fantasiar um pouco. Como faço toda vez que me deparo com a desgraça de um aplicativo que não abre.
Hoje, vamos dar uma olhada sob o capô - puramente hipoteticamente! - daquele mesmo "Grande NOSSO Firewall Branco" e pensar: e se o Roskomnadzor abordasse a questão não como políticos, mas como engenheiros com verdadeira pedantaria?
Resumindo, o artigo não será muito técnico, pois superar os autores que já escreveram artigos grandes e abrangentes sobre esse tópico não é meu objetivo. Este artigo é sobre diversão, em um momento tão difícil para a internet russa, então vamos lá.
Easter egg: código-fonte da soberania
Dizem que nas entranhas do Roskomnadzor, entre milhares de linhas de políticas de ciclo de vida e scripts de configuração espalhados pelos TSUPU - meios técnicos para combater ameaças - vive um pedaço misterioso. Este é um equipamento especial do Roskomnadzor, instalado nas operadoras de telefonia celular e que passa por si 100% do tráfego, mas nem tudo em sequência. Presume-se que em algum lugar lá dentro haja um certo "filtro de software", mais ou menos assim:
E aqui começa a parte mais interessante. A julgar pelos fragmentos (fictícios), os caras, possivelmente, têm um linter rigoroso que não tolera a mistura de idiomas na nomenclatura. Se eles buscam independência tecnológica, então nenhum WHITE_LISTS, white_lists ou whiteList pode estar lá. Apenas hardcore e o espírito da Runet:
# Isso não é uma estrutura de substituição de importação, mas uma engenharia verdadeiramente russa!
from roskomnadzor import БелыйСписок
Basta pensar nessa beleza! Como essa importação soa poeticamente. Sem compromissos: se construímos nossa internet, o pacote não deve ser chamado rkn, mas roskomnadzor, e exportar - apenas БелыйСписок. Afinal, se você se isolar de recursos estrangeiros, então você precisa fazer isso consistentemente, em todos os níveis da pilha.
Como a lista branca funciona na realidade
Minha hipotética БелыйСписок não é apenas uma lista de URLs permitidos. É uma filtragem de tráfego de dois níveis, que, segundo rumores, funciona assim:
No nível IP (L3) - sub-redes permitidas para as quais o pacote pode "ir mais longe". Se o IP de destino não estiver na lista branca, o pacote é descartado imediatamente - ou seja, fisicamente não deixa a rede da operadora.
No nível SNI (L7 TLS ClientHello) - se o IP for permitido, o sistema verifica qual nome de domínio o cliente está tentando abrir. Se o SNI não for permitido, a conexão é redefinida.
Simplificando, o filtro atinge não os endereços da página, mas os pacotes de rede reais e seus metadados. Se você não tiver um IP ou nome de host na lista, não receberá nada!
Classe hipotética БелыйСписок
Para entender melhor, vamos imaginar como o código de tal sistema pode ser:
class БелыйСписок:
"""
O principal filtro de tráfego de rede.
Tudo o que não é permitido é proibido.
"""
РАЗРЕШЁННЫЕ_IP = [
'77.88.55.0/24', # Sub-rede Yandex
'87.240.128.0/24', # Sub-rede VK
# ... mais CIDR
]
РАЗРЕШЁННЫЕ_SNI = [
'gosuslugi.ru', # Santo Graal
'max.ru', # Mensageiro da moda
'vkontakte.ru', # Sem ele em lugar nenhum
'nalog.ru', # Multas não se enviam sozinhas
'yandex.ru', # Mecanismo de busca popular
'2gis.ru', # Para não se perder
# TODO: adicionar bancos
]
def verificar_pacote(self, ip, sni):
if not self._ip_в_разрешённых(ip):
raise НеПройденаПроверкаНаБлагонадёжность("IP não está na lista branca")
if not self._sni_в_разрешённых(sni):
raise НеПройденаПроверкаНаБлагонадёжность("SNI não passou no teste")
return True
def _ip_в_разрешённых(self, ip):
# Verificação CIDR complexa omitida, retornaremos True se estiver na lista
pass
def _sni_в_разрешённых(self, sni):
return sni in self.РАЗРЕШЁННЫЕ_SNI
Filtro de verdade, ou como "proibir tudo, exceto"
Nesta arquitetura, a lista branca não é apenas uma lista de URLs permitidos. É um filtro de acesso rigoroso que corta recursos indesejáveis na infraestrutura de rede mais básica.
Google, Wikipedia, GitHub, YouTube - todos eles estão fora da lista branca no nível IP ou SNI e, portanto, são automaticamente inacessíveis, sem a necessidade de bloquear cada um deles separadamente.
Existe até minha versão know-how do "algoritmo de verificação":
def является_ли_пакет_истинно_российским(данные):
if 'gzip' in str(данные):
# Gzip foi inventado na França - demitimos o pacote!
return False
if 'Content-Type: application/json' in str(данные):
# JSON - mérito de um americano, é hora de mudar para formatos domésticos
return False
return True
Substituição de importação de logs e mensagens
Quando o sistema funciona exclusivamente em russo - isso deve ser refletido até mesmo nos logs:
[ERROR] [white_list_filter]: Domain 'playstation.com' not found in allowed list, dropping packet.
E também tenho uma ideia: já que controlamos o tráfego, podemos fazer redirecionamentos de URLs não permitidos para sites domésticos - então não haverá erros, e os usuários serão como se "redirecionados para o nativo" (com o código 301).
Nuances técnicas e a loteria das listas brancas
Mas nem tudo é tão simples. As listas brancas, de acordo com relatos do mercado, têm uma característica desagradável: o equipamento do Roskomnadzor (TSPU) muitas vezes não consegue lidar com a largura de banda se o modo máximo da lista branca estiver ativado - que descarta tudo, exceto o permitido.
Quando a carga aumenta, o sistema muda para o modo de emergência "passar sem filtros".
Aqui está a mensagem necessária:
Sobrecarga do sistema detectada. Por favor, não abuse e não acesse recursos sem o domínio .ru.
Conclusão que merecemos
Claro, tudo isso é fruto da minha imaginação. Na realidade, as listas brancas são um mecanismo muito complexo e multicamadas, que é implementado de forma desigual e difere por regiões, operadoras e até mesmo pontos de acesso.
Mas com bancos e alguns outros serviços, fica triste quando você anda na rua e percebe que não pode acessar um aplicativo importante devido a restrições. Sem falar no YouTube ou algo parecido (ocidental).
Se um dia você vir um anúncio entre as vagas:
"Procura-se Desenvolvedor Python Sênior. Conhecimento obrigatório da estrutura roskomnadzor. Experiência com classes БелыйСписок e ПатриотическийПакет é bem-vinda" - Saiba que eu estava moralmente preparado para isso.
Eu realmente gostei do artigo - Isso é tudo o que você precisa saber sobre listas brancas: como são organizadas e 6 maneiras de contorná-las, recomendo e, portanto, não escrevi uma recontagem do mesmo, mas uma visão mais irônica e simplificada do que está acontecendo com a internet, ainda mais, isso se acumulou em mim.
Obrigado por ler! Espero que esta pequena fantasia de engenharia tenha expandido um pouco a ideia de como o espaço da internet está organizado hoje. Escreva seus pensamentos, ironia e fantasie nos comentários, acho que será interessante.
📤 Compartilhar & Baixar
🧰 Ferramentas recomendadas
Divulgação: alguns links são patrocinados. Podemos receber comissão se você comprar — sem custo extra para você. Só indicamos o que faz sentido para a comunidade.