#  > Geral >  > Segurança >  >  DMZ COM IPTABLES...
Seguinte, galerinha,
tenho aqui na empresa onde eu trabalho a seguinte estrutura...

3 servidores, todos com httpd(iis em 1, apache + php nos outros 2)
dentro desse servidores, 2 sao linux e neles rodam respectivamente...

Servidor 1:
-DNS, HTTPD, FTP

Servidor 2:
-DNS, HTTPD, QMAILD, WEBMAIL

gostaria de saber se no iptables eu posso, falar que se chegar pacotes para o ip x ele vai para o servidor da dmz x e se chegar para o ip y ele vai para a dmz do ip y....
e tem o terminal service que roda em outro servidor....

abaixo vou colar o script que fiz baseado em algumas leituras....

------- SCRIPT -----------------


/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ipt_limit
/bin/echo 1 > /proc/sys/net/ipv4/ip_forward
IPTABLES=`whereis iptables |cut -f 2 -d &acute; &acute;`
IPEMAIL=1.2.3.4
IPHTTP=1.2.3.5
IPWWW=1.2.3.6
IPTS=1.2.3.7
HTTP=10.10.0.1
EMAIL=10.10.0.2

# Limpando regras
$IPTABLES -F
iptables -F
iptables -t nat -F
iptables -X
iptables -t nat -X

# Negando qualquer acesso ah rede
$IPTABLES -t filter -P INPUT ACCEPT

# Permitindo acesso no localhost
$IPTABLES -t filter -A INPUT -j ACCEPT -i lo
$IPTABLES -t filter -A INPUT -j ACCEPT -i eth0

# Permitindo trafegos estabilizados
$IPTABLES -t filter -A FORWARD -j ACCEPT -m state --state ESTABLISHED,RELATED
$IPTABLES -t filter -A INPUT -j ACCEPT -m state --state ESTABLISHED,RELATED

# Liberando acesso as portas
#########################################################################

# http - 80
$IPTABLES -t filter -A FORWARD -j ACCEPT -m state --state NEW -p tcp --dport 80

# ftp - 21
$IPTABLES -t filter -A FORWARD -j ACCEPT -m state --state NEW -p tcp --dport 21

# pop3
$IPTABLES -t filter -A FORWARD -j ACCEPT -m state --state NEW -p tcp --dport 25

# smtp
$IPTABLES -t filter -A FORWARD -j ACCEPT -m state --state NEW -p tcp --dport 110


# autenticacao - FTP / EMAIL - auth
$IPTABLES -t filter -A FORWARD -j ACCEPT -m state --state NEW -p tcp --dport auth

# dns
$IPTABLES -t filter -A FORWARD -j ACCEPT -m state --state NEW -p tcp --dport 53
$IPTABLES -t filter -A FORWARD -j ACCEPT -m state --state NEW -p udp --dport 53

# ssh
$IPTABLES -t filter -A FORWARD -j ACCEPT -m state --state NEW -p tcp --dport 22
$IPTABLES -t filter -A FORWARD -j ACCEPT -m state --state NEW -p udp --dport 22

# terminal services
$IPTABLES -t filter -A FORWARD -j ACCEPT -m state --state NEW -p tcp --dport 3389


#########################################################################
# Rejeitando Pacotes que nao forem de acordo com as regras acima
$IPTABLES -t filter -A FORWARD -j ACCEPT

# mask na rede de saida
$IPTABLES -t nat -A POSTROUTING -j MASQUERADE -o eth0

# redirecionando pacotes para a dmz
###################################

$IPTABLES -t nat -A PREROUTING -j DNAT --to-dest $IPEMAIL -i eth1 -p tcp --dport 110
$IPTABLES -t nat -A PREROUTING -j DNAT --to-dest $IPHTTP -i eth1 -p tcp --dport 21
$IPTABLES -t nat -A PREROUTING -j DNAT --to-dest $IPEMAIL -i eth1 -p tcp --dport 25
$IPTABLES -t nat -A PREROUTING -j DNAT --to-dest $IPTS -i eth1 -p tcp --dport 3389

#Redirecionamentos de pacotes especificos para cada servidor
############################################################
$IPTABLES -A PREROUTING -t nat -p tcp -d $IPEMAIL --dport 80 -j DNAT --to $EMAIL:80
$IPTABLES -A PREROUTING -t nat -p tcp -d $IPHTTP --dport 80 -j DNAT --to $HTTP:80 
$IPTABLES -A PREROUTING -t nat -p tcp -d $IPEMAIL --dport 53 -j DNAT --to $EMAIL:53
$IPTABLES -A PREROUTING -t nat -p tcp -d $IPHTTP --dport 53 -j DNAT --to $HTTP:53
$IPTABLES -A PREROUTING -t nat -p tcp -d $IPEMAIL --dport 22 -j DNAT --to $EMAIL:22
$IPTABLES -A PREROUTING -t nat -p tcp -d $IPHTTP --dport 22 -j DNAT --to $HTTP:22




alguem pode dar uma luz ae...?????


URGENTE!!!!!!

<IMG SRC="images/forum/icons/icon_biggrin.gif">

----------


## Mr_Mind

não dei uma lida mt profunda no seu script .. mas acho que quem o fez tem conhecimento suficiente para resolver o seu problema q ate&acute; nem e&acute; nada de especial.


so nao percebi o porque disto:

# redirecionando pacotes para a dmz
###################################

$IPTABLES -t nat -A PREROUTING -j DNAT --to-dest $IPEMAIL -i eth1 -p tcp --dport 110
$IPTABLES -t nat -A PREROUTING -j DNAT --to-dest $IPHTTP -i eth1 -p tcp --dport 21
$IPTABLES -t nat -A PREROUTING -j DNAT --to-dest $IPEMAIL -i eth1 -p tcp --dport 25
$IPTABLES -t nat -A PREROUTING -j DNAT --to-dest $IPTS -i eth1 -p tcp --dport 3389 

ok .. acabei de acordar mas mesmo assim ... nao vejo a finalidade!

ainda assim .. nao vejo como t possa ajudar .. acho que ja tens o q queres ..... <IMG SRC="images/forum/icons/icon_eek.gif">

----------

Fui eu mesmo que desenvolvi o script.
Olhe bem o que eu quero... as regras de filtragens eu ja fiz, como vc pode ver ae... estou com uma duvida com relacao ao seguinte problema:

aqui na empresa tenho 3 servidores de WEB intaum, tenho que distinguir para qual ip a requisicao vai ow vem, ainda nao consegui fazer isso...
intende?

seguinte se a requisicao vem pra o servidor webmail.empresa.com.br ele manda para a rede DMZ no ip X
se vim para www.empresa.com.br ele manda pra o Y e se vim para alunos.empresa.com.br ele manda para o Z...

essa eh minha duvida 
e outra coisa como eu faco para pode passar os icmps....

eu naoconsegui... valeu
<IMG SRC="images/forum/icons/icon_biggrin.gif">

----------


## B4D_D0G

pq?

não consigo entender sua estrutura de rede...
pra quê três servidores http?
por quê três redes?
por quê??

explique sua estrutura de rede por favor! <IMG SRC="images/forum/icons/icon_eek.gif">

----------


## s3ri4l

Olá,
resolvi me cadastras na underlinux...
eu sou o anonimous ae... =)

OK.
eh o seguinte, 
eh aqui rodamos 
3 servidores 2 com apache e um com IIS(o site da empresa esta em asp)....
2 servidores apache ( 1 com webmail ) e o outro com site dos alunos da empresa... intendes?


<IMG SRC="images/forum/icons/icon_biggrin.gif">

----------


## B4D_D0G

ok, e vc quer acesso externo a tudo isso!!!

bom, o webmail e o dos alunos poderia ser no mesmo server sem perda de rendimento economizando máquina...os dois server não precisam ter dns, a não ser que sejam master e slave...

outra coisa me dê um exemplo de seus IPs, não poste o real mas um fictício que exemplifique como está sua rede TCP/IP, ok??

jah volto!!! <IMG SRC="images/forum/icons/icon_wink.gif">

----------


## s3ri4l

Ok,
seguinte...
sao 2 DNS...
um master e um SLAVE...

Vamo supor que minha rede seja 
HJ:
Servidor 1 -> 200.225.202.78 
Servidor 2 -> 200.225.202.79 
Servidor 3 ->200.225.202.80

DMZ:
Firewall -> 200.225.202.81
Servidor 1 -> 10.10.0.1
Servidor 2 -> 10.10.0.2
Servidor 3 -> 10.10.0.3

intende?
OBS.: sao 2 servidores de DNS, 1 email, 3 http.... 2 ssh etc...

<IMG SRC="images/forum/icons/icon_biggrin.gif">

----------


## s3ri4l

Seguinte refiz minhas regras do iptables.... dei um iptables-save... olhe so como fico acho que agora funciona... =)


# Generated by iptables-save v1.2.6a on Wed Nov 20 14:25:36 2002
*mangle
<IMG SRC="images/forum/icons/icon_razz.gif">REROUTING ACCEPT [23409:6161781]
:INPUT ACCEPT [6560:1085313]
:FORWARD ACCEPT [16844:5074776]
<IMG SRC="images/forum/icons/icon_eek.gif">UTPUT ACCEPT [11623:1011817]
<IMG SRC="images/forum/icons/icon_razz.gif">OSTROUTING ACCEPT [28467:6086593]
-A PREROUTING -p tcp -m tcp --sport 20 -j TOS --set-tos 0x08 
-A PREROUTING -p tcp -m tcp --sport 22 -j TOS --set-tos 0x10 
-A PREROUTING -p tcp -m tcp --sport 23 -j TOS --set-tos 0x10 
-A PREROUTING -p tcp -m tcp --sport 80 -j TOS --set-tos 0x08 
-A OUTPUT -o eth0 -p tcp -m tcp --dport 20 -j TOS --set-tos 0x08 
-A OUTPUT -o eth0 -p tcp -m tcp --dport 22 -j TOS --set-tos 0x08 
-A OUTPUT -o eth0 -p tcp -m tcp --dport 80 -j TOS --set-tos 0x08 
-A OUTPUT -o eth0 -p tcp -m tcp --dport 119 -j TOS --set-tos 0x08 
-A OUTPUT -o eth0 -p tcp -m tcp --dport 21 -j TOS --set-tos 0x10 
-A OUTPUT -o eth0 -p tcp -m tcp --dport 22 -j TOS --set-tos 0x10 
-A OUTPUT -o eth0 -p tcp -m tcp --dport 23 -j TOS --set-tos 0x10 
-A OUTPUT -o eth0 -p tcp -m tcp --dport 25 -j TOS --set-tos 0x10 
-A OUTPUT -o eth0 -p tcp -m tcp --dport 53 -j TOS --set-tos 0x10 
-A OUTPUT -o eth0 -p udp -m udp --dport 53 -j TOS --set-tos 0x10 
-A OUTPUT -o eth0 -p tcp -m tcp --dport 119 -j TOS --set-tos 0x10 
-A OUTPUT -o eth0 -p tcp -m tcp --dport 110 -j TOS --set-tos 0x10 
-A OUTPUT -o eth0 -p tcp -m tcp --dport 143 -j TOS --set-tos 0x10 
-A OUTPUT -o eth0 -p tcp -m tcp --dport 6660:6669 -j TOS --set-tos 0x10 
-A OUTPUT -o eth0 -p tcp -m tcp --dport 7000 -j TOS --set-tos 0x10 
-A OUTPUT -o eth0 -p tcp -m tcp --dport 7500 -j TOS --set-tos 0x10 
-A OUTPUT -o eth0 -p tcp -m tcp --dport 7501 -j TOS --set-tos 0x10 
-A OUTPUT -o eth0 -p tcp -m tcp --dport 7777 -j TOS --set-tos 0x10 
COMMIT
# Completed on Wed Nov 20 14:25:36 2002
# Generated by iptables-save v1.2.6a on Wed Nov 20 14:25:36 2002
*nat
<IMG SRC="images/forum/icons/icon_razz.gif">REROUTING ACCEPT [2286:116573]
<IMG SRC="images/forum/icons/icon_razz.gif">OSTROUTING ACCEPT [121:7542]
<IMG SRC="images/forum/icons/icon_eek.gif">UTPUT ACCEPT [959:56542]
-A PREROUTING -i eth1 -p tcp -m tcp --dport 110 -j DNAT --to-destination 200.248.147.132 
-A PREROUTING -i eth1 -p tcp -m tcp --dport 21 -j DNAT --to-destination 200.248.147.131 
-A PREROUTING -i eth1 -p tcp -m tcp --dport 25 -j DNAT --to-destination 200.248.147.132 
-A PREROUTING -i eth1 -p tcp -m tcp --dport 3389 -j DNAT --to-destination 200.248.147.190 
-A PREROUTING -d 200.248.147.132 -p tcp -m tcp --dport 80 -j DNAT --to-destination 10.10.0.2:80 
-A PREROUTING -d 200.248.147.131 -p tcp -m tcp --dport 80 -j DNAT --to-destination 10.10.0.1:80 
-A PREROUTING -d 200.248.147.132 -p tcp -m tcp --dport 53 -j DNAT --to-destination 10.10.0.2:53 
-A PREROUTING -d 200.248.147.131 -p tcp -m tcp --dport 53 -j DNAT --to-destination 10.10.0.1:53 
-A PREROUTING -d 200.248.147.132 -p tcp -m tcp --dport 22 -j DNAT --to-destination 10.10.0.2:22 
-A PREROUTING -d 200.248.147.131 -p tcp -m tcp --dport 22 -j DNAT --to-destination 10.10.0.1:22 
-A POSTROUTING -o eth0 -j MASQUERADE 
COMMIT
# Completed on Wed Nov 20 14:25:36 2002
# Generated by iptables-save v1.2.6a on Wed Nov 20 14:25:36 2002
*filter
:INPUT ACCEPT [6:228]
:FORWARD DROP [0:0]
<IMG SRC="images/forum/icons/icon_eek.gif">UTPUT ACCEPT [11623:1011817]
-A INPUT -i lo -j ACCEPT 
-A INPUT -i eth0 -j ACCEPT 
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT 
-A FORWARD -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT 
-A FORWARD -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT 
-A FORWARD -p tcp -m state --state NEW -m tcp --dport 25 -j ACCEPT 
-A FORWARD -p tcp -m state --state NEW -m tcp --dport 110 -j ACCEPT 
-A FORWARD -p tcp -m state --state NEW -m tcp --dport 113 -j ACCEPT 
-A FORWARD -p tcp -m state --state NEW -m tcp --dport 53 -j ACCEPT 
-A FORWARD -p udp -m state --state NEW -m udp --dport 53 -j ACCEPT 
-A FORWARD -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT 
-A FORWARD -p udp -m state --state NEW -m udp --dport 22 -j ACCEPT 
-A FORWARD -p tcp -m state --state NEW -m tcp --dport 3389 -j ACCEPT 
-A FORWARD -j ACCEPT 
COMMIT
# Completed on Wed Nov 20 14:25:36 2002


OBS... IP&acute;s VALIDOS FICTICIOS
se alguem puder dar alguma dica/sugestao agradeco...

<IMG SRC="images/forum/icons/icon_biggrin.gif"> <IMG SRC="images/forum/icons/icon27.gif">

----------


## s3ri4l

Alguem pode se pronunciar?


<IMG SRC="images/forum/icons/icon27.gif"> 
Eu espero ... <IMG SRC="images/forum/icons/icon21.gif"> 

<IMG SRC="images/forum/icons/icon_biggrin.gif">

----------


## s3ri4l

Não se minha pergunta vai ser boba, mas o seguinte....
a rota padra da minha dmz tem que ser a rede interna? certo? precisa colocar algo mais????

preciso adicionar mais alguma roda no firewall???
para as 2 redes se comunicarem???


a rede dmz tem o ip 10.10.0.x
e a rede valida tem o ip 200.248.233.x

alguem pode me dar uma ajuda????

<IMG SRC="images/forum/icons/icon_biggrin.gif"> <IMG SRC="images/forum/icons/icon_biggrin.gif">

----------


## Mr_Mind

ora bem .. tu queres colocar a DMZ? e&acute;?
ohpah .. o firewall pode ter os varios ip&acute;s .. atribuidos a maquina internas! eu so acho q estas a fazer uma tempestade num copo de agua. tentei explicar-te no icq perguntando-te qnts ip&acute;s publicos tinhas!
depois as regras por cada ip ficam mais faceis! nao havera necessidade d leitura de headers d pacotes nem nada do genero <IMG SRC="images/forum/icons/icon_confused.gif">

----------


## s3ri4l

Ae galera meu problema foi resolvido.... consegui algumas informacoes sobre a dmz, e tipo... para pode fazer eu crio o aliases...na placa de rede
com os ip&acute;s que eu quero atribuir na dmz... =) achei muito interessante... =) pois ateh o momento nao sabia .. como lidar com tal cituacao....
=)))
obrigado ae galera..
estarei sempre por aqui....
<IMG SRC="images/forum/icons/icon_biggrin.gif"> <IMG SRC="images/forum/icons/icon_biggrin.gif"> <IMG SRC="images/forum/icons/icon_biggrin.gif"> <IMG SRC="images/forum/icons/icon_biggrin.gif"> <IMG SRC="images/forum/icons/icon_biggrin.gif"> <IMG SRC="images/forum/icons/icon_biggrin.gif"> <IMG SRC="images/forum/icons/icon_biggrin.gif">

----------


## AndrewAmorimdaSilva

Fala kara blz???

Tem como você postar os links onde vc consegui boas informaçoes??

Um abraço! <IMG SRC="images/forum/icons/icon_biggrin.gif">

----------


## AndrewAmorimdaSilva

Fala kara blz???

Tem como você postar os links onde vc consegui boas informaçoes??

Um abraço! <IMG SRC="images/forum/icons/icon_biggrin.gif">

----------


## s3ri4l

Ae meo....
o site é 
www.netfilter.org


<IMG SRC="images/forum/icons/icon21.gif"> <IMG SRC="images/forum/icons/icon21.gif">

----------

