Enviado em 15/05/2014 - 14:27h
Pessoal, boa tarde
#!/bin/sh
echo -e "\n Carregando rc.firewall...\n"
LSMOD=/sbin/lsmod
DEPMOD=/sbin/depmod
MODPROBE=/sbin/modprobe
INSMOD=/sbin/insmod
GREP=/bin/grep
AWK=/bin/awk
SED=/bin/sed
CUT=/bin/cut
IFCONFIG=/sbin/ifconfig
IPTABLES=/sbin/iptables
UNIVERSE="0.0.0.0/0"
EXTIF0="p4p1" #mesma coisa que eth0, que e' conectado no roteador
IPEXTIF0=192.168.1.49 #192.168.30.2
INTNET0=192.168.50.0/24
INTIF0="em1" #mesma coisa que eth1
INTNET1=192.168.51.0/24
INTIF1="em1.2"
echo -en "Carregando modulos: \n"
echo "\n Carregando e verificando se os modulos do kernel estao ok... \n"
$DEPMOD -a
echo "\n Habilitando forwarding...\n"
echo 1 > /proc/sys/net/ipv4/ip_forward
echo "\n Limpando as regras existentes e configurando a politica default para drop...\n"
$IPTABLES -P INPUT DROP
$IPTABLES -F INPUT
$IPTABLES -P OUTPUT DROP
$IPTABLES -F OUTPUT
$IPTABLES -P FORWARD DROP
$IPTABLES -F FORWARD
$IPTABLES -F -t nat
# Esvazia a drop-it chain... se ela existe.
if [ -n "`$IPTABLES -L | $GREP drop-it`" ]; then
$IPTABLES -F drop-it
fi
# Remove todas as chains definidas pelos usuarios.
$IPTABLES -X
#
# Zera todos os contadores do IPTABLES.
$IPTABLES -Z
echo "\n Protecao contra Ping of dead...\n"
$IPTABLES -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
echo "\n Criando um DROP chain...\n"
$IPTABLES -N drop-it
$IPTABLES -A drop-it -j LOG --log-level info
$IPTABLES -A drop-it -j REJECT
echo "\n Carregando regras INPUT...\n"
# A interfaces loopback é valida.
#
$IPTABLES -A INPUT -i lo -j ACCEPT
$IPTABLES -A INPUT -p tcp --dport 20022 -j ACCEPT #ssh
$IPTABLES -A INPUT -p tcp --dport 10000 -j ACCEPT #webmin
$IPTABLES -A INPUT -p tcp --dport 901 -j ACCEPT #swat(samba)
#portas Squid
$IPTABLES -A INPUT -i $INTIF0 -p tcp --dport 3128 -j ACCEPT
#portas para o Samba
$IPTABLES -A INPUT -p udp --dport 137 -j ACCEPT
$IPTABLES -A INPUT -p udp --dport 138 -j ACCEPT
$IPTABLES -A INPUT -p tcp --dport 139 -j ACCEPT
#Permitindo acesso interno ao srvadmin da dell
$IPTABLES -A INPUT -i $INTIF0 -p tcp --dport 1311 -j ACCEPT
$IPTABLES -A INPUT -i $INTIF1 -p tcp --dport 1311 -j ACCEPT
$IPTABLES -A INPUT -i $INTIF0 -p tcp --dport 3128 -j ACCEPT
$IPTABLES -A INPUT -i $INTIF0 -p tcp --dport 3129 -j ACCEPT
$IPTABLES -A INPUT -i $INTIF1 -p tcp --dport 3128 -j ACCEPT
$IPTABLES -A INPUT -i $INTIF1 -p tcp --dport 3129 -j ACCEPT
# Permite algum trafego relacionado retornando para o servidor.
$IPTABLES -A INPUT -s $UNIVERSE -m state --state ESTABLISHED,RELATED -j ACCEPT
# Todas as regras nao explicitas e todas as outras entradas
# sao negadas e registradas no log.
#
$IPTABLES -A INPUT -j drop-it
echo "\n Carregando regras OUTPUT...\n"
# A interface loopback é valida.
#
$IPTABLES -A OUTPUT -o lo -j ACCEPT
# Qualquer pacote saindo da interface externa para algum lugar e valido.
#
$IPTABLES -A OUTPUT -o $EXTIF0 -j ACCEPT
$IPTABLES -A OUTPUT -o $INTIF0 -j ACCEPT
$IPTABLES -A OUTPUT -o $INTIF1 -j ACCEPT
# Todas as regras nao explicitas e todas as outras saidas
# sao negadas e registradas no log.
#
$IPTABLES -A OUTPUT -j drop-it
echo "\n Carregando regras FORWARD...\n"
$IPTABLES -A FORWARD -i $INTIF0 -o $EXTIF0 -s $INTNET0 -j ACCEPT
$IPTABLES -A FORWARD -i $INTIF1 -o $EXTIF0 -s $INTNET1 -j ACCEPT
$IPTABLES -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
$IPTABLES -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
$IPTABLES -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
$IPTABLES -t nat -A POSTROUTING -s 192.168.51.0/24 -o $EXTIF0 -j MASQUERADE
#Usado para libera a conexão da rede interna em1
$IPTABLES -t nat -A POSTROUTING -o $EXTIF0 -j MASQUERADE
$IPTABLES -t nat -A POSTROUTING -s 192.168.50.0/24 -j MASQUERADE
#roteamento para a VLAN geral em1.2
$IPTABLES -t nat -A POSTROUTING -s 192.168.51.0/24 -j MASQUERADE
#bloquear de um rede para a outra
$IPTABLES -A FORWARD -s 192.168.50.0/24 -d 192.168.51.0/24 -j DROP
$IPTABLES -A FORWARD -s 192.168.51.0/24 -d 192.168.50.0/24 -j DROP
#liberar para o servidor de uma vlan para outra somente a conexão do servidor
$IPTABLES -A FORWARD -s 192.168.50.0/24 -d 192.168.50.1 -j ACCEPT
$IPTABLES -A FORWARD -s 192.168.51.0/24 -d 192.168.51.1 -j ACCEPT
#Roteamento para o squid
$IPTABLES -t nat -A PREROUTING -i $INTIF0 -p tcp --dport 80 -j REDIRECT --to-port 3129
#
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
echo "\n Protecao contra Ping of dead...\n"
$IPTABLES -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
$IPTABLES -A FORWARD -p icmp --icmp-type echo-reply -m limit --limit 1/s -j ACCEPT
# Todas as regras nao explicitas e todos os outros direcionamentos ( forwards )
# sao negados e registradas no log.
$IPTABLES -A FORWARD -j drop-it
#### Regras NAT
echo "\n Carregando regras NAT...\n"
#
# Recommended minimum configuration:
#
acl manager proto cache_object
acl localhost src 127.0.0.1/32 ::1
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1
acl redeCV src 192.168.50.0/24
acl redeGeral src 192.168.51.0/24
acl SSL_ports port 443 563 3128
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl Safe_ports port 901 # swat
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access deny to_localhost
#
http_access allow redeCV
http_access allow redeGeral
acl block_redes_sociais dstdomain "/etc/squid/block/redes_sociais"
http_access allow redeCV !block_redes_sociais
acl block_palavras url_regex -i "/etc/squid/block/palavras"
http_access deny block_redes_sociais
http_access deny block_palavras
http_access allow localhost
http_access deny all
#configuracoes gerais
http_port 3128
http_port 3129 intercept
visible_hostname srv_proxy
cache_mgr webmaster
error_directory /usr/share/squid/errors/pt-br
hosts_file /etc/hosts
dns_nameservers 8.8.8.8 8.8.8.4
hierarchy_stoplist cgi-bin ?
cache_mem 256 MB
maximum_object_size_in_memory 128 KB
cache_dir ufs /var/spool/squid 2040 16 256
coredump_dir /var/spool/squid
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320
maximum_object_size 200 MB
.facebook.com*
orkut
xxx
sexo
warez
torrent
[*****]
sex[^t]
Agora temos uma assistente virtual no fórum!!! (246)
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Flatpak: remover runtimes não usados e pacotes
Mudar o gerenciador de login (GDM para SDDM e vice-versa) - parte 2
Como eu faço para ativar o sistema de gestos do mousepad? (4)
NGNIX - Aplicar SNAT para evitar roteamento assimetrico (13)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta