Pular para o conteúdo

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.
lourival araujo da silva araujo_silva
Hits: 37.953 Categoria: Linux Subcategoria: Segurança
  • Indicar
  • Impressora
  • Denunciar

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


#@include common-auth
#@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


   1. Preparando o terreno para o webCalendar
   2. Ajustes iniciais
   3. Cadastrando o administrador
   4. Passeando pelos menus do webCalendar e divulgando compromissos
   5. Fechando janelas

Cliente "automágico" Linux logando no domínio NT/Samba

Mudança de hábito: autenticando usuários em base de dados MySQL

Autenticação via hardware: o módulo pam_usb

Cliente Linux no servidor LDAP

Configuração "automágica" de servidor Linux PDC Samba

Snort + ACID + MySQL no Slackware

Sistemas e volumes criptografados e escondidos utilizando o TrueCrypt

Criptografia de disco

Configuração de um servidor com clamav

VPN: IPSec vs SSL

#1 Comentário enviado por dailson em 23/10/2008 - 15:52h
Grande Lourival!!!
Parabéns por mais um artigo!
Este está show, vou ver se arrumo tempo para testar e lhe dou um retorno ;)
#2 Comentário enviado por araujo_silva em 24/10/2008 - 00:43h
Valeu professor !!!

Sou seu fã !!!!

Abraços.
#3 Comentário enviado por __FERNANDO__ em 28/10/2008 - 16:28h
Boa tarde!

Fiz o procedimento acima, porem meu Debian continua não abrindo arquivo .pl
Quando clico em um link onde direciona para uma pagina .pl me aparece uma mensagem dizendo se quero abrir ou salvar o arquivo.

O que eu faço ?

grato.

Fernando.
#4 Comentário enviado por araujo_silva em 28/10/2008 - 18:59h
Caro Fernando,

Peço desculpas por não haver documentado o arquivo de configuração do apache.
Verifique no arquivo de configuração do seu servidor web, se ele está configurado para executar script cgi e pl. Descomente a linha equivalente da que se segue ou modifique-a:

/etc/apache2/apache2.conf

#AddHandler cgi-script .cgi .pl

Caso persistar, verifique o log e informe.

Abraço,

Lourival

Contribuir com comentário

Entre na sua conta para comentar.