Iptables (rc.firewall)
Configuração intermediária de Firewall
Categoria: Segurança
Software: Iptables
[ Hits: 10.870 ]
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.
Como escolher o melhor escalonador de CPU para melhorar o desempenho da máquina
Curiosidade sobre DOOM Guy e Isabelle de Animal Crossing
Inicializando servidor Ubuntu na AWS e rodando apache em Container
Conheça o Octopi, outro frontend para o Pacman com acesso ao ARU (Arch Linux e derivados)
Terminal transparente no Debian 12 com interface i3wm usando Xfce4-Terminal e Compton
Como compilar o DOOM RETRO no Linux
Stacer - um otimizador gráfico básico de Linux
Corrigindo o erro de "WARNING: Possibly missing firmware for module" no Arch Linux
no kubuntu 24.04 apaga monitor e não acende mais (1)
Após atualização do Ubuntu 22.04.4 LTS perdi a instalação da placa de ... (1)
Como colocar uma assinatura digital em um código compilado ! (0)