webCalendar: a agenda e o PAM
Procuramos no presente artigo integrar a autenticação web por meio de módulos da infra-estrutura do PAM. Utilizamos como referência para esse procedimento a aplicação webCalendar e os módulos libapache2-mod-auth-pam e libapache2-mod-auth-sys-group com a finalidade de proteger a área de execução de script cgi do servidor web.
Preparando o terreno para o webCalendar
O software WebCalendar é disponibilizado sob GPLv3 pela Universidade do Texas e deve ser baixado diretamente do link da instituição. Trata-se de uma aplicação desenvolvida em Perl e com capacidade de integração com o LDAP e com suporte a múltiplos idiomas, inclusive o português "brazileiro" .
Devemos, portanto, ter suporte a script perl no servidor Apache a fim de podermos realizar as operações de instalação e configuração do webCalendar.
Os desenvolvedores sugerem o uso do apache_mod_perl , perl 5 ou superior e cgi 2.79 ou superior. Inicialmente devemos verificar a existência dos pré-requisitos. Utilizamos como referência para o teste uma máquina com o sistema operacional Linux Debian 4.0 e apache2, sem mod_perl e outra máquina com sistema operacional Fedora Core 6, com apache 2.0, sem mod_perl.
Consultando o sistema:
# dpkg -l apache2
# perl -v
# apt-cache search libapache2-mod-auth-pam libapache2-mod-sys-group libapache2-mod-fastcgi perl
Caso não haja algum dos pré-requisitos devemos realizar a instalação correspondente:
# apt-get update
# apt-get install apache2 apache2-doc libapache2-mod-fastcgi libapache2-mod-auth-pam libapache2-mod-sys-group
A instalação do módulo "libpam-http" cria a entrada correspondente no diretório de administração do PAM (/etc/pam.d) para o serviço correspondente ao apache (/etc/pam.d/apache2). Esse arquivo deverá ser editado para que corresponda às necessidades da autenticação desejada. Comentaremos ou apagaremos as linhas iniciadas por "@include" e criaremos uma autenticação personalizada para o apache, utilizando somente usuários locais ("pam_unix.so"):
# apt-get install libpam-http
# vi /etc/pam.d/apache2
Habilitamos o suporte a script no servidor web e o suporte a perl no sistema, caso não esteja habilitado:
# a2enmod actions
# a2enmod rewrite
# a2enmod suexec
# a2enmod include
# apt-get install perl-base libperl-dev
Acrescentaremos o módulo pamtester, a fim de testar as configurações após a instalação:
# cd /usr/local/src
# wget -c http://prdownloads.sourceforge.net/pamtester/pamtester-0.1.2.tar.gz
# tar xzvf pamtester-0.1.2.tar.gz
# cd pamtester-0.1.2
# ./configure --prefix=/usr/local
# make
# make install
Devemos, portanto, ter suporte a script perl no servidor Apache a fim de podermos realizar as operações de instalação e configuração do webCalendar.
Os desenvolvedores sugerem o uso do apache_mod_perl , perl 5 ou superior e cgi 2.79 ou superior. Inicialmente devemos verificar a existência dos pré-requisitos. Utilizamos como referência para o teste uma máquina com o sistema operacional Linux Debian 4.0 e apache2, sem mod_perl e outra máquina com sistema operacional Fedora Core 6, com apache 2.0, sem mod_perl.
Consultando o sistema:
# dpkg -l apache2
# perl -v
# apt-cache search libapache2-mod-auth-pam libapache2-mod-sys-group libapache2-mod-fastcgi perl
Caso não haja algum dos pré-requisitos devemos realizar a instalação correspondente:
# apt-get update
# apt-get install apache2 apache2-doc libapache2-mod-fastcgi libapache2-mod-auth-pam libapache2-mod-sys-group
A instalação do módulo "libpam-http" cria a entrada correspondente no diretório de administração do PAM (/etc/pam.d) para o serviço correspondente ao apache (/etc/pam.d/apache2). Esse arquivo deverá ser editado para que corresponda às necessidades da autenticação desejada. Comentaremos ou apagaremos as linhas iniciadas por "@include" e criaremos uma autenticação personalizada para o apache, utilizando somente usuários locais ("pam_unix.so"):
# apt-get install libpam-http
# vi /etc/pam.d/apache2
#@include common-auth
#@include common-account
auth required pam_unix.so
account required pam_unix.so
#@include common-account
auth required pam_unix.so
account required pam_unix.so
Habilitamos o suporte a script no servidor web e o suporte a perl no sistema, caso não esteja habilitado:
# a2enmod actions
# a2enmod rewrite
# a2enmod suexec
# a2enmod include
# apt-get install perl-base libperl-dev
Acrescentaremos o módulo pamtester, a fim de testar as configurações após a instalação:
# cd /usr/local/src
# wget -c http://prdownloads.sourceforge.net/pamtester/pamtester-0.1.2.tar.gz
# tar xzvf pamtester-0.1.2.tar.gz
# cd pamtester-0.1.2
# ./configure --prefix=/usr/local
# make
# make install
Parabéns por mais um artigo!
Este está show, vou ver se arrumo tempo para testar e lhe dou um retorno ;)