Regra básica de firewall em shell

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

[ Hits: 3.843 ]

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

cieQemu - Interface para o qemu (Shell & Xdialog)

Calculo de notas - Incrementar um array em shell dinamicamente

Agenda de contatos em DIALOG

rc.squid start|stop|restart Servidor Proxy

Lista-telefonica


  

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