Garantido acesso direto do Network Manager ao Keyring

Dicas e Truques, How-To, Linux 5 Comentários

O Network Manager é o aplicativo que facilita a configuração da rede no Ubuntu e em muitos outros sabores do GNU/Linux. No caso dos notebooks, ele detecta automaticamente as redes sem fio que estão presentes e indaga ao usuário a chave de acesso. Tal chave é salva no gerenciador de senhas Keyring. Assim, na próxima vez que a mesma rede sem fio for detectada, o Network Manager acessa o Keyring para obter a chave. Esse processo depende da intervenção do usuário, pois este deve destravar o Keyring digitando uma senha toda vez após o logon. Este artigo ensina como usar um módulo PAM para automatizar esse processo. Tal módulo passa para o Keyring a mesma senha digitada pelo usuário no GDM, fazendo o Network Manager funcionar de forma transparente para o usuário.

Entendendo o problema

Geralmente, o usuário de notebook conecta-se a diversas redes sem fio. Cada rede tem sua própria chave. Para o usuário não ter que decorar a chave de todas as redes as quais se conecta, o Network Manager do Ubuntu guarda essas chaves no chaveiro do Gnome, o utilitário Keyring. Assim, sempre que o usuário conecta-se a uma nova rede, o Network Manager pede a chave e a guarda no Keyring. Da próxima vez, ao invés de perguntar ao usuário, o Network Manager busca a chave da rede no chaveiro, deixando de incomodar o usuário.

O problema é que o Keyring também tem uma chave. Por isso, antes de conectar-se a internet, o usuário deve digitar a chave do chaveiro do Gnome. Isso é ruim, por dois motivos. Primeiro porque isso gera um atraso, pois o sistema fica parado esperando você digitar a senha. É um aborrecimento porque utilitários que dependem da internet para funcionar (aMSN, Skype, amule etc) exibem uma mensagem de erro informando que não conseguem acesso a rede. O segundo problema é o inconveniente do usuário ter que digitar duas senhas durante o logon.

Felizmente, existe uma solução para isso, um módulo PAM que destrava o chaveiro do Gnome automaticamente logo após o logon no GDM.

Entendendo o PAM

Segurança é uma área crítica da informática. Esta tem que ser constantemente atualizada para que o sistema permaneça seguro. Tal atualização depende da política de segurança. Por exemplo, pode-se definir que o root só pode efetuar login pelo console. Mais ainda, pode-se bloquear o login do root enquanto o sistema estiver conectado a internet. Outro parâmetro da política de privacidade é a criptografia das senhas dos usuários. Tais senhas serão armazenadas usando o algoritmo MD5, SHA ou AES? Melhor ainda, pode-se definir que cada usuário deva ter uma chave de hardware. O login só será efetuado se for inserido um cartão com um determinado código criptografado embutido.

Evidentemente, uma mudança radical na política de segurança de um sistema deve gerar uma mudança radical na estrutura de autenticação de diversos aplicativos (login, su, passwd, ftp, gdm etc). Já imaginou ter que reescrever o código de tantos programas toda vez que a política de segurança mudar? Para evitar esse problema, o PAM foi criado.

O PAM é uma API relacionada a segurança/autenticação. Uma API é definida por uma documentação que descreve um conjunto de funções e define uma biblioteca que os programadores podem usar. Assim, todo o código de autenticação de um aplicativo pode estar definido em uma biblioteca separada. Além disso, tal biblioteca é compartilhada por diferentes aplicativos. Então, uma mudança na política de segurança do sistema implica em uma alteração apenas nas linhas de código que definem a biblioteca PAM. Após tal alteração, todos os aplicativos que utilizam a API PAM estarão atualizados.

Na verdade, a API PAM é composta de diversos módulos. Um desses módulos será utilizado para abrir o chaveiro do Gnome automaticamente.

Configurando o sistema

Existe um módulo PAM chamado libpam-gnome-keyring. Tal módulo foi criado para trabalhar em conjunto com o Keyring. Para usa-lo, primeiro, é necessário instalar o módulos.

sudo apt-get install libpam-gnome-keyring

Após isso, o GDM precisa ser alterado. Deve-se incluir as duas linhas a seguir ao final do arquivo /etc/pam.d/gdm.

auth    optional        pam_gnome_keyring_auth.so
session optional        pam_gnome_keyring_session.so  auto_start

No meu sistema, após essa alteração, tive que digitar a senha do Keyring apenas mais uma vez, quando surgiu a opção de reter a senha do Keyring. Depois disso, após o login no GDM, minha conexão sem fio já está funcionando. O sistema ficou bem melhor!

Changelog

2008/03/09 – Publicação do artigo.

Tópicos Relacionados

5 Comentários sobre “Garantido acesso direto do Network Manager ao Keyring”

Trackbacks / Pingbacks

Deixe um comentário

XHTML: Você pode usar essas tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Os direitos autorais de todas as ilustrações pertencem aos respectivos autores e essas são reproduzidas na intenção de atender ao disposto no art. 46 da Lei 9.610. Contudo, se ainda assim alguma delas infringe direito seu, entre em contato para que eu possa removê-la imediatamente.

Icons by N.Design Studio. Designed By Ben Swift. Powered by WordPress, Search Optimization and Free WordPress Themes