1672 Views
Tempo de leitura: 3 MinutosMuitos administradores de sistemas possuem o mal habito de não atualizar pacotes em seus servidores Linux. Seja por falta de experiência, tempo ou coragem, essa má prática gera insegurança e, em função disso, pode causar sérios riscos às organizações.
A atualização de pacotes está no top 10 da “cartilha” de boas práticas de administração de sistemas, ou seja, é bem básico no que se refere a segurança.
Debian e Debian-like: Distribuições friendly
O Debian e seus derivados, como o Ubuntu e Mint, são distribuições relativamente amigáveis, pois possuem vasta documentação na Internet. Outrossim, possuem critérios quanto aos pacotes promovidos para os usuários, pois tais pacotes são testados até que hajam garantias de compatibilidade com os sistemas onde serão instalados.
Todo pacote disponibilizado no Debian é, antes, disponibilizado em um ambiente Unstable onde são feitos alguns testes. É como um ambiente de desenvolvimento. Concluídos os testes iniciais, o pacote é promovido para Testing onde são feitos mais testes. O pacote só é promovido para o Stable após ser exaustivamente testado. O Stable é onde ficam os pacotes que são disponibilizados para nós, usuários finais.
Ou seja, não há razões técnicas para deixar de atualizar pacotes no Debian e Debian-like. Com um pouco de organização e conhecimento, pode-se manter sistemas atualizados e seguros sem correr riscos indisponibilidades.
Boas práticas de atualização Linux
Nem toda atualização é de segurança. Muitas atualizações nos trazem correções de funcionalidades e/ou melhorias em diversos aspectos.
Portanto, não é completamente necessária a atualização geral de pacotes. Porém, ao menos pacotes com pendências de segurança devem ser atualizados.
Atualizando pacotes com pendências de segurança no Debian, Ubuntu e Mint
Primeiro, é preciso checar se há atualizações de segurança. Para isso, pode-se usar o comando abaixo:
apt-get -s dist-upgrade | grep "^Inst" | grep -i sec
O parâmetro “-s” é de sumary, ou seja, apenas exibirá informações na tela e não atualizará nada. Os greps são para filtrar pacotes disponíveis para instalação e cuja origem seja o repositório de segurança do Debian.
Com a lista de pacotes em mãos, basta atualizá-los usando o comando abaixo:
Caso o amigo leitor não esteja familiarizado com o comando “apt”, tem um material bacana aqui no site. Segue o link: Trabalhando com pacotes com apt-get e apt-cache.
apt-get install nome-do-pacote
Substitua “nome-do-pacote” pelo nome do pacote a ser atualizado.
Como automatizar a atualização de segurança no Debian, Ubuntu e Mint
Agora que sabemos como atualizar pacotes com pendência de segurança, podemos automatizar a atualização com um simples single-line. Ou seja, concatenando comandos.
Para fazer a atualização em questão, precisamos da lista dos pacotes contendo somente o nome dos mesmos. Para isso, podemos acrescentar um awk para filtrar a segunda coluna:
apt-get -s dist-upgrade | grep "^Inst" | grep -i sec | awk -F " " {'print $2'}
Com posse dessa lista, podemos montar um laço com o comando “for” ou “while” ou concatenar passando a lista para o “xargs”.
Particularmente prefiro usar for, pois pode-se evoluir o script. Vejamos um exemplo usando for:
# Para cada pacote presente na lista, faça: for package in $(apt-get -s dist-upgrade | grep "^Inst" | grep -i sec | awk -F " " {'print $2'}); do # Atualização do pacote: apt-get install $package --yes; done
O laço repetirá até que a lista esteja completa.
Unattended-upgrades
O Projeto Debian criou há um tempo atrás o Unattended-Upgrades, que é uma ferramenta de atualização de pacotes, porém é preciso instalá-lo.
Em um próximo post falarei sobre como instalar e configurar o Unattended-Upgrades no Debian e Debian-like. Por ora, saibamos que, basicamente, o Unattended-Upgrades faz o mesmo processo informado neste post.
Resumo
Desde sempre sabemos que toda proteção é pouca quando falamos de segurança. Deixar de atualizar ao menos pacotes com pendência de segurança é complicado.
Fica aqui a dica e um forte abraço! Até a próxima.