Administração - Controle de Acessos

Squid gerenciável via WEB, com as seguintes funcionalidades: regras de bloqueio por IPs, regras de bloqueio por domínio, acesso total para determinados IPs, cache em disco e memória, controle de banda e proxy transparente.

[ Hits: 19.377 ]

Por: José Rodrigues Filho em 07/11/2014


PHP / Consumo



Obtendo o script PHP e configurando

Edite o arquivo abaixo:

sudo su

# visudo -f /etc/sudoers

Adicione essa linha no fim do arquivo:

www-data ALL=NOPASSWD: ALL

Salve o arquivo: CTRL+o, Enter e Ctrl+x.

Saia do root:

# exit

wget https://master-dl.sourceforge.net/project/manutencao-jrf/Ubuntu-10.04/manutencao.tar.bz2
sudo tar -jxvf manutencao.tar.bz2 -C /var/www/

Alterando usuário e senha

Para não deixarmos qualquer pessoa alterar as configurações, criamos um simples sistema de login, então, mude de acordo com suas configurações. Por padrão, eu deixei usuário user e senha 1234.

Edite o arquivo:

cd /var/www/manutencao
sudo vim valida_login.php

Altere a linha 17, colocando seu usuário e senha para ter acesso.

sudo chmod +x backup_dhcp.sh
sudo chmod +x backup.sh
sudo chmod +x restart.sh
sudo chmod +x turn_off.sh
sudo chmod 777 backup_dhcp.sh
sudo chmod 777 backup.sh
sudo chmod 777 restart.sh
sudo chmod 777 turn_off.sh

Coloque o e-mail onde vai ser enviado o backup:

sudo vim backup.sh

Permissão para poder alterar o arquivo, via PHP:

sudo chmod 777 /etc/dhcp3/dhcpd.conf

Pronto!

Acesse pelo browser: http://192.168.1.1/manutencao
Linux: Administração - Controle de Acessos

sudo vim /etc/rc.local

# Log geral
echo Houve uma queda inesperada de energia no dia: `date +%d%b%Y-%H:%M:%S` >> /var/www/manutencao/logs/geral
# Log de energia
echo Houve uma queda inesperada de energia no dia: `date +%d%b%Y-%H:%M:%S` > /var/www/manutencao/logs/energia

Consumo

sudo vim /etc/sarg_email.sh

Cole o conteúdo abaixo:

#!/bin/bash

#Roda o Sarg para gerar os relatórios
sarg

#Substitui as linhas para criação do arquivo report em /tmp
#Esta linha causa um erro e cria o report em tmp.
sed 's/#output_email mailx|mail/output_email mailx|mail/g' -i /etc/sarg/sarg.conf

#Faz uma pausa
sleep 2
#Roda o Sarg novamente, para gerar o arquivo report.
sarg

#Muda o locale para o formato do Sarg ex: **mai para **may
LANG=en_US.utf-8

#Cria uma pasta com o dia de hoje.
mkdir /var/www/consumo/`date +%d%b%Y`

#Copia o arquivo para gerar o PDF com o consumo
cp /tmp/sarg/`date +%d%b%Y-%d%b%Y`/report /var/www/consumo/`date +%d%b%Y`

# Alternativa caso o comando acima não funcione, comentar a linha acima.
#find /tmp/sarg/ -name 'report*' -exec cp -v {} /var/www/consumo/`date +%d%b%Y` \;

cp /var/www/consumo/`date +%d%b%Y`/report /var/www/consumo

#Entra na pasta para gerar o PDF para envio.
cd /var/www/consumo

#Converte o report para PDF
enscript report -o `date +%d%b%Y`.ps | ps2pdf `date +%d%b%Y`.ps

#Faz uma pausa
sleep 2

# Envia o consumo de internet dos IPs e anexa o mesmo em PDF.
mutt -c seu-e-mail@gmail.com -i /var/www/consumo/report -s "Consumo diario - Home Office" -a /var/www/consumo/`date +%d%b%Y`.pdf -- seu-e-mail@outlook.com < /dev/null

#Faz uma pausa
sleep 2

#Substitui as linhas modificadas e volta arquivo do sarg original, case rode o sarg manualmente.
sed 's/output_email mailx|mail/#output_email mailx|mail/g' -i /etc/sarg/sarg.conf

#Remove o rash do arquivo .ps na pasta de consumo.
rm `date +%d%b%Y`.ps

#Faz uma pausa
sleep 20

#Move o PDF para a pasta do dia corrente
mv `date +%d%b%Y`.pdf `date +%d%b%Y`

#Faz uma pausa
sleep 10

#Move o pasta do dia corrente com o report e o PDF gerado para uma futura auditoria, na pasta pdfs.
mv `date +%d%b%Y` pdfs

#Faz uma pausa
sleep 3

#Copia o index para exibir os arquivos no navegador.
cp pdfs/index.php pdfs/`date +%d%b%Y`

Salve o arquivo e edite o crontab; mas antes, torne-o executável:

sudo chmod +x /etc/sarg_email.sh
sudo vim /etc/crontab

# envia o e-mail às 19:30 (Horário que não haja funcionamento)
30 19 * * * root cd /etc/ && ./sarg_email.sh

sudo chmod 777 /etc/sarg_email.sh
sudo chmod +x /etc/sarg_email.sh

Para envio de e-mail, faça:

sudo apt-get install mutt
  • Na mensagem da tela faça: OK
  • Depois: SITE DE INTERNET
  • Agora: seu-e-mail@gmail.com

Outras aplicações que talvez sejam necessárias para o funcionamento correto:

sudo apt-get install urlview muttprint muttprint-manual mutt-patched w3m enscript

Configurando:

sudo vim ~/.muttrc

#
set from = "seu-e-mail@gmail.com"
set realname = "Nome da Empresa"
#
set imap_user = "seu-e-mail@gmail.com"
set imap_pass = "senha"
#
set folder = "imaps://imap.gmail.com:993"
set spoolfile = "+INBOX"
set postponed ="+[Gmail]/Drafts"
set trash = "imaps://imap.gmail.com/[Gmail]/Trash"
#
set header_cache =~/.mutt/cache/headers
set message_cachedir =~/.mutt/cache/bodies
set certificate_file =~/.mutt/certificates
#
set smtp_url = "smtp://seu-e-mail@smtp.gmail.com:587/"
set smtp_pass = "senha"
#

Agora, crie as duas pastas:

sudo mkdir .mutt
sudo mkdir .mutt/cache
sudo su

Repita os passos acima como root (extremamente necessário para envio de e-mails.)

O resultado final vai ser este:
Linux: Administração - Controle de Acessos

O arquivo também vai ser enviado por e-mail.

Página anterior     Próxima página

Páginas do artigo
   1. Configurações iniciais
   2. Firewall / Squid / Sarg
   3. PHP / Consumo
   4. Samba / ownCloud
   5. Log com IP, data e hora de acesso
Outros artigos deste autor

FTP com autenticação LDAP

Recebendo relatório do SARG via e-mail (Gmail)

Servidor Ubuntu 8.04 com proxy autenticado + SARG + Samba + CUPS

Administrando Squid pelo browser, bloquear e liberar máquinas por IP, login, palavras

CUPS + Jasmine Ubuntu Server 10.04 LTS (gerenciador de impressões e relatórios de impressão)

Leitura recomendada

DNS e DNS reverso rapidamente no Linux

Montar MP3 e pendrives USB automaticamente com Hotplug

Bacula no Debian Lenny

Fontes True Type no Slackware (sem xfstt e ttmkfdir)

Slax no pendrive - é viável e também útil

  
Comentários
[1] Comentário enviado por leo4b em 07/11/2014 - 10:53h

Esse PHP ficou muito bom, bem simples, muito facil para o usuário comum. Parabén, ótimo artigo e ótimo php.

[2] Comentário enviado por telmosports em 09/11/2014 - 00:05h

Ola excelente material...tenho uma pergunta para o sr. E possível bloquear https por url nesse seu tutorial se sim poderia postar uma tela.....

Att telmosports

[3] Comentário enviado por buckminster em 28/11/2014 - 11:52h

Muito bom. Meus parabéns.
Dei uma boa lida, ainda não implementei, mas pretendo fazer.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts