PhpDansAdmin, protótipo de ferramenta web para administração do DansGuardian

O objetivo deste artigo é apresentar uma ferramenta web, que eu desenvolvi em PHP, para facilitar as operações de gerenciamento de acessos a internet, em servidores proxies que utilizem o DansGuardian como filtro. Nesta primeira parte abordarei somente sua instalação e em um outro artigo um maior detalhamento de utilização.

[ Hits: 21.086 ]

Por: Gustavo Hendrigo Marcon em 31/01/2011


Premissas de instalação



Para o funcionamento da ferramenta desenvolvida, é necessário que estejam instalados e configurados os seguintes serviços:
  • sistema operacional Linux, neste estudo foi utilizada a distribuição GNU Debian 5.0, versão 32 bits;
  • servidor Apache com suporte a PHP 5, com seu serviço iniciado com um usuário com bash válido, e as permissões de execução e leitura nos diretório das páginas web, atribuídas ao usuário do Apache;
  • servidor proxy que utilize o DansGuardian, instalado e primariamente configurado;
  • aplicativos OpenSSH e Rsync instalados em ambos os servidores, no caso de os servidores web e proxy estarem em hardwares distintos;
  • download do fonte em: https://sourceforge.net/projects/phpdansadmin/

A utilização da ferramenta é apropriada pra quem utiliza uma topologia de rede, como mostra a figura 1:

Figura 1

Instalação e configuração do Apache e OpenSSH

A instalação do Apache 2 com suporte a PHP é bem simples: utilizando-se o gerenciador de pacotes apt do Debian executa-se o comando:

# apt-get install apache2 apache2-utils php5

Por padrão o diretório raiz do servidor web é /var/www, por esse motivo a página web do servidor "http://ipdoseuservidorweb/info.php" é na verdade o arquivo "/var/www/info.php". O diretório raiz é definido por meio de uma opção dentro do arquivo principal de configuração (a opção DocumentRoot) e pode ser alterado como desejado.

As modificações que deverão ser efetuadas para implantar o PhpDansAdmin são basicamente: alteração do usuário default do Apache para um usuário com bash válido e a alteração no DocumentRoot.

A primeira ação é adicionar um usuário para ser utilizado pelo Apache. como pode ser visto a seguir.

Adicionando usuário suporte:

# adduser suporte
Adicionando o usuário "suporte" ...
Adicionando novo grupo "suporte" (1002) ...
Adicionando novo usuário "suporte" (1002) ao grupo "suporte" ...
Criando diretório pessoal "/home/suporte" ...
Copiando arquivos de "/etc/skel" ...
Digite a nova senha UNIX:
Redigite a nova senha UNIX:
passwd: senha atualizada com sucesso.
Modificando as informações de usuário para suporte
Informe o novo valor ou pressione ENTER para aceitar o padrão
        Nome Completo []: suporte Apache
        Número da Sala []: 0
        Fone de Trabalho []: 0
        Fone Doméstico []: 0
        Outro []: 0
Esta informação está correta?[s/n] s


Com o usuário suporte criado, deve-se editar o arquivo /etc/apache2/envvars e alterar as variáveis de usuário e grupo do Apache como o exemplo abaixo:

# envvars - default environment variables for apache2ctl
# Since there is no sane way to get the parsed apache2
# config in scripts, some settings are defined via
# environment variables and then used in apache2ctl,
# /etc/init.d/apache2, /etc/logrotate.d/apache2, etc.
export APACHE_RUN_USER=suporte
#export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=suporte
#export APACHE_RUN_GROUP=www-data
export APACHE_PID_FILE=/var/run/apache2.pid

Com esta configuração o Apache será executado pelo usuário suporte, que após reinicialização poderá ser verificado, por exemplo, com o comando ps com as opções -aux.

No segundo passo, edita-se o arquivo /etc/apache2/sites-enabled/000-default alterando a tag DocumentRoot.

<VirtualHost *:80>
        ServerAdmin [email protected]
        DocumentRoot /home/suporte/phpdansadmin
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
       ...

OpenSSH

A instalação do OpenSSH é extremamente simples em um sistema GNU/Linux Debian e derivados. Para a instalação deve ser executado o comando:

# apt-get install ssh rsync

Junto com o OpenSSH instala-se também o Rsync, uma ferramenta que será necessária na sincronização de arquivos e que utiliza o ssh.

O OpenSSH será utilizado pela ferramenta desenvolvida neste trabalho para executar comando remotos e será a ponte de sincronização dos arquivos alterados do servidor proxy. Para cumprir seu papel, deve-se configurar uma conexão ssh chaveada entre os servidores web e o proxy.

    Próxima página

Páginas do artigo
   1. Premissas de instalação
   2. Instalação do PhpDansAdmin
Outros artigos deste autor

Configuração: Servidor de nomes slave com Bind9 no Debian 4.0

Bind9 + Debian Linux 4.0: Configuração de um servidor de nomes interno

Servidor proxy autenticado (Squid + DansGuardian + OpenLDAP)

DansGuardian versões 2.9.3.0 e superiores em Debian 5.01

Adicionando baterias automotivas extras em nobreaks

Leitura recomendada

Manual traduzido do Squid - Parte 3

Compilando o Squid e criando o pacote para Slackware

Squid autenticando com firewall x CNS e conexão segura da Caixa

Instalando Squid a partir do código fonte

Squid Plus com AD, redirector, controle de banda e relatórios

  
Comentários
[1] Comentário enviado por fs.schmidt em 31/01/2011 - 22:03h

Show de bola !!! Meus parabéns !!! Bom ter artigos deste nível aqui no VOL !!

[2] Comentário enviado por badriciobq em 01/02/2011 - 10:34h

Parabéns pelo programa kra, seu orientador já tinha me falado dele, achei bem interessante. Vou instalar numa VM aqui pra testar!

[3] Comentário enviado por baguncasp em 15/06/2011 - 16:51h

Primeiramente parabéns pelo sistema.

Gostaria só de tirar uma duvida. Fiz a instalação do Dansguardian no FreeBSD, ele o squid, apache, php estão tudo funcionando normalmente.

Fui colocar o o phpdansadmin para funcionar, e ao chegar na etapa de instalar no script install-ssh.sh, ele não executa.

Sei que a estrututura que foi montada o script foi para o Debian.

Agora vem a pergunta. Tem algum script para rodar ele em FreeBSD, ou sou eu mesmo que estou fazendo alguma coisa errada???

Vlw gente... desculpa alguma coisa esse é meu primeiro post.

[4] Comentário enviado por hendrigo em 16/06/2011 - 08:15h

Essa ferramenta é um protótipo e só fiz o teste dela no debian. Ainda precisa ser feitas muitas melhorias nela, estou sem tempo para trabalhar nela atualmente.
Att,
Gustavo Hendrigo.

[5] Comentário enviado por baguncasp em 16/06/2011 - 11:07h

Opa, obrigado pela resposta, e parabéns pelo serviço.

[6] Comentário enviado por masterboyx em 30/04/2012 - 20:00h

Boa noite Gustavo,


gostaria de saber se posso alterar essa interface para adaptar no meu firewall. Gostaria de saber se é Open, posso usar livremente ele.

Obrigado,

Gustavo Afonso Hito


Contribuir com comentário