Você está na página 1de 8

PROCEDIMENTO Conecta – Proxy –

Configurando um servidor Proxy Linux 001


Revisão – 01
Data 21/11/2008

Elaborado por: Rubrica: Aprovado por: Rubrica:

Jocyvan Castro

Arquivo: Página 1 de 8
\\conectasrv\Projetos\Manuais_procedimentos\procedimentos\Configurando
um servidor Proxy Linux.pdf
PROCEDIMENTO Conecta – Proxy –
Configurando um servidor Proxy Linux 001
Revisão – 01
Data 21/11/2008

Configurando um servidor Proxy com acesso a relatórios via Web.

Após a instalação do sistema Linux (Ubuntu/Debian) siga os procedimentos:

1. Configure suas placas de rede de acordo com a situação que se encontra, nesse
procedimento usaremos a seguinte, sendo eth0 a placa de rede Externa e a eth1 a
placa de rede Interna:

• Nome do servidor: srvteste


• Endereço DNS do servidor: exemplo.com.local

# vim /etc/network/interfeces

auto eth0
iface eth0 inet static
address 192.168.15.254
netmask 255.255.255.0
network 192.168.15.0
broadcast 192.168.15.255
gateway 192.168.15.1
dns-nameservers 192.168.220.254
auto eth1
iface eth1 inet static
address 192.168.220.254
netmask 255.255.255.0
network 192.168.220.0
broadcast 192.168.220.255
dns-nameservers 192.168.220.254

2. Configuração complementar para acessar a internet:

# vim /etc/resolv.conf

nameserver 192.168.15.1  # IP DNS se ouver mais de um DNS repita a linha.

3. Instale o seu servidor de protocolo DNS – BIND9:

# apt-get update

# apt-get install bind9

O arquivo principal de configuração do Bind9 é o named.conf adicione as seguintes


linhas antes da ultima linha:
Arquivo: Página 2 de 8
\\conectasrv\Projetos\Manuais_procedimentos\procedimentos\Configurando
um servidor Proxy Linux.pdf
PROCEDIMENTO Conecta – Proxy –
Configurando um servidor Proxy Linux 001
Revisão – 01
Data 21/11/2008

# vim /etc/bind/named.conf

## Minha zonas ##

zone "exemplo.com.local" { # Este será o seu endereço DNS


type master;
file "/etc/bind/db.exemplo.com.local"; # Este arquivo será criado manualmente
};

zone "db.123.168.192.in-addr.arpa" { # Este será o seu IP reverso.


type master;
file "/etc/bind/db.220.168.192"; # Este arquivo será criado manualmente
};
## Fim das zonas ##

Crie o arquivo “db.exemplo.com.local” no diretório /etc/bind:

# vim /etc/bind/db.exemplo.com.local

; BIND data file for local loopback interface


;
$TTL 604800
@ IN SOA srvteste.exemplo.com.local. root.exemplo.com.local. (
1         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL;

srvteste IN     A       192.168.220.254
www      IN     A       192.168.220.254
mail     IN     A       192.168.220.254

@        IN     MX 5    srvteste.exemplo.com.local. # o número 5 é default.
@        IN     NS      srvteste.exemplo.com.local.
@        IN     A       192.168.220.254

Crie o arquivo “db.220.168.192” no diretório /etc/bind:

# vim /etc/bind/db.220.168.192
; BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA srvteste.exemplo.com.local. root.exemplo.com.local. (
      1 ; Serial
 604800 ; Refresh
  86400 ; Retry
2419200 ; Expire
 604800 ) ; Negative Cache TTL;

@ IN NS srvteste.exemplo.com.local.
254 IN PTR srvteste.exemplo.com.local. # O número 254 é terminação do IP Server

Altere o resolv.conf novamente:


Arquivo: Página 3 de 8
\\conectasrv\Projetos\Manuais_procedimentos\procedimentos\Configurando
um servidor Proxy Linux.pdf
PROCEDIMENTO Conecta – Proxy –
Configurando um servidor Proxy Linux 001
Revisão – 01
Data 21/11/2008

# vim /etc/resolv.conf

search exemplo.com.local
nameserver 192.168.220.254

Certifique-se que mesmo depois de um restart na máquina a navegação ainda está ok

# reboot

4. Instale o Serviço DHCP:

# apt-get install dhcp3-server

O arquivo principal de configuração do DHCP é o dhcpd.conf, edite-o da seguinte forma:

# vim /etc/dhcp3/dhcpd.conf

ddns-update-style none;
default-lease-time 600;
max-lease-time 7200;
authoritative;
subnet 192.168.220.0 netmask 255.255.255.0 {
range 192.168.220.10 192.168.220.50;
option routers 192.168.220.254;
option domain-name "exemplo.com.local"; # Sufixo DNS
option domain­name­servers 192.168.220.254;
option broadcast­address 192.168.220.255;
}

Edite o arquivo dhcp3-server:

# vim /etc/default/dhcp3-server

Deite a linha:

INTERFACES=""

Ficando assim:

INTERFACES="eth1" # eth1 é sua rede interna

Edite o arquivo rc.local e adicione as seguintes linhas antes da ultima linha isso faz com
que suar estações naveguem na internet:

modprobe iptable_nat

echo 1 > /proc/sys/net/ipv4/ip_forward

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE


# eth0 é sua rede externa

Restarte o serviço dhcp e o rc.local:

# /etc/init.d/dhcp3-server restart
Arquivo: Página 4 de 8
\\conectasrv\Projetos\Manuais_procedimentos\procedimentos\Configurando
um servidor Proxy Linux.pdf
PROCEDIMENTO Conecta – Proxy –
Configurando um servidor Proxy Linux 001
Revisão – 01
Data 21/11/2008

# /etc/init.d/rc.local stop
# /etc/init.d/rc.local start

Certifique-se se as estações receberam IP e navegam, caso contrário reveja todos os


procedimentos antecedentes.

5. Instalando e configurando o serviço Proxy / Squid

# apt-get install squid

Altere o arquivo principal de configuração e crie um novo, afinal colocarei apenas as


principais linhas para o servidor Proxy funcionar como cache de internet normalmente:

# cd /etc/squid
# mv squid.conf squid.conf.bkp
# vim squid.conf

http_port 3128 transparent


visible_hostname svrteste
cache_mem 42 MB # se o servidor é somente cache, utilize 1/2 da RAM se não utilize 1/3
maximum_object_size_in_memory 128 KB # tamanho máximo de um objeto a armazenar na RAM.
maximum_object_size 512 MB # tamanho máximo de um objeto a armazenar no HD.
cache_dir ufs /var/spool/squid 4096 16 256 # onde serão armazenados os arquivos e o tamanho 
cache_access_log /var/log/squid/access.log disposto no HD para armazenamento dos objetos.
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl SSL_ports port 443 563
acl Safe_ports port 80 21 280 443 488 563 591 777 1025­65535
acl purge method PURGE
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access allow purge localhost
http_access deny purge
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
acl redelocal src 192.168.220.0/24 # IP da rede

## Linhas para bloqueio de ternos na URL dos sites visitados na rede ##

acl block url_regex ­i "/etc/squid/palavras.txt"
http_access deny block

## Fim das linhas de bloqueio por termos ##

http_access allow localhost
http_access allow redelocal
http_access deny all

Crie o arquivo palavras.txt no diretório “/etc/squid/”, que será o arquivo que irá conter
os termos a serem bloqueados.

# vim /etc/squid/palavras.txt

Exemplo a ser inserido no arquivo palavras.txt:

sexo
Arquivo: Página 5 de 8
\\conectasrv\Projetos\Manuais_procedimentos\procedimentos\Configurando
um servidor Proxy Linux.pdf
PROCEDIMENTO Conecta – Proxy –
Configurando um servidor Proxy Linux 001
Revisão – 01
Data 21/11/2008

ninfetas
astalavista
crack
playboy
orkut

Adicione a seguinte linha no arquivo rc.local antes da ultima linha, para que seu proxy
fique transparente (eth1 rede interna):

# vim /etc/rc.local

iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128

# /etc/init.d/rc.local stop
# /etc/init.d/rc.local start
# /etc/init.d/squid restart

Agora navegue em uma das estações e visualize o arquivo /var/log/squid/access.log, se


este arquivo estiver limpo o seu proxy não está funcionando normalmente (verifique os
passos anteriores), caso ele tenha algumas linhas, seu proxy está OK!

6. Instalando o Apache2

# vim apt-get install apache2

A instalação default irá supri nossa necessidade, então, agora não precisamos alterar
nem um arquivo de configuração do apache.

7. Instalando e configurando o Sarg (gerador de relatórios do squid)

# apt-get install sarg

O arquivo principal de configuração do Sarg é o sarg.conf, altere as seguintes linhas:

# vim /etc/squid/sarg.conf

language English # substitua o English por Portuguese (Opcional)

title "Relatorios Squid" # Título do relatório (Opcional)

output_dir /var/www/squid-reports # somente altere o “squid-reports” (Opcional)

date_format u # altere para “e” que é o formato Europeu Ex: dd/mm/aaaa (Opcional)

Para gerar o relatório de todos os sites acessados a partir do dia de instalação até a
presente data execute (não recomendado):

# sarg

Caso contrário queira gerar os relatórios somente do dia presente, crie o arquivo sarg-
dia.sh (Recomendado):

# vim /etc/squid/sarg-dia.sh

#!/bin/bash
Arquivo: Página 6 de 8
\\conectasrv\Projetos\Manuais_procedimentos\procedimentos\Configurando
um servidor Proxy Linux.pdf
PROCEDIMENTO Conecta – Proxy –
Configurando um servidor Proxy Linux 001
Revisão – 01
Data 21/11/2008

HOJE=$(date +%d/%m/%Y)
sarg ­f /etc/squid/sarg.conf ­d $HOJE­$HOJE
        exit 0

Para gerar os relatórios diários use o comando:

# /etc/squid/sarg-dia.sh

Após gerar os relatórios basta ir em qual quer navegador em qual quer máquina da rede
ou no próprio servidor e digitar HTTP://IP_DO_PROXY/squid-reports, Onde “squid-reports”
é a pasta default que está configurado no arquivo sarg.conf.

Para que os relatórios sejam gerados automaticamente utilize o arquivo crontab,


adicione a linha seguinte ao fim do arquivo:

# vim /etc/crontab

59 23 * * * root /etc/squid/sarg­dia.sh

Adicione a linha acima no fim do arquivo crontab, onde “59 23” é a hora que o comando
será executado 23:59, usuário: root, “/etc/squid/sarg-dia.sh” o comando a ser
executado.

8. Adicionando senha no Apache (Restrição de acesso aos relatórios)

Adicione as seguintes linhas no fim do arquivo de configuração do apache2


(/etc/apache2/apache2.conf):

# vim /etc/apache2/apache2.conf

<directory "/var/www/squid­reports/">

AllowOverride None

Options Indexes MultiViews

Order allow,deny

Allow from all

AuthType Basic

AuthName "Acesso Restrito: "

AuthUserFile "/var/www/squid­reports/.htpasswd"

Require valid­user 

</directory>

Atente para as linhas onde indica o diretório na pasta que vai passar a ser restrita
(no nosso caso “squid-reports”).

Arquivo: Página 7 de 8
\\conectasrv\Projetos\Manuais_procedimentos\procedimentos\Configurando
um servidor Proxy Linux.pdf
PROCEDIMENTO Conecta – Proxy –
Configurando um servidor Proxy Linux 001
Revisão – 01
Data 21/11/2008

Após adicionar as linha, rode este comando para adicionar o usuários que terão acesso
a pasta:

# htpasswd -c /var/www/squid-reports/.htpasswd conecta

Onde “conecta” é o nome do usuário e “/var/www/squid-reports/.htpasswd” é onde


será armazenado os usuários e as senhas.

Arquivo: Página 8 de 8
\\conectasrv\Projetos\Manuais_procedimentos\procedimentos\Configurando
um servidor Proxy Linux.pdf