Script pronto para Iptables, ajuste como quiser!

Script pronto para Iptables, ajuste como quiser!

Um script de configuração do iptables simples e direto, buscando facilitar o seu controle das regras de firewall. Muitas vezes queremos ou gostaríamos de aprender como configurar o firewall do sistema operacional linux, esse script serve como base para se aprender a configurar o iptables de forma correta e um pouquinho de suas regras básicas.

O iptables é o nome da ferramenta da interface do usuário que permite a criação de regras de firewall e NATs. Apesar de, tecnicamente, o iptables ser apenas uma ferramenta que controla o módulo netfilter, o nome “iptables” é frequentemente utilizado como referência ao conjunto completo de funcionalidades do Netfilter. O iptables é parte de todas as distribuições modernas do Linux.

Sobre o Netfilter

O Netfilter representa um conjunto de ferramentas dentro do kernel do Linux, portanto, permite que os módulos do núcleo específicos para registrar as funções de retorno com a pilha de rede do kernel. Essas funções, são geralmente aplicadas ao tráfego na forma de regras de filtragem e de modificação, são chamados de volta para cada pacote que atravessa a respectiva ferramenta na pilha de rede.

Há uma versão do iptables, chamado de IP6Tables que é usado para configurar, manter e inspecionar as tabelas de regras de filtragem dos pacotes IPv6 no kernel do Linux. Podem ser definidas várias tabelas diferentes. Cada uma contém uma série de cadeias embutidas e pode também conter cadeias definidas pelo usuário. Cada cadeia é uma lista de regras que podem combinar um conjunto de pacotes. Cada regra especifica o que fazer com um pacote que corresponde. Isso é chamado de ‘target’, que pode ser um salto para uma cadeia definida pelo usuário na mesma tabela.

Modelo de configuração do Iptables

#!/bin/bash
# Este script de firewall foi retirado do kurumin e pode ser usado
# com qualquer distribuição , eu uso ele com o slackware
# para usar no slackware basta criar um arquivo no /etc/rc.d
# com o nome :
# rc.firewall
# e colar esse texto nele , então salve o rc.firewall e dê o comando :
# chmod +x rc.firewall
# fazendo isso o script fica executável e passa a ser executado
# na inicialização do slackware
#
# Script de configuração do iptables gerado pelo configurador do Kurumin
# Este script pode ser usado em outras distribuições Linux que utilizam o
# Kernel 5.0 em diante
# Por Carlos E. Morimoto

# Abre para uma faixa de endereços da rede local
# iptables -A INPUT -p tcp --syn -s 192.168.0.0/255.255.255.0 -j ACCEPT

# Abre uma porta (inclusive para a Internet)
iptables -A INPUT -p tcp --destination-port 80 -j ACCEPT

# Ignora pings
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all

# Proteções diversas contra portscanners, ping of death, ataques DoS, 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

# Abre para a interface de loopback.
# Esta regra é essencial para o KDE e outros programas gráficos
# funcionarem adequadamente.
iptables -A INPUT -p tcp --syn -s 127.0.0.1/255.0.0.0 -j ACCEPT

# Ignora qualquer pacote de entrada, vindo de qualquer endereço, a menos que especificado o contrário acima. Bloqueia tudo.
iptables -A INPUT -p tcp --syn -j DROP
Esse script é de autoria de Carlos E. Morimoto