Vulnerabilidade no kernel do Linux e do FreeBSD

Saiba como evitar a vulnerabilidade do Kernel do Linux e do FreeBSD reportada pela RedHat. Sistemas afetados podem ter indisponibilidade por Kernel Panic causado por ataques.

Fabricio MachadoFabricio Machado
Vulnerabilidade no kernel do Linux e do FreeBSD

Em junho deste ano a RedHat reportou uma vulnerabilidade em relação ao Kernel do Linux e do FreeBSD, que foi registrada como CVE-2019-11477.

O impacto principal nos sistemas afetados por essa vulnerabilidade é a possibilidade de um atacante causar um Kernel Panic e, assim, causar uma indisponibilidade no servidor. Este tipo de ataque também é conhecido como negação de serviço (service denial).

 

O que fazer para evitar a vulnerabilidade?

Segundo o site SANS ISC InfoSec Forums, existem duas formas de evitar o problema. Explicaremos as duas a seguir, confira!

 

1)  Desabilite o SACK no Linux

Você pode desativar temporariamente o SACK sem reinicializar. Como root run:

 

setenforce 0
echo 0 >  /proc/sys/net/ipv4/tcp_sack

 
A primeira linha só é necessária se você estiver usando o SELinux, pois ele pode bloquear a segunda instrução. Para tornar esta mudança permanente, adicione o seguinte ao /etc/sysctl.conf (ou provavelmente mais limpo com um novo arquivo em /etc/sysctl.d):

 

net.ipv4.tcp_sack = 0
net.ipv4.tcp_dsack = 0
net.ipv4.tcp_fack = 0

 
Execute “sysctl -p” para aplicar as mudanças sem uma reinicialização (e, novamente, você pode precisar desativar o SELinux).

 

2) Regras de firewall

A exploração requer configurações de tamanho de segmento máximo muito pequenas. Você pode bloquear pacotes anunciando um pequeno MSS no iptables:

 

iptables -t mangle -A PREROUTING -p tcp -m conntrack –ctstate NEW -m tcpmss ! –mss 536:65535 -j DROP

 
De acordo com a RFC 879, o TCP exige um MTU de pelo menos 576, levando a um MSS mínimo de 536.

 

Encontrando Sistemas Vulneráveis

Segundo o SANS, não há ferramenta de varredura disponível. Até agora, também não há exploração PoC disponível que possa ser usada para encontrar sistemas vulneráveis. Como um teste rápido, você pode procurar por sistemas que suportem o SACK (e rodando o Linux). O seguinte comando tcpdump pode ajudar:

 

tcpdump -i eth0 -n ‘ip[8]<65 and tcp[13]&0x2f=2’  | grep ‘sackOK’

 
Esse comando ajudará a identificar sistemas com os flags SYN ou SYN-ACK definidos com um TTL menor que 65 (para ajudar a limitar isso aos sistemas Linux). Não existe um filtro simples para a opção SackOK, pois pode aparecer em posições diferentes, então o “grep” ajuda um pouco. Você pode usar o comando “ethtool” no Linux para ver se o descarregamento do TCP está ativado:

 

ethtool -k interface_name

 

Declarações dos Fabricantes / Patches

Seguem links das principais distribuições a respeito da vulnerabilidade:

RedHat: https://access.redhat.com/security/vulnerabilities/tcpsack
Ubuntu: https://usn.ubuntu.com/4017-1/
Debian: https://www.debian.org/security/2019/dsa-4465
SUSE: https://www.suse.com/de-de/support/kb/doc/?id=7023928
Cloudflare: https://twitter.com/jgrahamc/status/1140724787242819585
Amazon: https://aws.amazon.com/security/security-bulletins/AWS-2019-005/

 

Como a InterOp pode ajudar?

Os clientes InterOp não precisam se preocupar com nada disso, pois garantimos estes ajustes, além das atualizações em todos os sistemas de TI! Para maior agilidade na administração de ambientes de TI, recomendamos e aplicamos ferramentas de DevOps para automação das configurações. Assim, garantimos a segurança e a padronização dos ambientes, com agilidade e economia.

 
Serviços de Administração de Ambientes de TI_740x305

 
Se você está enfrentando dificuldades com o seu ambiente de TI, ou está crescendo em um ritmo acelerado, entre em contato com nossos especialistas.

Fique atualizado com nosso melhor conteúdo!

Compartilhe

Facebook
Twitter
LinkedIn

Leitores também acessaram: