Script Firewall - Regras do Iptables
Publicado por marilene franklin de melo (última atualização em 06/01/2012)
[ Hits: 12.600 ]
Homepage: http://admnetworks.blogspot.com/
Olá pessoal, sou nova aki e gostaria de contribuir e ver a opinião de vocês sobre esse script de firewall.
Tenho algumas duvidas sobre se existe erros graves que possa prejudicar a minha rede em questão de segurança.
O script baseia-se no seguinte: Lan empresarial
1 firewall com SSH (eth0-eth1) 192.168.0.1/24 - eth1
1 proxy 192.168.0.3/24
1 S. web com SSH 192.168.0.11/24
1 S.SSh 192.168.0.12/24
Internet 200.200.0.0/8
Lan Domestica:
2 pcs 192.168.0.0/24
1 gateway 192.168.0.254/24
O proposito dessas redes e de que se comuniquem saindo pela internet.
Agradeço desde de já aqueles que quiserem deixar sua opinião. Esse script originalmente é do meu professor de redes e foi dado com a intenção de modifica-lo para ser usado num trabalho, fiz as devida modificações, e esse foi o resultado, por enquanto, pois pretendo trabalhar ainda mais encima dele. Qualquer modificação ire postar aki.
Bjos
#!/bin/sh echo "NICIANDO FIREWALL" # Fechando cadeias iptables -P INPUT DROP iptables -P OUTPUT ACCEPT iptables -P FORWARD DROP #Limpando as chain iptables -F iptables -F INPUT iptables -F OUTPUT iptables -F FORWARD iptables -F -t mangle iptables -X # Cadeia criada para tratar LOOPBACK iptables -N LOOPBACK iptables -F LOOPBACK iptables -A LOOPBACK -i lo -j ACCEPT iptables -A INPUT -i lo -j LOOPBACK iptables -A OUTPUT -o lo -j LOOPBACK # Cadeia criada para tratar algumas entradas de Log iptables -N DROPLOG iptables -F DROPLOG iptables -A DROPLOG -p udp --dport 137:139 -j DROP iptables -A DROPLOG -p tcp ! --syn --sport 80 --dport 1024: -j ACCEPT iptables -A DROPLOG -p tcp -j DROP iptables -A DROPLOG -p udp -j DROP iptables -A DROPLOG -j DROP # Cadeia criada para tratar ICMP iptables -N DROPICMP iptables -F DROPICMP iptables -A DROPICMP -j DROP iptables -A INPUT -p icmp -j DROPICMP # Cadeia criada para tratar acesso a internet ipatbles –N WEB iptables –F WEB iptables –A INPUT –p tcp –-dport 80 –j WEB iptables –A INPUT –p tcp –-dport 443 –j WEB iptables –A FORWARD –p tcp –-dport 80 –j WEB iptables –A FORWARD –p tcp –-dport 443 –j WEB iptables –A WEB –j LOG –log-prefix ”WEB” iptables –A WEB –j ACCEPT # Cadeia criada para tratar SSH iptables –N SSH iptables –F SSH iptables –A INPUT –p tcp -–dport 22 -i eth0 –j SSH iptables –A FORWARD –p tcp -–dport 22 -i eth1 –j SSH iptables –A SSH –j LOG –log-prefix ”SSH” iptables –A SSH –j ACCEPT # Cadeia criada para tratar conexões iptables -N STATEFUL iptables -F STATEFUL iptables -A INPUT -j STATEFUL iptables -A FORWARD -j STATEFUL iptables -I STATEFUL -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A STATEFUL -m state --state NEW ! -i eth0 -j ACCEPT iptables -A STATEFUL -j DROP #Liberando DNS iptables -A INPUT -p udp --sport 53 -j DNS iptables -A INPUT -p udp --sport 5353 --dport 5353 -j DNS iptables -A FORWARD -p udp --dport 53 -j DNS # Liberando Rede Interna iptables -A INPUT -s 192.168.0.0/24 -j ACCEPT iptables -A INPUT -d 192.168.0.0/24 -j ACCEPT # Regras na input para tratar certos tipos de protocolo icmp iptables -A INPUT -p icmp --icmp-type destination-unreachable -j ACCEPT iptables -A INPUT -p icmp --icmp-type time-exceeded -j ACCEPT iptables -A INPUT -p icmp --icmp-type echo-reply -j ACCEPT iptables -A OUTPUT -p icmp -m state --state INVALID -j DROP # Regra de Saída com ips mascarados iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE #regras de Entrada: redirecionamento de tudo que entrar por essas portas irão para o proxy iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128 iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 443 -j REDIRECT --to-port 3128 #Regras de alterações especiais de pacotes (modifica tipo de serviços) iptables -t mangle -A OUTPUT -o eth0 -p tcp --dport 20 -j TOS --set-tos Maximize-Throughput iptables -t mangle -A OUTPUT -o eth0 -p tcp --dport 22 -j TOS --set-tos Maximize-Throughput iptables -t mangle -A OUTPUT -o eth0 -p tcp --dport 80 -j TOS --set-tos Maximize-Throughput iptables -t mangle -A OUTPUT -o eth0 -p tcp --dport 119 -j TOS --set-tos Maximize-Throughput iptables -t mangle -A OUTPUT -o eth0 -p tcp --dport 21 -j TOS --set-tos Minimize-Delay iptables -t mangle -A OUTPUT -o eth0 -p tcp --dport 22 -j TOS --set-tos Minimize-Delay iptables -t mangle -A OUTPUT -o eth0 -p tcp --dport 25 -j TOS --set-tos Minimize-Delay iptables -t mangle -A OUTPUT -o eth0 -p tcp --dport 25 -j TOS --set-tos Minimize-Delay iptables -t mangle -A OUTPUT -o eth0 -p tcp --dport 53 -j TOS --set-tos Minimize-Delay iptables -t mangle -A OUTPUT -o eth0 -p udp --dport 53 -j TOS --set-tos Minimize-Delay iptables -A PREROUTING -t mangle -p tcp --sport 20 -j TOS --set-tos Maximize-Throughput iptables -A PREROUTING -t mangle -p tcp --sport 80 -j TOS --set-tos Maximize-Throughput iptables -A PREROUTING -t mangle -p tcp --sport 22 -j TOS --set-tos Minimize-Delay iptables -A PREROUTING -t mangle -p tcp --sport 23 -j TOS --set-tos Minimize-Delay echo "FIREWALL INICIADO________[OK]"
Unificando arquivos de bloqueio e liberação no squid
Enviando comandos para máquinas da rede
Script de busca (google em shell)
instalando o unbound dns no debian via script
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
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
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Tem como instalar o gerenciador AMD Adrenalin no Ubuntu 24.04? (15)
Tenho dois Link's ( IP VÁLIDOS ), estou tentando fazer o failover... (0)
Pendrive não formata de jeito nenhum (4)