Vulnerabilidades como se proteger usando Gentoo Linux
Posted on mai 05, 2009 under Segurança, Sem categoria | No CommentManter 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.
