Pular para o conteúdo principal

DNS NINJA

 


DNS NINJA

O projeto Dns Ninja (Ideia criada por min), nada mais é o serviço de Dns (Domain Name System), com máximo de segurança possível e implantação fácil, Estaremos utilizando o debian 12 para essa missão.

Primeira recomendação, após instalação do debian, atualizar o sistema operacional e instalar o pacote o dns.

spinal@dns-ninja:~$ su - root
root@dns-ninja:/home/spinal# apt update -y
root@dns-ninja:/home/spinal# apt upgrade -y
root@dns-ninja:/home/spinal# apt install bind9 -y

Verificando se serviço está no inicializado de outro servidor, observa que o serviço de dns utiliza a porta 53 em cima do protocolo tcp e udp
Obs: Para realizar o scanner em tcp e udp, adicionar os parametros -sT e -sU

root@lenovo-legion5:/home/spinal# nmap -p 53 --open -sT -sU 192.168.15.176
Starting Nmap 7.80 ( https://nmap.org ) at 2024-01-22 08:28 -03
Nmap scan report for 192.168.15.176
Host is up (0.0011s latency).
PORT   STATE SERVICE
53/tcp open  domain
53/udp open  domain
MAC Address: 08:00:27:43:69:CD (Oracle VirtualBox virtual NIC)
Nmap done: 1 IP address (1 host up) scanned in 0.27 seconds

Instalando firewall local e realizar a primeira camada de segurança, a escolha para esse tutorial foi o firewalld.

root@dns-ninja:/home/spinal# apt install firewalld -y

Detalhe muito importante, liberar a regra de firewall para o serviço de dns, Atente-se que o serviço foi liberado tanto o protocolo tcp e udp

root@dns-ninja:/home/spinal# firewall-cmd --add-service=dns --permanent
success
root@dns-ninja:/home/spinal# firewall-cmd --reload
success
root@dns-ninja:/home/spinal# firewall-cmd --list-services
dhcpv6-client dns ssh

Criando uma zona e uma zona reversa simples:
Adicione o contéudo no arquivo /etc/bind/named.conf.local, esse arquivo é responsável por criar os dados de cada zona.

zone "spinal.com" {
    type master;
    file "/etc/bind/zones/spinal.com.db";
};
zone "15.168.192.in-addr.arpa" {
    type master;
    file "/etc/bind/zones/spinal.com.rev";
};

Criando o diretório para o contéudo das zonas

root@dns-ninja:/etc/bind# mkdir -p /etc/bind/zones/

Criando o conteúdo da zona do domínio 'spinal.com', conteúdo mega simplificado. 
Obs: O serial inseri como número 1, lembrando que depois após qualquer alteração deve-se adicionar um número posterior, para atualizar as informações.

root@dnssec:/etc/bind# cat /etc/bind/zones/spinal.com.db
$TTL    604800
@       IN      SOA     ns.spinal.com. admin.spinal.com. (
                               1         ; Serial
                     604800         ; Refresh
                      86400         ; Retry
                    2419200         ; Expire
                     604800 )       ; Negative Cache TTL
;
@       IN      NS      ns.spinal.com.
ns      IN      A       192.168.15.176

modem   IN      A       192.168.15.1

Criando o conteúdo da zona reversa do domínio 'spinal.com', conteúdo mega simplificado

root@dnssec:/etc/bind# cat /etc/bind/zones/spinal.com.rev 
$TTL    604800
@       IN      SOA     ns.spinal.com. admin.spinal.com. (
                               1         ; Serial
                     604800         ; Refresh
                      86400         ; Retry
                    2419200         ; Expire
                     604800 )       ; Negative Cache TTL
;
@       IN      NS      ns.spinal.com.
1       IN      PTR     modem.spinal.com.

Verificando configuração inserida, sem erros, dica para verificar debug inclusive de configurações:

root@dns-ninja:/etc/bind# named-checkconf -z
zone spinal.com/IN: loaded serial 1
zone 15.168.192.in-addr.arpa/IN: loaded serial 1
zone localhost/IN: loaded serial 2
zone 127.in-addr.arpa/IN: loaded serial 1
zone 0.in-addr.arpa/IN: loaded serial 1
zone 255.in-addr.arpa/IN: loaded serial 1
root@dns-ninja:/etc/bind# named-checkzone spinal.com /etc/bind/zones/spinal.com.db
zone spinal.com/IN: loaded serial 1
OK
root@dns-ninja:/etc/bind# named-checkzone 15.168.192.in-addr.arpa /etc/bind/zones/spinal.com.rev
zone 15.168.192.in-addr.arpa/IN: loaded serial 1
OK

Altere e o arquivo /etc/resolv.conf para o ip do próprio servidor dns e vamos realizar um teste com o comando dig para testar o dns.

root@dns-ninja:/etc/bind# cat /etc/resolv.conf 
nameserver 192.168.15.176
root@dns-ninja:/etc/bind# dig @localhost modem.spinal.com +short
192.168.15.1

DNSSEC

O Que é?

DNSSEC (Domain Name System Security Extensions) é uma extensão de segurança para o DNS, garantindo autenticidade e integridade das informações DNS para prevenir falsificação e ataques, aumentando a confiança e segurança nas resoluções DNS.

Como funciona?
Para implementar DNSSEC, deve pares de chaves criptográficas, uma chave de assinatura (KSK - Key Signing Key) e uma chave de zona (ZSK - Zone Signing Key). As assinaturas digitais geradas com essas chaves são incluídas nos registros de recurso DNS para autenticar as informações.

Criar a ZSK (Zone Signing Key) e Chave KSK (Key Signing Key):

root@dns-ninja:/etc/bind/zones# dnssec-keygen -a RSASHA256 -b 2048 -n ZONE spinal.com
root@dns-ninja:/etc/bind/zones# dnssec-keygen -a RSASHA256 -b 2048 -n ZONE -f KSK spinal.com

Deve adicionar as informações da chave pública no zona criada.
root@dns-ninja:/etc/bind/zones# cat Kspinal.com.+008+*.key >> spinal.com.db

Assinar a zona com o dnssec

root@dns-ninja:/etc/bind/zones# dnssec-signzone -t -g -o spinal.com /etc/bind/zones/spinal.com.db Kspinal.com.+008+*.private
Verifying the zone using the following algorithms:
- RSASHA256
Zone fully signed:
Algorithm: RSASHA256: KSKs: 1 active, 0 stand-by, 0 revoked
                      ZSKs: 1 active, 0 stand-by, 0 revoked
/etc/bind/zones/spinal.com.db.signed
Signatures generated:                        9
Signatures retained:                         0
Signatures dropped:                          0
Signatures successfully verified:            0
Signatures unsuccessfully verified:          0
Signing time in seconds:                 0.040
Signatures per second:                 225.000
Runtime in seconds:                      0.064

Alterar  arquivo de zona pelo assinado:

sed -i 's#file "/etc/bind/zones/spinal.com.db";#file "/etc/bind/zones/spinal.com.db.signed";#' /etc/bind/named.conf.local

O mesmo precisa ser feito para zona reversa: 15.168.192.in-addr.arpa

root@dns-ninja:/etc/bind/zones# dnssec-keygen -a RSASHA256 -b 2048 -n ZONE 15.168.192.in-addr.arpa
root@dns-ninja:/etc/bind/zones# dnssec-keygen -a RSASHA256 -b 2048 -n ZONE -f KSK 15.168.192.in-addr.arpa
root@dns-ninja:/etc/bind/zones# cat K15.168.192.in-addr.arpa.+008+*.key >> spinal.com.rev
root@dns-ninja:/etc/bind/zones# dnssec-signzone -t -g -o 15.168.192.in-addr.arpa /etc/bind/zones/spinal.com.rev K15.168.192.in-addr.arpa.+008+*.private
root@dns-ninja:/etc/bind# sed -i 's#file "/etc/bind/zones/spinal.com.rev";#file "/etc/bind/zones/spinal.com.rev.signed";#' /etc/bind/named.conf.local
root@dns-ninja:/etc/bind/zones# systemctl reload named

Informações encontradas após a zona ser assinada pelo dnssec.

Tipos de Records:

São Recursos de assinaturas digitais para garantir a autenticidade e integridade das informações no DNS.
RRSIG (Assinatura Digital):
Garante que as informações sobre um nome de domínio sejam autênticas
NSEC (Indicador de Existência):
Diz se um nome de domínio tem ou não informações associada, mecanimos no qual auxilia proteção contra falsificações.
NSEC3 (Versão Mais Segura):
Uma versão mais segura do NSEC, que dificulta a descoberta de informações sobre nomes de domínio.
DNSKEY (Chave De Dns):
Trata-se de uma chave pública que valida as assinaturas digitais de um determinado domínio


Verificando um nome dns com dnssec implatado

root@dns-ninja:/etc/bind# dig @localhost modem.spinal.com +dnssec +short
192.168.15.1
A 8 3 604800 20240221131516 20240122131516 21244 spinal.com. RypCKjPliNKpwaSsUdh3Wb8XpxPeT1sHxya34getGUDvbCav6vqkj8wi efWGZ1F3BTnT829231ndmiDYru9MgU7SZzF6JfyR6jwC0m0LDn3BHBN/ fKHtyIKWgdnw4YZD+k0nih+O7U4mgq/E72H5cOQ+EGqOxQz/Z/YAJXN9 FTfExb7hp94Ts4HB6WL/nRSuN7Up8qvW6TlYw9Nl0e7VKSVOo+JpT9mZ +XZQVuH6gxog8aKyv8nFCvbYG4ihzSyMmVVKOHZPYWq+SSheAvBUfsFk 0UH1iO/sl4UhCdHIFx/wjqA8IxW0yEG/eKllnwYd8/f13/d1z/Nemg6U YtamuA==

Recarregue as configurações de dns:

root@dns-ninja:/etc/bind/zones# systemctl reload named

Habilitar Selinux no debian, para a configuração ser implatada deve reiniciar o servidor.
obs: Talvez seja necessário habilitar o módulo do firewalld com o selinux

root@dns-ninja:~# systemctl disable apparmor
root@dns-ninja:~# apt install policycoreutils selinux-utils selinux-basics selinux-policy-default policycoreutils-python-utils
root@dns-ninja:~# selinux-activate
root@dns-ninja:~# reboot
root@dns-ninja:~# sed -i 's/^SELINUX=.*/SELINUX=enforcing/' /etc/selinux/config
root@dns-ninja:~# useradd -r -U -s /sbin/nologin sddm
root@dns-ninja:~# semodule -e firewalld
root@dns-ninja:~# setenforce 1

Verificando as informações, o selinux realizou a configuração do contexto.

root@dns-ninja:~# getenforce 
Enforcing
root@dns-ninja:~# ls -ldZ /etc/bind
drwxr-sr-x. 3 root bind system_u:object_r:named_zone_t:s0 4096 Jan 22 11:19 /etc/bind

Dicas Extras

Implementação para incrementar a segurança por rede no bind (opcional), adicionar dentro do menu 'options' no arquivo de configuração: named.conf.options
Obs: Essa opção pode ser interessante caso somente o proxy precise realizar as consultas DNS.

allow-query { 192.168.15.0/24; };

Dica para prevensão rápida no caso de um um ataque proveniente ou desconfiança de um ip, o mesmo pode ser bloqueado via firewalld

root@dns-ninja:/var/lib# firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.15.35" reject'
success
root@dns-ninja:/var/lib# firewall-cmd --reload
success
root@dns-ninja:~# firewall-cmd --list-rich-rules 
rule family="ipv4" source address="192.168.15.35" reject

Resovendo o problema de captura de banner do dns, evitar problemas relacionados principalmente a execução de exploits.

root@dnssec:/home/spinal# dig @192.168.15.176 -c CHAOS -t txt version.bind +short
"9.18.19-1~deb12u1-Debian"
root@dnssec:/home/spinal# dig @192.168.15.176 -c CHAOS -t txt version.bind +short
"none"

Como obter o resultado sem a versão do debian e do bind, basta adicionar o parâmetro de configuração dentro da seção 'options', no arquivo: /etc/bind/named.conf.options
Obs: Não esqueça de recarregar as configurações do serviço bind via systemd.

 
root@dns-ninja:/etc/bind# cat named.conf.options | grep -v '/' | grep -v '^$'
options {
dnssec-validation auto;
listen-on-v6 { any; };
version "none";
};

Incremento Surpresa d DNS com TLS


Para esta missão, devemos desfazer algumas configurações e implementar outras:

Instalar o pacote stunnel

root@dns-ninja:/home/spinal# apt-get install stunnel4 -y
root@dns-ninja:/home/spinal#  mkdir -p /etc/stunnel/ssl/private/ /etc/stunnel/ssl/public/

Gere uma chave privada

root@dns-ninja:/home/spinal# openssl genpkey -algorithm RSA -out /etc/stunnel/ssl/private/dns-key.pem

Gere um certificado autoassinado

root@dns-ninja:/home/spinal# openssl req -new -x509 -key /etc/stunnel/ssl/private/dns-key.pem -out /etc/stunnel/ssl/public/dns-cert.pem -days 3650

Crie o arquivo de configuração do dns com tls com stunnel.

root@dns-ninja:/home/spinal# cat /etc/stunnel/dnstls.conf 
[dns-tls]
accept = 853
connect = 127.0.0.1:53
cert = /etc/stunnel/ssl/public/dns-cert.pem
key = /etc/stunnel/ssl/private/dns-key.pem
root@dns-ninja:~# systemctl restart stunnel4

Verificando as informações: UPD e TLS

root@dnssec:/home/spinal# dig @192.168.15.176 -p 53 modem.spinal.com | grep SERVER
;; SERVER: 192.168.15.176#53(192.168.15.176) (UDP)
root@dnssec:/home/spinal# dig +tls @192.168.15.176 -p 853 modem.spinal.com | grep SERVER
;; SERVER: 192.168.15.176#853(192.168.15.176) (TLS)

Bloquear o acesso via porta 53, obs: será tanto nos protocolos tcp e udp. Liberando as conexões via tls para consultas dns.

root@dns-ninja:~# firewall-cmd --remove-service=dns --permanent
success
root@dns-ninja:~# firewall-cmd --add-port=853/tcp --permanent
success
root@dns-ninja:~# firewall-cmd --reload
success

Agora fazer a mágia acontecer do lado do cliente:
Siga esse tutorial para a estação de trabalho Linux como resolver via tls em outra porta:
Obs: Essa é uma ferramenta poderosa no qual é possível acessar multiplos dns, incluisve com domínios diferentes.

root@debian12-template:/home/spinal# apt install unbound -y
root@debian12-template:/home/spinal# cat /etc/resolv.conf 
nameserver 127.0.0.1
root@debian12-template:/home/spinal# cat /etc/unbound/unbound.conf.d/client-dns.conf 
server:
    interface: 127.0.0.1
    access-control: 127.0.0.1/32 allow

forward-zone:
    name: "spinal.com"
    forward-addr: 192.168.15.176@853
    forward-tls-upstream: yes

forward-zone:
    name: "."
    forward-addr: 8.8.8.8
    forward-addr: 1.1.1.1
    forward-addr: 8.8.4.4
    forward-addr: 1.0.0.1
    forward-addr: 208.67.222.222
    forward-addr: 208.67.220.220
root@debian12-template:/home/spinal# systemctl enable unbound --now
Synchronizing state of unbound.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable unbound


Dica Extra (Caso não for corrigido até o momento)

Devido a um bug encontrado com o selinux e utilizar os comandos do firewalld, inseri somente o serviço do firewalld para rodar em permissive e o resto em enforcing.

root@dns-ninja:/home/spinal# firewall-cmd --state
ERROR:dbus.proxies:Introspect error on :1.17:/org/fedoraproject/FirewallD1: dbus.exceptions.DBusException: org.freedesktop.DBus.Error.NoReply: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Error: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
root@dns-ninja:/home/spinal# semanage permissive -a firewalld_t
root@dns-ninja:/home/spinal# firewall-cmd --state
running
root@dns-ninja:~# getenforce 
Enforcing


Ass: Luiz Guilherme Nunes Fernandes
Email: narutospinal@gmail.com
Informativo: Entusiasta e colaborador em Software Livre.

Comentários

Postagens mais visitadas deste blog

Feliz 2013!!!

Gostaria de agradecer a todos que este ano acompanharam as matérias postadas e as mais de  7000 visitas ao blog , muito obrigado. Este ano tivemos grandes conquistas e inúmeras novidades como por exemplo o fim do MSN no início de 2013, a criação da União Livre e o desenvolvimento do Kaiana que será lançada em 2013, distro nacional , a descontinução do BigLinux do DreanLinux entre outr as distro, o lançamento do liv ro da S B P - Software Publico Brasileiro, os dois anos do LibreOffice, o prime iro Hackday do LibreOffice , o IX Latinoware, a Microsoft boicotando o Linux (como sempre), o lançamento do Windows 8 e a sua baixa taxa de adesão pelos usuários, entre out ros. Gostaria de desejar a todos Boas Festas e que em 2013 possamos estar juntos novamente. Feliz Natal!!!! F eli z 2013 a todos!!!

O MSN tem Data Marcada para seu Fim

Imagem Retirado do Google 15 de Março Agora sim, o Windows Live Messenger está com os dias contatos, a Microsoft anunciou que o MSN deixará de funcionar no dia 15 de Março deste ano, menos na China. A empresa aconselha a todos os usuários a usarem o Skype que foi integrado com o serviço do MSN, segundo a empresa, os usuários estão sendo notificados por e-mail sobre como proceder para fazer esta mudança de plataforma (eu não recebi até agora tal notificação). Acho o Skype melhor que o Windows Live (assim como muitos profissionais de TI) , mesmo na versão para Linux, claro, sempre existem outras opções e o Pidgin, que se mostra como opção.

Feliz Dia das Mães!!!!

Comandos Úteis para o Linux Mint, Ubuntu e Derivados

Alguns dias sugeriram que eu postasse alguns comandos uteis  utilizados no Linux Mint e para o Ubuntu, mas com tantas distros baseadas no Ubuntu esses comandos também podem ser utilizados nas distros como: Ubuntu 15.04, Ubuntu 14.10, Ubuntu 14.04 , Linux Mint 17.2, Linux Mint 17.1, Linux Mint 17, Pinguy OS 14.04, Elementary OS 0.3, Deepin 2014, Peppermint Five, LXLE 14.04 and Linux Lite 2 2 , DuZeru, Kaiana e derivados . Segue alguns comandos importantes para manutenção do sistema, principalmente para usuários iniciantes... 1- Atualizar a lista de pacotes:  $ sudo apt-get update 2- Atualizar toda a distro:  $ sudo apt-get -f dist-upgrade ou update-manager -d -c 3- Instalar pacotes:  $ sudo apt-get install [nome do pacote] 4- Procurar arquivos corrompidos:  $ sudo apt-get check 5- Corrigir problemas de dependências, concluir instalação de pacotes pendentes e outros erros: $ sudo apt-get -f install 6- Se o comando sudo apt-get -f install nã...

Como Instalar a Fonte ttf-mscorefonts (Times New Roman, Arial, etc) no Ubuntu, Linux Mint e Derivados

Quando instalamos uma distribuição GNU/Linuxmsabemos que vem o LibreOffice por padrão porém geralmente não vem instalado a fonte ttf-mscorefonts que contém as fontes Times New Roman, Arial, etc, como essas fontes são muito útil para os universitários, pelo mundo corporativo e a Associação Brasileira de Normas Técnicas (ABNT), exige que os trabalhos sejam entregues nas fontes Times New Roman e Arial, por meio desta postagem espero pode ajudar a todos com a instalação da fonte ttf-mscorefonts que contém essas fontes. Ao instalar o GNU/Linux abra o terminal e execute o comando: $ sudo apt-get install ttf-mscorefonts-installer Leia os termos de uso e avance clicando em “Ok” Agora aceite os termos de uso clicando em “Sim” Pronto agora abra o LibreOffice e veja se as fontes Times New Roman, Arial estão instaladas. Caso ocorra algum erro ou precisa reinstalar, execute: $ sudo apt-get install --reinstall ttf-mscorefonts-installer

Como Instalar a Fonte ttf-mscorefonts (Times New Roman, Arial, etc) no Ubuntu, Linux Mint e Derivados

Quando instalamos uma distribuição GNU/Linuxmsabemos que vem o LibreOffice por padrão porém geralmente não vem instalado a fonte ttf-mscorefonts que contém as fontes Times New Roman, Arial, etc, como essas fontes são muito útil para os universitários, pelo mundo corporativo e a Associação Brasileira de Normas Técnicas (ABNT), exige que os trabalhos sejam entregues nas fontes Times New Roman e Arial, por meio desta postagem espero pode ajudar a todos com a instalação da fonte ttf-mscorefonts que contém essas fontes. Ao instalar o GNU/Linux abra o terminal e execute o comando: $ sudo apt-get install ttf-mscorefonts-installer Leia os termos de uso e avance clicando em “Ok” Agora aceite os termos de uso clicando em “Sim” Pronto agora abra o LibreOffice e veja se as fontes Times New Roman, Arial estão instaladas. Caso ocorra algum erro ou precisa reinstalar, execute: $ sudo apt-get install --reinstall ttf-mscorefonts-installer

Como Instalar o Kodi 19.5 "Matrix"

Kodi (anteriormente denominado XBMC) é um famoso hub de mídia de código aberto e home theater PC, sendo traduzido em mais de 30 idiomas. Além disso, suas características podem ser altamente estendido através de plugins de terceiros e extensões e tem suporte para PVR (personal video recorder).   A versão final do Kodi 19.5 “Matrix” foi lançado, chegando com alterações que podem ser vistas clicando aqui . Para instalar no Ubuntu,  Linux Mint, Elementary OS e derivados, execute:   $ sudo add-apt-repository ppa:team-xbmc/ppa $ sudo apt-get update $ sudo apt-get install kodi     Use o comando a seguir para instalar codecs de áudio e outros complementos, executando:     $ sudo apt-get install --install-suggests kodi     Para remover, execute:   $ sudo apt-get remove kodi*

Escrevendo uma Macro no LibreOffice Calc - Introdução

Este tutorial foi retirado do site Debugpoint, não mudei nada nenhuma linha de comando, apenas traduzir a explicação do tutorial e espero que ajudem a todos. O LibreOfice fornece uma maneira de escrever a sua própria macro para automatizar várias tarefas repetitivas em seu aplicativo de escritório. Você pode usar Python ou Basic para o desenvolvimento do macro. Este tutorial se concentra em escrever um macro básico 'Olá Mundo' usando básico do LibreOffice Calc .   Macro Objetivo   Nós iremos criar uma macro que iria colocar a string ' Olá Mundo' na primeira célula do LibreOffice Calc ou seja, a célula da linha 1 e col A. Criando o Macro   Abr a o LibreOffice Calc em Aplicativos = > Office/Escritório => LibreOffice Calc .   Ou pesquise " calc " na barra de pesquisa Vá para a opção no menu : Ferramentas ==> Macros == > Organizar Macros ==> LibreOffice Basic . Abai...

AnduinOS 1.3.0

O AnduinOS é uma distribuição baseada no Ubuntu que oferece um ambiente de trabalho NOME com tema e estilo semelhantes aos do Windows 11. A versão mais recente do projeto, o AnduinOS 1.3.0, é baseada no Ubuntu 25.04 e vem com o GNOME 48.  "O AnduinOS 1.3 foi lançado. Esta versão é altamente recomendada porque adicionamos uma loja de aplicativos (baseada em Flatpak) a ela. Sistema básico atualizado - o sistema fundamental foi atualizado do Oracular (Ubuntu 24.10) para o Plucky (Ubuntu 25.04). Adicionado um novo atalho Super + V para alternar o histórico da área de transferência. Software GNOME pré-instalado para oferecer suporte à instalação de software da loja de software. Flatpak pré-instalado para oferecer suporte à instalação de software da loja de software. Problema de localização do Firefox corrigido. O GNOME foi atualizado para a versão 48 e o suporte a HDR adicionado. Agora está disponível para download para todos." Paraler a nota de lançamento clique aqui . Para baixa...

Famelix/BRLix

Continuando falando dos Sistemas Operacionais Linux apresento a vocês o Falemix/BRLix. O Famelix, foi criado em 2003 em um projeto da Faculdade Metropolitana de Guaramirim (FAMEG) de Santa Catarina. Famelix GNU/Linux é uma distribuição criada com a finalidade de oferecer um ambiente similar ao Windows XP e Vista, de tal maneira que facilite a migração de usuários do sistema operacional proprietário a um sistema livre, e que se possa aproveitar os conhecimentos já adquiridos pelos usuários. As versões até a 2.0 utilizam elementos presentes em outras distribuições como Debian, Knoppix e Kurumin. Segundo as pesquisas feitas a versão 2.1, utiliza em seu todo apenas a base do Sistema Operacional Debian GNU/Linux, e é suportado por uma empresa que assumiu o desenvolvimento e mudo o nome para BRLix. O BRLix é mantido pela Epidemus ltda, em Jaraguá do Sul - Santa Catarina.   C reio que as telas abaixo da uma ideia de como o sistema é, imagens essas retiradas do go...