Regra básica de firewall em shell

Publicado por Perfil removido (última atualização em 27/11/2012)

[ Hits: 3.856 ]

Download 5617.firewall.sh




Esse foi o primeiro firewall básico que escrevi na escola usando FreeBSD.

  



Esconder código-fonte

#############################################
######## Firewall base padrao ################
###Usar como definicao as seguintes placas de rede
###xl0 para internet (Rede 200.200.200.200/24)
###xl1 para rede interna (Rede 192.168.0.0/24)
###xl2 para rede sem fio (Rede 192.168.10.0/24)
#!/bin/bash

# Zerar regras aplicadas e contadores
-f flush

# Controle para rede de loopback
add 2 allow all from any to any via loo
add 3 deny log all from 127.0.0.0/8 to any

# Bloqueia pacotes fragmentados/alterados/inconformes
add 5 set 1 deny log tcp from any to any frag 
add 10 set 1 deny log tcp from any to any tcpflags syn,rst
add 15 set 1 deny log tcp from any to any tcpflags syn,fin
add 20 set 1 deny log all from any to any ipoptions lsrr
add 25 set 1 deny log all from any to any ipoptions ssrr

# FINGERPRINT para todos 
add 30 set 2 deny log tcp from any to any tcpflags syn,fin,psh
add 35 set 2 deny log tcp from any to any tcpflags fin,urg,psh
add 40 set 2 deny log tcp from any to any tcpflags !fin,!syn,!ack,!urg,!psh,!rst

# Loopback e antispoof
add 100 set 3 allow all from 127.0.0.0/24 to 127.0.0.0/24 via loo keep-state
add 200 set 3 deny log all from 127.0.0.0/24 to any
add 300 set 3 deny log all from 192.168.0.0/24 to any recv !xl1
add 400 set 3 deny log all from 200.200.200.200/24 to any recv !xl0

add 1200 set 4 allow udp from me to any domain keep-state
add 1500 set 4 deny log all from any to me 
add 6100 set 9 allow udp from any to {192.168.0.4 or 192.168.0.5} domain recv xl2 keep-state

# Servidores de nomes resolverem nomes de dominios externos 
add 6300 set 9 allow udp from {192.168.0.4 or 192.168.0.5} to any domain recv xl1 keep-state

# Logar na regra deny
add 65534 deny log logamount 100000 all from any to any

# Zerar regra default 
zero 65535

Scripts recomendados

Facilitando a vida com Fedora 8

Cálculo Etanol ou Gasolina

Script para enviar email, avisando quando alguem loga na maquina

Inversor de texto

Adicionar usuários para serem autenticados pelo squid


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts