freeBSD (pf.conf)

pf.conf simples para iniciantes em freeBSD

Categoria: Segurança

Software: freeBSD

[ Hits: 2.266 ]

Por: Rafael Bradaschia Cortez


Tive muita dificuldade em achar tópicos a respeito de Packet Filter em português, sou iniciante ainda, mas creio que este script irá ajudar outros iniciantes também. Este é o meu primeiro post, estou aberto a criticas e sugestões.


## Definindo MACROS para tratar as interfaces de rede, portas e ip's ##

   iface_wan = "em0"   # interface que sai para a internet
   iface_lan = "em1"   # interface da sua rede interna
   ip_lan = "192.168.2.0/24"   # rede interna
   ip_wan =   "10.0.5.200"      # ip publico
   #  A MACRO portas_altas não está sendo utilizada neste script, mas está aqui para mostrar a syntax possivel
        portas_altas =   "{ 1024 - 65536 }"  
   tcp_ports  = "{ 25, 80, 110, 443, 995, 8080 }" # portas de servicos de e-mail, ssl, http e https
   dns_ports    = "{ domain, ntp }"   # DNS


## Definindo Tabelas de ip's ##

   table <interno> persist { $ip_lan }
   table <publico> const { $ip_wan lo0 }
   table    <todos> persist { $ip_lan $ip_wan lo0 } 
   table    <ssh_hosts> const   { 10.0.5.100 10.0.5.110 } # Aqui vai os ip's que vão acessar o FW por SSH


## Regras para limites ##

   set block-policy drop      # Definindo a politica de seguranca para bloquear sem devolver resposta


## Scrub ## - Dropa pacotes que estiverem incompletos ou com falhas

   scrub in all


## NAT ##

   nat on $iface_wan from <interno> to any -> ($iface_wan)


## ANTI-SPOOFING ##

   antispoof for $iface_lan inet


## Bloqueando tudo ##

   block all


## Liberando acesso ##

   # Libera o DNS para os ip's contidas na table <todos>
   pass    proto udp from <todos>    to any port $dns_ports keep state

   # Libera as portas TCP vindos da table <todos> para qualquer lugar
   pass    proto tcp from <todos> to any port $tcp_ports keep state

   # Libera a volta para essas portas
   pass proto tcp from any to <todos>   port $tcp_ports keep state

   # Libera o protocolo ICMP do firewall para qualquer lugar
   pass proto icmp from <publico> to any

   # Liberando apenas a resposta do ping para a rede interna
   pass out proto icmp   from <interno>   to <todos>
  


Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário