Squid 3.4.8 + SSL + Firewall + DNS + DHCP no Debian Jessie (v.8)
Este artigo é resultado de semanas em testes e o servidor está em perfeito funcionamento, gerenciando uma estrutura de Ti bastante exigente, que precisa de flexibilidade nas regras de acesso à internet e alta segurança. Ficou longo, porém, tentamos explicar detalhadamente todos os passos para que não haja erro. Foi usado Debian 8 (Jessie), mas funciona em qualquer distribuição derivada do Debian, testamos em máquinas reais com Ubuntu e Mint. Simples: LEIA!
[ Hits: 68.872 ]
Por: Riccelli Reis de Oliveira em 07/03/2016
127.0.0.1 localhost.servidor.com localhost
192.168.0.1 servidor.servidor.com servidor
192.168.0.1 ns1.servidor.com ns1
127.0.1.1 servidor.servidor.com servidor
127.0.1.1 ns1.servidor.com ns1
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
#!/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
### BEGIN INIT INFO
# Provides: firewall
# Required-Start: $local_fs $remote_fs $network $syslog
# Required-Stop: $local_fs $remote_fs $network $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start Firewall at boot time
# Description: Enable service provided by Firewall Daemon.
### END INIT INFO
export TX="echo -e"
default(){
$TX ""
$TX ">>>>>>>>>>>>>>>>>> Iniciando Script de Firewall <<<<<<<<<<<<<<<<<< \n"
$TX "Exportar Variaveis................................................"
export IFNET=eth0
export IFLOC=eth1
export MP=/sbin/modprobe
export RMM="$(which rmmod)"
export IPT=/sbin/iptables
export SVC=/etc/init.d
export IP4=/proc/sys/net/ipv4
export IP4C=/proc/sys/net/ipv4/conf
export NETW=192.168.0.0/24
$TX ".................................................................. OK \n"
}
start() {
echo "Definir politicas padrao........................................."
$IPT -P INPUT DROP
$IPT -P FORWARD DROP
$IPT -P OUTPUT DROP
$TX ".................................................................. OK \n"
$TX "Desbloquear RP_Filter............................................."
if [ -e $IP4C/all/rp_filter ]; then
for f in $IP4C/*/rp_filter; do
$TX "0" > $f
done
fi
$TX ".................................................................. OK \n"
$TX "Bloquear tudo que for desnecessário............................"
$IPT -p tcp --dport 3128 -j DROP
$IPT -A INPUT -m iprange --src-range 192.168.1.1-192.168.255.254 -j DROP
$TX ".................................................................. OK \n"
$TX "Direcionar para Proxy-Cache......................................."
$IPT -t nat -A PREROUTING -i $IFLOC -s $NETW -p tcp --dport 80 -j REDIRECT --to-port 3180
$IPT -t nat -A PREROUTING -i $IFLOC -s $NETW -p tcp --dport 443 -j REDIRECT --to-port 31443
$TX ".................................................................. OK \n"
$TX "Compartilhar conexao.............................................."
$IPT -t nat -A POSTROUTING -o $IFNET -j MASQUERADE
if [ -e $IP4/ip_forward ]; then
$TX "1" > $IP4/ip_forward
else
$TX "Erro ao habilitar Forward!! Falha Grave no sistema................"
fi
$IPT -A FORWARD -s $NETW -j ACCEPT
$IPT -A FORWARD -d $NETW -j ACCEPT
$TX ".................................................................. OK \n"
$TX "Permitir Trafegos de entrada e Saida......................................"
$IPT -A INPUT -i lo -j ACCEPT
$IPT -A INPUT -s $NETW -j ACCEPT
$IPT -P OUTPUT -j ACCEPT
$TX ".................................................................. OK \n"
$TX " "
$TX ">>>>>>>>>>>>>>>>>>>>>> Firewall Iniciado!! <<<<<<<<<<<<<<<<<<<<<< \n"
}
stop(){
$TX "Limpar todas as regras de firewall..............................."
export IPT=/sbin/iptables
export SVC=/etc/init.d
$IPT -X
$IPT -F
# Zerar contadores
$IPT -Z
# Definir politicas padrao
$IPT -P INPUT DROP
$IPT -P FORWARD DROP
$IPT -P OUTPUT DROP
$TX ".................................................................. OK \n"
$TX "Desfazer Compartilhamento........................................."
# Desativar trafego entre as placas de rede
$TX 0 > $IP4/ip_forward
# Ativar rp_filter
if [ -e $IP4C/all/rp_filter ]; then
for f in $IP4C/*/rp_filter; do
$TX "1" > $f
done
# Reiniciar servico de rede
$SVC/networking restart
fi
$TX ".................................................................. OK \n"
$TX ">>>>>>>>>>>>>>>>>>>>>> Firewall Parado!!! <<<<<<<<<<<<<<<<<<<<<< \n"
}
case "$1" in
inicio) while true; do
default
break
done
;;
start) while true; do
default
start
break
done
;;
stop) while true; do
stop
break
done
;;
restart) while true; do
stop
default
start
break
done
;;
esac
exit 0
Chain PREROUTING (policy ACCEPT) target prot opt source destination Chain INPUT (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination Chain POSTROUTING (policy ACCEPT) target prot opt source destination # iptables -t nat -L Chain PREROUTING (policy ACCEPT) target prot opt source destination REDIRECT tcp -- anywhere anywhere tcp dpt:http redir ports 3180 REDIRECT tcp -- anywhere anywhere tcp dpt:https redir ports 31443 Chain INPUT (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination Chain POSTROUTING (policy ACCEPT) target prot opt source destination
Squid3 com bloqueio HTTPS [que realmente funciona] - Versão 3.5.22
Instalação do Squid com autenticação NTLM e Kerberos
Liberando vídeos específicos do YouTube com e2guardian + Squid utilizando interceptação SSL
Squid Plus com AD, redirector, controle de banda e relatórios
Autenticando usuários do Squid em um banco de dados MySQL
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
Como usar Gpaste no ambiente Cinnamon
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
VOL já não é mais como antes? (9)
É normal não gostar de KDE? (13)
E aí? O Warsaw já está funcionando no Debian 13? [RESOLVIDO] (15)
Secure boot, artigo interessante, nada técnico. (4)
copiar library para diretorio /usr/share/..... su com Falha na a... (1)









