Coloque o iptables para iniciar como serviço no Conectiva 10

Publicado por Kernel Panic em 18/10/2004

[ Hits: 24.063 ]

Blog: http://nooooooooooooooo.com

 


Coloque o iptables para iniciar como serviço no Conectiva 10



Saudações...

Esta dica é o resultado de uma implementação que fiz em um firewall usando Conectiva 10, que nada mais é do uma compilação de várias informações que garimpei na web com um leve toque pessoal ;-), como me ajudou resolvi compartilhar com a comunidade, as referencias no final. Vamos lá:

1 - Instalar o iptables:

# apt-get install iptables

2 - Crie no diretório /etc/init.d/ um arquivo chamado iptables com o seguinte conteúdo:

#! /bin/sh
# description: Inicialização do iptables
#
# chkconfig: 2345 80 30
# processname: iptables
# pidfile: /var/run/iptabless.pid


. /etc/rc.d/init.d/functions
. /etc/sysconfig/network

IPTABLES="/usr/sbin/iptables"
varok(){
success
echo -en "\n"
return 0
}

if [ ${NETWORKING} = "no" ]
then
exit 0
fi

case "$1" in
start)
gprintf "Iniciando o serviço de %s: " "Firewall"
success
############ Regras do firewall #######

# Ativa roteamento de pacotes
echo 1 > /proc/sys/net/ipv4/ip_forward
echo -en "\nFirewall: Ativa roteamento:"
varok

# Anula pacotes ICMP (Ping)
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
echo -en "Firewall: Protege contra Ping:"
varok

# Protege contra ICMP Broadcasting
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
echo -en "Firewall: Protege contra ICMP Broadcasting:"
varok

# Protege contra synflood
echo "1" > /proc/sys/net/ipv4/tcp_syncookies
echo -en "Firewall: Protege contra synflood:"
varok

# Proteções contra portscanners

$IPTABLES -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
$IPTABLES -A FORWARD -p tcp -m limit --limit 1/s -j ACCEPT
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
$IPTABLES -A FORWARD --protocol tcp --tcp-flags ALL SYN,ACK -j DROP
# $IPTABLES -A FORWARD -m unclean -j DROP
echo -en "Firewall: Protege contra portscanners:"
varok

# Proteções diversas
$IPTABLES -N VALID_CHECK
$IPTABLES -A VALID_CHECK -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP
$IPTABLES -A VALID_CHECK -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROP
$IPTABLES -A VALID_CHECK -p tcp --tcp-flags ALL ALL -j DROP
$IPTABLES -A VALID_CHECK -p tcp --tcp-flags ALL FIN -j DROP
$IPTABLES -A VALID_CHECK -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
$IPTABLES -A VALID_CHECK -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP
$IPTABLES -A VALID_CHECK -p tcp --tcp-flags ALL NONE -j DROP
echo -en "Firewall: Protege contra ataques diversos:"
varok

# Políticas Default
$IPTABLES -t filter -P INPUT ACCEPT
echo -en "Firewall: Política Default: INPUT ACCEPT:"
varok

$IPTABLES -t filter -P FORWARD DROP
echo -en "Firewall: Política Default: FORWARD DROP:"
varok

$IPTABLES -t filter -P OUTPUT ACCEPT
echo -en "Firewall: Política Default: OUTPUT ACCEPT:"
varok

$IPTABLES -t nat -A POSTROUTING -s 192.168.1.0/255.255.255.0 -o eth0 -j MASQUERADE
echo -en "Firewall:MASQUERADE (NAT) da Rede 192.168.1.0"
varok

########## Coloques suas regras aqui ############
# Se quiser que apareça OK no final da regra acrescente as linhas
# seguintes após a regra.
# echo -en "Firewall:MASQUERADE (NAT) da Rede 192.168.1.0"
# varok
#####################################


;;

stop)

gprintf "Parando o serviço de %s: " "IPtables"
echo
$IPTABLES -F
$IPTABLES -t nat -F
$IPTABLES -X VALID_CHECK
success
;;
*)
gprintf "Uso: iptables (start|stop)"
echo
;;
esac

exit 0

3 - Em seguida, forneça as permissões necessárias:

# chmod 755 iptables

4 - Você deve colocar o script criado para que ele possa ser iniciado:

# chkconfig --add iptables
# chkconfig --level 35 iptables on


5 - Pronto, agora é só iniciar como serviço:

# service iptables start

OBS: Para parar é só digitar:

# service iptables stop

Você irá ver algo parecido com:
Iniciando o serviço de Firewall:              [  OK  ]
Firewall: Ativa roteamento:                   [  OK  ]
Firewall: Protege contra Ping:                [  OK  ]
Firewall: Protege contra ICMP Broadcasting:   [  OK  ]
Firewall: Protege contra synflood:            [  OK  ]
Firewall: Protege contra portscanners:        [  OK  ]
Firewall: Protege contra ataques diversos:    [  OK  ]
Firewall: Política Default: INPUT ACCEPT:     [  OK  ]
Firewall: Política Default: FORWARD DROP:     [  OK  ]
Firewall: Política Default: OUTPUT ACCEPT:    [  OK  ]
Firewall:MASQUERADE (NAT) da Rede 192.168.1.0 [  OK  ]

Bem, é isso aí, espero que ajude...

Referências


Conectiva:
http://www.conectiva.com/doc/livros/.../ch14s03.html#netfilter

DICA: Segurança no Iptables por Diego Apolinario G. da Silva
http://www.vivaolinux.com.br/dicas/verDica.php?codigo=1375

Site oficial do Iptables: http://www.netfilter.org

Outras dicas deste autor

Usando lynx com proxy autenticado

Leitura recomendada

Deixe seu servidor web mais seguro

Atualização de segurança no BitchX

Bloquear Facebook HTTPS liberando apenas alguns usuários

Bloqueando e liberando o Facebook com iptables em espaços de tempo

Firewall bem prático e bom

  

Comentários
[1] Comentário enviado por leo_mineiro em 12/02/2005 - 13:03h

Excelente tutorial, me ajudou muito!

[2] Comentário enviado por Cannabis.r0x em 15/03/2005 - 22:21h

Porque quando vc da :: service iptables stop ......... o OK fica la linha de baixo ?

Porque quando vc da :: service iptables status .... ele não mostra ??

Porque quando vc STOPA o serviço ele realmente não para ??


[3] Comentário enviado por tgonet em 01/12/2005 - 11:30h

Olá. Muito bom seu tutorial, mas não estou conseguindo executar aqui na minha maquina. quando digito "service iptables start" parece o seguinte erro na tela:

: bad interpreter: Arquivo ou diretório não encontrado

Por que isso? :(
OBS: Utilizo o Conectiva Linux 10

[4] Comentário enviado por hardboot em 10/02/2006 - 10:28h

vc deve fazer o seguinte ./iptables start para inicializer o serviço
e ./iptables stop para parar o serviço.

[5] Comentário enviado por econt_linux em 05/05/2006 - 12:06h

Camarada!

Mto bom! Parabens!

Só tive um problema igual ao do "Cannabis", quando dou um STOP no serviço ele não pára realmente. Por exemplo, não consigo mais pingar o servidor na rede.

Grato!

[6] Comentário enviado por lizander em 26/06/2006 - 16:34h

Aewww
Mto bom cara..So que estou com alguns problemas!

na linha 9 : /etc/sysconfig/network
ta dando o seguinte erro: ACCESSO NEGADO

na linha 18 : if [ ${NETWORKING} ="no"]
ta dando o seguinte erro: [=no]: command not found

alguem poderia me ajudar???

USO CL 10 tbm...

[7] Comentário enviado por joaovitorlinux em 01/11/2006 - 08:37h

Eaee, cara, sou novato no linux, uso o CL 10, qd vou instalar o iptbles (apt-get install iptables) aparece:

error: cannot get exclusive lock on /var/lib/rpm/Packages
error: cannot open Packages index using db3 - Operação não permitida (1)
error: cannot open Packages database in /var/lib/rpm
E: não foi possivel abrir a base de dados RPM

se puder me ajudar agradeço
T+

[8] Comentário enviado por crolip em 14/12/2006 - 20:24h

isso funfa no redhat tambem?

[9] Comentário enviado por rnduart em 27/04/2011 - 09:50h

Ainda não usei esse iptables, mas achei muito organizado, da para achar o que se quer rápidinho.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts