1 Aula 08 Gerador de Relatórios Squid - SARG 8.1 Conceitos O Sarg (Squid Analysis Report Generator) é um dos mais populares e eficientes geradores de relatórios de acesso à internet para proxy Squid. Pode-se configurar o Sarg de forma rápida e totalmente funcional e ainda fazendo como que ele gere relatórios com nomes amigáveis (nome do usuário/máquina) ao invés do endereço IP. Instalando e configurando o Sarg # apt-get install update # apt-get install sarg 8.2 Configurando o SARG Após o processo de instalação, o principal arquivo de configuração denominado 'sarg.conf' poderá ser localizado no diretório: /etc/squid Localize-o e faça uma cópia do sarg.conf para sarg.conf.original: # cp /etc/squid/sarg.conf /etc/squid/sarg.conf.original Essa medida serve como efeito de backup, pois é sempre bom se ter o arquivo original em reserva para eventuais problemas que possam surgir. Agora deve-se editar o arquivo /etc/squid/sarg.conf: # touch /etc/squid/sarg.conf Edite o arquivo utilizando o seu editor de preferência (vim, pico, nano ou o editor gráfico gedit) e verifique o conteúdo abaixo: # TAG: Linguagem language Portuguese # TAG: Caminho para o arquivo Access.log access_log /etc/squid/access.log # TAG: Gráficos graphs yes graph_days_bytes_bar_color green # TAG: Título do Relatório title "[Relatório de Acessos a Internet]" # TAG: Visual font_face Arial header_color #666666
2 header_bgcolor #EEEEEE header_font_size 9px title_font_size 11px background_color #FFFFFF text_color #666666 text_bgcolor #FFFFFF title_color #009999 #logo_image none #logo_text "" #logo_text_color #000000 #image_size 80 45 #background_image none # TAG: Temporários temporary_dir /tmp # TAG: Diretório de Saída (Modifique de acordo com sua necessidade) output_dir /home/ftp/www/sarg # TAG: Top Users topuser_sort_field BYTES reverse user_sort_field BYTES reverse # TAG: URL Excluídas do Relatório exclude_hosts /etc/squid/sarg.hosts # TAG: Filtragem de Strings exclude_string /etc/squid/sarg.strings # TAG: Filtragem de Usuários exclude_users /etc/squid/sarg.users # TAG: Formato de Data date_format e # TAG: Limite de Logs [0 = Sem limites] lastlog 0 # TAG: Mostrar IP user_ip no
3 # TAG: Mostrar Usuário usertab /etc/squid/sarg.usertab # TAG: Gerando Relatório remove_temp_files yes index yes overwrite_report yes records_without_userid ignore use_comma no topsites_num 100 topsites_sort_order BYTES D exclude_codes /etc/squid/sarg.exclude_codes max_elapsed 28800000 report_typie topsites users_sites sites_users date_time denied auth_failures site_user_time_date long_url no show_successful_message no topuser_fields NUM DATE_TIME USERID CONNECT BYTES %BYTES IN-CACHE-OUT USED_TIME MILISEC %TIME TOTAL AVERAGE topuser_num 0 download_suffix "zip,arj,bzip,gz,ace,doc,iso,adt,bin,cab,com,dot,drv$,lha,lzh,mdb,mso,ppt,rtf,src,shs,sys,exe,dll,mp3,avi,mpg, mpeg" As TAGs a seguir indicam ao Sarg que nos relatórios gerados deverá aparecer, ao invés do endereço IP, o nome do usuário ou computador devidamente indicado pelo administrador. # TAG: Mostrar IP user_ip no # TAG: Mostrar Usuário usertab /etc/squid/sarg.usertab Logo após o arquivo criado e salvo, procure no diretório /etc/squid um arquivo denominado 'sarg.usertab', se ele não existir, pode-se criaá-lo. É nele que o administrador irá setar os IPs das máquinas e o nome equivalente as mesmas. O conteúdo a ser adicionado no mesmo é exemplificado abaixo, sendo alterado de acordo com rede do administrador. Exemplo: 192.168.0.2 aluno1 192.168.0.3 aluno2 192.168.0.4 aluno3 Esta é a forma correta do arquivo, qualquer outra forma, não dará o resultado esperado. OBS: Na ÚLTIMA LINHA do arquivo 'sarg.usertab' adicione o caractere '#' Como visto acima, é o 'sarg.usertab' que possibilita ao Sarg mostrar nomes amigáveis ao invés de
4 endereços IPs, fator muito útil em redes de grande porte e não menos importante em pequenas redes. 8.3 Gerando os relatórios Criaremos agora o script que irá orientar ao Sarg sobre o período que se deseja apresentar nos relatórios. Inicialmente devemos criar um arquivo dentro do diretório /etc/squid com o nome "sarg.sh": # touch sarg.sh Dar permissão: # chmod 755 sarg.sh Para gerar relatórios diários, o conteúdo deverá ser: INICIO=$(date --date "0 days ago" +%d/%m/%y) Para gerar relatórios semanais: INICIO=$(date --date "7 days ago" +%d/%m/%y) Para gerar relatórios mensais: INICIO=$(date --date "31 days ago" +%d/%m/%y) Agora deve-se agendar a tarefa de geração de relatórios do Squid usando o SARG: # crontab -e Para relatórios diários, inserir: 00 00 * * * root /etc/squid/sarg.sh Para relatórios semanais: 00 00 * * 5 root /etc/squid/sarg.sh Para relatórios mensais: 00 00 30 * * root /etc/squid/sarg.sh
5 8.4 Colocando senha no SARG A princípio é necessário saber quais são os diretórios que estão sendo acessados via web para exibição de cada relatório do SARG. O diretório padrão para o Sarg no Squid é: /var/www/squid-reports/ Colocando a senha para acesso aos relatórios SARG 1) Crie um arquivo ".htaccess" dentro da pasta "/var/www/squid-reports/dia/": # nano /var/www/squid-reports/dia/.htaccess 2) Coloque dentro do arquivo o seguinte conteúdo: AuthType Basic AuthName "Acesso restrito!" AuthUserFile /var/www/squid-reports/dia/.htpasswd require valid-user 3) Crie o usuário e senha para acesso à pasta, para nosso exemplo usaremos o nome de usuário "admin": # htpasswd -c /var/www/html/squid-report/dia/.htpasswd admin Observação: Após digitar o comando acima, será solicitado a senha para acesso, mencione-a cuidadosamente para não errar e em seguida redigite-a confirmando.