Sarg com autenticação

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

[ Hits: 15.067 ]

 


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

The Code Linux

APT-GET: Resolvendo problemas com chave pública

Script em Python - Verificando se um site está infectado

Prompt colorido no Xubuntu 9.04

Coisas para fazer após instalar Fedora 16

  

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