Podem me ajudar com o IPTABLES?

1. Podem me ajudar com o IPTABLES?

Claudio Roberto de Oliveira Filho
baixotu

(usa Debian)

Enviado em 10/12/2007 - 11:48h

Preciso liberar a porta 1999 para o Servidor com Internet e direcionar para a minha máquina (192.168.0.x).
Minhas placas de rede:
eth1 = Internet
eth0 = Rede

Minha atuais regras:

#!/bin/sh -e
#
# rc.local
#eth0=placa interna
#eth1=placa externa
#
# 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.

# ----------------------------------------------------------
# Ativa modulos
# ----------------------------------------------------------
/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
echo "Carga dos Modulos OK!"

# ----------------------------------------------------------
# Zera regras
# ----------------------------------------------------------
iptables -F
iptables -X
iptables -F -t nat
iptables -X -t nat
iptables -F -t mangle
iptables -X -t mangle
echo "Zeramento das regras OK!"

echo " LIMPANDO AS REGRAS DO IPTABLES ------------------------ OK" &&
iptables -F INPUT &&
iptables -F OUTPUT &&
iptables -F FORWARD &&
echo " DEFININDO POLITICA DE REGRAS DO IPTABLES -------------- OK" &&
iptables -P INPUT DROP &&
iptables -P FORWARD ACCEPT &&
iptables -P OUTPUT ACCEPT &&

# ----------------------------------------------------------
# libera conexoes de fora pra dentro
# ----------------------------------------------------------

iptables -A INPUT -p tcp --destination-port 443 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 20 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 21 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 22 -j ACCEPT
# iptables -A INPUT -p tcp --destination-port 3128 -j ACCEPT

# ----------------------------------------------------------
#libera conexoes de dentro pra fora:
# ----------------------------------------------------------

iptables -A OUTPUT -p tcp --destination-port 80 -j ACCEPT
iptables -A OUTPUT -p tcp --destination-port 22 -j ACCEPT
iptables -A OUTPUT -p tcp --destination-port 20 -j ACCEPT
iptables -A OUTPUT -p tcp --destination-port 21 -j ACCEPT
iptables -A OUTPUT -p tcp --destination-port 86 -j ACCEPT
iptables -A OUTPUT -p tcp --destination-port 5190 -j ACCEPT
iptables -A OUTPUT -p tcp --destination-port 443 -j ACCEPT
iptables -A OUTPUT -p tcp --destination-port 3128 -j ACCEPT



# echo " LIBERANDO ACESSO AO SERVIDOR -------------------------- OK" &&
# iptables -A INPUT -i lo -j ACCEPT &&
# iptables -A INPUT -s 0/0 -p udp -m multiport --sport 53 -j ACCEPT &&
# iptables -A INPUT -s 0/0 -p tcp -m multiport --sport 22,25,110,443 -j ACCEPT &&
# iptables -A INPUT -s 0/0 -p tcp -m multiport --dport 22,25,110,443 -j ACCEPT &&
# iptables -A INPUT -s 0/0 -p tcp -m multiport --sport 53 -j ACCEPT &&
# iptables -A INPUT -s 0/0 -p udp -m multiport --sport 22,25,110,443 -j ACCEPT &&
# tables -A INPUT -s 0/0 -p udp -m multiport --dport 22,25,110,443 -j ACCEPT &&
# echo " LIBERANDO ACESSO A REDE LOCAL ------------------------- OK" &&
# iptables -A INPUT -i eth1 -p tcp -m multiport --dport 22,25,80,110,137,138,139,443,445,3128 -j ACCEPT &&
# iptables -A INPUT -i eth0 -p tcp -m multiport --sport 22,25,110,137,138,139,443,445,3128 -j ACCEPT &&
# iptables -A INPUT -i eth1 -p udp -m multiport --dport 80,137,138,139,445,3128 -j ACCEPT &&
# iptables -A INPUT -i eth0 -p udp -m multiport --sport 137,138,139,445,3128 -j ACCEPT &&
echo " LIBERAÇÃO DOS SOCKETES -------------------------------- OK" &&
iptables -A INPUT -m state --state ESTABLISHED,RELATED,NEW -j ACCEPT &&
echo " COMPARTILHAMENTO DA INTERNET, MASCARAMENTO ------------ OK" &&
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth1 -j MASQUERADE &&
echo " PERMITINDO REDIRECIONAMENTO DE PACOTES ---------------- OK" &&
echo 1 >/proc/sys/net/ipv4/ip_forward &&
iptables -t nat -A PREROUTING -s 192.168.100.0/24 -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -s 192.168.100.0/24 -p udp --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128

#e-mail:
iptables -A FORWARD -p tcp --dport 25 -j ACCEPT
iptables -A FORWARD -p udp --dport 25 -j ACCEPT
iptables -A FORWARD -p tcp --dport 110 -j ACCEPT
iptables -A FORWARD -p udp --dport 110 -j ACCEPT

# PORTA 53 - ACEITA PARA A REDE LOCAL
# iptables -A FORWARD -i eth1 -p udp --dport 53 -j ACCEPT

#PORTA 53 UDP - ACEITA PARA A REDE LOCAL
# iptables -A FORWARD -i eth1 -p udp --dport 53 -j ACCEPT

# PORTA 110 - ACEITA PARA A REDE LOCAL
# iptables -A FORWARD -i eth1 -p tcp --dport 110 -j ACCEPT

# PORTA 25 - ACEITA PARA A REDE LOCAL
# iptables -A FORWARD -i eth1 -p tcp --dport 25 -j ACCEPT

# PORTA 443 - ACEITA PARA A REDE LOCAL
# iptables -A FORWARD -i eth1 -p tcp --dport 443 -j ACCEPT

# PORTA 21 - ACEITA PARA A REDE LOCAL
# iptables -A FORWARD -i eth1 -p tcp --dport 21 -j ACCEPT

# PORTA 3128 - ACEITA PARA A REDE LOCAL
# iptables -A FORWARD -i eth1 -p tcp --dport 3128 -j ACCEPT

# PROTEÇÃO CONTRA TROJANS:

iptables -A INPUT -p TCP -i eth0 --dport 666 -j DROP
iptables -A INPUT -p TCP -i eth0 --dport 666 -j DROP
iptables -A INPUT -p TCP -i eth0 --dport 4000 -j DROP
iptables -A INPUT -p TCP -i eth0 --dport 6000 -j DROP
iptables -A INPUT -p TCP -i eth0 --dport 6006 -j DROP
iptables -A INPUT -p TCP -i eth0 --dport 16660 -j DROP

# Proteções diversas contra portscanners, ping of death, ataques DoS, etc.
iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
iptables -A FORWARD -p tcp -m limit --limit 1/s -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
iptables -A FORWARD --protocol tcp --tcp-flags ALL SYN,ACK -j DROP
iptables -A FORWARD -m unclean -j DROP

# Bloqueando conexão via SSH:

iptables -A INPUT -p tcp --destination-port 22 -j DROP

# Bittorrent:

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 6881:6889 -j DNAT --to-dest 192.168.0.2
iptables -A FORWARD -p tcp -i eth0 --dport 6881:6889 -d 192.168.0.2 -j REJECT

# iMesh:

iptables -A FORWARD -d 216.35.208.0/24 -j REJECT

# BearShare:

iptables -A FORWARD -p TCP --dport 6346 -j REJECT

# ToadNode:

iptables -A FORWARD -p TCP --dport 6346 -j REJECT

# WinMX:

iptables -A FORWARD -d 209.61.186.0/24 -j REJECT
iptables -A FORWARD -d 64.49.201.0/24 -j REJECT

# Napigator:

iptables -A FORWARD -d 209.25.178.0/24 -j REJECT

# Morpheus:

iptables -A FORWARD -d 206.142.53.0/24 -j REJECT
iptables -A FORWARD -p TCP --dport 1214 -j REJECT

# KaZaA:

iptables -A FORWARD -d 213.248.112.0/24 -j REJECT
iptables -A FORWARD -p TCP --dport 1214 -j REJECT

# Limewire:

iptables -A FORWARD -p TCP --dport 6346 -j REJECT

# Audiogalaxy:

iptables -A FORWARD -d 64.245.58.0/23 -j REJECT

# Mais uma linha interessante de se adicionar, que protege contra pacotes danificados (usados em ataques DoS por exemplo) é:

iptables -A FORWARD -m unclean -j DROP

#11/10/2007:

# Protege contra os "Ping of Death"
iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT

# Protege contra os ataques do tipo "Syn-flood, DoS, etc"
iptables -A FORWARD -p tcp -m limit --limit 1/s -j ACCEPT

# Logar os pacotes mortos por inatividade ...
iptables -A FORWARD -m limit --limit 3/minute --limit-burst 3 -j LOG

# Protege contra port scanners avançados (Ex.: nmap)
iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT

# Protege contra pacotes que podem procurar e obter informações da rede interna ...
iptables -A FORWARD --protocol tcp --tcp-flags ALL SYN,ACK -j DROP

# Protege contra todos os pacotes danificados e ou suspeitos ...
iptables -A FORWARD -m unclean -j DROP

# Bloqueando tracertroute
iptables -A INPUT -p udp -s 0/0 -i $ENT --dport 33435:33525 -j DROP

# Protecoes contra ataques
iptables -A INPUT -m state --state INVALID -j DROP

# Performance - Setando acesso a web com delay minimo
iptables -t mangle -A OUTPUT -o $ENT -p tcp --dport 53 -j TOS --set-tos Minimize-Delay
iptables -t mangle -A OUTPUT -o $ENT -p tcp --dport 80 -j TOS --set-tos Minimize-Delay

#Squid
iptables -A INPUT -p tcp -i eth1 --dport 3128 -j DROP
iptables -A INPUT -p udp -i eth1 --dport 3128 -j DROP

# Fecha o resto
iptables -A INPUT -p tcp --syn -j DROP

echo &&
echo &&
echo "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @" &&
echo "@@@ TERMINO DA CONFIGURAÇÃO @@@" &&
echo "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @" &&

exit 0

O que tenho que adicionar?


  


2. Re: Podem me ajudar com o IPTABLES?

Rafael Andrade
randra

(usa Debian)

Enviado em 10/12/2007 - 12:21h

Pode estar fazendo dessa maneira:

$iptables -t nat -A PREROUTING -p tcp -s 0/0 -d $GW \
--dport 1999 -j DNAT --to-destination 192.168.0.x:1999

sendo que:
$iptables = Localizacao Iptables
$GW = ip servidor internet


3. veja se assim te serve...

Marcos Meira
oxroll

(usa Debian)

Enviado em 10/12/2007 - 12:23h

iptables -I FORWARD -p tcp -i eth1 -d 192.168.0.x --dport 1999 -j ACCEPT
iptables -I FORWARD -p udp -i eth1 -d 192.168.0.x --dport 1999 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp -i eth1 --dport 1999 -j DNAT --to 192.168.0.x
iptables -t nat -A PREROUTING -p udp -i eth1 --dport 1999 -j DNAT --to 192.168.0.x

Usu aqui e funciona LEGAL!

Valew, espero ter ajudado!







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts