Iptables (rc.firewall)
Configuração intermediária de Firewall
Categoria: Segurança
Software: Iptables
[ Hits: 10.928 ]
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.
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Excluir banco de dados no xampp (1)
phpmyadmin não abre no xampp (2)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta