Iptables (rc.firewall)
Configuração intermediária de Firewall
Categoria: Segurança
Software: Iptables
[ Hits: 11.139 ]
Por: Guilherme Maia
Parâmetros de conf:
Mude aqui pelo IP e máscara de sua rede:
ifconfig eth0 192.168.0.1 netmask 255.255.255.0 up
Em eth1 você colocará qual placa de rede será sua rede interna:
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
Obs.: Este firewall serve apenas para compartilhamento da net, falta por exemplo redirecionamento de proxy.
Para permitir executá-lo (padrão Slackware):
# chmod +x /etc/rc.d/rc.firewall
Quando quiser colocar ele na inicialização automática:
kedit /etc/rc.d/rc.local
Adicionando a linha:
/etc/rc.d/rc.firewall start
#!/bin/bash
#Configuraçao do Iptables
echo by: Guilherme
firewall_start(){
echo [Definindo IP do servidor]
ifconfig eth0 192.168.0.1 netmask 255.255.255.0 up
#Compartilhamento
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
echo Compartilhamento Ativado
# Liberar portas
# SSH:
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
# DNS:
iptables -A INPUT -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -p udp --dport 53 -j ACCEPT
# HTTP e HTTPS:
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
#FTP
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
#WEBMIN
iptables -A INPUT -p tcp --dport 10000 -j ACCEPT
echo Liberando portas
#Bloqueia as portas UDP de 0 a 1024
iptables -A INPUT -p udp --dport 0:1024 -j DROP
# Bloqueia as Demais portas
iptables -A INPUT -p tcp --syn -j DROP
echo Bloqueando Portas
# Ignora pings
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all
# Proteção contra IP spoofing
echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter
# Protege contra synflood
echo "1" > /proc/sys/net/ipv4/tcp_syncookies
# Proteção contra ICMP Broadcasting
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
# Bloqueia traceroute
iptables -A INPUT -p udp --dport 33435:33525 -j DROP
# Proteções diversas contra portscanners, ping of death, ataques DoS, etc.
iptables -A INPUT -m state --state INVALID -j DROP
#Log`s de Acessos
#TELNET
iptables -A INPUT -p tcp --dport 23 -i eth1 -j LOG --log-level 6 --log-prefix "FIREWALL: telnet: "
#FTP
iptables -A INPUT -p tcp --dport 21 -i eth1 -j LOG --log-level 6 --log-prefix "FIREWALL: ftp: "
#SSH
iptables -A INPUT -p tcp --dport 80 -i eth1 -j LOG --log-level 6 --log-prefix "FIREWALL: http: "
echo Log´s Ativado
# Abre para a interface de loopback.
iptables -A INPUT -i lo -j ACCEPT
echo "O Firewall está sendo carregado..."
sleep 1
echo "Tudo pronto!"
sleep 1
}
firewall_stop(){
iptables -F
iptables -X
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
}
case "$1" in
"start")
firewall_start
;;
"stop")
firewall_stop
echo "O firewall está sendo desativado"
sleep 2
echo "ok."
;;
"restart")
echo "O firewall está sendo reiniciado"
sleep 1
echo "ok."
firewall_stop; firewall_start
;;
*)
iptables -L -n
esac
Nenhum comentário foi encontrado.
Bluefin - A nova geração de ambientes de trabalho Linux
Como atualizar sua versão estável do Debian
Cirurgia para acelerar o openSUSE em HD externo via USB
Quer auto-organizar janelas (tiling) no seu Linux? Veja como no Plasma 6 e no Gnome
Copiando caminho atual do terminal direto para o clipboard do teclado
Script de montagem de chroot automatica
Conselho distribuiçao brasileira (5)
archlinux resolução abaixou após atualização (15)
Não consigo instalar distro antiga no virtualbox nem direto no hd (33)









