SSH Connection With non-NIST Russian Cipher and Distro for Military Use

Uma distribuição Linux segura com criptografia "non Nist". Um título em inglês ajuda para aumentar o alcance e a curiosidade.

[ Hits: 1.866 ]

Por: Carlos Affonso Henriques. em 09/12/2020


Astralinux



Quase toda semana nos deparamos na mídia mainstream com notícias de invasões, vazamentos de informações sensíveis, sabotagens, malwares, ransonwares e isso é a ponta de um iceberg, visto que o grosso da ciberguerra ocorre nos subterrâneos das empresas e órgãos de Estado pelo mundo afora e ninguém fica sabendo.
Linux: SSH connection with non-NIST russian cipher and distro for military use.
Acha que apenas usar Linux o manterá "seguro"? Óbvio, que não!

Em 2017, foram vazados para o Wikileaks documentos da CIA, NSA e DHS descrevendo com detalhes ferramentas de invasão, vigilância e sabotagem específicas para alvos Linux e seus serviços. Vejam algumas delas no link abaixo:
Duas delas que me chamaram a atenção foram Gyrfalcon e OutlawCountry, que são focadas em alvos Linux, especialmente o OpenSSH e me estimularam a escrever essa matéria.

No caso Snowdenfiles, a que só tivemos um breve vislumbre do conluio que empresas de mídia social têm com agências de inteligência de Estado. Facebook, Microsoft, Apple e Google são mencionadas, mas o que ninguém mencionou é a relação promíscua desses órgãos de inteligência com outras empresas do segmento Open Source, como RedHat, Novell, Ubuntu, Amazon e é óbvio, os fabricantes de hardware.

A única forma de você ter certeza de que a sua distribuição não está comprometida por algum rootkit "de fábrica" é compilando seu código fonte, o que tornaria absolutamente inviável a aplicação prática de qualquer distribuição. Já experimentaram compilar uma libc ou instalar o Gentoo "from scratch"?

Eu, por curiosidade e algumas necessidades bem específicas já o fiz, e mesmo com um hardware parrudo é uma jornada longa e cansativa que inviabiliza qualquer projeto e serve apenas para fins didáticos. Então, o que fazemos? Recorremos aos pacotes pré-compilados, via seus gerenciadores de pacotes como o APT (Debian like), RPM (RH), PKGTOOLS (Slackware), APK (Alpine) entre outros. Ou ainda, podemos recorrer aos inimigos de nossos inimigos, e é esse o tema desse artigo.

Astralinux


O Astralinux é uma distribuição Linux russa baseada em Debian. O Astra não é uma distribuição qualquer, ela foi desenvolvida pela empresa russa RusBITech que já era uma fornecedora das forças de defesa e inteligência russas, para atender às necessidades de segurança desses órgãos, bem como o mercado financeiro russo em sistemas operacionais seguros. Ela está em conformidade com o GOST, que é o equivalente russo do NIST. Para quem queria uma conexão SSH "non-NIST", vou falar sobre isso mais adiante e vamos implementar umas coisas legais com a mão na massa.
A instalação do Astralinux é idêntica à do Debian e por isso não a abordarei em profundidade, por haver material mais do que suficiente sobre o tema.

A versão Common Edition que é gratuita pode ser baixada em: http://mirror.yandex-Astra

Há duas modalidades dessa imagem ISO, uma para instalação em disco e a live que pode ser gravada em um chaveiro USB.

Existe a Special Edition, que é a versão paga e oferece uma série de benefícios além do suporte, como acesso a repositórios com pacotes certificados. Infelizmente, ainda não consegui uma imagem para testar e o Astra não é uma distro de balcão que você pode comprar. É voltada para o mercado B2B.

Não posso afirmar com certeza, mas uma coisa que percebi no portal da RusBITech, é que não é algo muito simples adquirir a versão Special fora da Mãe Rússia. Não estou a par da legislação russa sobre exportação de software com ênfase em segurança e defesa, mas certamente eles devem impor restrições de algum tipo, tais como acordo de confidencialidade etc.

Além das forças armadas da Federação Russa e suas formidáveis agências de inteligência (FSB, SVR e GRU) a RusBITech tem clientes de peso que usam o Astralinux em ambiente de missão crítica, tais como ROSATOM e CNNC, ambas empresas geradoras nucleares russa e chinesa, respectivamente, e outros menos "perigosos" como Kaspersky e Huawei. Por aí já dá para ter uma ideia do cuidado com o qual essa formidável distribuição foi concebida.

Agora vamos brincar antes que se encham da leitura.

Conexão SSH GOST (non-Nist)

As versões pré compiladas do OpenSSH ocidentais não dispõem de cifras non-Nist. Caso queiramos adicionar mais cifras, temos que mexer no código fonte do OpenSSH e de várias bibliotecas que funcionam juntamente com ele. Não é algo simples de fazer e requer um conhecimento profundo em programação C. O OpenSSH e suas libs de apoio do Astra já estão em conformidade com o GOST russo.

Em seu Astra edite o arquivo: /etc/ssh/sshd_config

Acrescente as seguintes linhas:

Ciphers grasshopper-ctr
MACs hmac-gost2012-256-etm
RekeyLimit 16 1s

Agora, em uma outra máquina também rodando o Astra, conecte-se ao servidor. Use a opção -vvv para visualizar as mensagens de debug.

# ssh -vvv [email protected]

Sua saída deverá ser parecida com a da figura abaixo.
Linux: SSH connection with non-NIST russian cipher and distro for military use.

Observações

O parâmetro RekeyLimit 16 1s é uma função de rotação de chave. Ela está implementada e compilada também nas compilações ocidentais do OpenSSH. Essa regra diz o seguinte para o servidor (ou cliente, pois pode ser configurada em qualquer uma das aplicações):

RekeyLimit default none - É o padrão do SSH ou SSHd. Se a linha não estiver presente ou comentada, o SSH não irá rotacionar a cifra.

RekeyLimit 16 1s - Configurado dessa forma, o RekeyLimit instrui o servidor ou cliente, a rotacionarem a cifra a cada 16 bytes trafegados pela conexão OU a cada um segundo. As unidades de tamanho podem usar a notação legível K pala kilobytes, M para megabytes, ou G para gigabytes e o mesmo para o tempo, s para segundos, m para minutos, h para horas e d para dias. O melhor valor irá depender da cifra usada e da qualidade de sua conexão. Em nosso exemplo foram adotados os valores mínimos permitidos, 16 bytes e 1 segundo.

Notas finais

Linux: SSH connection with non-NIST russian cipher and distro for military use.
A figura acima mostra o único detalhe da instalação que difere do Debian.

Hardened Kernel é uma compilação do Kernel feita pela RusBITech onde módulos críticos são compilados como built-in para evitar que sejam descarregados e outros espúrios tomem seu lugar, como está mencionado na documentação do Gyrfalcon da NSA.

Também postei esse artigo no LinkedIn.

Se gostou do artigo, dê aquele like de lampadinha para aumentar o alcance e me ajudar a arrumar outro emprego, porque está osso! Mas se gostou muito, me contrate.

   

Páginas do artigo
   1. Astralinux
Outros artigos deste autor

TrueCrypt Forever

Quando próximo, finja estar longe; quando longe, finja estar próximo

Customizando e atualizando o Slax

Impedindo o compartilhamento de conexão

Enviando e-mail pelo shell com smtp remoto

Leitura recomendada

Proxy reverso com ModSecurity no Debian Etch

VPN com openVPN no Slackware 11

OSSEC HIDS - Instalação e configuração no CentOS 6.5

Rede wireless: autenticação em uma rede WPA

Alta disponibilidade com IP compartilhado - UCARP

  
Comentários
[1] Comentário enviado por fabio em 09/12/2020 - 11:42h

Muito bom artigo!

[2] Comentário enviado por CapitainKurn em 09/12/2020 - 17:10h


[1] Comentário enviado por fabio em 09/12/2020 - 11:42h

Muito bom artigo!


Que bom que gostou. Pretendo fazer um outro abordando somente a compilação do SSH do Astra aplicado a outras distros.

[3] Comentário enviado por mauricio123 em 09/12/2020 - 20:12h


Legal. Então é uma distro focada em segurança.

___________________________________________________________
[code]Conhecimento não se Leva para o Túmulo.
https://github.com/MauricioFerrari-NovaTrento [/code]

[4] Comentário enviado por CapitainKurn em 09/12/2020 - 21:52h


[3] Comentário enviado por mauricio123 em 09/12/2020 - 20:12h


Legal. Então é uma distro focada em segurança.

___________________________________________________________
[code]Conhecimento não se Leva para o Túmulo.
https://github.com/MauricioFerrari-NovaTrento [/code]


Contra a NSA, CIA, Mossad, MI6 e FBI sim! Rssss Já contra a SVR, FSB e GRU não posso afirmar. Rssssss

[5] Comentário enviado por cizordj em 09/12/2020 - 22:01h

Interessante, eu gosto dessas distros exóticas feitas por governos afim de evitar espionagem. Eu quero deixar a minha sugestão e dizer pra você tentar fazer um artigo sobre a redstar os da Coreia do Norte

[6] Comentário enviado por CapitainKurn em 10/12/2020 - 01:54h


[5] Comentário enviado por cizordj em 09/12/2020 - 22:01h

Interessante, eu gosto dessas distros exóticas feitas por governos afim de evitar espionagem. Eu quero deixar a minha sugestão e dizer pra você tentar fazer um artigo sobre a redstar os da Coreia do Norte


A Redstar já foi comentada no canal Dio Linux. Ela não é uma distro "de estado" por assim dizer. Com certeza a CN não usa Redstar em missão crítica. A Redstar é uma distro voltada para o público em geral e repartições não estratégicas.

[7] Comentário enviado por Cantarino em 10/12/2020 - 19:18h

Que bom saber que os Russos são totalmente confiáveis... Acredito que os Chineses também são...

[8] Comentário enviado por CapitainKurn em 10/12/2020 - 23:37h


[7] Comentário enviado por Cantarino em 10/12/2020 - 19:18h

Que bom saber que os Russos são totalmente confiáveis... Acredito que os Chineses também são...

Mais do que os yankees sim. Que mal pergunte vocẽ é parente do Evilasio Cantarino? Hoje já deve ser um um idoso por volta dos 70 anos,

[9] Comentário enviado por Cantarino em 11/12/2020 - 08:12h


[8] Comentário enviado por CapitainKurn em 10/12/2020 - 23:37h

Mais do que os yankees sim. Que mal pergunte vocẽ é parente do Evilasio Cantarino? Hoje já deve ser um um idoso por volta dos 70 anos,



Acredito que sobre esse ponto, devemos concordar em discordar... Eu sou bem desconfiado sobre o tipo de informação que eles buscam... Para ter uma ideia, eu adorava o navegador Opera, assim que ele foi vendido para os chineses, excluí minha conta e nuca mais o usei. Embora devo admitir, que conheço uma família de chineses, e gosto muito deles.

Já agora, respondendo a sua pergunta... Eu acredito que não sou parente dele, até liguei para a casa de uma tia que poderia saber, mas ela também não sabia.

[10] Comentário enviado por amaurybsouza em 21/12/2020 - 10:52h

Muito bom esse aritgo, show!

[11] Comentário enviado por CapitainKurn em 23/12/2020 - 04:10h


[10] Comentário enviado por amaurybsouza em 21/12/2020 - 10:52h

Muito bom esse aritgo, show!
Procure em dicas onde explico como obter imagens Docker oficiais do astra.



[12] Comentário enviado por sacioz em 07/01/2021 - 18:10h

Parabens pelo artigo , ja havia lido antes e agora ao reler decidi comentar . Como ja foi mencionado , ta osso para todos . O problema e que enquanto houver esperansa , naum ha solussaum...coma ja foi dito. Obrigado e vamos aguardar o proximo sobre a ssh...

[13] Comentário enviado por LckLinux em 18/01/2021 - 11:53h

Muito bom, o seu texto. Vou olhar com atenção este link aqui: https://wikileaks.org/vault7/index.html

[14] Comentário enviado por CapitainKurn em 21/01/2021 - 03:21h


[13] Comentário enviado por LckLinux em 18/01/2021 - 11:53h

Muito bom, o seu texto. Vou olhar com atenção este link aqui: https://wikileaks.org/vault7/index.html

Que bom que gostou. Obrigado.


Contribuir com comentário