Firewall Iptables

1. Firewall Iptables

Vitor Lucas
vlcunes

(usa Debian)

Enviado em 02/08/2013 - 21:37h

Venho estudando o conceito de firewall e a utilização do mesmo com o Linux, em especial o iptables sobre o Ubuntu server. Tenho conhecimento sobre squid e está tudo sobre controle, o problema ou dúvida é como começar a montar o iptables. Monto em no rc.local, crio um arquivo no "/etc/init.d/" ou simplesmente vou inserindo co as regras??
Preciso desse passo inicial de quem já usou a ferramenta. Tenho conhecimento sobre o firewall mikrotik.

Caso alguém tenha algum exemplo detalhando, vou agradecer.
Já pesquisei muito aqui no fórum, mas preciso saber como começar a montar o firewall.


  


2. Re: Firewall Iptables

marciano brito
jtdest

(usa CentOS)

Enviado em 02/08/2013 - 22:11h

blz amigo, olha eu prefiro usar o centos,e uma desatribuição bem gratificante , no meu caso eu salvo os scripts de firewall iptables
cd /etc/rc.local prefiro assim , crio uma pasta no etc por exemplo, mkdir /etc/firewall, dentro firewall, comando touch esse comando crio o arquivo com nome fw , exemplo touch /etc/firewall/fw, dou permissão chmod -R 777
por exemplo chmod -R 777 /etc/firewall/fw

enquanto as regras vc tem quer tenta cria seu firewall e var postando os erros aqui para agente comenta e ajuda eu prefiro trabalhar com iptables todo fechado e depois vou liberando so o quer preciso ,

lembrando quer não sou especialista em iptables, so tor tentando ajudar com o quer eu sei e resolver meu problemas

tamos ai !!!!!!!!!!!!



3. Re: Firewall Iptables

Estefanio Brunhara
stefaniobrunhara

(usa CentOS)

Enviado em 03/08/2013 - 09:36h

Nas disbribuições centos e mandriva o arquivo de firewall se encontra no diretório /etc/init.d/iptables.


Eu criei/adotei a seguinte situação:


Crio um arquivo que starta ou para o meu script de firewall

vim /etc/init.d/firewall

#!/bin/bash
# set -x
# FireWall - Iptables
#
# description:FireWall 02 - Estefanio Brunhara <estefanio@brunhara.com>
# chkconfig: 2345 13 90
#
# coloque este arquivo no /etc/rc.d/init.d/
# e ative ele no ntsysv

#====== Sangiovanne Informatica Ltda. (31)3375-1202 ======#
# Estefanio Brunhara 11-04-2012 BH-MG-BR #
#==========================================#

case "$1" in
start)
/usr/sbin/Firewall $1
;;
stop)
/usr/sbin/Firewall $1
;;
echo "Uso: $0 {start|stop}"
exit 1
;;
esac
exit 0

Tornando ele inicial pelo boot
cd /etc/init.d
chmod +x firewall
chkconfig firewall on

Esta linha "# chkconfig: 2345 13 90", no script determina os níveis que o script vai funcionar "2345", "13 90" é a ordem para ser iniciar e finalizar o script.


E no /usr/sbin/Firewall eu coloco todas faz minhas regras feitas com o binário iptables


no arquivo Firewall ideia !!!


#!/bin/bash


# Variáveis de configurações
ALL="0/0"
DVLan="eth0"
DVGW1="eth1"
REDE="192.168.1.0/24"
IPGW1="201.170.243.5"

# Ativando repasse de pacotes
echo 1 > /proc/sys/net/ipv4/ip_forward
echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter

# Carregando Modulos
/sbin/modprobe iptable_nat
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_tables
/sbin/modprobe ipt_limit
/sbin/modprobe ipt_LOG
/sbin/modprobe ipt_REJECT
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ip_conntrack_irc

# Crie uma função para limpar as regras
LimpaRegras ()
{
# Limpado Regas
iptables -F
iptables -X
iptables -t nat -F


}

# Crie uma função para iniciar as regras
IniciaRegras()
{
# define as politicas
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP


## Regras Prerouting

## Regras Input

## Regras Forward

## Regras Mascaramento

}

## Controle do Firewall
case "$1" in
start)
LimparRegras
IniciaRegras

;;
stop)
LimpaRegras
;;
echo "Uso: $0 {start|stop}"
exit 1
;;
esac
exit 0


O correto e você inciar o firewall com tudo drop, mas como você esta inciando seus estudos, comece somente com o forward drop.

Obedeça a ordem Prerouting, Input, Forward, mascaramento, para criar seu Firewall,desta forma você vai estar dentro de um padrão adotado por muito, que facilita o desenvolvimento do seu pequeno código.









4. Re: Firewall Iptables

marciano brito
jtdest

(usa CentOS)

Enviado em 03/08/2013 - 10:59h

ops!!!! o rc.local do cent e esse mesmo /etc/rc.local !!!!


5. Re: Firewall Iptables

Estefanio Brunhara
stefaniobrunhara

(usa CentOS)

Enviado em 03/08/2013 - 12:30h

marxbrito escreveu:

ops!!!! o rc.local do cent e esse mesmo /etc/rc.local !!!!


Sim, o rc.local do centos e ai mesmo, o rc.local e uma forma rapida de se iniciar algo no boot. Mas se voce quer fazer isto de uma forma mais apropriada, e como falei acima.



6. Re: Firewall Iptables

marciano brito
jtdest

(usa CentOS)

Enviado em 03/08/2013 - 13:25h

amigo quais os risco quer corro colocando script no rc.local , duvida eu sempre coloquei no rc.local mais já vi e vários cometários de quer não e seguro


7. Re: Firewall Iptables

Perfil removido
removido

(usa Nenhuma)

Enviado em 03/08/2013 - 13:34h

Não há risco!

Eu também gosto de usar o rc.local. Não vejo problemas nisso!

Nunca ouvi falar ou li em manuais que é menos seguro utilizar-se do rc.local. Poderia postar as fontes onde leu que é menos seguro?


8. Re: Firewall Iptables

Fernando
phoemur

(usa Debian)

Enviado em 03/08/2013 - 13:34h

o rc.local é o último arquivo a ser executado no init...
Já o meu rc.firewall é o primeiro que executa após subir a interface de rede...
Teoricamente haveria o risco de alguém conseguir dar boot sem carregar o rc.local e ficaria então sem firewall.

Outra coisa é que o rc.local tem permissão de leitura pra todos os usuários, que vão poder ver as regras, apesar de não poder modificar...

Nada que você não consiga modificar facilmente, mas é melhor se manter dentro dos padrões...


9. Re: Firewall Iptables

marciano brito
jtdest

(usa CentOS)

Enviado em 03/08/2013 - 13:48h

"cometários" bls mais tranquilo agora .


10. Re: Firewall Iptables

Perfil removido
removido

(usa Nenhuma)

Enviado em 03/08/2013 - 13:59h

O cara explicou bem => http://bencane.com/2011/12/30/when-its-ok-and-not-ok-to-use-rc-local/

Eu sempre crio meus scripts em "/usr/local/sbin" e caso seja necessário ser acordado com o S.O utilizo o rc.local. Não julgo isso errado, sempre deixo bem documento.
Lembrando que se algum dia for tirar certificação como RHCSA, RHCE... oque vale é o padrão.

# cat /etc/rc.local
#!/bin/sh -e
#
# rc.local
#
# 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.

#FIREWALL
/usr/local/sbin/firewall

exit 0



11. Re: Firewall Iptables

Estefanio Brunhara
stefaniobrunhara

(usa CentOS)

Enviado em 03/08/2013 - 18:48h

marxbrito escreveu:

amigo quais os risco quer corro colocando script no rc.local , duvida eu sempre coloquei no rc.local mais já vi e vários cometários de quer não e seguro


Não vejo risco em usar o rc.local, o que veja e menos controle, com um script no init.d, você tem como parar e startar, tem como dizer qual o nível que ele deve funcionar por exemplo, um script de firewall precisa da rede, caso você inicie sua maquina no nivel 2, que não tem rede, seu script vai gerar erros.









12. Re: Firewall Iptables

Fernando
phoemur

(usa Debian)

Enviado em 03/08/2013 - 18:59h

amarildosertorio escreveu:

O cara explicou bem => http://bencane.com/2011/12/30/when-its-ok-and-not-ok-to-use-rc-local/


O artigo é muito bom...






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts