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: 20.482 ]

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 webmaster@localhost
        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

Adicionando baterias automotivas extras em nobreaks

DansGuardian versões 2.9.3.0 e superiores em Debian 5.01

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

Servidor proxy autenticado (Squid + DansGuardian + OpenLDAP)

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

Leitura recomendada

Squid 3.1.5 com suporte a TPROXY (sem bridge)

Controlando acesso às páginas do Apache na rede interna

Administrando usuários do Squid via web como o Admuser

SQUID e as autenticações em NTLM e RADIUS

Instalando e configurando o Squid no Slackware

  
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




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts