domingo, 10 de fevereiro de 2013

Configurando Servidor Squid + DHCP (trabalhando as acl´s em cima de IP´s, sem autenticação!)

Ae pessoal, vou postar aqui uma configuração simples do Squid para trabalhar com bloqueios em cima de IP. Para isso vamos também configurar o serviço de DHCP.
Vamos criar uma regra que será utilizada no squid, definindo um range de ip onde a regra de bloqueio dos sites vão se aplicar as máquinas que pegarem estes ip´s.
Porém também vamos configurar no dhcpd.conf o mesmo range do squid, para que todos que se conectem a rede, pegue o IP do range, que por sua vez ja tem a politica de bloqueio definida.

Com o squid já instalado, vamos criar um novo arquivo squid.conf em branco e edita-lo.

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




Configuração do Squid.

http_port 3128

cache_mem 64 MB
maximum_object_size_in_memory 64 KB
maximum_object_size 512 MB
minimum_object_size 0 KB
cache_swap_low 90
cache_swap_high 95
cache_dir ufs /var/spool/squid 2048 16 256
cache_access_log /var/log/squid/access.log

refresh_pattern ^ftp: 15 20% 2280
refresh_pattern ^gopher: 15 0% 2280
refresh_pattern . 15 20% 2280

acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl SSL_ports port 443 563 1433 1434
acl Safe_ports port 21 80 443 563 70 210 280 488 59 777 901 1433 1434 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 all src 0/0
acl redelocal src 192.168.0.0/24
http_access allow localhost

acl usuarios_basicos src 192.168.1.110-192.168.1.120

acl liberados url_regex -i "/etc/squid/liberados"

acl bloqueados url_regex -i "/etc/squid/bloqueados"


acl download_files urlpath_regex  \.asf$ \.arj$ \.bzip$ \.ace$ \.iso$ \.adt$ \.cbt$ \.cla$ \.cmd$ \.com$ \.cpl$ \.csc$ \.dot$ \.drv$ \.lha$ \.lzh$ \.mso$ \.ov?$ \.pot$ \.shs$ \.sys$ \.mp3$ \.asf$ \.wma$ \.wmf$ \.ttf$ \.rar$ \.scr$ \.mpeg$ \.mpg$ \.wave$ \.wav$ \.zip$


http_access deny download_files
http_access allow liberados
http_access deny usuarios_basicos bloqueados
http_access allow all
:x

Após ter salvo o squid.conf, é necessário criar os arquivos "liberados" e "bloqueados" e claro colocar o conteúdo dentro.

Após ter criado os arquivo, vamos instalar o serviço de dhcp.

# apt-get install dhcpd

# cd /etc/dhcpd/
# mv dhcpd.conf dhcpd.conf_old

# vim dhcpd.conf


Editando o arquivo dhcpd.conf

ddns-update-style none;
default-lease-time 600;
max-lease-time 7200;
authoritative;

#Adapte a sua rede
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.110 192.168.1.120;
option routers 192.168.1.100;
option domain-name-servers 208.67.222.222,208.67.220.220;
option broadcast-address 192.168.1.255;
}

#maq com ip fixo
host PC-Teste {
hardware ethernet 08:00:27:76:4B:D3;
fixed-address 192.168.1.125;
}
:x (salva e fecha)

Certo com tudo configurado podemos rodar o restart no serviço do squid, e dhcp.

# /etc/init.d/isc-dhcp-server restart
# /etc/init.d/squid restart

Como podemos ver no final do arquivo de configuração do dhcp, existe uma regra definindo que uma determinada máquina pegue um determinado IP.
Definimos isso colocando o mac address da placa de rede e o IP, como colocamos um ip que não está no range configurado no squid, esta máquina não vai sofrer nenhum bloqueio, isso pode ser usado para que diretores ou pessoas importantes da empresa não tenham bloqueios da internet.
O bom de utilizar esse tipo de configuração é que os usuários não precisam se autenticar na rede. Lembrando que o squid não foi configurado como transparente, o que requer que coloquemos as configurações de proxy na mão, no navegador, caso queira configurar como transparennte, só é necessário acrescentar no squid.conf a palavra transparent a frente da porta 3128, e também configurar uma regra no IPTABLES para que todo trafego a porta 80 seja direcionado a 3128 a TAL IP, que é o IP do Servidor squid.

Bem, é isso ae pessoal, configurei esse Servidor essa semana em um cliente, e gostaria de compartilhar com vocês!!
Abraço!

Nenhum comentário:

Postar um comentário