Sunteți pe pagina 1din 4

Configuracion PF Openbsd Netbsd Freebsd

June 30, 2007

vamos a configurar pf en unos cuantos pasos preparen su pf.conf temporal para trabajar en ese y no regarla en el principal para validar que las reglas de PF esten bien escritas, pero sin cargarlas al sistema, se ejecuta lo siguiente: $ pfctl -n -f myarchivopf.conf ahora, en las primeras lineas deben de escribirse variables que se usaran en las reglas para nuestro proposito, tendriamos solo 2 variables; una llamada red_internet y la otra red_lan en esas apuntariamos el nombre de dispositivo de nuestras tarjetas de red: rl0 em0 vr0 o como se llame en red_internet pondriamos el dispotivo de red que esta conectado hacia la nternet para nuestro ejemplo pondremos la vr0 en red_lan pondriamos el dispositivo de red que esta conectado a nuestra red local para nuestro ejemplo podremos la rl0 entonces, en nuestro pf.conf quedaria asi: red_internet!"vr0# red_lan!"rl0# como todos sabemos, en !" # e$iste el dispositivo loopbac$ o lo0 que siempre apunta la %P &'(.0.0.&; este es indispensable para que los procesos de nuestra maquina se comuniquen entre ellos entonces, nuestro dispositivo lo0 no debe de estar regido por las reglas del fire%all; entonces le diremos a &' que ignore y no ande chingando a nuestro loopbac( entonces, la siguiente regla seria: set s$ip on lo0

la primera regla de seguridad de un fire%all, es que se bloqueen todo paquete que vaya entrar que este corrupto todo paquete entrante incompleto o corrupto, que lo bloquee nuestro fire%all los paquetes e$tra)os podrian ser algun $ploit o vulnerabilidad que pueda afectar al fire%all ahora nuestra politica de filtrado en fire%all seria: *bloquea +,-,. los paquetes entrantes, y luego, deja pasar unicamente los que te vamos a permitir que pases/ para bloquear toda cone$ion entrante, nuestra siguiente regla en pf0conf seria: bloc$ in all no vayan a activar su pf0conf porque se van a desconectar de la red eh ahora, como queremos que nuestras maquinas en la 12" se puedan comunicar entre estas y tambien el fire%all pueda comunicarse con estas; vamos a abrir las cone$iones de nuestra 12" para eso, nuestra siguiente instruccion en nuestro pf seria: pass )uic$ on $red_lan recuerden que 3red4lan es un llamado de nuestra variable que apunta a nuestro dispositivo de red que esta conectado a la red local nuestras siguientes reglas; seria, el redirigir las cone$iones de entrada a nuestro servidor %eb nuestra regla seria: redirige las cone$iones entrantes de nuestra tarjeta de red de nternet que provengan de cualquier direccion que pidan el puerto 50 6%%%7 y que las mande a tal & entonces, en nuestro pf pondriamos: rdr on $red_internet proto tcp from any to any port *** -+ '00.,,.-..&&& port *** esa es una opcion la otra forma de ponerla seria: rdr on $red_internet proto tcp from any to any port /0 -+ '00.,,.-..&&& la ultima que acabo de poner, por logica, dice que las cone$iones entrantes por el puerto 50 se las mande a 2000330890:::; la maquina de esa & sabe que es una peticion al puerto 50

la del servidor "et;.- que se supone tiene una & publica asignada si el fire%all y el servidor es el mismo equipo; entonces no seria necesario redirigir para el caso que, en ve< de rdr seria pass in )uic$ on $red_internet proto tcp from any to port *** ahora, podriamos tener el caso de que nuestro 'ire%all tenga la & publica, pero que nuestro servidor %eb esta en un equipo dentro de nuestra red local; la regla seria: rdr on $red_internet proto tcp from any to '00.,,.-..&&& port *** -+ &0'.&1/.&.port *** ahora viene la regla que usaremos para nuestro caso de 2 servidores =eb detras de un fire%all suponemos que nuestro servidor "et;.- es 2000330890::: y nuestro servidor -ebian es 200033089020 serian 2 reglas de redireccion, en nuestro pf0conf estaria asi: rdr on $red_internet proto tcp from any to '00.,,.-..&&& port *** -+ '00.,,.-..&&& port *** rdr on $red_internet proto tcp from any to '00.,,.-..'0 port *** -+ '00.,,.-..'0 port *** recordemos que en un paquete +>&, siempre vienen los datos del remitente y el destinatario; nuestro 'ire%all lee los datos del paquete, lee el destinatario y lo manda a donde le corresponde ahora, hay que probar esas reglas en el fire%all; para activar nuestras reglas, se usaria: 2 pfctl -e -f mi_pf.conf si hay broncas, la desactivamos con: 2 pfctl -d una ve< que se vio que funciona; hay que activar en ?etc?sysctl0conf: net.inet.ip.for*arding!& net.inet1.ip1.for*arding!& y en nuestro ?etc?rc0conf:

pf!345 pf_rules!6etc6pf.conf y listo ya tenemos funcionando nuestro PF @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@

S-ar putea să vă placă și