Liberando acesso total [RESOLVIDO]

25. Re: Liberando acesso total [RESOLVIDO]

Jefferson Diego
Diede

(usa Debian)

Enviado em 01/12/2009 - 15:27h

Hey magnolinux, não ofendeu não... eu só retifiquei o post, pois achei que com a regra errada que postei, e a correção que fiz logo abaixo ficou meio bagunçado saber qual era o correto.

Concordo que o melhor é trabalhar na tabela filter, até porque é ela quem deve estar bloqueando.
Quanto a "iptables -t nat -A POSTROUTING -s IP_chefe -o eth0 -j MASQUERADE" você diz que só o IP do chefe irá navegar, mas isto é porque só há uma regra. Pelo que eu entendi do Cr1stt0f3r, é só no "IP_Chefe" que ele quer navegação em serviços que precisam de nat, como irc, torrent, etc.
Mas, não é bem algo como um laço, digo, ele pode adicionar posteriormente "iptables -t nat -A POSTROUTING -s IP_maria -o eth0 -j MASQUERADE" e ela também terá nat...


  


26. Re: Liberando acesso total [RESOLVIDO]

Paulo Cristtofer Santos de Lima
Cr1stt0f3r

(usa Outra)

Enviado em 01/12/2009 - 17:13h

isto mesmo, quero liberar o do chefe, o restante irei filtrar de acordo com a necessidade..

Enfim, eu nao setei nenhum tipo de configuracao, se eu tirar o proxy, nao navega nem acessa nada..

a proxy transparente nao seria uma opcao disponivel, por se tratar de uma otimo recurso para melhorar a seguranca das politicas de acesso.

Alguma dica ainda amigos?


27. Re: Liberando acesso total [RESOLVIDO]

Magno Lima
magnolinux

(usa Debian)

Enviado em 02/12/2009 - 10:29h

Se ele fizer igual vc ta falando, que é fazer nat somente para o ip do chefe... ele nao esta bloqueando e liberando... ele ta fazendo nat ou não..

Com isso os usuarios que nao for setado no nat, saira somente pela porta 80 e 443 que seria as portas WEB...

a dica é valida... mais não seria uma solução profissional...

Firewall é um serviço complexo, nosso amigo teria que dar uma estuda.. para depois criar suas proprias regras...

Abraço..


28. Re: Liberando acesso total [RESOLVIDO]

Jefferson Diego
Diede

(usa Debian)

Enviado em 02/12/2009 - 14:10h

Mas, usar o Nat é ideal como complemento. É só não pensar em usar nat para bloquear.
Já ví firewall's por aí dando DROP em tabela Nat (Nat, como sabemos não foi feito para fazer filter)
Quando as necessidades são as mesmas do nosso amigo, eu costumo seguir a mesma linha:
1. Bloqueia tudo por padrão (filter)
2. Libera o necessário (filter)
3. Faz Nat para dar Masquerade a quem terá acesso irrestrito (mas, pensando no Masquerade só como ferramenta de SNAT, quem não irá passar pelo proxy)
4. Joga o resto no Proxy por Redirect.

No escopo deste caso, a função do Masquerade (3) aí é realmente "fazer nat ou não", pois na rede, inicialmente não inclui bloqueios.
Ele irá tratar o conteúdo. De certa forma, dá pra tratar o nat nesse caso como forma de "liberar acesso", porque quem não constar com uma regra nat não vai conseguir nada além de acessar o proxy. Não que seja um nat fazendo filter. É só um nat fazendo uma rota alternativa à quem "precisa".


29. Re: Liberando acesso total [RESOLVIDO]

Magno Lima
magnolinux

(usa Debian)

Enviado em 03/12/2009 - 08:00h

Bom dia Diede...

To gostando do nosso debate...

Entao vamos la, você falou que em muitos scripts, pessoas dando um DROP na tabela nat, eu mesmo faço isso, porque evita que algum atacante consiga sair pelo nat sem autorização.

Relacionado a liberar e bloquear o nat para quem precisa, isso é bacana e totalmente utilizavel, o iptables nos permite essa flexibilidade.

mais descordo de seu quetionamento.

Diode - 3. Faz Nat para dar Masquerade a quem terá acesso irrestrito (mas, pensando no Masquerade só como ferramenta de SNAT, quem não irá passar pelo proxy)

so para vc entender... o iptables trabalha com ganchos do netfilter... a tabela nat é lida da seguinte forma..

PREROUTING -> INPUT ou FORWARD -> POSTROTUING

Antes de chegar na chain POSTROUTING, o pacote já tera passado na chain PREROUTING, onde é definido o roteamento dos pacotes, esse roteamento defini se o pacote é input ou forward e por ultimo vai para tabela POSTROUTING.

Entao, mesmo estando na chain POSTROUTING vc sera encaminhado para o proxy..

A tabela nat é utilizada para altera o conteudo do pacote, que seja porta de origem/destino ou ip de origem/destino "FIM".

A tabela filter é utilizada para filtro de Pacote "FIM".

A tabela Mangle é utilizado para alterar o conteudo do pacote, definindo prioridade(TOS..etc) "FIM"

Mais uma vez eu reforço.. a tabela filter que é a tabela de "FIREWALL" bloqueia e libera.

Flw....


30. Re: Liberando acesso total [RESOLVIDO]

Jefferson Diego
Diede

(usa Debian)

Enviado em 03/12/2009 - 14:50h

Olá magnolinux!
Bem, usar drop na tabela nat evita o atacante "natear" (desculpe o termo...) sem autorização, isso concordo. Mas, pelo pacote já ter entrado em nat, isso ocupa a tabela conntrack desnecessariamente.
Não é verdade para todos os casos, mas acontece. Eu fazia isso também, mas vi que é mais vantajoso em termos de performance bloquear direto na tabela raw, que é a primeira por onde os pacotes passam.

Liberar e bloquear na nat, realmente é possível, pela flexibilidade do netfilter, e é até viável.

magnolinux: "so para vc entender... o iptables trabalha com ganchos do netfilter... a tabela nat é lida da seguinte forma.."
Quanto aos ganchos eu entendo. Por este exato motivo que prefiro bloquear na tabela raw: Se não passar por ela, "não passa por nada"...


"PREROUTING -> INPUT ou FORWARD -> POSTROTUING"
Bem, esta ordem eu conheço :-)

magnolinux: "Antes de chegar na chain POSTROUTING, o pacote já tera passado na chain PREROUTING, onde é definido o roteamento dos pacotes, esse roteamento defini se o pacote é input ou forward e por ultimo vai para tabela POSTROUTING.
Entao, mesmo estando na chain POSTROUTING vc sera encaminhado para o proxy.."

Bem, depende como o pacote chegou na chain POSTROUTING.
Se nosso amigo adicionar "iptables -t nat -I PREROUTING -s IP_DO_CHEFE -j ACCEPT" esta será a primeira da PREROUTING que baterá com os pacotes vindos do chefe, o que pulará a regra de redirecionamento para a porta 3128. Chegando na POSTROUTING tendo pulado o redirecionamento (ou seja, com o pacote até então não modificado), o "iptables -t nat -A PREROUTING -s IP_DO_CHEFE -j MASQUERADE" irá fechar fazendo um SNAT nos pacotes, garantindo acesso a FTP, IRC, MSN, (etc) ao chefe.
Nesse embolo todo, acabou sendo feito o "temido" filter na tabela nat (iptables -t nat -I PREROUTING -s IP_DO_CHEFE -j ACCEPT), mas como você disse, e eu concordo, a flexibilidade do netfilter nos permite fazer....

magnolinux: "A tabela nat é utilizada para altera o conteudo do pacote, que seja porta de origem/destino ou ip de origem/destino "FIM"."
Sim, concordo, mas, pela flexibilidade do netfilter (ponto em que concordamos, eu acho), ela pode fazer filter também (de certa forma), embora isso seja "incorreto", por questões de organização. (e pelo fato de ocupar a conntrack desnecessariamente)

magnolinux: "A tabela filter é utilizada para filtro de Pacote "FIM"."
Sim!

magnolinux: "A tabela Mangle é utilizado para alterar o conteudo do pacote, definindo prioridade(TOS..etc) "FIM""
Sim, e bendito TOS... nada melhor que ter sempre um SSH com latência mínima!

magnolinux: "Mais uma vez eu reforço.. a tabela filter que é a tabela de "FIREWALL" bloqueia e libera."
Sim, exato!
Mas, quando digo que mexer na nat irá liberar acesso, não é "liberar" como "antônimo" de "bloquear", é um "liberar" voltado a recurso, como antônimo de "não ter".
Digo, o que tento dizer é:
No caso específico de nosso amigo, se os pacotes da máquina do chefe não tiverem um tratamento de DNAT/SNAT, eles nunca chegarão à internet, pois estão sob NAT, têm IP privado, não vai "sair vivos do nat"...
O "liberar" que digo neste caso, não quer dizer que sem o masquerade o pacote seria bloqueado porque a nat faz bloqueio, mas quer dizer que sem o masquerade o pacote seria bloqueado porque não haveria nenhuma regra que o fizesse passar pelo Nat com um IP público e chegar corretamente à Internet...


31. Re: Liberando acesso total [RESOLVIDO]

Paulo Cristtofer Santos de Lima
Cr1stt0f3r

(usa Outra)

Enviado em 03/12/2009 - 15:10h

AMIGOS:

Estamos fugindo do rumo...

Agradeço toda a atenção que estao tendo pelo topico, mas estao tomando como uma briga pessoal..

Por favor, me auxiliem em como resolver meu problema..


Agradeço muito!


32. Re: Liberando acesso total [RESOLVIDO]

Jefferson Diego
Diede

(usa Debian)

Enviado em 03/12/2009 - 15:34h

(Bem, não é exatamente briga... é mais uma discussão amigável que, possivelmente fundamentalizará a resolução definitiva do seu caso...)

Mas, tente estes comandos abaixo (tudo que já postamos organizado num só script)

#! /bin/bash
iptables -F
iptables -t nat -F
iptables -t mangle -F
modprobe iptable_nat

REDE_LOCAL="eth1"
IP_DO_CHEFE="192.168.0.200" #Substitua pelo IP correto


iptables -t nat -A PREROUTING -i $REDE_LOCAL -s $IP_DO_CHEFE -j ACCEPT
iptables -t nat -A PREROUTING -i $REDE_LOCAL -s ! $IP_DO_CHEFE -p tcp --dport 80 -j REDIRECT --to-port 3128

iptables -t filter -A FORWARD -s IP_DO_CHEFE -j ACCEPT
iptables -t filter -A FORWARD -d IP_DO_CHEFE -j ACCEPT
iptables -t filter -A INPUT -s IP_DO_CHEFE -j ACCEPT
iptables -t nat -A POSTROUTING -s IP_DO_CHEFE -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward


(Se isso não der certo, mande a saída do comando iptables-save aqui...)


33. Re: Liberando acesso total [RESOLVIDO]

Paulo Cristtofer Santos de Lima
Cr1stt0f3r

(usa Outra)

Enviado em 03/12/2009 - 15:57h

Segue abaixo o comando iptables-save:

# Generated by iptables-save v1.3.8 on Thu Dec 3 15:56:36 2009
*mangle
:PREROUTING ACCEPT [143:14715]
:INPUT ACCEPT [143:14715]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [132:16824]
:POSTROUTING ACCEPT [162:19704]
COMMIT
# Completed on Thu Dec 3 15:56:36 2009
# Generated by iptables-save v1.3.8 on Thu Dec 3 15:56:36 2009
*nat
:PREROUTING ACCEPT [37:4886]
:POSTROUTING ACCEPT [7:489]
:OUTPUT ACCEPT [7:489]
-A PREROUTING -s 10.54.0.10 -i eth1 -j ACCEPT
-A PREROUTING -s ! 10.54.0.10 -i eth1 -p tcp -m tcp --dport 80 -j REDIRECT --to- ports 3128
-A POSTROUTING -s 200.203.121.20 -j MASQUERADE
-A POSTROUTING -s 200.181.132.67 -j MASQUERADE
COMMIT
# Completed on Thu Dec 3 15:56:36 2009
# Generated by iptables-save v1.3.8 on Thu Dec 3 15:56:36 2009
*filter
:INPUT ACCEPT [175:17893]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [164:20138]
-A INPUT -s 200.181.132.67 -j ACCEPT
-A INPUT -s 200.203.121.20 -j ACCEPT
-A FORWARD -s 200.181.132.67 -j ACCEPT
-A FORWARD -s 200.203.121.20 -j ACCEPT
-A FORWARD -d 200.181.132.67 -j ACCEPT
-A FORWARD -d 200.203.121.20 -j ACCEPT
COMMIT
# Completed on Thu Dec 3 15:56:36 2009


Continua do mesmo modo.. nada...

comeco a achar q poderia ser algo errado na configuracao de rede em si.. apesar q eh soh definir a proxy q navega.. :/


34. Owow! Espera aí:

Jefferson Diego
Diede

(usa Debian)

Enviado em 03/12/2009 - 16:58h

Que IP é este aqui "200.203.121.20"?

OK, o IP do seu chefe é "10.54.0.10", certo?

Não tem como estas regras terem gerado esta: "-A POSTROUTING -s 200.203.121.20 -j MASQUERADE"!!!

Tente assim: (Dessa vez, sem variáveis)

iptables -F
iptables -t nat -F
iptables -t mangle -F
modprobe iptable_nat

iptables -t nat -A PREROUTING -i eth1 -s 10.54.0.10 -j ACCEPT
iptables -t nat -A PREROUTING -i eth1 -s ! 10.54.0.10 -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t filter -A FORWARD -s 10.54.0.10 -j ACCEPT
iptables -t filter -A FORWARD -d 10.54.0.10 -j ACCEPT
iptables -t filter -A INPUT -s 10.54.0.10 -j ACCEPT
iptables -t nat -A POSTROUTING -s 10.54.0.10 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward


"FIM"

A saída do seu iptables-save deveria ser algo assim:

# Generated by iptables-save v1.3.8 on Thu Dec 3 15:56:36 2009
*mangle
:PREROUTING ACCEPT [143:14715]
:INPUT ACCEPT [143:14715]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [132:16824]
:POSTROUTING ACCEPT [162:19704]
COMMIT
# Completed on Thu Dec 3 15:56:36 2009
# Generated by iptables-save v1.3.8 on Thu Dec 3 15:56:36 2009
*nat
:PREROUTING ACCEPT [37:4886]
:POSTROUTING ACCEPT [7:489]
:OUTPUT ACCEPT [7:489]
-A PREROUTING -s 10.54.0.10 -i eth1 -j ACCEPT
-A PREROUTING -s ! 10.54.0.10 -i eth1 -p tcp -m tcp --dport 80 -j REDIRECT --to- ports 3128
-A POSTROUTING -s 10.54.0.10 -j MASQUERADE
COMMIT
# Completed on Thu Dec 3 15:56:36 2009
# Generated by iptables-save v1.3.8 on Thu Dec 3 15:56:36 2009
*filter
:INPUT ACCEPT [175:17893]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [164:20138]
-A INPUT -s 10.54.0.10 -j ACCEPT
-A INPUT -s 10.54.0.10 -j ACCEPT
-A FORWARD -s 10.54.0.10 -j ACCEPT
-A FORWARD -d 10.54.0.10 -j ACCEPT
COMMIT
# Completed on Thu Dec 3 15:56:36 2009


35. Re: Liberando acesso total [RESOLVIDO]

Paulo Cristtofer Santos de Lima
Cr1stt0f3r

(usa Outra)

Enviado em 03/12/2009 - 17:13h

OPAAA


de certo modo deu certo, o torrent eu testei e funcionou, pela metade, utorrent diz que pode existir alguma restricao;

mirc nao conecta;
e a navegaçao nao funciona, porem, se colocar proxy navega!

Mas estes comandos nao era pra liberar tudo pro ip? inclusive o proxy?
Bom, abaixo segue o novo resultado do iptables-save:


# Generated by iptables-save v1.3.8 on Thu Dec 3 17:05:31 2009
*mangle
:PREROUTING ACCEPT [7859:2494844]
:INPUT ACCEPT [7053:2239962]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [7707:2428402]
:POSTROUTING ACCEPT [7813:2445838]
COMMIT
# Completed on Thu Dec 3 17:05:31 2009
# Generated by iptables-save v1.3.8 on Thu Dec 3 17:05:31 2009
*nat
:PREROUTING ACCEPT [3168:536791]
:POSTROUTING ACCEPT [202:16307]
:OUTPUT ACCEPT [202:16307]
-A PREROUTING -s 10.54.0.10 -i eth1 -j ACCEPT
-A PREROUTING -s ! 10.54.0.10 -i eth1 -p tcp -m tcp --dport 80 -j REDIRECT --to- ports 3128
-A POSTROUTING -s 10.54.0.10 -j MASQUERADE
COMMIT
# Completed on Thu Dec 3 17:05:31 2009
# Generated by iptables-save v1.3.8 on Thu Dec 3 17:05:31 2009
*filter
:INPUT ACCEPT [6999:2235623]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [7739:2431716]
-A INPUT -s 10.54.0.10 -j ACCEPT
-A FORWARD -s 10.54.0.10 -j ACCEPT
-A FORWARD -d 10.54.0.10 -j ACCEPT
COMMIT
# Completed on Thu Dec 3 17:05:31 2009



36. Re: Liberando acesso total [RESOLVIDO]

Paulo Cristtofer Santos de Lima
Cr1stt0f3r

(usa Outra)

Enviado em 04/12/2009 - 10:02h

estamos no caminho certo? x.x






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts