IPTABLES barrando acesso a internet [RESOLVIDO]

1. IPTABLES barrando acesso a internet [RESOLVIDO]

Johnathan Alisson
johnathangav

(usa KUbuntu)

Enviado em 30/05/2017 - 14:12h

Boa tarde pessoal,
gostaria de saber se alguém poderia me ajudar com este problema.
Configurei um script de firewall em meu servidor, no qual possuo a distribuição Cent OS 6.9. Não estou conseguindo navegar na internet pelo próprio servidor após iniciar o script, só está funcionando quando eu limpo as regras do iptables. Neste script eu estou compartilhando a internet do meu servidor para a rede local e está funcionando corretamente, mas no próprio servidor não funciona. Eu tento pingar em qualquer site, mas não navega.
Desde já agradeço.

Segue abaixo o meu script de firewall:

#!/bin/sh
#
echo "Iniciando o Firewall..."
echo "Limpando regras Firewall..."

# Limpando as regras
iptables -F
iptables -t filter -F
iptables -t nat -F
iptables -t mangle -F
iptables -X
iptables -Z

# Variaveis
RI="192.168.10.0/24"
DRE0="eth0"
DRE1="eth1"

echo "ok"
echo "Habilitando regras..."

# ------------------------------------------------------------
# BLOQUEIA A CADEIA PADRAO
# ------------------------------------------------------------

echo "Ativando bloqueio..."
# -------------------------------------------------------
# ESTABELECE AS POLITICAS
# -------------------------------------------------------
#
iptables -t filter -P INPUT DROP
iptables -t filter -P OUTPUT ACCEPT
iptables -t filter -P FORWARD DROP
#
# ------------------------------------------------------------
#
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
#
# ------------------------------------------------------------
#
iptables -t mangle -P PREROUTING ACCEPT
iptables -t mangle -P OUTPUT ACCEPT

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

# Compartilhamento da internet
modprobe iptable_nat
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o $DRE0 -j MASQUERADE

# ------------------------------------------------------------
# PROTECAO CONTRA TROJANS
# ------------------------------------------------------------
iptables -N TROJAN
iptables -A TROJAN -m limit --limit 15/m --limit-burst 15 -j LOG --log-prefix "FIREWALL: trojan"
iptables -A TROJAN -j DROP
iptables -A INPUT -p tcp -i $DRE0 --dport 666 -j TROJAN
iptables -A INPUT -p tcp -i $DRE0 --dport 4000 -j TROJAN
iptables -A INPUT -p tcp -i $DRE0 --dport 6000 -j TROJAN
iptables -A INPUT -p tcp -i $DRE0 --dport 6006 -j TROJAN
iptables -A INPUT -p tcp -i $DRE0 --dport 16660 -j TROJAN

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

# -------------------------------------------------------
# FORWARD - Bloqueia Bittorrent
# -------------------------------------------------------
#
iptables -A FORWARD -s $RI -p tcp --dport 6881:6999 -j REJECT
iptables -A FORWARD -s $RI -p udp --dport 6881:6999 -j REJECT

# ---------------------------------------------------------------------------------
# (NAT) PREROUTING - RDP
# ---------------------------------------------------------------------------------
iptables -A FORWARD -p tcp --dport 3389 -j ACCEPT
iptables -A FORWARD -p udp --dport 3389 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp -i $DRE0 --dport 3389 -j DNAT --to 192.168.10.10
#-----------------------------------------------------------------------------------

# ----------------------------------------------------------------------------------
# LIBERANDO PING
# ----------------------------------------------------------------------------------
iptables -A INPUT -p icmp -j ACCEPT

# Gerar LOG de icmp
iptables -A FORWARD -p icmp -j LOG
iptables -A FORWARD -p icmp -j ACCEPT

# Liberando porta SSH
iptables -A INPUT -i $DRE1 -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -i $DRE0 -p tcp --dport 22 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp -i $DRE0 --dport 22 -j DNAT --to 192.168.10.254

# Liberando portas HTTP e HTTPS
iptables -A FORWARD -p tcp --dport 443 -j ACCEPT
iptables -A FORWARD -p tcp --dport 80 -j ACCEPT

# Conectividade Social CEF
iptables -A FORWARD -p tcp --dport 2631 -j ACCEPT
iptables -A FORWARD -p tcp --dport 2003 -j ACCEPT
iptables -A FORWARD -p tcp --dport 2005 -j ACCEPT

# Libera porta do Squid
iptables -A INPUT -p tcp --dport 3128 -j ACCEPT

# Portas do DNS
iptables -A INPUT -p tcp -s $RI -d 0/0 --dport 53 -j ACCEPT
iptables -A INPUT -p tcp -s 0/0 -d $RI --sport 53 -j ACCEPT
iptables -A INPUT -p udp -s $RI -d 0/0 --dport 53 -j ACCEPT
iptables -A INPUT -p udp -s 0/0 -d $RI --sport 53 -j ACCEPT

iptables -A FORWARD -p tcp -s $RI -d 0/0 --dport 53 -j ACCEPT
iptables -A FORWARD -p tcp -s 0/0 -d $RI --sport 53 -j ACCEPT
iptables -A FORWARD -p udp -s $RI -d 0/0 --dport 53 -j ACCEPT
iptables -A FORWARD -p udp -s 0/0 -d $RI --sport 53 -j ACCEPT

iptables -A FORWARD -p icmp -s $RI -d 0/0 --icmp-type 8 -j ACCEPT
iptables -A FORWARD -p icmp -s 0/0 -d $RI --icmp-type 0 -j ACCEPT

# Porta VPN
# iptables -A INPUT -p udp --dport 1194 -j ACCEPT

# Porta Webmin
iptables -A INPUT -p tcp --dport 10000 -j ACCEPT

# Protecao contra pacotes danificados
# iptables -A FORWARD -m unclean -j DROP

# ---------------------------------------------------------------------------------
# MANGLE
# ---------------------------------------------------------------------------------
#
iptables -t mangle -A OUTPUT -o $DRE1 -p tcp --dport 21 -j TOS --set-tos 0x10
iptables -t mangle -A OUTPUT -o $DRE1 -p tcp --dport 23 -j TOS --set-tos 0x10
iptables -t mangle -A OUTPUT -o $DRE1 -p tcp --dport 6665:6668 -j TOS --set-tos 0x10
iptables -t mangle -A OUTPUT -o $DRE1 -p udp --dport 53 -j TOS --set-tos 0x10

# Acesso a rede externa
iptables -A FORWARD -i $DRE1 -s $RI -j ACCEPT
iptables -A FORWARD -d $RI -j ACCEPT

echo "firewall Ativado"



  


2. Re: IPTABLES barrando acesso a internet [RESOLVIDO]

berghetti
berghetti

(usa Debian)

Enviado em 30/05/2017 - 14:47h

Deve ser por causa desse regra.

iptables -t filter -P INPUT DROP


3. Re: IPTABLES barrando acesso a internet

Perfil removido
removido

(usa Nenhuma)

Enviado em 30/05/2017 - 14:49h

1- O centos esta na versão 7.

2- Post as saídas do comandos abaixo:

ping www.vivaolinux.com.br

traceroute www.vivaolinux.com.br

cat /etc/resolv.conf


iptables -L

iptables -t nat -L


4. Re: IPTABLES barrando acesso a internet

Perfil removido
removido

(usa Nenhuma)

Enviado em 30/05/2017 - 15:03h

berghetti escreveu:

Deve ser por causa desse regra.

iptables -t filter -P INPUT DROP


+1

A tabela filter só pode tratar do que passa ou não passa.

É composta de 3 chains: INPUT, OUTPUT e FORWARD. É a tabela default, isto significa que quando não referenciamos nenhuma chain no comando iptables, a chain filter é chamada. É importante deixar claro que essa chain trata do tráfego normal de dados, isto significa que não há nenhum tipo de mascaramento (NAT) nela.

INPUT (Pacotes de Entrada) --> Os pacotes são encaminhados para esta chain quando a origem não é o firewall, mas o destino é o firewall.


Políticas de acesso

DROP --> É exatamente o inverso do ACCEPT. Bloqueia tudo, deixando passar somente os pacotes que batem exatamente com as características passadas pelo comando de liberação.


https://www.vivaolinux.com.br/artigo/Desvendando-as-regras-de-Firewall-Linux-Iptables


O firewall poderia ser mas simples e objetivo.

Você pegou esse script de algum site tem coisa faltando relacionado a questão de segurança e outra nem deveria ter.



5. Re: IPTABLES barrando acesso a internet [RESOLVIDO]

Johnathan Alisson
johnathangav

(usa KUbuntu)

Enviado em 30/05/2017 - 15:23h

Na verdade eu não peguei da internet, eu fui implementando baseado em outros scripts que eu tenho de um curso que eu fiz.
O teste de ping não dá certo:
ping: unknown host www.vivaolinux.com.br

Traceroute também dá erro:
www.vivaolinux.com.br: Falha temporária na resolução de nome
Cannot handle "host" cmdline arg `www.vivaolinux.com.br' on position 1 (argc 1)


iptables -L:
Chain INPUT (policy DROP)
target prot opt source destination
TROJAN tcp -- anywhere anywhere tcp dpt:mdqs
TROJAN tcp -- anywhere anywhere tcp dpt:terabase
TROJAN tcp -- anywhere anywhere tcp dpt:x11
TROJAN tcp -- anywhere anywhere tcp dpt:6006
TROJAN tcp -- anywhere anywhere tcp dpt:16660
ACCEPT icmp -- anywhere anywhere
ACCEPT tcp -- anywhere anywhere tcp dpt:ssh
ACCEPT tcp -- anywhere anywhere tcp dpt:ssh
ACCEPT tcp -- anywhere anywhere tcp dpt:squid
ACCEPT udp -- 192.168.10.0/24 anywhere udp dpt:domain
ACCEPT udp -- anywhere 192.168.10.0/24 udp spt:domain
ACCEPT tcp -- anywhere anywhere tcp dpt:ndmp

Chain FORWARD (policy DROP)
target prot opt source destination
REJECT tcp -- 192.168.10.0/24 anywhere tcp dpts:6881:iatp-normalpri reject-with icmp-port-unreachable
REJECT udp -- 192.168.10.0/24 anywhere udp dpts:6881:iatp-normalpri reject-with icmp-port-unreachable
ACCEPT tcp -- anywhere anywhere tcp dpt:ms-wbt-server
ACCEPT udp -- anywhere anywhere udp dpt:ms-wbt-server
LOG icmp -- anywhere anywhere LOG level warning
ACCEPT icmp -- anywhere anywhere
ACCEPT tcp -- anywhere anywhere tcp dpt:https
ACCEPT tcp -- anywhere anywhere tcp dpt:http
ACCEPT tcp -- anywhere anywhere tcp dpt:sitaradir
ACCEPT tcp -- anywhere anywhere tcp dpt:cfinger
ACCEPT tcp -- anywhere anywhere tcp dpt:berknet
ACCEPT udp -- 192.168.10.0/24 anywhere udp dpt:domain
ACCEPT udp -- anywhere 192.168.10.0/24 udp spt:domain
ACCEPT icmp -- 192.168.10.0/24 anywhere icmp echo-request
ACCEPT icmp -- anywhere 192.168.10.0/24 icmp echo-reply
ACCEPT all -- 192.168.10.0/24 anywhere
ACCEPT all -- anywhere 192.168.10.0/24

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

Chain TROJAN (5 references)
target prot opt source destination
LOG all -- anywhere anywhere limit: avg 15/min burst 15 LOG level warning prefix `FIREWALL: trojan'
DROP all -- anywhere anywhere


iptables -t nat -L:
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
DNAT tcp -- anywhere anywhere tcp dpt:ms-wbt-server to:192.168.10.10
DNAT tcp -- anywhere anywhere tcp dpt:ssh to:192.168.10.254

Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE all -- anywhere anywhere

Chain OUTPUT (policy ACCEPT)
target prot opt source destination


cat /etc/resolv.conf:
; generated by /sbin/dhclient-script
nameserver 8.8.4.4




6. Re: IPTABLES barrando acesso a internet [RESOLVIDO]

Johnathan Alisson
johnathangav

(usa KUbuntu)

Enviado em 30/05/2017 - 15:25h

berghetti escreveu:

Deve ser por causa desse regra.

iptables -t filter -P INPUT DROP


Mas se eu deixar essa regra liberada tudo o que chegar no servidor ele vai aceitar. Eu quero que ele aceite apenas o que eu liberar, por isso eu deixei ela DROP.


7. Re: IPTABLES barrando acesso a internet [RESOLVIDO]

Johnathan Alisson
johnathangav

(usa KUbuntu)

Enviado em 31/05/2017 - 10:28h

Bom dia,
venho informar que consegui resolver este problema informando as seguintes regras:
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -p udp --sport 53 -j ACCEPT

De qualquer forma, agradeço pela ajuda de vocês.
Valeu!






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts