Iptables /script

1. Iptables /script

Igor
IgOn

(usa Outra)

Enviado em 11/01/2014 - 05:27h

caros companheiros de jornada pela liberdade mundial,

como principiante no Iptables estou levando uma surra pra salvá-lo e executá-lo de maneira correta.

Criei um script e bloqueei tudo para testar:



#!/bin/bash

# iptables -P INPUT DROP
# iptables -P OUTPUT DROP
# iptables -P FORWARD DROP




salvei-o em /etc/init.d como no firewall.sh (utilizo o Back Track/ubuntu)

dei comando para execução chmod +x e chmod 0755

quando inicio o script a conexão continua perfeita, se realizo os mesmos comandos no terminal direto bloqueia tudo.

Me perdoem a burrice total são 5h19 da manhã já li uns 30 artigos aprendi muito coisa, mais não o básico, pq justamente niguém fala desse básico!

Agradeço muito se me ajudarem. Preciso saber como/e onde salvo e de que maneira executo. Aproveitando poderiam passar uma chain ou script(como exemplo) para fechar uma faixa de portas e deixar abertas só a 80,443 3 e-mail.

agradeço muitoo!!




  


2. Re: Iptables /script

Estefanio Brunhara
stefaniobrunhara

(usa CentOS)

Enviado em 11/01/2014 - 11:57h

Estudar os três chain de uma so vez, é mais difícil, se sua intenção é compartinhar a internet para outros micros, use este script simples como ponto de partida, e estude apenas o FORWARD, que é o chain que na pratica compartinha a internet para as estações. veja que vou começar somente com ele DROP.





vim /etc/init.d/firewall.sh

#!/bin/bash

## Limpas todas as regras
iptables -F
iptables -X
iptables -t nat -F
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP

## Prepara o kernek para o roteamento e compatinamento da internet
echo 0 > /proc/sys/net/ipv4/conf/all/log_martians
echo 1 > /proc/sys/net/ipv4/ip_forward
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
echo 1 > /proc/sys/net/ipv4/ip_dynaddr

## Carregar módulos básico para o compatinhamento da internet.
modprobe iptable_nat
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_tables


## Libera estação 192.168.0.1 geral
iptables -A FORWARD -s 192.168.0.1 -d 0/0 -j ACCEPT

## Liberar porta para rede
iptables -A FORWARD -p tcp -s 192.168.0.0/24 -d 0/0 -m multiport --dport 20,21,25,53,80,110,465,587 -j ACCEPT
iptables -A FORWARD -p tcp -s 192.168.0.0/24 -d 0/0 --dport 443 -j ACCEPT

## Regra padrão da tabela filter
iptables -A FORWARD -t filter -j ACCEPT
iptables -A FORWARD -t filter -j ACCEPT -m state --state ESTABLISHED,RELATED


iptables -t nat -A POSTROUTING -s 192.168.0.1/24 -d 0/0 -o eth+ -j MASQUERADE
iptables -t nat -A POSTROUTING -p tcp -s 192.168.0.0/24 -d 0/0 -m multiport --dport 20,21,25,53,80,110,443,465,587 -o eth+ -j MASQUERADE
iptables -t nat -A POSTROUTING -p tcp -s 192.168.0.0/24 -d 0/0 --dport 443 -o eth+ -j MASQUERADE

:x

# Dar permissão de executação
chmod +x /etc/init.d/firewall.sh

# Executa o firewall
/etc/init.d/firewall.sh











3. de novo

Igor
IgOn

(usa Outra)

Enviado em 11/01/2014 - 12:31h

Caro(a)StefanioBrunha,

agradeço seu envolvimento com minha questão. Mas no momento meu foco inicial é a questão do script em si; criei usando o nano, devo salvá-lo onde? E de que maneira posso saber se ele está funcionando? A regra básica de bloqueio que criei com INPUT, OUTPUT, FORWARD, é tão somente no intuito de saber se ele funciona. Mas repito: - Após criá-lo não esta ocorrendo bloqueio da NET, portanto o mesmo(script) não funciona. Como faço para que, terminando de alterar o script presencie seu funcionamento.

continuo aguardando solidariedade.

P.s: Não quero compartilhar internet. Estou criando firewall para um host comum(minha própria maquina em uma rede doméstica) e não um servidor.


4. Re: Iptables /script

Estefanio Brunhara
stefaniobrunhara

(usa CentOS)

Enviado em 11/01/2014 - 13:07h

IgOn escreveu:

Caro(a)StefanioBrunha,

agradeço seu envolvimento com minha questão. Mas no momento meu foco inicial é a questão do script em si; criei usando o nano, devo salvá-lo onde? E de que maneira posso saber se ele está funcionando? A regra básica de bloqueio que criei com INPUT, OUTPUT, FORWARD, é tão somente no intuito de saber se ele funciona. Mas repito: - Após criá-lo não esta ocorrendo bloqueio da NET, portanto o mesmo(script) não funciona. Como faço para que, terminando de alterar o script presencie seu funcionamento.

continuo aguardando solidariedade.

P.s: Não quero compartilhar internet. Estou criando firewall para um host comum(minha própria maquina em uma rede doméstica) e não um servidor.


Não sei qual distribuição você esta usando, mas se você quer executar um script logo depois do boot da maquina o local correto é o /etc/init.d mas você precisa de um cabeçalho para o init.d saber qual o nível e a ordem de execução do mesmo.


Em algumas distribuições como debian por exemplo, vejo o pessoal usar muito o /etc/rc.local

vim /etc/rc.local

/etc/init.d/firewall.sh









Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts