Criando um firewall simples e compartilhando a conexão usando o IPtables
Este artigo aborda o processo de criação de um firewall baseado no iptables, onde o administrador de sistemas poderá bloquear acesso à portas desnecessárias, compartilhar a conexão do servidor com sua rede interna e redirecionar portas.
Parte 3: Automatizando a inicialização do firewall
Agora já temos 10 comandos, fora os para abrir portas específicas. Não seria
muito prático ficar digitando tudo isso cada vez que precisar reiniciar o
micro. Para automatizar isso, basta colar todos os comandos dentro de um
arquivo de texto. Você pode salvá-lo como por exemplo: /usr/local/bin/meu_firewall.
Em seguida, dê permissão de execução para o arquivo (chmod +x
/usr/local/bin/meu_firewall) e você terá um shell script que pode ser
chamado a qualquer momento, bastando digitar: meu_firewall.
Para tornar a inicialização realmente automática, você precisa apenas colocar
o comando num dos arquivos de inicialização do sistema. Abra o arquivo
/etc/rc.d/rc.local e adicione a linha:
/usr/local/bin/meu_firewall
No Debian e Kurumin você pode usar o arquivo /etc/init.d/bootmisc.sh.
As regras que vimos acima funcionam como um firewall de bloqueio. Ou seja,
o servidor não deixa que ninguém acesse os compartilhamentos de arquivos ou
conectem o backorifice instalado na máquina com o Windows 98, mas não impedem
que os usuários baixem e-mails com vírus ou que acessem uma página web que
explore alguma das vulnerabilidades do IE por exemplo.
Ao usar clientes Windows, o ideal é complementar o firewall com um bom
anti-vírus.
#1Comentário enviado por wilbil em 17/06/2003 - 09:37h
agora fica uma boa pergunta para vc
liberei a porta 80,21 que possuo um servidor apache
e um proftp do mais novo que tem no site
a pergunta e a seguinte agora quero liberar a porta 3128
para a rede interna e nao liberar para a rede externa?
# iptables -A INPUT -p tcp --destination-port 80 -j ACCEPT
# iptables -A INPUT -p tcp --destination-port 21 -j ACCEPT
# iptables -A INPUT -p tcp --syn -s 192.168.0.0/255.255.255.0 -j ACCEPT
# iptables -A INPUT -p tcp --syn -j DROP
#2Comentário enviado por naoexistemais em 22/06/2003 - 07:02h
Caro Wilbil,
# liberando porta 3128 para sua rede
iptables -A INPUT -p tcp --syn -s 192.168.0.0/24 --dport 3128 -j ACCEPT
# fechando para o resto
iptables -A INPUT -p tcp --syn -j DROP
falou,
#3Comentário enviado por Lauro em 14/08/2003 - 21:44h
Estou tendo um problema...
Quando eu crio um script com as regras de firewall e conexão, após rodá-lo ele funciona direitinho, mais ao colocálo pra rodar automaticamente no /etc/rc.d/rc.local, quando a máquina reinicia, ao voltar do boot não consigo fazer o logon no meu window manager... eu digito o login a senha e ao iniciar o carregamento do KDE ou do GNOME ele trava e não carrega o window manager...
Ai pra voltar a carregar normalmente só tirando ele do rc.local... senão não rola...
O que pode estar acontecendo?
Existe alguma incompatibilidade que gere essa pane no X?
#4Comentário enviado por lacierdias em 19/11/2003 - 15:11h
Amigo sou bem novato em linux e uso RedHat 9 por isso vou te fazer uma pergunta q vai parecer [*****] mas respode pq estou deseperado...
Como pode observar é só o Nat e alem disso tenho no mesmo server um dns rodando tb mas ta tudo beleza minha duvida é a onde coloco os parametros do firewall gostaria q responde-se com detalhes e se possivel for me mandasse um e-mail com o arquivo pronto ( rc.local rodando Nat e Firewall) para eu poder estuda-lo melhor. Obrigado desdeja pela atenção.
#5Comentário enviado por vanervainer em 10/02/2004 - 16:36h
O comando correto para ver se o iptables estah realmente carregado não é
#modprobe iptable_nat ?
#6Comentário enviado por voodooguito em 11/02/2004 - 15:13h
Se eu quizer manda de uma porta para outra seria algo parecido com isso.
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 500 -j DNAT --to-dest 192.168.0.2 --dport 22
entendeu?
eu quero loga no servidor na porta 500 e ele me direcionar para a porta 22 do ssh numa maquina interna
obrigado.
#7Comentário enviado por guilhermejr em 03/03/2004 - 14:15h
Oi
Voce ensia a fazer a redirecionamento de uma porta para uma máquina especifica, tem como eu redirecionar a porta para toda a rede?
#8Comentário enviado por betolinux em 20/05/2004 - 21:37h
Estou com uma problema gostaria muito de uma resposta por favor.
tenho um servidor linux que tem internet via radio, compartilho a internet e arquivos para rede interna mas tambem compartilho a internet
para rede externa mas a rede externa encherga minha rede interna.
Eu gostaria que ela so pegasse a internet.
GOSTARIA DE SABER SE TEM ALGUM ARQUIVO EXECUTAVEL,PARA RODAR NESSES COMPUTADORES DOS USUARIOS EXTERNO.
MUITO OBRIGADO.. ENVIAR A RESPOSTA P/ LAROE7@HOTMAIL.COM
#9Comentário enviado por Xxoin em 11/08/2004 - 22:44h
O artigo é excelente!
Parabéns ao sr Carlos Morimoto, autor do artigo...
#10Comentário enviado por aredejrf em 13/08/2004 - 09:46h
Estou com um problema, se puderem ajudar...
Tenho um servidor Oracle em outra maquina servido Oracle IAS Intrastructure e Portal 10g. Costumo acessar, via browser, o ambiente do Oracle Portal com por exemplo http://servidorX.minhaempresa.com.br:9999 na rede interna da minha empresa. Estou precisando abrir esse acesso para ser feito fora da empresa.
Supondo o IP do servidor Oracle como 13.0.5.111 em uma rede 13.0.5.0 com mascara 255.255.255.0 , como posso permitir o acesso externo a porta 9999 desse servidor para usuarios fora da rede interna???
Agradeço a qualquer ajuda
Ricardo
#11Comentário enviado por Ilovelinux2004 em 12/09/2004 - 22:41h
Valeu, vou precisar na minha empresa.
#12Comentário enviado por cabelomst em 03/02/2005 - 23:06h
trabalho em um tele centro com um servidor debian temos 18 terminais e mais dois computadores com windows como faço para colocalos na rede e compartilhar a internet?
ip servidor 192.168.0.1 eth1
uso dhcp3
e temos conecção via satelite (parabólica )
se alguem puder ajudar agradeço!!!
jadilson espirito santo
#13Comentário enviado por [Evandro] em 09/05/2005 - 17:25h
Respondendo ao guilhermejr
Para redirecionar portas de toda a rede para uma porta específica como você perguntou, tente assim:
#iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 500 -j REDIRECT --to-port 22
onde eth0 é a a interface de sua rede interna, 500 é a porta que as máquinas da sua rede irão solicitar conexão e 22 é a porta que o servidor irá redirecionar.
Após inserir essa regra no iptables, basta dar um echo 1 > /proc/sys/net/ipv4/ip_forward .
abraços a todos
#14Comentário enviado por LostGirl em 11/11/2005 - 14:31h
No meu caso eu tenho ips liberados para acesso total a internet e sites liberdados para todos os ips da rede...
so que preciso bloquear alguns ip's para nao ter acesso a internet ^^
#15Comentário enviado por thekila em 07/07/2006 - 09:20h
alguem me tira uma duvida..
Quando eu to excutando a linha -A FORWARD -i [interface] -o
O -o significa negação? eu nao achei nada disso no manual.
Abraços
#16Comentário enviado por rhandamanthys em 27/08/2006 - 19:12h
aew pessoal eu quero sabe o que o portal 22 faz?
#17Comentário enviado por JefersonLopes em 06/09/2006 - 14:49h
Luis, não leva a mal não, mas, isso é PLAGIO.
Deveria ter a consideração de pelo menos colocar o nome e e-mail do autor do Artigo original.
#18Comentário enviado por heitormsilva em 17/12/2006 - 00:36h
Pó sacanagem hein, ele fez algumas pequenas modificações mas a maior parte continua idêntica ao original.
Ow coloca pelo menos as referências ao autor né.
Isso tá me lembrando uma enorme corporação em que o "Ctrl + C" & "Ctrl + V", funciona bem pra kramba....
#19Comentário enviado por heitormsilva em 17/12/2006 - 00:39h
rhandamanthys , a porta 22 não faz nada assim como todas as outras portas.
A porta 22 é a porta padrão do serviço SSH.
#20Comentário enviado por heitormsilva em 17/12/2006 - 00:44h
Respondendo ao thekila ,
O "-o" é o oposto do "-i" que é o parametro de interface de entrada.
Tudo isso esta no manual sim, olha direitinho que sempre esta lá :)
#21Comentário enviado por jgilcustodio em 29/12/2006 - 09:28h
Eu consegui compartilhar mais preciso tirar uma duvida urgente, quando eu bloqueio todas as páginas e libero somento a uol por exemplo a paginal principal abre, mas as outras não, gostaria de saber que paramentro tenho que usar para ele abrir as outras páginas com link da uol tambem??? Ou se tem um jeito de deixar liberado por palavra-chve???
Obbrigado!!!
#22Comentário enviado por marceloespindola em 07/07/2007 - 15:31h
Pessoal estou escrevendo um artigo aqui para o viva o linux sobre scrippt de firewall, ele está completo, pois levei muito tempo para desenvolve-lo e tinha objetivo de reunir as principais soluções e dúvidas sobre firewall iptables/netfilter para este artigo, mas como quero construir um bom artigo ainda está em fase de construção para o vivaolinux, entretanto estou disponibilizando no endereço
liberei a porta 80,21 que possuo um servidor apache
e um proftp do mais novo que tem no site
a pergunta e a seguinte agora quero liberar a porta 3128
para a rede interna e nao liberar para a rede externa?
# iptables -A INPUT -p tcp --destination-port 80 -j ACCEPT
# iptables -A INPUT -p tcp --destination-port 21 -j ACCEPT
# iptables -A INPUT -p tcp --syn -s 192.168.0.0/255.255.255.0 -j ACCEPT
# iptables -A INPUT -p tcp --syn -j DROP