Sarg com autenticação

Publicado por Celso Aristides Rodrigues de Oliveira em 03/05/2010

[ Hits: 15.068 ]

 


Sarg com autenticação



Galera, nessa primeira etapa instalaremos o SARG, suponho que você já tenha instalado o Squid e que o mesmo esteja configurado e rodando.

Vamos ao primeiro comando:

# apt-get install sarg apache2

Aguarde a sua instalação.

Não abordarei as configurações contidas em /etc/squid/sarg.conf, pois a intenção aqui e colocar usuário e senha no mesmo.

Sarg e Apache instalados, vamos as configurações!

Para nossa segurança vamos colocar o arquivo que fará a autenticação no /etc/apache2/.htpasswd, para isso vamos criar o arquivo:

# touch /etc/apache2/.htpasswd

Vamos criar um usuário qualquer:

# htpasswd /etc/apache2/.htpasswd nome_usuário_qualquer

Ele pedirá a senha 2 vezes, feito isso já temos o usuário para autenticação do SARG.

Configuração do Apache2

Vamos criar um link do arquivo default:

# ln -s /etc/apache2/sites-available/default /etc/apache2/sites-enabled/000-default

Pronto, vamos abrir o link simbólico que criamos:

# vim /etc/apache2/sites-enabled/000-default

O mesmo estará assim:

<VirtualHost *:80>
   ServerAdmin webmaster@localhost
  
   DocumentRoot /var/www/
   <Directory />
      Options FollowSymLinks
      AllowOverride None
   </Directory>
   <Directory /var/www/>
   Options Indexes FollowSymLinks MultiViews
      AllowOverride None
      Order allow,deny
      allow from all

   </Directory>

   ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
   <Directory "/usr/lib/cgi-bin">
      AllowOverride None
      Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
      Order allow,deny
      Allow from all
   </Directory>

   ErrorLog /var/log/apache2/error.log

   # Possible values include: debug, info, notice, warn, error, crit,
   # alert, emerg.
   LogLevel warn

   CustomLog /var/log/apache2/access.log combined

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>

</VirtualHost>

Agora com a autenticação na pasta squid-reports, que é a responsável por guardar os logs do Squid para o sarg:

<VirtualHost *:80>
   ServerAdmin webmaster@localhost
  
   DocumentRoot /var/www/
   <Directory />
      Options FollowSymLinks
      AllowOverride None
   </Directory>
   <Directory /var/www/>
   Options Indexes FollowSymLinks MultiViews
      AllowOverride None
      Order allow,deny
      allow from all

   </Directory>

   ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
   <Directory "/usr/lib/cgi-bin">
      AllowOverride None
      Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
      Order allow,deny
      Allow from all
   </Directory>

   ErrorLog /var/log/apache2/error.log

   # Possible values include: debug, info, notice, warn, error, crit,
   # alert, emerg.
   LogLevel warn

   CustomLog /var/log/apache2/access.log combined

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>

     <Location /squid-reports/> # Local a ser protegido por usuário e senha
        AuthType Basic # Tipo de autenticação
        AuthName "Aracatuba Turbo Diesel LTDA." # Nome qualquer que aparecerá na tela de login  
        AuthUserFile /etc/apache2/.htpasswd # onde esta o arquivo com os usuários cadastrados
        Require valid-user # Requer Validação do Usuario
    </Location>

</VirtualHost>

Pronto, reinicie o Apache:

# /etc/init.d/apache2 restart

Acesse agora http://seu_ip/squid-reports e veja a autenticação.

Galera, tenho a agradecer a Deus primeiramente e segundo ao meu professor de Linux Tiago H. Pires.

Outras dicas deste autor
Nenhuma dica encontrada.
Leitura recomendada

Instalação da placa Broadcom BCM4312 no Debian Squeeze

Ubuntu ou outra distribuição GNU/Linux é a melhor para inclusão digital

Aumentando a segurança do seu servidor SSH

Como mudar o /home para uma nova partição

Aprenda Linux sem gastar nada, inclusive LPI

  

Comentários
[1] Comentário enviado por luizvieira em 04/05/2010 - 09:12h

Bem interessante!
O SARG é uma ferramenta que auxilia e muito no gerenciamento de informações geradas pelo Squid.
[ ]'s

[2] Comentário enviado por edisonsousa em 04/05/2010 - 15:58h

Realmente muito boa essa dica, agora me perdoem mas qual a finalidade de se querer autenticação pelo sarg ??

[3] Comentário enviado por celso_linuxer em 04/05/2010 - 22:53h

Muito Simples meu caro amigo edisonsousa
Ex:
Seu patrão pede pra vc levantar um relatorio de acessos vc usara o sarg certo????
daí vc passa pro patrão o seguinte link para acessar o sarg http://localhost/squid-reports
Ai um grande sabichao sabe o link do sarg e verifica o relatorio de todo mundo e sai falando dentro da empresa o que vc vai fazer o que vc vai explicar.
Amigo segurança é tudo.

Por issu o sarg deve ter autenticaçao seje onde for.
Falowsss

[4] Comentário enviado por edisonsousa em 05/05/2010 - 08:46h

Perfeito, muito obrigado pelo esclarecimento, autenticação sempre !!!!

[5] Comentário enviado por guilherme.leite em 30/06/2010 - 11:32h

Mt bom o artigo!

Mas aqui deu um erro



Restarting web server: apache2Syntax error on line 43 of /etc/apache2/sites-enabled/000-default:
AuthType takes one argument, An HTTP authorization type (e.g., "Basic")
failed!


[6] Comentário enviado por guilherme.leite em 30/06/2010 - 11:35h

OPa!

Arrumei.

Tinha um "." que não tinha visto



[7] Comentário enviado por dvdalencar em 08/11/2010 - 11:22h

Estou com o mesmo Problema do guilherme.leite

Porém não consegui resolver.

Olha o erro:

Restarting web server: apache2Syntax error on line 42 of /etc/apache2/sites-enabled/000-default:
AuthType takes one argument, An HTTP authorization type (e.g., "Basic")
failed!


As ultimas linhas do texto editado foram estas:

<Location /squid-reports/> # Local a ser protegido por usuário e senha
42 AuthType Basic # Tipo de autenticação
43 AuthName "Relatorio de Acesso Internet Transkuba" # Nome qualquer qu e aparecerá na tela de login
44 AuthUserFile /etc/apache2/.htpasswd # onde esta o arquivo com usuári os cadastrados
45 Require valid-user # Requer Validação do Usuario
46 </Location>
47 </VirtualHost>



[8] Comentário enviado por dvdalencar em 08/11/2010 - 11:33h

Ai Pessoal!!

Resolvi digitar tudo em vez de copiar e colar.

Funcionou.

Vlw Celso!!!

[9] Comentário enviado por Scriptman em 11/02/2011 - 16:58h

Olá Pessoal,
Por favor, como faço para remover diretivas de um diretório "fílho"?

Exemplificando:
AliasMatch ^/blogs(.*)$ /var/www/blogs$1

<DirectoryMatch "^/var/www/blogs">
Options Indexes MultiViews FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
AuthType Basic
AuthName "Exemplo"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user
</DirectoryMatch>

Como faço para que qualquer requisição que tente acessar algo do tipo "^/var/www/blogs.*/feed" não precise de autenticação?
<DirectoryMatch "^/var/www/blogs.*/feed">
Options Indexes MultiViews FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
AuthType Basic # o AuthType não suporta none, o que posso colocar aqui?
</DirectoryMatch>

Ótimo post!
Abraço!

[10] Comentário enviado por aioriaman em 22/02/2012 - 01:24h

Cara, me ajudou muito... Na vdd o primeiro que funcionou cmg ¬¬

Mas é isso ae, vlew msm!



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts