Iptables (rc.firewall)
Configuração intermediária de Firewall
Categoria: Segurança
Software: Iptables
[ Hits: 11.094 ]
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.
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
É normal não gostar de KDE? (12)
E aí? O Warsaw já está funcionando no Debian 13? [RESOLVIDO] (15)
Secure boot, artigo interessante, nada técnico. (4)
copiar library para diretorio /usr/share/..... su com Falha na a... (1)









