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

Publicado por Kernel Panic em 18/10/2004

[ Hits: 23.889 ]

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

Bloqueando arquivos até para o root

Executando o Kismet com placas Wireless Intel Corporation Centrino Wireless-N 1000

Recuperação da senha do super-usuário (root)

Executar shutdown com usuário comum - Debian 9

Aumentando o nível de segurança em senha

  

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