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

Instale o Telegram Desktop 0.8

Telegram Desktop é um software livre cliente multi-plataforma para o GNU\ Linux, Windows e Mac OS. O cliente tem suporte para notificações , enviar mensagens e arquivos de mídia e inserção de emoji . Enquanto o cliente Telegram desktop ainda está em desenvolvimento , que permite aos usuários enviar e receber mensagens a partir do desktop Linux, tem um recurso para sincronização em todas as plataformas com suporte , para que você possa ler as suas notificações móveis , tanto do computador e telefone , sem faltar nada. Além disso, tem o apoio de transferência de arquivos e os usuários podem criar grupos de até 200 pessoas e enviar mensagens .   A última versão disponível é Telegram do Desktop 0.8 , que foi lançado recentemente, vindo com mudanças, algumas são:   Adicionado comentário mensagens antes de encaminhadas;   Hashtags sugestões em novos campos de mensagens e de busca (com base em pesquisas recentes); Bot...

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

Aprenda a apagar as linhas vazias no LibreOffice Calc

Estes dias eu precisei realizar uma tarefe um tanto quanto inusitada: apagar as linhas vazias de uma planilha do LibreOffice Calc. E após ter pesquisado muito na internet (além de ter tendado de todas as formas fazer isso), acabei achando a  solução nesta lista de discussão . Basicamente, este procedimento é possível através da implementação de Macros no LibreOffice.  Mas o que são Macros? Os Macros são definidos na programação como um padrão de entrada que é substituído por um novo padrão de saída, e podem ser aplicados como recurso de linguagem em programação, em planilhas, serem aplicadas para converter entradas periféricas em comandos e ações dentro do sistema operacional. Em outras palavras, os Macros são códigos que tem a finalidade de “pegar algo” afim de “transformar em outro algo”. Abaixo iremos detalhar em um passo-a-passo o procedimento para implementação de uma Macro no Calc que irá permitir-nos apagar linhas vazia dentro das nossas planilhas. Vamos l...

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 Gophish (Um Guia para Entender o Conceito de Phishing e Como se Proteger Dele)

  O que é Gophish? Gophish é uma ferramenta de código aberto que permite aos usuários realizar campanhas de engenharia social para coletar credenciais de autenticação e outros dados confidenciais (phishing). Esta ferramenta foi projetada para ser usada por pesquisadores de segurança para melhorar a segurança da rede. Gophish foi criado em 2016 por Jordan Wright, um pesquisador de segurança baseado em San Francisco, EUA. Sendo também uma das melhores ferramentas do mercado para realizar testes de segurança contra phishing, caso seja utilizado de forma fraudulenta.   Como Gophish funciona? O Gophish é executado em um servidor, o que significa que você precisa ter acesso a um servidor para usar a ferramenta. Depois de configurada, a ferramenta pode ser usada para criar simulações de phishing com diferentes tipos de conteúdo, como mensagens de e-mail, páginas da web e mensagens de texto. Esses exercícios de phishing são enviados aos destinatários pretendidos, que são os usuár...

Como Instalar o SuperTuxKart 1.1

SuperTuxKart é um jogo de corrida disponível para Linux, Windows e Mac OS X. A versão mais recente disponível é SuperTuxKart 1.1 , que vem com uma lista enorme de recursos e algumas podem ser vistas abaixo: Melhor manipulação multiplayer online; Melhorias na interface do usuário; A nova arena “Pumpkin Park”; Melhor suporte móvel; A capacidade de exibir emojis e vários outros recursos; Em relação à rede e Internet, há suporte para IPv6, suporte de IA para servidores de rede local,; Vários problemas de atraso resolvidos e outras melhorias.   Para saber todas as mudanças clique aqui . Para instalar SuperTuxKart 1.1 no Ubuntu, Linux Mint , Elementary OS e derivados, execute:   $ sudo add-apt-repository ppa:stk/dev $ sudo apt-get update $ sudo apt-get install supertuxkart 

FLISOL-DF 2024 Inscrições Abertas!

FLISOL-DF 2024, será no dia 27 de abril no Centro Universitário Estácio de Brasília. As inscrições são gratuitas e podem ser feitas nos links abaixo: Participante: https://flisoldf.blog.br/inscreva-se/ Submissão de palestras: https://flisoldf.blog.br/submissao-de-palestras/ Colaborador: https://flisoldf.blog.br/quero-colaborar/   Mais informações podem ser vistas no site oficial do evento: https://flisoldf.blog.br/  

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 o Kernel 5.13

F oi publicada a versão final do kernel 5.13 e algumas novidades desta versão são: Suporte inicial e inicial para Apple M1;   Novo módulo de segurança Linux "Landlock";   Suporte gráfico inicial para Alder Lake S. Suporte para AMD FreeSync HDMI;   Novo controlador de resfriamento Intel ; Suporte para Realtek RTL8156 e RTL8153D ; Novo suporte de controlador para controlador de jogo Luna da Amazon;   Suporte para touchpad e teclado para laptops Microsoft Surface recentes.   Para saber todas as novidades clique aqui .  Para instalar o Kernel 5.13 no Ubuntu, Linux Mint, Debian e sistemas derivados 64 Bits, execute: $ wget -c https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.13/amd64/linux-headers-5.13.0-051300_5.13.0-051300.202106272333_all.deb $ wget -c https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.13/amd64/linux-headers-5.13.0-051300-generic_5.13.0-051300.202106272333_amd64.deb $ wget -c https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.13/amd...

Certificado FLISOL-DF 2024 Liberado

Foi disponibilizado o link para baixar o certificado de Participante e de Palestrante do FLISOL-DF2024. Para baixar o seu clique no link: https://certified.flisol.app/ Para saber sobre os dados estatísticos do FLISOL 2024 clique no link: https://flisol.info/FLISOL2024/Brasil/Estatisticas