Navegar sem firewall em uma rede local [RESOLVIDO]

1. Navegar sem firewall em uma rede local [RESOLVIDO]

Helton Barbosa Santos Ferreira
HeltonBarbosa

(usa FreeBSD)

Enviado em 19/11/2009 - 16:52h

Boa tarde, aqui na empresa eu uso um firewall pra rede local acessar a rede externa. Porém existe um site que todos da rede local precisa acessar, mas ele me retorna o seguinte erro:
Erro HTTP 401.2 - Não autorizado: acesso negado devido à configuração do servidor.
Já me disseram que eu tenho de criar uma regra no iptables para que toda vez que alguém da rede local for acessar somente esse site desejado (http://conexao.eadcon.com.br), que seja feito por fora do firewall. Por exemplo, todos os sites para serem acessados devem passar pelo firewall, mas ao acessar o site (http://conexao.eadcon.com.br) não deve passar pelo firewall.
Tem como xriar essa regra? E se tem, como posso fazer. Uso o Slack com firewall iptables.
Desde já agradeço pela ajuda!!!


  


2. MELHOR RESPOSTA

Genesco Sousa
gesousa

(usa Ubuntu)

Enviado em 19/11/2009 - 19:24h

como eu perguntei vc está utilizando o proxy transparente ..

nesta regra vc fala que todo o trafego deve ser transferido para o squid

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

ou seja a menos que vc modifique aqui, nao adianta outras regras ...

um jeito facil e criar uma exceção para o ip do site nesta regra:

iptables -t nat -A PREROUTING -i $IF_INTERNA -d ! ip_site -p tcp --dport 80 -j REDIRECT --to 3128

p.s: sendo o ip_site o ip do site: conexao.eadcon.com.br, vc até pode colocar o endereço se o seu kernel já aceitar loockout

ou se vc for utilizar mais de um site cria assim:

# Cria a lista
iptables -t nat -N PROXY

# desvia tudo que for porta 80 para a lista PROXY
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j PROXY

# Agora na lista proxy:
# para cada IP que se deseja PULAR o proxy,
# uma regra como esta a seguir:
iptables -t nat -A PROXY -d conexao.eadcon.com.br -j RETURN
...

# No fim, a regra que desvia
iptables -t nat -A PROXY -p tcp --dport 80 -j REDIRECT --to 3128

Acho que fica mais organizado ... e vc pode tanto adicionar ip de site de fora como os ips internos ...



3. Re: Navegar sem firewall em uma rede local [RESOLVIDO]

Ricardo Libanio
riesdra

(usa Debian)

Enviado em 19/11/2009 - 17:13h

olha tente isto;
iptables -A OUTPUT -d conexao.eadcon.com.br -j ACCEPT # está faz a liberação da máquina local.
iptables -A FORWARD -d conexao.eadcon.com.br -j ACCEPT # está do restante da rede.

deixe elas logo no início pois se houver uma regra bloqueando o acesso antes, está será ignorada.


4. Re: Navegar sem firewall em uma rede local [RESOLVIDO]

Helton Barbosa Santos Ferreira
HeltonBarbosa

(usa FreeBSD)

Enviado em 19/11/2009 - 17:55h

Olá riesdra, agradeço muito por ter respondido o tópico... mas infelizmente não deu certo. Posso tentar algum outro comando??


5. Re: Navegar sem firewall em uma rede local [RESOLVIDO]

Genesco Sousa
gesousa

(usa Ubuntu)

Enviado em 19/11/2009 - 18:05h

vc utiliza squid ?

quais as regras de firewall que vc esta utilizando ...


6. Re: Navegar sem firewall em uma rede local [RESOLVIDO]

Helton Barbosa Santos Ferreira
HeltonBarbosa

(usa FreeBSD)

Enviado em 19/11/2009 - 18:35h

Este é o firewall...
#!/bin/bash
# Script de Execução de Firewall Iptables 1.0

echo "Carregando Módulos..............."

/sbin/modprobe ip_tables
/sbin/modprobe iptable_nat
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ipt_LOG
/sbin/modprobe ipt_REJECT
/sbin/modprobe ipt_MASQUERADE
/sbin/modprobe ipt_state
/sbin/modprobe ipt_multiport
/sbin/modprobe iptable_mangle
/sbin/modprobe ipt_tos
/sbin/modprobe ipt_limit
/sbin/modprobe ipt_mark
/sbin/modprobe ipt_MARK
/sbin/modprobe iptable_filter

echo "ON.........................[ OK ]"

echo "Limpando Regras do Firewall......"

/usr/sbin/iptables -F
/usr/sbin/iptables -X
/usr/sbin/iptables -t nat -F
/usr/sbin/iptables -t nat -X
/usr/sbin/iptables -t mangle -F
/usr/sbin/iptables -t mangle -X

echo "ON.........................[ OK ]"

echo "Iniciando Firewall..............."

# ------------- #
# VARIÁVEIS #
# ------------- #

IF_EXTERNA=eth1
IF_INTERNA=eth0
IF_DMZ=eth2

# ---------------------------------------- #
# PROTEÇÃO CONTRA IP SPOOFING #
# ---------------------------------------- #

echo "1" > /proc/sys/net/ipv4/conf/all/rp_filter

# --------------------------------------- #
# DETERMINA A POLÍTICA PADRÃO #
# --------------------------------------- #

echo "Politicas de Acesso.............."

iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT

# --------------------------------------------------------------- #
# Redirecionamento ip_foward #
# --------------------------------------------------------------- #

echo "ON.........................[ OK ]"

echo "Redirecionamento ip_foward......."

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

echo "ON.........................[ OK ]"

# --------------------------------------------------------------- #
# Regras loopback #
# --------------------------------------------------------------- #

echo "Regras lopback................"

#iptables -t filter -A OUTPUT -d 127.0.0.1 -j ACCEPT #Saída
#iptables -t filter -A OUTPUT -p tcp --dport 53 -d 127.0.0.1 -j ACCEPT #Saída

echo "ON.........................[ OK ]"

# --------------------------------------------------------------- #
# Regras de Saida #
# --------------------------------------------------------------- #

iptables -t INPUT -p tcp --dport 2631 -j ACCEPT
iptables -t OUTPUT -p tcp --dport 2631 -j ACCEPT

echo "Regras de Saida.................."

iptables -t filter -A OUTPUT -d 192.168.0.0/24 -j ACCEPT #Saída
iptables -t filter -A OUTPUT -d 201.24.152.68 -j ACCEPT #Saída

echo "ON.........................[ OK ]"

# --------------------------------------------------------------- #
# Libera Ping #
# --------------------------------------------------------------- #

echo "Liberando Ping.................. "

iptables -A INPUT -p icmp --icmp-type 0 -j ACCEPT
iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT

echo "ON.........................[ OK ]"

# --------------------------------------------------------------- #
# LIBERA ACESSO EXTERNO A DETERMINADAS PORTAS #
# --------------------------------------------------------------- #

#iptables -A INPUT -p --dport 22 -i $IF_EXTERNA -j ACCEPT

# --------------------------------------------------------------- #
# LIBERA ACESSO SSH INTERNO -> EXTERNO#
# --------------------------------------------------------------- #

echo "SSH Interno -> Externo..........."

iptables -A OUTPUT -p tcp -s 192.168.0.0/24 --dport 22 -j ACCEPT

echo "ON.........................[ OK ]"

# --------------------------------------------------------------- #
# LIBERA ACESSO SSH via MAC ADDRESS#
# --------------------------------------------------------------- #

echo "SSH via Mac Address"

iptables -A INPUT -m mac --mac-source 00-1B-24-49-2D-48 -j ACCEPT

echo "ON.........................[ OK ]"


# --------------------------- #
# PROXY TRANSPARENTE #
# --------------------------- #

echo "Ativando Proxy Transparent......."

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

echo "ON.........................[ OK ]"

# ------------------------------------------- #
# ATIVA O MASCARAMENTO DE SAÍDA #
# ------------------------------------------- #

echo "Ativando Mascaramento............"

iptables -t nat -A POSTROUTING -o $IF_EXTERNA -j MASQUERADE

echo "ON.........................[ OK ]"

# ------------------------------------------- #
# ATIVANDO REGRAS FORWARD #
# ------------------------------------------- #

echo "Regras FORWARD..................."

iptables -A FORWARD -i eth0 -j ACCEPT
iptables -A FORWARD -o eth0 -j ACCEPT
iptables -A FORWARD -p tcp -i eth1 --dport 80 -d 192.168.0.6 -j ACCEPT
iptables -A FORWARD -d 192.168.0.0/24 -i eth1 -o eth0 -j ACCEPT
iptables -A FORWARD -d 189.22.27.84 -s 192.168.0.0/24 -j ACCEPT
iptables -A FORWARD -d 201.24.152.68 -s 192.168.0.0/24 -j ACCEPT
iptables -A FORWARD -s 192.168.0.0/24 -i eth0 -o eth1 -j ACCEPT
iptables -A FORWARD -s 201.24.152.68 -p tcp --dport 80 -d 192.168.0.6 -j ACCEPT
iptables -A FORWARD -i eth0 -p tcp --dport 3128 -j ACCEPT #SQUID
iptables -A FORWARD -i eth0 -p tcp --dport 80 -j ACCEPT
iptables -A FORWARD -i eth0 -p tcp --dport 21 -j ACCEPT #FTP
iptables -A FORWARD -i eth0 -p tcp --dport 25 -j ACCEPT #SMTP
iptables -A FORWARD -i eth0 -p udp --dport 53 -j ACCEPT #DNS
iptables -A FORWARD -i eth0 -p tcp --dport 110 -j ACCEPT #POP3
iptables -A FORWARD -i eth0 -p tcp --dport 443 -j ACCEPT #HTTPS
iptables -A FORWARD -i eth0 -p tcp --dport 1433 -j ACCEPT #SQL
iptables -A FORWARD -i eth0 -p udp --dport 1434 -j ACCEPT #SQL

echo "ON.........................[ OK ]"



E este é o Squid.conf
# Porta utilizada pelo servidor para atender as requisicoes feitas a ele
http_port 192.168.0.2:3128 transparent

# Nome do servidor que aparece para o cliente
visible_hostname Server2

# Lista de palavras que, se encontradas em uma URL, irao carregar diretamente do cache local
hierarchy_stoplist cgi-bin ?
hierarchy_stoplist html ?

# Lista de palavras que nunca devem ser salvas em cache
acl QUERY urlpath_regex cgi-bin \?
acl semcache url_regex -i "/usr/local/squid/etc/nocache"
no_cache deny semcache

# Configuracao do cache
# Quantidade de memoria utilizada pelo SQUID
cache_mem 64 MB

# Tamanho maximo dos arquivos a serem armazenados em CACHE
maximum_object_size 10 MB

# Tamanho minimo dos arquivos a serem armazenados em CACHE
minimum_object_size 10 MB
maximum_object_size_in_memory 0 KB

# Tamanho minimo para reposicao de objetos armazenados
cache_swap_low 90

# Tamanho maximo para reposicao de objetos armazenados
cache_swap_high 95

#Diretorio com os arquivos de mensagens de erro
error_directory /usr/local/squid/share/errors/Portuguese

#Diretorio com os arquivos de cache do sistema
cache_dir ufs /usr/local/squid/var/cache 5000 16 256
cache_access_log /usr/local/squid/var/logs/access.log
cache_log /usr/local/squid/var/logs/cache.log

#cache_effective_user nobody
#cache_effective_group nogroup

cache_store_log /usr/local/squid/var/logs/store.log

pid_filename /var/run/squid.pid

debug_options ALL,1

client_netmask 255.255.255.255

acl apache rep_header Server ^Apache
#broken_vary_encoding allow apache
access_log /usr/local/squid/var/logs/access.log squid

refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320

#---------------------------------------------------------------------------

# Liberando acesso para a equipe de T.I.
acl ip_equipe_ti src "/usr/local/squid/etc/ip_equipe_ti"

#Lista de IPs Bloqueados
acl ips_bloqueados src "/usr/local/squid/etc/ips_bloqueados"

#Bloqueio de sites por palavras
acl lista_palavra dstdom_regex "/usr/local/squid/etc/palavras_negadas"
acl lista_proxy dstdom_regex "/usr/local/squid/etc/proxy"
acl lista_pornor dstdom_regex "/usr/local/squid/etc/pornor"

#Bloqueio de sites por url
acl lista_site url_regex -i "/usr/local/squid/etc/lista_site"
#Aplicando mensagens de erro
#deny_info ERR_ACCESS_DENIED lista_site

#Bloqueando o GoogleTalk
acl blocktalk url_regex -i "/usr/local/squid/etc/google"

#Bloqueando o WebMensseger
acl webmsn url_regex -i "/usr/local/squid/etc/webmessenger"

#Bloqueando msn
acl msn dstdomain "/usr/local/squid/etc/msn_bloq"
acl msnmessenger url_regex -i /gateway/gateway.dll
acl msn2 req_mime_type -i ^application/x-msn-messenger$

#Libera mac address diretoria
acl ip_liberado_diretoria src "/usr/local/squid/etc/ip_liberado_diretoria"

#Bloqueio de maquinas a sites proibidos
acl site_restrito dstdomain "/usr/local/squid/etc/site_restrito"
acl ip_restrito src "/usr/local/squid/etc/ip_restrito"

#Bloqueio de downloads por extensão
acl download_bloqueado urlpath_regex "/usr/local/squid/etc/download_bloqueado"

#Download Liberado
acl download_liberado urlpath_regex "/usr/local/squid/etc/download_liberado"

#Libera acesso a ips da rede interna users
#acl ip_liberado_admin src "/usr/local/squid/etc/ip_liberado_admin"
acl ip_liberado_estudio src "/usr/local/squid/etc/ip_liberado_estudio"

#libera conexao.eadcon.com.br
acl aceitaurl url_regex -i "/usr/local/squid/etc/aceitaurl.txt"
acl liberaip src "/usr/local/squid/etc/liberaip.txt"

#Libera acesso a ips da interna administrativa
acl ip_liberado_users src "/usr/local/squid/etc/ip_liberado_users"

#Bloqueia Malwares
acl malware_block_list url_regex -i "/usr/local/squid/etc/malware.txt"

#Bloqueia Jogos
acl games url_regex -i "/usr/local/squid/etc/jogos"

#Bloqueia Musicas
acl music url_regex -i "/usr/local/squid/etc/musica"

#Bloqueia Blogs
acl blogs url_regex -i "/usr/local/squid/etc/blogs"

#sites liberados recepcao
acl recepcao url_regex -i "/usr/local/squid/etc/recepcao"

#Ip recepcao
acl ip_recepcao src "/usr/local/squid/etc/ip_recepcao"

#Bloqueia sites p2p
acl p2p url_regex -i "/usr/local/squid/etc/p2p"

#bloqueia Spywares
acl spywares url_regex -i "/usr/local/squid/etc/spybot.txt"

#Bloqueia Videos
acl video url_regex -i "/usr/local/squid/etc/videos"

#Liberar maquina apple do estudio
acl apple src 192.168.0.241

#Bloqueio 0800
acl 0800 src "/usr/local/squid/etc/0800"
acl sites_liberados_0800 url_regex -i "/usr/local/squid/etc/sites_liberados_0800"
acl hotmail url_regex -i "/usr/local/squid/etc/hotmail"

#Hora Segunda a Sabado
acl manha time MTWHF 7:00-8:00
acl tarde time MTWHF 12:00-14:00
acl tarde time MTWHF 18:00-22:00

#autenticação de usuários
#auth_param basic program /usr/local/bin/ncsa_auth /usr/local/squid/etc/squid_passwd
#auth_param basic children 5
#auth_param basic realm Digite sua Senha
#auth_param basic credentialsttl 2 hours
#auth_param basic casesensitive off
#acl autenticados proxy_auth REQUIRED
#------------------------------------------------------------

#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 rede_eadcon src 192.168.0.0/255.255.255.0
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443
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 2631 #Conectividade
acl CONNECT method CONNECT
#------------------------------------------------------------

http_access allow aceitaurl
http_access allow liberaip
http_access allow ip_equipe_ti
http_access allow ip_liberado_diretoria
http_access deny ip_recepcao !recepcao
#http_access deny 0800 !sites_liberados_0800
http_access allow 0800 !p2p !lista_palavra !video !blogs !webmsn !blocktalk !lista_pornor !games !music !lista_proxy !lista_site
http_access deny ips_bloqueados
http_access deny lista_palavra !ip_liberado_estudio
http_access deny lista_proxy
http_access deny lista_pornor !ip_liberado_diretoria !ip_liberado_estudio
http_access deny blogs !ip_liberado_estudio
http_access deny p2p
http_access deny video !ip_liberado_estudio !ip_liberado_users !ip_liberado_users !apple
http_access deny download_bloqueado !ip_liberado_users !apple
http_access deny download_liberado !ip_liberado_estudio !ip_liberado_users
http_access deny lista_site !ip_liberado_estudio
http_access deny malware_block_list
http_access deny spywares !ip_liberado_estudio !ip_liberado_diretoria
http_access deny games
http_access deny music !ip_liberado_users
http_access deny webmsn
http_access deny msn !ip_liberado_users
http_access deny msnmessenger !ip_liberado_users
http_access deny msn2
http_access deny ip_restrito
http_access allow manager localhost
http_access allow rede_eadcon
http_access deny manager
http_access deny !safe_ports
http_access deny CONNECT !SSL_ports
http_access deny all
http_reply_access allow all

icp_access allow all
coredump_dir /usr/local/squid/var/cache



7. Re: Navegar sem firewall em uma rede local [RESOLVIDO]

Helton Barbosa Santos Ferreira
HeltonBarbosa

(usa FreeBSD)

Enviado em 19/11/2009 - 19:36h

Muito obrigado por responder e por ter tirado as minhas dúvidas gsousa. Ocorreu tudo certo aqui.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts