Vulnerabilidades como se proteger usando Gentoo Linux

Posted on mai 05, 2009 under Segurança, Sem categoria | No Comment

Manter um servidor ou desktop longe das vulnerabilidades de segurança, é um serviço árduo. Mas com intuito de facilitar nossa vida, o Gentoo possui um projeto chamado GLSA(Gentoo Linux Security Advisor) no qual a idéia principal é manter a árvore do portage livre de vulnerabilidades conhecidas, através de uma ferramenta capaz de pesquisar na árvore do portage e avisar sobre as vulnerabilidades encontradas.

Então vamos colocar a mão na massa.

Primeiro passo é instalar o gentoolkit.

# emerge -av gentoolkit

Depois de instalado teremos uma ferramenta chamada glsa-check, com a qual podemos verificar o nosso servidor ou desktop, procurando por pacotes com vulnerabilidades de segurança.

Verificando o sistema:

# glsa-check -l affected
[A] means this GLSA was already applied,
[U] means the system is not affected and
[N] indicates that the system might be affected.

200903-28 [N] libpng: Multiple vulnerabilities ( media-libs/libpng )
200904-02 [N] GLib: Execution of arbitrary code ( dev-libs/glib )
200903-21 [N] cURL: Arbitrary file access ( net-misc/curl )
200902-02 [N] OpenSSL: Certificate validation error ( dev-libs/openssl )
200904-18 [N] udev: Multiple vulnerabilities ( sys-fs/udev )
200904-08 [N] OpenSSL: Denial of Service ( dev-libs/openssl )
200903-24 [N] Shadow: Privilege escalation ( sys-apps/shadow )
200903-25 [N] Courier Authentication Library: SQL Injection vulnerability ( net-libs/courier-authlib )
200807-16 [N] Python: Multiple vulnerabilities ( dev-lang/python )
200903-11 [N] PyCrypto: Execution of arbitrary code ( dev-python/pycrypto )
200903-13 [N] MPFR: Denial of Service ( dev-libs/mpfr )
200903-38 [N] Squid: Multiple Denial of Service vulnerabilities ( net-proxy/squid )
200812-06 [N] libxml2: Multiple vulnerabilities ( dev-libs/libxml2 )

Olha só que coisa mais linda! Minha máquina está com bastantes vulnerabilidades.

Então vamos corrigir.

# glsa-check -f affected

Um detalhe importante do uso da correção automática é que pode dar algum problema se você usa a flag “USE” para adicionar alguma dependência a um determinado pacote, quando o pacote tiver que ser atualizado o portage irá buscar as informações sobre dependências nos arquivos /etc/make.conf ou /etc/portage/package.use, então a instalação do pacote ficará diferente da anterior podendo causar mau funcionamento em algum serviço devido a falta de alguma biblioteca. Para garantir que não tenhamos nenhum problema é melhor atualizar todos os pacotes manualmente.

Uma boa prática para utilização do portage é adicionar as dependências no arquivo /etc/portage/package.use, porque com o passar do tempo a gente nem se lembra o motivo pelo qual um determinado pacote precisa de uma dependência específica. Então para garantir que as atualização fiquem corretas com relação as dependências devemos adiciona-las no arquivo como no exemplo a seguir:

echo "sys-libs/glibc userlocales" >> /etc/portage/package.use

Todo usuário Linux gosta de automatizar tarefas o glsa-check tem uma característica interessante, ele pode enviar um e-mail para o administrador, quando o sistema apresentar algum pacote com vulnerabilidade. Para enviar e-mail devemos fazer as seguintes configurações:

Adicionar no arquivo /etc/make.conf a variável PORTAGE_ELOG_MAILURI=”admin@xyz.com” informando o endereço de e-mail do administrador.

Agora é só adicionar no contrab o comando glsa-check -m affected configurando para rodar uma vez por dia.

Para saber mais sobre segurança no Gentoo:
USE flags
Gentoo Linux Security Project
Gentoo Security Handbook
Gentoo Linux Security Advisories

Espero que seja útil para alguém.

Leave a Reply