Páginas

sexta-feira, 19 de junho de 2026

Oracle Linux 9: Guia Definitivo para Mitigação de Vulnerabilidades do Kernel

 


Proteja seu Oracle Linux 9 contra as vulnerabilidades do kernel CVE-2026-31504, CVE-2026-31533, CVE-2026-31669 e outras. Guia completo com comandos para verificar sua versão, script de automação para atualização segura, mitigação alternativa com iptables sem reinicialização e recomendações de leitura para administradores de sistemas Linux.


O que você precisa saber sobre as falhas de segurança recentes

Em meados de 2026, a Oracle divulgou o boletim ELSA-2026-50318, corrigindo cinco vulnerabilidades críticas no kernel do Oracle Linux 9

Embora a data específica do anúncio seja apenas um marco histórico, as lições e procedimentos deste guia permanecem válidos enquanto você estiver executando versões vulneráveis do kernel.

As falhas corrigidas incluem:




Todas essas vulnerabilidades compartilham um padrão comum: falhas de gerenciamento de memória que podem ser exploradas por um atacante local ou remoto para derrubar o sistema ou, em cenários piores, executar código arbitrário.


Como verificar se você está vulnerável


Antes de mais nada, descubra qual versão do kernel está rodando no seu sistema:

bash
uname -r

Compare a saída com a versão corrigida: 5.15.0-321.202.5.2.el9uek. Se a sua versão for anterior a esta, você está vulnerável.

Para verificar pacotes específicos instalados:

bash
rpm -q kernel-uek

Para sistemas com Ksplice (atualização sem reinicialização):

bash
sudo ksplice -V
sudo ksplice check

Verificação rápida com um comando único

bash
echo "Kernel atual: $(uname -r)" && \
rpm -q kernel-uek --qf "Pacote instalado: %{VERSION}-%{RELEASE}\n" && \
echo "Versão segura: 5.15.0-321.202.5.2.el9uek"

Script de automação para aplicar a correção

O script abaixo verifica, baixa e instala a atualização do kernel de forma segura. Execute como root ou com sudo.

bash
#!/bin/bash
# Oracle Linux 9 Kernel Security Update Automation
# ELSA-2026-50318 - Kernel vulnerability mitigation
# Run as root or with sudo

set -e

RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m'

echo "=============================================="
echo " Oracle Linux 9 Kernel Security Update"
echo " ELSA-2026-50318"
echo "=============================================="

# Check current kernel
CURRENT_KERNEL=$(uname -r)
echo -e "${YELLOW}[INFO]${NC} Current kernel: $CURRENT_KERNEL"

# Target secure version
SECURE_VERSION="5.15.0-321.202.5.2.el9uek"

if [[ "$CURRENT_KERNEL" == "$SECURE_VERSION"* ]]; then
    echo -e "${GREEN}[OK]${NC} System is already running the secure kernel version."
    exit 0
fi

echo -e "${YELLOW}[WARN]${NC} System is running an outdated kernel."

# Check for available updates
echo -e "${YELLOW}[INFO]${NC} Checking for available kernel updates..."
sudo dnf check-update kernel-uek --refresh || true

# Install the kernel update
echo -e "${YELLOW}[INFO]${NC} Installing kernel-uek update..."
sudo dnf update -y kernel-uek

# Verify installation
INSTALLED_VERSION=$(rpm -q kernel-uek --qf "%{VERSION}-%{RELEASE}\n" | head -1)
echo -e "${YELLOW}[INFO]${NC} Installed package: $INSTALLED_VERSION"

echo "=============================================="
echo -e "${GREEN}[SUCCESS]${NC} Kernel package updated."
echo -e "${YELLOW}[ACTION REQUIRED]${NC} Reboot the system to load the new kernel:"
echo "    sudo reboot"
echo "=============================================="

Como usar:
bash
chmod +x update-kernel.sh
sudo ./update-kernel.sh

Após a execução, reinicialize o sistema para ativar o novo kernel:
bash
sudo reboot

Após a reinicialização, confirme:
bash
uname -r
# Deve mostrar: 5.15.0-321.202.5.2.el9uek ou superior

📗  Recomendação de Leitura


Segurança em servidores Linux: Ataque e Defesa  (anúncio) ->  https://amzn.to/4ewrCbr


Se você prefere estudar em português e quer aprender a "pensar como um hacker" para se antecipar a invasões, essa é a pedida! O livro ensina a usar as ferramentas prediletas dos invasores (como Nmap e Netcat) a seu favor, blindando seus sistemas.


Eu ganho uma comissão quando você faz uma compra.


Mitigação alternativa caso não possa atualizar agora


Se você não pode reiniciar o sistema neste momento, algumas medidas paliativas podem reduzir o risco de exploração:


Restringir tráfego de rede com iptables

As vulnerabilidades afetam principalmente subsistemas de rede (TLS, packet sockets, MPTCP, tap). Bloquear tráfego não essencial pode dificultar a exploração:

Restringir tráfego de rede com iptables


As vulnerabilidades afetam principalmente subsistemas de rede (TLS, packet sockets, MPTCP, tap). Bloquear tráfego não essencial pode dificultar a exploração:
bash
# Bloquear pacotes raw (AF_PACKET) de fontes não confiáveis
sudo iptables -A INPUT -p all -m owner ! --uid-owner root -m string --algo bm --string "PACKET" -j DROP 2>/dev/null || true

# Restringir acesso a portas sensíveis
sudo iptables -A INPUT -p tcp --dport 443 -m state --state NEW -m recent --set
sudo iptables -A INPUT -p tcp --dport 443 -m state --state NEW -m recent --update --seconds 60 --hitcount 10 -j DROP

# Bloquear tráfego MPTCP se não for utilizado
sudo iptables -A INPUT -p tcp --mptcp -j DROP
sudo iptables -A OUTPUT -p tcp --mptcp -j DROP

# Salvar regras (persistente)
sudo service iptables save

Desabilitar módulos do kernel não utilizados

Se você não usa MPTCP ou TLS offload, desabilite os módulos:

bash
# Desabilitar MPTCP
echo "blacklist mptcp" | sudo tee /etc/modprobe.d/blacklist-mptcp.conf
sudo modprobe -r mptcp 2>/dev/null || true

# Desabilitar TLS (se não for utilizado)
echo "blacklist tls" | sudo tee /etc/modprobe.d/blacklist-tls.conf

Ajustes de sysctl para mitigação
bash
# Limitar conexões para reduzir superfície de ataque
sudo sysctl -w net.core.somaxconn=256
sudo sysctl -w net.ipv4.tcp_max_syn_backlog=256
sudo sysctl -w net.ipv4.tcp_syncookies=1

# Tornar persistente
echo "net.core.somaxconn=256" | sudo tee -a /etc/sysctl.conf
echo "net.ipv4.tcp_max_syn_backlog=256" | sudo tee -a /etc/sysctl.conf
echo "net.ipv4.tcp_syncookies=1" | sudo tee -a /etc/sysctl.conf

AppArmor/SELinux


Certifique-se de que o SELinux está em modo enforcing:
bash
sudo setenforce 1
sudo getenforce

Conclusão


Ação


A segurança de sistemas Linux não é um destino, mas uma jornada contínua. O ELSA-2026-50318 é apenas mais um capítulo — a lição fundamental é: mantenha-se atualizado, automatize suas verificações e nunca subestime o valor de um bom entendimento do kernel que você gerencia.

Nenhum comentário:

Postar um comentário