Firewalling/NAT/QoS

Anuncio
Firewalling/NAT/QoS
Open
●
Sistema LIBRE tipo
Unix.
●
Multiplataforma.
●
Basado en 4.4BSD.
●
●
Portabilidad, cumple
standares, corrección
del código...
Seguridad proactiva y
criptografía integrada.
●
Filtrar tráfico TCP/IP.
●
NAT
●
●
Normalización y
acondicionación del
tráfico TCP/IP
QoS
●
●
●
Forma parte del
núcleo de OpenBSD
desde la versión 3.0
Creado por Daniel
Hartmeier.
Ports a NetBSD,
FreeBSD y
GNU/Linux.
●
●
En el fichero
/etc/rc.conf debemos
de habilitar PF con:
pf=YES
●
Para activarlo y
desactivarlo
usaremos: pfctl [-e / -d]
●
Durante el arranque,
se van ejecutando los
guiones rc; en caso de
que esté habilitado pf,
se procederá a leer las
reglas de pf que
están en /etc/pf.conf
pfctl se encarga de
interpretar el fichero.
●
Macros
●
Tablas
●
Opciones
●
Normalizacion/Desfragmentacion.
●
Formación de colas
●
NAT y redireccionamiento
●
Reglas de filtrado
# pfctl -f /etc/pf.conf
Carga el fichero pf.conf
# pfctl -nf /etc/pf.conf Comprueba la sintaxis.
# pfctl -Nf /etc/pf.conf Carga solo las reglas de NAT
# pfctl -Rf /etc/pf.conf Carga sólo las reglas de filtrado
# pfctl -sn
Muestra la configuracion actual de NAT
# pfctl -sr
Muestra las reglas actuales de filtrado
# pfctl -ss
Muestra la tabla de estado actual
# pfctl -si
Muestra estadísticas y contadores del filtrado
# pfctl -sa
Muestra TODO lo posible
●
●
Nos permite aplicar una regla sobre un conjunto
de protocolos/puertos/direcciones. Las listas
enuncian entre llaves “{}”. La finalidad es
ahorrar lineas y usar una sintaxis limpia.
Ejemplo:
–
block out on wi0 proto {tcp udp} from { 172.168.0.1, 128.1.1.3 } to any
●
Bloquea la salida de paquetes tcp ó udp a través de wi0 de 192.168.1 y
10.5.32.6, que forman una lista de ip's.
●
Son variables que definimos para referirnos a
direcciones de ip's, puertos, interfaces, ...
ext_if = "fxp0"
block in on $ext_if from any to any
abusers = { 80.37.167.40, 80.25.140.109 }
block on $ext_if from $abusers to any
●
Son medios de altacenamientos de IP's (Ipv4 y
Ipv6), mucho más optimizado que las listas que
permite hacer lookups (búsquedas) de bastas
cantidades de IP's en poco tiempo usando un
mínimo de recursos. Las tablas se pueden
utilizar para todo menos:
–
Redireccionamiento
–
Enrutamiento
Las tablas se crean usando la directiva table. Se pueden usar dos atributos: const y
strict.
table <colegas> { 128.1.2.0/24 }
table <rfc1918> const { 128.1.5.0/16, 128.1.23.0/12, \
10.0.0.0/8, !128.1.23.3 }
table <spammers> persist file /etc/spamersreallysux
block in on tl0 from { <rfc1918>, <spammers> } to any
pass in on xl0 from <goodguys> to any
Las tablas se pueden modificar con: pfctl -t tabla -opcion [ip('s)/red(es)], con las
siguientes opciones:
-Tadd para añadir ip('s)/red(es)
-Tshow para mostrar los datos cargados.
-Tdelete para eliminar ip('s)/red(es)
●
set block-policy: block
–
drop
–
return
●
set limit (spoool de memoria)
●
set loginterface int (interfaz)
●
●
set optimization
–
normal
–
high-latency
–
aggressive
–
conservative
set timeout
–
Interval (purga y fragmentos)
–
Frag (fragmentop desensamblado)
scrub
no-df: elimina el bit “don't fragment”
random-id
min-ttl num
max-mss num
fragment reassemble
fragment crop
fragment drop-ovl
●
Queueing
●
Schedulers
●
RED (Random Early Detection)
●
ECN (Explicit Congestion Notification)
●
Altq
●
Queue:
–
name
–
bw
–
pri
–
qlim
–
scheduler
–
sched_options (default/red/rio/ecn/borrow/)
–
queue_list
Descargar