Resolvendo o ShellShock no Debian 6 (Squeeze) [ATUALIZADO]

Esta semana tem sido divulgado um bug no Bash [1] que já foi classificado pelo governo americano como  o problema mais grave dos últimos tempos nos ambientes Unix-like[2]. Os felizes usuários das últimas versões do Debian, Ubuntu, Fedora, CentOS já podem baixar as atualizações e resolver o problema, no entanto quem tem versões antigas deveram procurar outro meio (seja compilando o bash na mão, ou esperando que lancem, ou rezando para que nada de mal aconteça). No caso do Debian 6 (Squeeze), que ainda uso em alguns servidores que não puderam ser instalado, a solução que adotei foi instalar o pacote corrigido de outra versão.

Forma complicada

Se quiser fazer da forma “certa”, pode pular toda esta etapa é ir direto para sessão “Atualização – Debian 6 LTS“. Só usei esta forma enquanto ainda não tinha encontrado o repositório LTS do Debian 6. Se você já a usou pode usar a nova forma sem problemas.

Testei os pacotes do Debian 7 porém eles gerariam várias dependências novas por causa das novas versões de uma série de pacotes, o que poderiam acabar quebrando todo meu sistema. E isso não é uma boa ideia.

Como o Ubuntu lançou correções para as versões 14.04, 12.04 e 10.04 [3] foi só usar os pacotes da versão 10.04 (Lucid Lynx) e o problema foi resolvido sem maiores complicações.

De forma bem direta você pode usar os seguintes comandos na linha de comando do seu servidor Debian 6:

wget https://launchpad.net/ubuntu/+archive/primary/+files/bash-builtins_4.1-2ubuntu3.2_amd64.deb
wget https://launchpad.net/ubuntu/+archive/primary/+files/bash-doc_4.1-2ubuntu3.2_all.deb
wget https://launchpad.net/ubuntu/+archive/primary/+files/bash-static_4.1-2ubuntu3.2_amd64.deb
wget https://launchpad.net/ubuntu/+archive/primary/+files/bash_4.1-2ubuntu3.2_amd64.deb
sudo dpkg -i bash*.deb
env x='() { :;}; echo vulnerable' bash -c 'echo this is a test'

O último comando é o teste sugerido para saber se o seu sistema está vulnerável ou não.

Se ao executar aparecer a mensagem “vulnerable” então seu sistema está vulnerável, se aparecer uma mensagem de erro como esta abaixo então está tudo certo:

this is a test (stderr) bash: warning: x: ignoring function definition attempt
bash: error importing function definition for `x'

Veja que os pacotes que estão nos links são do Ubuntu 64bits e portanto só funcionarão no Debian com esta arquitetura Se você precisa corrigir o Debian 32bits então deverá baixar os pacotes para 32bits também, ou então poderá ter problemas.

wget https://launchpad.net/ubuntu/+archive/primary/+files/bash-builtins_4.1-2ubuntu3.2_i386.deb
wget https://launchpad.net/ubuntu/+archive/primary/+files/bash-doc_4.1-2ubuntu3.2_all.deb
wget https://launchpad.net/ubuntu/+archive/primary/+files/bash-static_4.1-2ubuntu3.2_i386.deb
wget https://launchpad.net/ubuntu/+archive/primary/+files/bash_4.1-2ubuntu3.2_i386.deb
sudo dpkg -i bash*.deb
env x='() { :;}; echo vulnerable' bash -c 'echo this is a test'

Caso precise baixar para Sparc, armel ia64 é só baixar no PPA do Bash [4].

E só pra concluir é bom lembrar que o Mac Os, Android, Solaris e muitos roteadores e access point por ai possuem seus sistemas baseados em Linux, portanto podem estar vulneráveis. Estejam atentos as notas de seus fabricantes sobre o caso.

Atualização – Debian 6 LTS

Inconformado com a ideia de que o Debian 6 não tinha lançado nenhuma atualização (afinal de contas ele foi definido como uma versão LTS), saí em busca de mais informações e encontrei.

De forma mais “Debian” de fazer as coisas basta adicionar o repositório LTS no arquivo sources.list do seu servidor e atualizar os pacotes normalmente.

As informações estão na página do projeto Debian LTS [6] e os repositórios estão mencionados em [7], mas caso queira queimar etapas e resolver o problemas sem ler mais nada, simplesmente execute os comandos abaixo como usuário root:

cat << EOF >> /etc/apt/sources.list
deb http://http.debian.net/debian/ squeeze-lts main contrib non-free
EOF
apt-get update
apt-get upgrade

 

Referências

[1] Arstechnica. http://arstechnica.com/security/2014/09/bug-in-bash-shell-creates-big-security-hole-on-anything-with-nix-in-it/

[2] Globo. Governo americano lança alerta contra falha na segurança de computadores. http://globotv.globo.com/rede-globo/bom-dia-brasil/t/edicoes/v/governo-americano-lanca-alerta-contra-falha-na-seguranca-de-computadores/3655420/

[3] Ubuntu. Ubuntu Security Notice USN-2362-1.http://www.ubuntu.com/usn/usn-2362-1/

[4] Ubuntu. PPA Bash. https://launchpad.net/ubuntu/+source/bash

[5] Debian News. Debian 6 debuts its long term support period. https://www.debian.org/News/2014/20140616

[6] Debian. LTS Developmet.  https://wiki.debian.org/LTS/Development

[7] Debian. LTS Using. https://wiki.debian.org/LTS/Using

 

2 ideias sobre “Resolvendo o ShellShock no Debian 6 (Squeeze) [ATUALIZADO]”

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *