Iptables bloqueando o yum e squid

1. Iptables bloqueando o yum e squid

Edmar
edmarssouzap

(usa Debian)

Enviado em 23/09/2016 - 20:22h

Olá, pessoal. Boa noite!!!

Eu estou com um problema e agradeceria muito a ajuda de vocês. Eu instalei o squid e pretendo receber conexões externas, mas sem autenticação, ou seja, estou rodando sem filtro de ip. Por conta disso, eu resolvi usar o iptables para agregar mais segurança na máquina, agora, eu não consigo acessar meu squid e instalar pacotes com o gerenciador de pacotes YUM, sem desativar o firewall. Alguém poderia analisar minhas configurações e dizer onde eu posso estar errando, por favor? Preciso que o squid e o yum funcione com o firewall ativado. Minha configuração do iptables é:


echo "Iniciando o Firewall..."
iptables -t filter -F
iptables -t nat -F
iptables -t mangle -F
iptables -t raw -F
iptables -t security -F

# Habilitando politica do Firewall
for i in INPUT OUTPUT FORWARD; do iptables -t filter -P \$i DROP; done

# Protege de Spoofing
echo "1" > /proc/sys/net/ipv4/conf/default/rp_filter

# Protege de synflood
echo "1" > /proc/sys/net/ipv4/tcp_syncookies

# Protege de ICMP Broadcasting
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts

# Bloqueia pings
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all

# Logando todos os pacotes com destino a squid
for i in INPUT OUTPUT; do iptables -t filter -A $i -j LOG; done

# Habilitando comunicação entre processos locais
iptables -t filter -A INPUT -s 0/0 -d 127.0.0.1 -j ACCEPT
iptables -t filter -A OUTPUT -d 0/0 -s 127.0.0.1 -j ACCEPT

# Habilitando conexão ao SSH
iptables -t filter -A INPUT -p tcp -s 0/0 --dport 22 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp -d 0/0 --sport 22 -j ACCEPT

# Habilitando comunicação DNS na máquina
iptables -t filter -A INPUT -p udp -s 0/0 --dport 53 -j ACCEPT
iptables -t filter -A OUTPUT -p udp -d 0/0 --sport 53 -j ACCEPT

# Habilitando conexão ao Squid
iptables -t filter -A INPUT -p tcp -s 0/0 --dport 3128 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp -d 0/0 --sport 3128 -j ACCEPT

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


Minha configuração parcial - a parte mais importante - do squid é:


# Recomendacao minima de configuracao:
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 SSL_ports port 443 563 # https
acl Safe_ports port 80 443 70 3128 1025-65535 # http https gopher squid
acl CONNECT method CONNECT

http_access allow manager localhost
http_access deny manager
http_access allow Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost
http_access allow to_localhost

# Porta do proxy Squid
http_port 200.x.x.x:3128


Agradeço a atenção dos colegas e disposição.
Até.



  


2. Re: Iptables bloqueando o yum e squid

Estefanio Brunhara
stefaniobrunhara

(usa CentOS)

Enviado em 24/09/2016 - 22:56h

Amigo, criar um script de firewall é bem complicado, existe vários na internet e 90% são ineficientes, ou tem uma concepção um tanto equivocada dado a simplicidade do uso. Não sei se conseguiria resolver seu problema tendo como base seu firewall.




mas tente o seguinte
for i in INPUT OUTPUT FORWARD; do iptables -t filter -P \$i DROP; done
mude apara
for i in INPUT FORWARD; do iptables -t filter -P \$i DROP; done

Se funciona você trabalha no chain output para solucionar o funcionamento dele com drop inicial.





3. Iptables bloqueando o yum e squid

Edmar
edmarssouzap

(usa Debian)

Enviado em 26/09/2016 - 15:38h

estefaniobrunha escreveu:

Amigo, criar um script de firewall é bem complicado, existe vários na internet e 90% são ineficientes, ou tem uma concepção um tanto equivocada dado a simplicidade do uso. Não sei se conseguiria resolver seu problema tendo como base seu firewall.




mas tente o seguinte
for i in INPUT OUTPUT FORWARD; do iptables -t filter -P \$i DROP; done
mude apara
for i in INPUT FORWARD; do iptables -t filter -P \$i DROP; done

Se funciona você trabalha no chain output para solucionar o funcionamento dele com drop inicial.




Boa tarde, Esfanio, cara, obrigado por sua disposição.

Bem, fiz o procedimento que você me pediu e não tive êxito. O problema, creio eu, não está na chain OUTPUT, a não ser que esteja com OUTPUT e INPUT, mas fiz um teste simples com o seguinte comando:

iptables -t filter -A INPUT -p udp -s 0/0 -d 200.x.x.x -j ACCEPT

Neste caso o squid funcionou, mas não consegui determinar ainda, qual a porta que está com problema, já tentei liberar um intervalo de portas, mas não achei o intervalo que a porta bloqueia ou qual o problema do bloqueio.
Como você mesmo frisou, regras de firewall parece fácil, mas acaba sendo complexo no final.

Se alguém puder me ajuda, ficarei grato. Agradeço desde já e desejo boa tarde a todos.
Até.




4. Re: Iptables bloqueando o yum e squid

Estefanio Brunhara
stefaniobrunhara

(usa CentOS)

Enviado em 26/09/2016 - 17:03h

Tente colocar esta regra para substituir as regra que você colocou por ultima e que funcionou.





Esta regra vai permitir que você use outras portas sem que alguém possa iniciar uma conexão por elas.

iptables -A INPUT -p tcp --syn -s 192.168.0.0/255.255.255.0 -j ACCEPT

Veja uma situação que seu firewll não esta considerando!

Quando seu servidor faz uma consulta de dns ou tenta conectar em um site porta 80, você não usa a porta 80 ou a 53 do seu servidor, vc usa uma porta acima de 1024 que é chamado de porta dinâmica, então mantenha o output accept, porque você não vai ter como prever qual a porta output que ele vai eleger para comunicar com a porta 53/80 por exemplo.




5. Re: Iptables bloqueando o yum e squid

Alam Luiz
acolatto

(usa Debian)

Enviado em 28/09/2016 - 10:40h

Buenas edmarssouzap,

Verifiquei o que você postou e vamos ver se consigo lhe ajudar.

Primeiramente, não encontrei a regra que libera o seu firewall sair e entrar na porta 80, que é utilizado pelos repositórios do YUM e também do próprio SQUID. Tente adicionar a seguinte regra no firewall:

iptables -t filter -A INPUT -p tcp -s 0/0 --sport 80 -d "IP_WAN_FW" --dport 1024:65535 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp -d "IP_WAN_FW" --sport 1024:65535 -d 0/0 --dport 80 -j ACCEPT

Obs.: Troque "IP_WAN_FW" pelo ip da interface wan do seu firewall.
Obs.: Essas regras acima libera a porta 80 (HTTP) com origem do FIREWALL.




6. Re: Iptables bloqueando o yum e squid

Alam Luiz
acolatto

(usa Debian)

Enviado em 28/09/2016 - 10:44h

Outra coisa,

Eu se fosse você, eliminaria essa regra, pois ela vai deixar seu firewall extremamente lento, pois esta logando tudo o que entra em sai na maquina e não somente do squid.

# Logando todos os pacotes com destino a squid
for i in INPUT OUTPUT; do iptables -t filter -A $i -j LOG; done






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts