Atualização dos servidores Debian antigos (Etch, Sarge, Woody …)

DebianSe você ainda possui algum servidor Debian antigo que por qualquer motivo ainda não pode ser atualizado para a última versão disponível, mas ainda assim precisa instalar um determinado pacote de programa que está fazendo falta veja como é simples instalá-lo via apt-get ou aptitude.

Uma palavra sobre segurança

Ainda hoje eu preciso manter alguns servidores Debian com versões que não possuem mais suporte oficial. Como tal, se eu simplesmente tentar um aptitude update, ou apt-get update verei diversas mensagens de erro de conexão ao servidor.

Como não posso atualizar tais servidores por motivos alheios e que não convém, neste texto. A solução é manter o citado servidor o mais blindado possível para que suas brechas de segurança não sejam exploradas e manter rodando apenas o necessário para que o serviço esteja funcionando com segurança.

É bom enfatizar que não abordarei aqui as técnicas de proteção, que variam de um caso para outro, e também que não é possível atualizar os pacotes para resolver falhas que só foram descobertas depois que a distribuição se tornou obsoleta.

Então não espere encontrar solução para aquele bug que só foi resolvido na última versão do kernel distribuído pela equipe do Debian, nem mesmo o suporte a funcionalidades e ferramentas que não existiam naquela época.

Daí então fica um recado importantíssimo que não deveria nem estar aqui visto que este texto destina-se a sysadmins que sabem o risco que é manter um servidor desatualizado: Considere como uma tarefa de máxima urgência a atualização destes servidores para uma versão mais nova do Debian e tão logo seja possível faça isso.

O que temos aqui

Dado o recado, o servidor está “aparentemente seguro”, mas além da questão da segurança existe a necessidade de instalação de pacotes adicionais e que não estão mais disponível no repositório oficial.

Por exemplo você tem um servidor web apache+php que não era previsto o uso de uma aplicação que autentica via LDAP e em dado momento seu chefe disse que acabou de comprar uma aplicação com este requisito e a quer funcionando pra ontem.

As alternativas seriam então:
• atualizar todo o servidor apenas por causa deste módulo
• recompilar todo o PHP com suporte a este recurso
• apelar para os repositórios “archive” ou mesmo “snapshot” do Debian, que é onde estão [quase] todos os pacotes de praticamente todas versões do Debian desde o já esquecido Debian Buzz 1.0!

Certamente esta terceira e última alternativa é mais prática de ser usada e deverá resolver o seu problema (desde que o tal módulo já existisse nos repositórios Debian antes da sua versão perder o suporte oficial).

Repositório Archives

O repositório archives” do Debian está localizado no endereço http://archive.debian.org/debian/ e para usá-lo simplesmente substitua-o no seu arquivo /etc/apt/sources.list para que dá próxima vez que você rodar um aptitude update ou apt-get update este repositório histórico seja usado, ao invés do repositório principal e que não existe mais.

As versões do Debian que estão arquivadas[1] para a memória eterna da Internet neste repositório (hoje) são:

  • 4.0—Etch, 8 de abril de 2007
  • 3.1—Sarge, 6 de junho de 2005
  • 3.0—Woody, 19 de julho de 2002
  • 2.2—Potato, 15 de agosto 2000
  • 2.1—Slink, 9 de março de 1999
  • 2.0—Hamm, 24 de julho 1998
  • 1.3—Bo, 2 de junho de 1997
  • 1.2—Rex, 1996
  • 1.1—Buzz, 1996

Para saber mais sobre as versões do Debian há um texto bem completo na Wikipédia[2] a respeito do assunto.

Para usá-lo edite o arquivo /etc/apt/sources.list, comente todas as linhas que estiverem lá e adicione apenas esta:

deb http://archive.debian.org/debian/ VERSAO main contrib non-free

Onde “VERSAO” pode ser qualquer uma das listadas acima, tal como etch, sarge, ou mesmo buzz, rex etc (use a versão que está no seu servidor).

Além dos diretórios debian e debian-security existem também o debian-amd64 (só para sarge), o debian-volatile e debian-backports e backports.org (só para Etch e Sarge), debian-non-US (só para woody, potato e slink)

Para configurar quaisquer destes repositórios considere o seguinte esquema:

deb http://archive.debian.org/DIRETÓRIO/ VERSÃO SEÇÃO

Onde:
DIRETÓRIO – é qualquer um dos diretórios listados anteriormente e que possuem uma pasta “dist” (isto é válido e verdadeiro para qualquer outro repositório Debian que você encontrar pela frente.

VERSÃO – é qualquer versão do Debian que na prática corresponde a todos os diretórios dentro de “dist” (comentado acima) e que possua o arquivo “Release”, caso o diretório não possua os arquivos, veja nos diretórios seguintes e ao encontrá-lo.

SEÇÃO – pode ser main, contrib, non-free, ou quaisquer outros diretórios que possuam as pastas “binary-*”

Por exemplo o diretório “debian-security” e debian-volatile, para o Sarge seria configurado assim:

deb http://archive.debian.org/debian-security/ sarge/updates main contrib non-free
deb http://archive.debian.org/debian-volatile/ sarge/volatile main contrib non-free
deb http://archive.debian.org/debian-non-US/ woody/non-US main contrib non-free

Esta minha explicação sobre o funcionamento do repósitório Debian foi bastante tosca e serve apenas para ajudar na configuração de outros repositórios.

Se você precisar uma explicação mais detalhada e correta não deixe de conferir a documentação do projeto Debian [3].

Repositório de snapshots

Esta é a verdadeira máquina do tempo do projeto Debian. Com este repositório você pode instalar todos os pacotes que estavam disponíveis no repositório oficial em uma data especifica.

Sua configuração no /etc/apt/sources.list é a ssim:

deb http://snapshot.debian.net/archive/YYYY/MM/DD/debian unstable main contrib non-free
deb http://snapshot.debian.net/archive/YYYY/MM/DD/debian-non-US unstable/non-US main contrib non-free

Onde:

YYYY/MM/DD é a data no formato ano/mês/dia, por exemplo 2006/08/17.

Infelizmente não será possível usar este repositório para instalar pacotes anteriores 13/03/2005 devido a perda de dados que o projeto sofreu, mas após esta data está tudo lá organizado e pronto para ser usado.

Na prática

Para que não fique apenas na teoria, imagine o meu velho servidor sarge que está em produção (lembrando as questões sobre segurança) e que preciso instalar alguns pacotes que estão sendo necessários.

A primeira coisa é editar o /etc/apt/sources.list, comentar todos os repositórios que estão la’e não funcionam mais e então adicionar estes a seguir:

deb http://archive.debian.org/debian/ sarge main contrib non-free
deb http://archive.debian.org/debian-security/ sarge/updates main contrib non-free

Em seguida é preciso atualizar a lista de pacotes dos novos repositórios, o que pode ser feito com o comando:

aptitude update

Embora o servidor esteja obsoleto, só para garantir que ele esteja com as últimas versões disponíveis na época em que ele perdeu o suporte, nunca é demais tentar uma atualização:

aptitude upgrade

Em fim é só instalar os pacotes que estou precisando:

aptitude install mc portmap tz-brasil ntpdate htop iotop iftop less locales-all util-linux-locales locales openssh-server rsync iproute reiserfsprogs udev sysstat screen ccze iputils-arping

Conclusão

Não há muito mais a ser dito, mas reforço o recado que este recurso deve ser usado apenas para instalar pacotes que sejam extremamente necessários.

Visto que são pacotes obsoletos o risco de você instalar mais um pacote com falhas graves de segurança é grande.

O ideal é mesmo atualizar toda a distribuição pra uma versão mais nova e com suporte ativo, mas caso isso não seja possível de imediato esteja calçado para que você seja vitimado por um cracker desocupado.

Certifique-se que o servidor tem apenas os serviços e pacotes essenciais, ative um firewall limitando o seu acesso etc e tão logo quanto possível jogue este servidor no lixo e substitua-o por outro atualizado.

Referências

[1] Debian. README do repositório Archives. Disponível em http://archive.debian.org/debian/README
[2] Wikipédia. Debian. disponível em http://pt.wikipedia.org/wiki/Debian
[3] Debian. Chapter 2: Debian package management in Debian Reference. 26-09-2010. Disponível em http://www.debian.org/doc/manuals/debian-reference/ch02.en.html

Um comentário em “Atualização dos servidores Debian antigos (Etch, Sarge, Woody …)”

  1. Muito obrigado pelas informações que você compartilhou em seu Blog. Sou um fã de Linux, informática e tecnologia. Tinha um CD do Debian Sarge que tinha adquirido quando era assinante da PC Linux da Linux New Media, resolvi instalar no VMware e não estava conseguindo atualizar por erro nos repositórios! Por sorte acabei parando aqui no seu blog e foi fantástica sua explicação! Muito obrigado e que Deus o abençoe

Deixe um comentário

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

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.