Ir al contenido principal

Firewall PF


PF o Packet Filter es un software de filtrado de paquetes que fue desarrollado para openBSD y actualmente ha sido exportado a otros S.O.

Este manual fue hecho sobre OpenBSD 5.3, donde por defecto viene activado en el archivo  "/etc/rc.conf"  la linea

pf=YES

Si deseas desactivarlo  agrega "pf=NO" al archivo "/etc/rc.conf.local". Las reglas se leen desde el archivo "/etc/pf.conf". Tambien puedes activar y desactivar pf con el comando"pfctl -e" y "pfctl -d" respectivamente. Cuando este activo debes iniciar las reglas :

#pfctl -f /etc/pf.conf

Si acabas de instalar OpenBSD, el archivo viene con unas cuantas reglas por defecto para ver las reglas activadas ejecuta:

#pfctl -sr 
block drop all
pass all flags S/SA
block drop in on ! lo0 proto tcp from any to any port 6000:6010

Por defecto deja entrar todo y bloquea cualquier intento de conexion a puertos X11.

A continuacion unas reglas muy sencillas.

#permitir trafico loopback y enc0 
set skip on {lo,enc0}

#permitir paso de mi subred  por mi interfaz lan


pass quick on em1 from 192.168.100.0/24 to any

#nateo 

pass out quick on em0 inet from 192.168.100.0/24 to any  nat-to em0

#Denegamos todo 

block all

#Permite ssh   

pass in on em0 proto tcp from any to any port 22
pass on em0 proto {tcp,udp} from any to any port {500,4500}

Estas reglas las agregamos a "/etc/pf.conf". Puedes guardar el pf.conf por defetco en otro lado y agregar las anteriores.

Explicare un poco algunos parametros .

- "pass" y "block" permiten o bloquean el paso de un paquete. Por ejempo "block in on em0" bloquea todo paquete entrante por la interfaz "em0" que es la Wan.

- "pass out on em0 from 192.168.100.0/24 nat-to em0" deja pasar hace coincidencia  con los paquetes salientes "out" en la interfaz "em0" que vengan desde la subred "from 192.168.100.0/24" y hace NAT "nat-to" a la interfaz "em0".

- "pass quick on em1 from 192.168.100.0/24 to any" permite paso de paquetes en ambas direcciones en la interfaz "em1" desde mi subred  hacia cualquier destino "from 192.168.100.0/24 to any".

- "pass in on em0 proto tcp from any to any port 22" permito el paso de paquetes entrantes por la interfaz "em0" con protocolo tcp desde cualquiera hasta cualquiera "any to any" por el puerto 22.

-"block all" la regla por defecto es que todo sea bloqueado es decir nuestro firewall es inclusivo y si desean permitir algo deben especificarlo.

Para ahorrarnos reglas espacio y ser recursivos y pragmaticos, podemos usar macros que nos simplifican la vida. Por ejemplo en la linea

pass on em0 proto {tcp,udp} from any to any port {500,4500}

encerramos dentro de llaves los protocolos separados por una coma o puertos. Tambien puedes para no repetir cada regla que vayas a usar  la red local "192.168.100.0/24" simplemente defines una macro de la siguiente manera:

my_lan="192.168.100.0/24"

y en cualquier regla usas $lan de la siguiente manera:

pass out quick on em0 inet from ${lan} to any  nat-to em0

-"set skip on {lo,enc0}" marca con "skip" la interfaz loopback "lo y enc0". Todas las reglas siguientes seran ignoradas en paquetes q vengan de esta interfaz.

para aplicar los cambios en el acto simplemente ejecutas:

#pfctl -f /etc/pf.conf

Estare actualizando el post a medida que vaya trabajando. Saludos

Entradas populares de este blog

Manejo de discos en AIX

Hola a todos. En el siguiente tutorial, enseñaremos cómo particionar un disco (o physical volumen, PV) o en su defecto adicionarlo a un volumen. Cabe mencionar que en AIX el concepto de partición como tal no existe, sino que se manejan como volúmenes de grupos lógicos o VG. Partiremos de la premisa de que el PV ya está presentado al sistema operativo, por lo que el primero paso es actualizar o detectar el disco al sistema para que esté visible como un fichero en /dev. Esto se hace ejecutando: #cfgmgr  Podrémos ver el disco en el sistema si usamos el comando #lspv Un VG, se debe subdividir al ser creado en un subconjunto de particiones fisicas llamadas PP y todas deben ser de un tamaño identico. Así que crearemos el VG de nombre volgroup1 especificando que cada PP debe ser de 1024 megas y que se hará del disco con etiqueta hdisk1.  #mkvg -y volgroup1 -s 1024 hdisk1 Si, ya se ha creado el volumen previamente, y desean agregar el nuevo disco, lo hacemos con: #extendvg -f volgroup...

Montar un nfs cliente en AIX

    Supongamos el  servidor origen es: 192.168.0.200 El directorio a montar orgien es /files/dir1 Para montar de manera manual se ejecuta: mount 192.168.0.200:/files/dir1 /nfs_dir1 Si queremos sea persistente a los reinicios, se agrega lo siguiente a /etc/filesystems /nfs_dir1         dev             = /files/dir1         vfs             = nfs         mount           = true         options         = rw         nodename     = 192.168.0.200 Do widzenia.  

AIX 7.2 montar/desmontar Volume group

  Para crear una particion, debemos primero, identificar el disco #lspv En este caso el disco es hdisk1. Crear el VG con 1024 PPs (-s) #mkvg -y vgname1 -s 1024 hdisk1 Luego se crea  el LV de 20GB #mklv -y lvname1 -t jfs2 vgname1 20G Damos el formato. #crfs -v  jfs2 -d lvname1 -m /mnt/part1 -A yes -p rw Las opciones usadas son: -A yes permanente al boot -o rw en modo escritura -d lvname es la etiqueta con que quedará en /dev/ Luego montamos la particion o LV #mount /mnt/part1 Listo. Ahora, para desmontar un disco y borrar el VG, identificamos el disco #lspv El disco hdisk1 y el VG es volgroup1, el que  primero desactivamos. #varyoffvg volgroup1   #exportvg volgroup1 Damos clear al disco hdisk1 #chdev -a pv=clear -l hdisk1 Y borramos del cfgmgr #rmdev -l hdisk1 -d Do widzenia.