Diferencia entre revisiones de «Ipfw»

(Página creada con '{{Ficha Software |nombre=Ipfw |familia= |imagen=Ipfw.jpeg |tamaño= |descripción= |imagen2= |tamaño2= |descripción2= |creador= |desarrollador= |diseñador= |modelo de desa...')
(Etiqueta: Artículo sin Fuentes o Bibliografía o Referencias o Enlaces externos)
 
Línea 2: Línea 2:
 
|nombre=Ipfw
 
|nombre=Ipfw
 
|familia=
 
|familia=
|imagen=Ipfw.jpeg
+
|imagen=Ipfw.jpg
 
|tamaño=
 
|tamaño=
|descripción=  
+
|descripción= Ipfw es un programa de [[cortafuegos]] (en inglés, firewall) propio de los sistemas [[UNIX]], principalmente [[FreeBSD]] y [[Mac OS X]]. Fue escrito y es mantenido por los programadores del proyecto FreeBSD.
 
|imagen2=
 
|imagen2=
 
|tamaño2=
 
|tamaño2=
 
|descripción2=
 
|descripción2=
 
|creador=
 
|creador=
|desarrollador=  
+
|desarrollador= FreeBSD
|diseñador=
+
|diseñador=  
 
|modelo de desarrollo=
 
|modelo de desarrollo=
 
|lanzamiento inicial=  
 
|lanzamiento inicial=  
 
|versiones=
 
|versiones=
|última versión estable=  
+
|última versión estable= 2.0
 
|género=
 
|género=
 
|sistemas operativos=  
 
|sistemas operativos=  
Línea 20: Línea 20:
 
|licencia=  
 
|licencia=  
 
|premios=
 
|premios=
|web=
+
|web=http://www.freebsd.org/doc/es/articles/linux-users/firewall.html
 
}}
 
}}
 
<div align="justify">
 
<div align="justify">
Ipfw es un programa de cortafuegos (en inglés, firewall) propio de los sistemas UNIX, principalmente FreeBSD y Mac OS X. Fue escrito y es mantenido por los programadores del proyecto FreeBSD.
+
 
Su sintaxis permite la utilización de funcionalidades avanzadas y así permitir a los usuarios profesionales satisfacer requerimientos avanzados. También puede ser usado como un módulo que se puede cargar en el núcleo (en inglés, kernel) o incorporarse directamente en el mismo. La utilización del mismo como un módulo cargable en el núcleo está altamente recomendado.[cita requerida]
+
'''Su sintaxis permite la utilización''' de funcionalidades avanzadas y así permitir a los usuarios profesionales satisfacer requerimientos avanzados. También puede ser usado como un módulo que se puede cargar en el núcleo (en inglés, kernel) o incorporarse directamente en el mismo. La utilización del mismo como un módulo cargable en el núcleo está altamente recomendado.
 +
 
 
== Cortafuegos ==
 
== Cortafuegos ==
Igual que Linux® dispone de IPTABLES, FreeBSD también disponde de cortafuegos integrado en el kernel, solo que FreeBSD en lugar de uno dispone de tres:
+
 
 +
Igual que Linux dispone de [[IPTABLES]], FreeBSD también disponde de cortafuegos integrado en el [[kernel]], solo que FreeBSD en lugar de uno dispone de tres:
 +
 
 
*[[IPFIREWALL]]
 
*[[IPFIREWALL]]
 
*[[IPFILTER]]
 
*[[IPFILTER]]
 
*[[PF]]
 
*[[PF]]
IPFIREWALL o IPFW (el programa para manejar las reglas de IPFW es ipfw(8)) es el cortafuegos que desarrollan y mantienen los desarrolladores de FreeBSD. IPFW se puede combinar con dummynet(4) para conseguir servicios de “traffic shaping” y simular diferentes tipos de conexiones.
+
 
 +
IPFIREWALL o IPFW (el programa para manejar las reglas de IPFW es ipfw(8)) es el cortafuegos que desarrollan y mantienen los desarrolladores de FreeBSD. IPFW se puede combinar con dummynet para conseguir servicios de “traffic shaping” y simular diferentes tipos de conexiones.
 +
 
 
Veamos un ejemplo de regla que permite la entrada de tráfico SSH:
 
Veamos un ejemplo de regla que permite la entrada de tráfico SSH:
 +
 
ipfw add allow tcp from any to me 22 in via $ext_if
 
ipfw add allow tcp from any to me 22 in via $ext_if
IPFILTER es el cortafuegos que desarrolla Darren Reed. No es específico de FreeBSD y se ha portado ya a diversos sistemas operativos como NetBSD, OpenBSD, SunOS, HP/UX y Solaris.
+
 
 +
IPFILTER es el cortafuegos que desarrolla [[Darren Reed]]. No es específico de FreeBSD y se ha portado ya a diversos sistemas operativos como [[NetBSD]], [[OpenBSD]], [[SunOS]], [[HP/UX]] y [[Solaris]].
 +
 
 
El siguiente ejemplo permite la entrada de tráfico SSH:
 
El siguiente ejemplo permite la entrada de tráfico SSH:
 +
 
pass in on $ext_if proto tcp from any to any port = 22
 
pass in on $ext_if proto tcp from any to any port = 22
El último cortafuegos, PF, ha sido desarrollado por el proyecto OpenBSD. PF fue creado como sustituto de IPFILTER, de ahí que la sintaxis de PF sea muy similar a la de IPFILTER. PF se puede combinar con altq(4) para disponer de QoS.
+
 
 +
El último cortafuegos, [[PF]], ha sido desarrollado por el proyecto OpenBSD. PF fue creado como sustituto de IPFILTER, de ahí que la sintaxis de PF sea muy similar a la de IPFILTER. PF se puede combinar con altq para disponer de QoS.
 +
 
 
En el siguiente ejemplo vemos una regla que permite la entrada de tráfico SSH:
 
En el siguiente ejemplo vemos una regla que permite la entrada de tráfico SSH:
 +
 
pass in on $ext_if inet proto tcp from any to ($ext_if) port 22
 
pass in on $ext_if inet proto tcp from any to ($ext_if) port 22
 
http://www.freebsd.org/doc/es/articles/linux-users/firewall.html
 
 
 
 
   
 
   
 
ipfw es un firewall para freeBSD, en origen, ya que es usado en MAC OSX, y su sabor de Windows es WipFW. Tambien ipfw se usa en la firewall-distro pfSense (que por cierto, su versión 2.0-Release esta recien salida del horno ).
 
ipfw es un firewall para freeBSD, en origen, ya que es usado en MAC OSX, y su sabor de Windows es WipFW. Tambien ipfw se usa en la firewall-distro pfSense (que por cierto, su versión 2.0-Release esta recien salida del horno ).
 +
 
Su potencia esta más que demostrada, (los router Juniper que corren bajo JunOS en realidad son freeBSD customizados con ipfw, al igual que los Cisco se basan en un kernel de linux, nihil novum sub solen, excpeto mejorar y transformar …).
 
Su potencia esta más que demostrada, (los router Juniper que corren bajo JunOS en realidad son freeBSD customizados con ipfw, al igual que los Cisco se basan en un kernel de linux, nihil novum sub solen, excpeto mejorar y transformar …).
 
Bajo mi punto de vista, la sintaxis de ipfw para crear reglas o ACLs es más clara, versatil y potente que IPtables (el firewall por antonomasia de Linux)
 
Bajo mi punto de vista, la sintaxis de ipfw para crear reglas o ACLs es más clara, versatil y potente que IPtables (el firewall por antonomasia de Linux)
  
 
De muestra un boton. Como se pueden crear reglas de filtrado de capa2 o de enlace con ipfw:
 
De muestra un boton. Como se pueden crear reglas de filtrado de capa2 o de enlace con ipfw:
 +
 
# Denegamos IPv6 denegando trafico de capa 2 del tipo IPv6
 
# Denegamos IPv6 denegando trafico de capa 2 del tipo IPv6
 +
 
ipfw -q add deny ip from any to any layer2 mac-type 0x86DD
 
ipfw -q add deny ip from any to any layer2 mac-type 0x86DD
 +
 
# Permitimos trafico arp
 
# Permitimos trafico arp
 +
 
ipfw -q add allow ip from any to any layer2 mac-type 0×0806
 
ipfw -q add allow ip from any to any layer2 mac-type 0×0806
 +
 
# Permitimos autenticacion EAP over LAN (IEEE 802.1X)
 
# Permitimos autenticacion EAP over LAN (IEEE 802.1X)
 +
 
ipfw -q add allow ip from any to any layer2 mac-type 0x888e
 
ipfw -q add allow ip from any to any layer2 mac-type 0x888e
 +
 
# Permitimos PPPoE Discovery Stage
 
# Permitimos PPPoE Discovery Stage
 +
 
ipfw -q add allow ip from any to any layer2 mac-type 0×8863
 
ipfw -q add allow ip from any to any layer2 mac-type 0×8863
 +
 
# Permitimos PPPoE Session Stage
 
# Permitimos PPPoE Session Stage
 
ipfw -q add allow ip from any to any layer2 mac-type 0×8864
 
ipfw -q add allow ip from any to any layer2 mac-type 0×8864
 +
 
# Denegamos trafico de capa 2 que no sea del tipo IPv4 (lo que permite implicitamente trafico de capa 2 del tipo IPv4)
 
# Denegamos trafico de capa 2 que no sea del tipo IPv4 (lo que permite implicitamente trafico de capa 2 del tipo IPv4)
ipfw -q add deny ip from any to any layer2 not mac-type 0×0800 #deniega trafico de capa 2 que no sea de tipo IPv4
+
 
notese que con estas acls no funcionara RARP (reverse arp) del tipo 0×8035, ni el tráfico de VLAN (0×8100)
+
ipfw -q add deny ip from any to any layer2 not mac-type 0×0800  
 +
 
 +
#deniega trafico de capa 2 que no sea de tipo IPv4
 +
 
 +
Nótese que con estas acls no funcionara RARP (reverse arp) del tipo 0×8035, ni el tráfico de VLAN (0×8100)
 +
 
 
Se puede usar los mac-type con su denominacion, por ejemplo:
 
Se puede usar los mac-type con su denominacion, por ejemplo:
 +
 
# Descartamos trafico de capa 2 que sea del tipo IPv6 y VLAN
 
# Descartamos trafico de capa 2 que sea del tipo IPv6 y VLAN
 +
 
ipfw -q add drop log ip from any to any layer2 mac-type ipv6,vlan
 
ipfw -q add drop log ip from any to any layer2 mac-type ipv6,vlan
 
Por supuesto ipfw admite filtrado de MACs
 
Por supuesto ipfw admite filtrado de MACs
 +
 
# Dejamos pasar el trafico con origen en la mac 00:01:02:ab:ab:ab a la mac de destino 00:01:02:03:04:05
 
# Dejamos pasar el trafico con origen en la mac 00:01:02:ab:ab:ab a la mac de destino 00:01:02:03:04:05
 +
 
ipfw -q add pass MAC 00:01:02:03:04:05 00:01:02:ab:ab:ab mac-type
 
ipfw -q add pass MAC 00:01:02:03:04:05 00:01:02:ab:ab:ab mac-type
 +
 
# Permitimos broadcast de capa 2 (donde pone mac-type, tambien valdria ether_type )
 
# Permitimos broadcast de capa 2 (donde pone mac-type, tambien valdria ether_type )
 +
 
ipfw -q add pass MAC any ff:ff:ff:ff:ff:ff mac-type
 
ipfw -q add pass MAC any ff:ff:ff:ff:ff:ff mac-type
 +
 
ipfw -q add pass MAC ff:ff:ff:ff:ff:ff any mac-type
 
ipfw -q add pass MAC ff:ff:ff:ff:ff:ff any mac-type
Notese que primero se pone la mac de destino y luego la de origen en la regla
+
 
Y por ultimo la reoxtiax: ¡Y se pueden usar reglas de capa 3 y capa 2 en la misma ACL!
+
Nótese que primero se pone la mac de destino y luego la de origen en la regla y por ultimo la reoxtiax: ¡Y se pueden usar reglas de capa 3 y capa 2 en la misma ACL!.
 +
 
 
# permitimos trafico de capa 3 desde la ip 192.168.0.11 a cualquier destino con origen en la nic con mac 00:19:e0:8d:d0:43
 
# permitimos trafico de capa 3 desde la ip 192.168.0.11 a cualquier destino con origen en la nic con mac 00:19:e0:8d:d0:43
 +
 
# nota: keep-state crea una regla dinamica temporal para permitir el trafico de retorno,  
 
# nota: keep-state crea una regla dinamica temporal para permitir el trafico de retorno,  
 +
 
ipfw -q add allow log ip from 192.168.0.11 to any MAC any 00:19:e0:8d:d0:43 keep-state
 
ipfw -q add allow log ip from 192.168.0.11 to any MAC any 00:19:e0:8d:d0:43 keep-state
 +
 
#log -> indica que escriba en el log o bitacora los eventos coincidentes con la acl
 
#log -> indica que escriba en el log o bitacora los eventos coincidentes con la acl
http://www.javcasta.com/2011/09/28/seguridad-reglas-de-capa-dos-o-de-enlace-en-firewall-ipfw-freebsd-pfsense/
+
 
 +
== Referencia ==
 +
 
 +
*http://www.javcasta.com/2011/09/28/seguridad-reglas-de-capa-dos-o-de-enlace-en-firewall-ipfw-freebsd-pfsense/
  
 
[[Category:Redes_de_Computadoras]]
 
[[Category:Redes_de_Computadoras]]

Revisión del 10:01 26 oct 2011

Ipfw
Información sobre la plantilla
Ipfw.jpg
Ipfw es un programa de cortafuegos (en inglés, firewall) propio de los sistemas UNIX, principalmente FreeBSD y Mac OS X. Fue escrito y es mantenido por los programadores del proyecto FreeBSD.
DesarrolladorFreeBSD
Última versión estable2.0
Sitio web
http://www.freebsd.org/doc/es/articles/linux-users/firewall.html

Su sintaxis permite la utilización de funcionalidades avanzadas y así permitir a los usuarios profesionales satisfacer requerimientos avanzados. También puede ser usado como un módulo que se puede cargar en el núcleo (en inglés, kernel) o incorporarse directamente en el mismo. La utilización del mismo como un módulo cargable en el núcleo está altamente recomendado.

Cortafuegos

Igual que Linux dispone de IPTABLES, FreeBSD también disponde de cortafuegos integrado en el kernel, solo que FreeBSD en lugar de uno dispone de tres:

IPFIREWALL o IPFW (el programa para manejar las reglas de IPFW es ipfw(8)) es el cortafuegos que desarrollan y mantienen los desarrolladores de FreeBSD. IPFW se puede combinar con dummynet para conseguir servicios de “traffic shaping” y simular diferentes tipos de conexiones.

Veamos un ejemplo de regla que permite la entrada de tráfico SSH:

ipfw add allow tcp from any to me 22 in via $ext_if

IPFILTER es el cortafuegos que desarrolla Darren Reed. No es específico de FreeBSD y se ha portado ya a diversos sistemas operativos como NetBSD, OpenBSD, SunOS, HP/UX y Solaris.

El siguiente ejemplo permite la entrada de tráfico SSH:

pass in on $ext_if proto tcp from any to any port = 22

El último cortafuegos, PF, ha sido desarrollado por el proyecto OpenBSD. PF fue creado como sustituto de IPFILTER, de ahí que la sintaxis de PF sea muy similar a la de IPFILTER. PF se puede combinar con altq para disponer de QoS.

En el siguiente ejemplo vemos una regla que permite la entrada de tráfico SSH:

pass in on $ext_if inet proto tcp from any to ($ext_if) port 22

ipfw es un firewall para freeBSD, en origen, ya que es usado en MAC OSX, y su sabor de Windows es WipFW. Tambien ipfw se usa en la firewall-distro pfSense (que por cierto, su versión 2.0-Release esta recien salida del horno ).

Su potencia esta más que demostrada, (los router Juniper que corren bajo JunOS en realidad son freeBSD customizados con ipfw, al igual que los Cisco se basan en un kernel de linux, nihil novum sub solen, excpeto mejorar y transformar …). Bajo mi punto de vista, la sintaxis de ipfw para crear reglas o ACLs es más clara, versatil y potente que IPtables (el firewall por antonomasia de Linux)

De muestra un boton. Como se pueden crear reglas de filtrado de capa2 o de enlace con ipfw:

  1. Denegamos IPv6 denegando trafico de capa 2 del tipo IPv6

ipfw -q add deny ip from any to any layer2 mac-type 0x86DD

  1. Permitimos trafico arp

ipfw -q add allow ip from any to any layer2 mac-type 0×0806

  1. Permitimos autenticacion EAP over LAN (IEEE 802.1X)

ipfw -q add allow ip from any to any layer2 mac-type 0x888e

  1. Permitimos PPPoE Discovery Stage

ipfw -q add allow ip from any to any layer2 mac-type 0×8863

  1. Permitimos PPPoE Session Stage

ipfw -q add allow ip from any to any layer2 mac-type 0×8864

  1. Denegamos trafico de capa 2 que no sea del tipo IPv4 (lo que permite implicitamente trafico de capa 2 del tipo IPv4)

ipfw -q add deny ip from any to any layer2 not mac-type 0×0800

  1. deniega trafico de capa 2 que no sea de tipo IPv4

Nótese que con estas acls no funcionara RARP (reverse arp) del tipo 0×8035, ni el tráfico de VLAN (0×8100)

Se puede usar los mac-type con su denominacion, por ejemplo:

  1. Descartamos trafico de capa 2 que sea del tipo IPv6 y VLAN

ipfw -q add drop log ip from any to any layer2 mac-type ipv6,vlan Por supuesto ipfw admite filtrado de MACs

  1. Dejamos pasar el trafico con origen en la mac 00:01:02:ab:ab:ab a la mac de destino 00:01:02:03:04:05

ipfw -q add pass MAC 00:01:02:03:04:05 00:01:02:ab:ab:ab mac-type

  1. Permitimos broadcast de capa 2 (donde pone mac-type, tambien valdria ether_type )

ipfw -q add pass MAC any ff:ff:ff:ff:ff:ff mac-type

ipfw -q add pass MAC ff:ff:ff:ff:ff:ff any mac-type

Nótese que primero se pone la mac de destino y luego la de origen en la regla y por ultimo la reoxtiax: ¡Y se pueden usar reglas de capa 3 y capa 2 en la misma ACL!.

  1. permitimos trafico de capa 3 desde la ip 192.168.0.11 a cualquier destino con origen en la nic con mac 00:19:e0:8d:d0:43
  1. nota: keep-state crea una regla dinamica temporal para permitir el trafico de retorno,

ipfw -q add allow log ip from 192.168.0.11 to any MAC any 00:19:e0:8d:d0:43 keep-state

  1. log -> indica que escriba en el log o bitacora los eventos coincidentes con la acl

Referencia