Liberar Porta IPTABLES / SQUID [RESOLVIDO]

1. Liberar Porta IPTABLES / SQUID [RESOLVIDO]

Alexandre Silva Anjos
alexanjos87

(usa Debian)

Enviado em 31/10/2012 - 16:08h

Prezados boa tarde,

já fiz várias tentativas de liberar porta aqui no meu servidor DEBIAN, mas nenhuma deu certo. Gostaria por gentileza que quem souber me mostre o erro das config. do SQUID e IPTABLES.


squid.conf
/**

# Opcoes para suportar proxy transparente.
#nao esquecer de trocar a faixa de ip pela da sua rede
http_port 3128 transparent

#Está porta é usada para troca de informações entre servidores proxy.
#Não use o ICP se você tem um único proxy-pai que você sempre usa.
#Para desabilitar, bastacolocar um 0. Padrão: 3130
#icp_port 0

#Especifica o número da porta através do qual o Squid irá receber e
#enviar requisições HTCP de e para caches vizinhos. Para desabilitar,
#colocar 0. O padrão é 4827.
#htcp_port 0

#Ela é responsável por dizer ao Squid que ele deve buscar os dados diretamente
#na origem, sem passar pelos vizinhos na hierarquia. Padrao do squid

#Esta ACL diz ao squid para não armazenar em cache o conteúdo dos CGI's, pois
#obviamente não é interessante por tratar-se de conteúdo dinâmico
#####Gerenciador de estatisticas do cache######
#acl manager proto cache_object
#acl webserver src 192.168.254.0/255.255.255.0 # webserver IP

#http_access allow manager webserver
#http_access deny manager

#cachemgr_passwd disable all

#Quantidade de memoria usada pelo squid
cache_mem 256 MB

#Tamanho do cache em disco (deve ser de acordo com o cache_mem)
cache_dir ufs /var/spool/squid 4096 16 256

#esvazia o cache
cache_swap_low 80
cache_swap_high 85

#tamanho maximo para gravacao no cache squid
#maximum_object_size 256 MB

#tamanho minimo para gravacao no cache squid
minimum_object_size 2 KB

# Tamanho maximo dos objetos mantidos em memoria.
maximum_object_size_in_memory 256 KB

# politica de substituicao dos objetos quando se esgota o espaco destinado ao cache em disco.
# lru: mantem os objetos referenciados recentemente.
# heap GDSF: otimiza o "hit rate" por manter objetos pequenos e
# e populares no cache, guardando assim um numero maior de objetos.
# heap LFUDA: otimiza o "byte hit rate" por manter objetos populares
# no cache sem levar em conta o tamanho. Se for utilizado este, o
# maximum_object_size devera ser aumentado para otimizar o LFUDA.
maximum_object_size 400 MB

#define a politica de substituicao dos objetos em memoria
#da mesma forma como o cache_replacement_policy

#Esta TAG determina onde e como será feito o cache e o tamanho
#a cada 1GB (1024), deve separar 15mb de memoria

# Log de requisicoes.
cache_access_log /var/log/squid/access.log
# Log do cache.
cache_log /var/log/squid/cache.log
# Log de objetos guardados. Pode ser desativado.
cache_store_log none

#Pode ser usada para especificar uma lista de servidores DNS no
#lugar no /etc/resolv.confd ns_nameservers Endereço_IP
#nao esquecer de trocar a faixa de dns pela da sua faixa
#dns_nameservers 189.91.128.7
#dns_nameservers 189.91.128.8

#TAG's referentes ao processo de autenticação.
auth_param basic casesensitive off

#Estas opções são o padrão do Squid e
#configuram como serão tratados os tempos de vida dos objetos no cache
refresh_pattern ^ftp: 15 20% 2280
refresh_pattern ^gopher: 15 0% 2280
refresh_pattern . 15 20% 2280
refresh_pattern au.download.windowsupdate.com/.*\.(cab|exe|msi) 10080 100% 43200 reload-into-ims

#O cache pode ser configurado para continuar com o download de requisições abortadas
quick_abort_min 0 KB
quick_abort_max 0 KB
quick_abort_pct 100

#Tempo de vida para requisições falhas. Certos tipos de erros (como
#conexão recusada ou página não encontrada) são marcados como
#"sem-cache" por um determinado tempo. Padrão de 5 minutos

#Tempo de vida para resultados bem sucedidos de resolução DNS. Se você
#realmente precisar alterar esse valor, não deixe inferior a 1 minuto.
#Padrão de 6 horas.

#Alguns clientes podem parar o envio de pacotes TCP enquanto deixam o recebimento em aberto.
#Algumas vezes o Squid não consegue diferenciar conexões TCP totalmente fechadas e parcialmente fechadas.
#Mudando essa opção para off fará com que o Squid imediatamentefeche a conexão quando a leitura do socket
#retornar "sem mais dados para leitura"

#Estas ACL's fazem parte da configuração padrão do Squid e é o mínimo
#recomendável para seu uso não sendo necessária nenhuma alteração nas mesmas
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl BADPORTS port 7 9 11 19 22 23 25 53 110 119 513 514 3128 8080
acl SSL_ports port 443 563
acl Safe_ports port 80
acl Safe_ports port 20 21 2121 # http
acl Safe_ports port 443 444 563 # ftp
acl Safe_ports port 70 # https
acl Safe_ports port 210 # gopher
acl Safe_ports port 1025-65535 # wais
acl Safe_ports port 280 # unregistered ports
acl Safe_ports port 488 # http-mgmt
acl Safe_ports port 591 # gss-http
acl Safe_ports port 777 # filemaker
acl CONNECT method CONNECT # multiling http

# ---- Cache do Windows Update ----
refresh_pattern download.microsoft.com/.*\.(cab|exe|dll|msi) 10080 100% 43200 reload-into-ims
refresh_pattern msgruser.dlservice.microsoft.com/.*\.(cab|exe|msi) 10080 100% 43200 reload-into-ims
refresh_pattern windowsupdate.com/.*\.(cab|exe|dll|msi) 10080 100% 43200 reload-into-ims
refresh_pattern www.microsoft.com/.*\.(cab|exe|dll|msi) 10080 100% 43200 reload-into-ims
refresh_pattern download.windowsupdate.com/.*\(cab|exe|dll|msi) 4320 100% 43200 reload-into-ims
refresh_pattern update.microsoft.com/.*\(cab|exe|dll|msi) 4320 100% 43200 reload-into-ims
refresh_pattern au.download.windowsupdate.com/.*\.(cab|exe|dll|msi) 4320 100% 43200 reload-into-ims

##nao esquecer de trocar a faixa de ip pela da sua rede
#acl aspprev dstdomain "/etc/squid/aspprev.txt"
acl all src 192.168.254.0/255.255.255.0
acl ips_full src "/etc/squid/ips_full.txt"
acl extensaoLiberado url_regex -i .jpg$
acl msn url_regex -i "/etc/squid/msn.txt"
acl downloads url_regex -i .mp3$ .iso$ .mjpg$ .mpeg$ .mp4$ .ram$ .avi$ .wav$
acl palavras_liberadas url_regex -i "/etc/squid/palavras_liberadas.txt"
acl sites_liberados dstdom_regex -i "/etc/squid/sitesliberados.txt"
acl palavrasbloqueadas url_regex -i "/etc/squid/palavrasbloqueadas.txt"
acl sitesbloqueados dstdom_regex -i "/etc/squid/sitesbloqueados.txt"
acl ips_restritos src "/etc/squid/ips_restritos.txt"
acl ips_bloqueados src "/etc/squid/ips_bloqueados.txt"
acl ips_msnLiberado src "/etc/squid/ips_msnLiberado.txt"

#Definição de regras de acesso referentes as ACL's da parte da configuração
#padrão do Squid, também não é necessária nenhuma alteração, portanto apenas
#acrescente as suas próprias regras a estas;
#http_access allow manager localhost
#http_access allow manager ips_full
#http_access deny manager
#http_access allow aspprev
http_access allow ips_full
http_access allow extensaoLiberado
http_access deny downloads
http_access allow palavras_liberadas
http_access allow sites_liberados
http_access deny palavrasbloqueadas
http_access deny sitesbloqueados
http_access allow ips_msnLiberado
http_access deny msn
http_access allow ips_restritos
http_access deny ips_bloqueados

#Esta regra de acesso é recomendada para uso como última regra da lista define
#o acesso ao proxy. Ela diz ao Squid que se nenhuma das regras anteriores for
#aplicada o acesso será então negado

#Permite o acesso a porta icp de acordo com a configuração feita na ACL all
#que no nosso caso representa qualquer origem. Está porta é usada para troca
#de informações entre servidores proxy.
#Não use o ICP se você tem um único proxy-pai que você sempre usa.
#icp_access allow rede

# Usuario sob o qual ira rodar o Squid.
# Grupo sob o qual ira rodar o Squid.
cache_effective_group root
cache_effective_user proxy

#Mostra o nome do servidor configurado nas mensagens de erro
visible_hostname Coord.Informatica

#Desligando essa variavel, faz com que o squid descarregue a memoria nao
#utilizada, chamando uma funcao interna free() do squid, ao inves de ficar
#com ela para futuras operaçoes.

#Por padrão o Squid irá incluir o ip ou nome da sua máquina nas solicitações HTTP.
#Ele irá saber o ip da sua máquina interna como também saber qual classe ip você usa internamente.
#Para o site visitado não interessa para ele qual seu ip interno, o importante é que você visitou o site.

#Apresenta as mensagens de erro em Portugues
error_directory /usr/share/squid/errors/Portuguese

#Por padrão o Squid já possui essa configuração como ativa. Ela serve para não colocar no log os
#parâmetros que são passados junto ao endereço acessado pelo usuário. Assim garante a privacidade.
#As vezes quando se usa filtro por palavras e um site apresenta acesso negado é interessante setar
#essa opção como off para verificar no log o endereço completo.
strip_query_terms off

#Local para gravar os arquivos core em caso de falhas do squid (/var/spool/squid)
# ou Evitar que sejam feitos coredumps (none).
coredump_dir none

# Resolve um problema com conexões persistentes que ocorre com certos servidores,
# e que provoca delays em nosso cache.
detect_broken_pconn on

# Provoca um ganho de performance ao usar conexões Pipeline (requisições em paralelo)
#o Squid irá trabalhar com 2 requisições paralelamente
pipeline_prefetch on


*/


rc.local

/**

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

### Passo 1: Carregando os modulos do IPTABLES ###
modprobe iptable_nat
modprobe ip_tables
echo "Carregando modulos ................................... [OK]"

### Passo 2: Habilitar o trafico IP entre placas de rede ###
echo 1 > /proc/sys/net/ipv4/ip_forward
echo "Habilitando trafico IP entre placas de rede .......... [OK]"

### Passo 3: Limpando regras IPTABLES ###
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD
iptables -F -t nat
iptables -F -t mangle
echo "Limpando regras IPTABLES ............................. [OK]"

### Passo 3: Liberar site Aspprev ###
iptables -t nat -A PREROUTING -p tcp -s 192.168.254.0/255.255.255.0 --dport 80 -d cpro7209.publiccloud.com.br -j RETURN
echo "Liberar site ASPPREV ................................. [OK]"

### Passo 5: Bloquear MSN, Facebook, Twitter, Badoo ###
iptables -A FORWARD -s 192.168.254.0/255.255.255.0 -p tcp --dport 1863 -j REJECT
iptables -A FORWARD -s 192.168.254.0/255.255.255.0 -d loginnet.passport.com -j REJECT

iptables -A FORWARD -s 192.168.254.0/255.255.255.0 -d facebook.com -j REJECT
iptables -A FORWARD -s 192.168.254.0/255.255.255.0 -d orkut.com -j REJECT
iptables -A FORWARD -s 192.168.254.0/255.255.255.0 -d badoo.com -j REJECT
iptables -A FORWARD -s 192.168.254.0/255.255.255.0 -d imo.im -j REJECT
iptables -A FORWARD -s 192.168.254.0/255.255.255.0 -d twitter.com -j REJECT
echo "Bloquear MSN, Facebook, Twitter, Badoo................ [OK]"

### Passo 5: Liberar Sites para IP's ###

#iptables -t nat -A POSTROUTING -o eth0 -m multiport -p tcp --dports 20,21,22,25,53,110,443,465,995 -j MASQUERADE
#iptables -t nat -A POSTROUTING -o eth0 -m multiport -p udp --dports 20,21,53,443 -j MASQUERADE
iptables -I INPUT -p tcp -s 0/0 --dport 20 -j ACCEPT
iptables -I OUTPUT -p tcp -s 0/0 --dport 20 -j ACCEPT

iptables -I INPUT -p udp -s 0/0 --dport 20 -j ACCEPT
iptables -I OUTPUT -p udp -s 0/0 --dport 20 -j ACCEPT

echo "Liberar Sites para IP's"

### Passo 6: Redirecionar trafico SQUID ###
iptables -A INPUT -i eth0 -p TCP --dport 3128 -j DROP
iptables -t nat -A PREROUTING -i eth1 -p TCP --dport 80 -j REDIRECT --to-port 3128

iptables -t nat -A POSTROUTING -s 192.168.254.0/255.255.255.0 -j MASQUERADE
echo "Redicionar trafico SQUID ............................. [OK]"


## Redirecionar para Servidor SMTP ##
#iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 25 -j DNAT --to 192.168.254.3
#iptables -A FORWARD -p tcp -i eth0 --dport 25 -d 192.168.254.3 -j ACCEPT

#iptables -t nat -A PREROUTING -i eth0 -p udp --dport 25 -j DNAT --to 192.168.254.3
#iptables -A FORWARD -p udp -i eth0 --dport 25 -d 192.168.254.3 -j ACCEPT
##

## Redirecionar para Servidor FTP ##
#iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 21 -j DNAT --to 192.168.254.3
#iptables -A FORWARD -p tcp -i eth0 --dport 21 -d 192.168.254.3 -j ACCEPT

#iptables -t nat -A PREROUTING -i eth0 -p udp --dport 21 -j DNAT --to 192.168.254.3
#iptables -A FORWARD -p udp -i eth0 --dport 21 -d 192.168.254.3 -j ACCEPT
##

## Redirecionar Navcat ##
#iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 3306 -j DNAT --to 192.168.254.3
#iptables -A FORWARD -p tcp -i eth0 --dport 3306 -d 192.168.254.3 -j ACCEPT

#iptables -t nat -A PREROUTING -i eth0 -p udp --dport 3306 -j DNAT --to 192.168.254.3
#iptables -A FORWARD -p udp -i eth0 --dport 3306 -d 192.168.254.3 -j ACCEPT
##

## Redirecionar GServer ##
#iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 7777 -j DNAT --to 192.168.254.3
#iptables -A FORWARD -p tcp -i eth0 --dport 7777 -d 192.168.254.3 -j ACCEPT

#iptables -t nat -A PREROUTING -i eth0 -p udp --dport 7777 -j DNAT --to 192.168.254.3
#iptables -A FORWARD -p udp -i eth0 --dport 7777 -d 192.168.254.3 -j ACCEPT
##

## Redirecionar LoginServer ##
#iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 2106 -j DNAT --to 192.168.254.3
#iptables -A FORWARD -p tcp -i eth0 --dport 2106 -d 192.168.254.3 -j ACCEPT

#iptables -t nat -A PREROUTING -i eth0 -p udp --dport 2106 -j DNAT --to 192.168.254.3
#iptables -A FORWARD -p udp -i eth0 --dport 2106 -d 192.168.254.3 -j ACCEPT
##

## Redirecionar WinSCP##
#iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 22 -j DNAT --to 192.168.254.3
#iptables -A FORWARD -p tcp -i eth0 --dport 22 -d 192.168.254.3 -j ACCEPT

#iptables -t nat -A PREROUTING -i eth0 -p udp --dport 22 -j DNAT --to 192.168.254.3
#iptables -A FORWARD -p udp -i eth0 --dport 22 -d 192.168.254.3 -j ACCEPT
##

## Redirecionar Porta 8080##
#iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 8080 -j DNAT --to 192.168.254.3
#iptables -A FORWARD -p tcp -i eth0 --dport 8080 -d 192.168.254.3 -j ACCEPT

#iptables -t nat -A PREROUTING -i eth0 -p udp --dport 8080 -j DNAT --to 192.168.254.3
#iptables -A FORWARD -p udp -i eth0 --dport 8080 -d 192.168.254.3 -j ACCEPT
##

## Redirecionar Porta 3389 (Area de Trabalho Remota - Informatica2)##
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 3389 -j DNAT --to 192.168.254.1
iptables -A FORWARD -p tcp -i eth0 --dport 3389 -d 192.168.254.5 -j ACCEPT

iptables -t nat -A PREROUTING -i eth0 -p udp --dport 3389 -j DNAT --to 192.168.254.1
iptables -A FORWARD -p udp -i eth0 --dport 3389 -d 192.168.254.5 -j ACCEPT
##

## Redirecionar DreaMule - Informatica2##
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 26428 -j DNAT --to 192.168.254.5
iptables -A FORWARD -p tcp -i eth0 --dport 26428 -d 192.168.254.5 -j ACCEPT

iptables -t nat -A PREROUTING -i eth0 -p udp --dport 26428 -j DNAT --to 192.168.254.5
iptables -A FORWARD -p udp -i eth0 --dport 13882 -d 192.168.254.5 -j ACCEPT
##

exit 0


*/



  


2. Re: Liberar Porta IPTABLES / SQUID [RESOLVIDO]

Phillip Vieira
phrich

(usa Slackware)

Enviado em 01/11/2012 - 13:28h

Cara, o problema é que seu script está muito "zoneado" eu tenho certeza que vc pegou o script para iptables e o squid.conf, copiou e colou e fez algumas alterações....

Que tal começar algo do zero e entender melhor as coisas?

http://www.vivaolinux.com.br/artigo/Squid-+-Iptables-Combinacao-Infalivel/


3. Re: Liberar Porta IPTABLES / SQUID [RESOLVIDO]

Alexandre Silva Anjos
alexanjos87

(usa Debian)

Enviado em 27/11/2012 - 15:21h

phrich escreveu:

Cara, o problema é que seu script está muito "zoneado" eu tenho certeza que vc pegou o script para iptables e o squid.conf, copiou e colou e fez algumas alterações....

Que tal começar algo do zero e entender melhor as coisas?

http://www.vivaolinux.com.br/artigo/Squid-+-Iptables-Combinacao-Infalivel/



Fiz isso mesmo ... mas nao estou podendo estudar e aprender agora como trabalhar com iptables, preciso de algo que resolva minha vida, pois estou com outro foco.

Se você ou alguém ai puder me ajudar, preciso de:
Liberar a porta 25 (saída) para um servidor fixo ex: 187.58.XXX.XXX
Liberar a porta 143 (saída) para um servidor fixo ex: 187.58.XXX.XXX

Liberar a porta 21 (entrada) para um servidor fixo ex: 187.58.XXX.XXX
Liberar a porta 2121 (entrada) para um servidor fixo ex: 187.58.XXX.XXX
Liberar a porta 5855 TCP/UDP (saída) para um servidor fixo ex: 187.58.XXX.XXX


Grato.


4. Re: Liberar Porta IPTABLES / SQUID [RESOLVIDO]

Phillip Vieira
phrich

(usa Slackware)

Enviado em 27/11/2012 - 17:29h

Cara, não querendo ser chato, mas vc irá ter mais problemas se vc não entender como funciona o iptables e um script para o mesmo, acredito que esta é a opnião da maioria dos usuários aqui do fórum...

Por isso insisto que vc estude para que vc não venha ter problemas maiores depois, caso vc não possa fazer isso agora, não coloque o seu firewall em produção, tenha paciência e coloque-o em produção quando vc estiver mais "safo". entende?


5. Re: Liberar Porta IPTABLES / SQUID [RESOLVIDO]

André Canhadas
andrecanhadas

(usa Debian)

Enviado em 27/11/2012 - 21:18h

Como dizem por aqui squid e iptables não tem receita pronta cada um deve adaptar ao que precisa.

A melhor coisa é estudar como a coisa funciona do contrario pode até funcionar aparentemente mas pode deixar varias brechas que vai te dar mais trabalho depois.

De uma olhada e adapte para suas configs:
http://www.andrecanhadas.com.br/?p=351

Aqui dificilmente vai conseguir que alguém monte o firewall para você, até mesmo porque somente estando na sua rede e conhecendo a estrutura para fazer um firewall + proxy decente.


6. [RESOLVIDO]

Alexandre Silva Anjos
alexanjos87

(usa Debian)

Enviado em 04/12/2012 - 14:22h

Obrigado pessoal pelas respostas, como disse não posso estudar agora, mas achei uma solução que funcionou em minha rede. Adicionei a seguinte linha e tudo funcionou:

modprobe ip_nat_ftp

Obrigado.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts