Garantido acesso direto do Network Manager ao Keyring

domingo, 09 de março de 2008

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

Um Comentário para “Garantido acesso direto do Network Manager ao Keyring”

  1. Garantido acesso direto do Network Manager ao Keyring disse:

    [...] 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 [...]

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>

Navegação


novembro 2008
S T Q Q S S D
« out    
 12
3456789
10111213141516
17181920212223
24252627282930

Syndication

Autor

Alex J. Alex França, 36 anos, casado, professor e engenheiro eletricista, Londrina-PR.