Pular para o conteúdo

Iptables (firewall)

Script firewall com suporte a proxy transparente, possui liberação das portas 21, 22, 80 para o servidor firewall, além de oferecer as opções de start, stop, restart do firewall.
Perfil removido removido
Hits: 13.748 Categoria: Init
  • Download
  • Indicar
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
Download firewall
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Esconder código-fonte

#!/bin/bash

iniciar(){

#carregando modulo no kernel
modprobe iptable_nat

#compartilhando a conexao
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
#echo "compartilhamento de rede ativo"

#proxy transparente
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
#echo "proxy transparente ativo"

#permitindo as conexoes na interfce de rede local e na porta 22, 21 e 80 deste computador
iptables -A INPUT -i eth0 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 21 -j ACCEPT

# Protege contra synflood
echo "1" > /proc/sys/net/ipv4/tcp_syncookies
# Protecao contra ICMP Broadcasting 
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts

# Protecao diversas contra portscanners, ping of death, ataques DoS, pacotes danificados e etc.
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
iptables -A INPUT -m state --state INVALID -j DROP
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

#Esta regra e a + importante deste firewall,
#bloqueia tudo que nao tenha sido liberado acima
iptables -A INPUT -p tcp --syn -j DROP

echo "####################################"
echo "#Compartilhamento de Internet e Firewall Carregados#"
echo "#                Firewall Ativo e Verificando !                  #"
echo "#------------------------------------------------------------#"
echo "#                 Tássio Ferenzini M. Sirqueira                #"
echo "#                        tassio@tassio.eti.br                      #"
echo "###################################"

}

parar(){
iptables -F
iptables -t nat -F
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
echo 0 > /proc/sys/net/ipv4/ip_forward
echo " "
echo "#################################"
echo "#Compartilhamento de Internet e Firewall Parados#"
echo "#                     Firewall Desativado                      #"
echo "#--------------------------------------------------------#"
echo "#               Tássio Ferenzini M. Sirqueira              #"
echo "#                      tassio@tassio.eti.br                    #"
echo "#################################"
}
case "$1" in
"start") iniciar ;;
"stop") parar ;;
"restart") parar; iniciar ;;
*) echo "Use os parametros start, stop ou restart"
esac
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

X11 (xorg.conf)

ssh (sshd_config)

init (rc.local)

aptitude ou apt-get (/etc/apt/sources.list)

Arch Linux (rc.conf)

Linux (inittab)

init (inittab)

Firewall com controle de acessos (firewall)

OpenVPN (rc.openvpn)

Conky (conkyrc)

#1 Comentário enviado por elgio em 18/01/2010 - 08:53h
Esta regra ai:
iptables -A FORWARD -p tcp -m limit --limit 1/s -j ACCEPT

É BOMBÁSTICA!
Estás limitando pacotes tcp (de qualquer tipo) a taxa de apenas 1 por segundo!! Completamente INSANO!

Só não te trouxe sérios (SERÍSSIMOS!!!) problemas porque o gancho FORWARD não está em DROP (tudo é aceito). Se colocar uma regra bloqueando tudo para o FORWARD, como fizeste com o INPUT (iptables -A INPUT -p tcp --syn -j DROP) tu terias problemas pra caramba!!

Resumindo:
- a regra não está ativa
- se tivesse, derrubaria tuda a tua rede

:-o
#2 Comentário enviado por removido em 29/12/2010 - 03:47h
O meu amigo pelo menos eu não vi no seu script a liberação pra própia maquina (interface de loopback) ....
iptables -A INPUT -i lo(de loopback) -j ACCEPT
#3 Comentário enviado por px em 07/08/2013 - 20:09h
Detonou o iptables, agora até windows riria de você kk'
#4 Comentário enviado por slackdebi em 25/08/2013 - 21:29h
na vdd este script de firewall ai esta tudo errado...
#5 Comentário enviado por arrombado em 06/06/2018 - 11:28h
Esse foi o script mais lixo que vi em toda minha vida ! Que tipo de animal faz algo como:

iptables -A INPUT -i eth0 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
.....
.....

Sem comentarios.....

Contribuir com comentário

Entre na sua conta para comentar.