ipfw | |
---|---|
Tipo de | cortafuegos |
Desarrollador | Equipo de voluntarios de FreeBSD |
Sistema operativo | FreeBSD , DragonFlyBSD , Mac OS X |
Licencia | BSD |
Sitio web | librebsd.org |
ipfirewall es un firewall que viene con FreeBSD desde la versión 2.0. Con él, puede, por ejemplo, contar el tráfico de acuerdo con reglas razonables basadas en datos de los encabezados de paquetes de los protocolos de pila TCP/IP , procesar paquetes con programas externos, ocultar una red completa detrás de una computadora, etc. [1]
Utilizado por muchos sistemas operativos integrados basados en FreeBSD , como m0n0wall .
Existe una versión portada : Wipfw para Windows 2000 , Windows XP y Windows Server 2003 .
ipfw es el nombre de una utilidad de usuario (iniciada desde la línea de comandos) diseñada para administrar el sistema IPFW. Los administradores lo utilizan para crear y modificar reglas que controlan el filtrado y el reenvío de paquetes .
ipfw puede cargarse como un módulo o integrarse en el kernel.
IPfirewall consta de los siguientes componentes:
La utilidad ipfw apareció por primera vez en FreeBSD 2.0. La compatibilidad con dummynet se agregó más tarde, a partir de la versión 2.2.8. Se agregó soporte para desviar socket junto con natd desde la versión 3.x (especificar). Se agregó soporte NAT a nivel de kernel desde la versión 7.0.
El soporte Kernel NAT fue escrito por Paolo Pisati y apareció por primera vez en FreeBSD 4.0. Anteriormente, la traducción de NAT la realizaba el demonio natd, al que se pasaban los paquetes mediante la acción de desvío.
El firewall configurado está representado por una lista ordenada de reglas con números en el rango 1-65535. Cada paquete proviene de diferentes niveles de la pila de protocolos y, cuando llega al firewall, se compara a su vez con los criterios de cada regla de la lista. Si se encuentra una coincidencia, se realiza la acción asignada a esta regla.
ipfw siempre contiene una regla predeterminada (numerada 65535) que no se puede cambiar ni eliminar. Esta regla es terminal, es decir, se aplica a paquetes que no caen en todas las anteriores. Dependiendo de la configuración del kernel, esta regla puede realizar las acciones "denegar" o "permitir" (por defecto es denegar ip de cualquiera a cualquiera, para cambiar esto, debe agregar opciones IPFIREWALL_DEFAULT_TO_ACCEPT al kernel). El administrador del sistema puede editar todas las demás reglas.
Hay varias acciones básicas que se pueden aplicar a los paquetes:
Al instalar un sistema FreeBSD por medios estándar, ipfw no está habilitado de forma predeterminada. El soporte se puede realizar incluyendo el código ipfw en el kernel (agregando opciones y recompilando el kernel y luego reiniciando el sistema) o (en cualquier momento después de que se inicie el sistema) conectando módulos del mismo nombre (disponible en la última versión). versiones del sistema). El uso de la CPU es menor cuando se incluye ipfw en el kernel; sin embargo, esto solo se nota con una gran cantidad de paquetes y reglas procesados.
Si desea utilizar IPFW, debe reconstruir el núcleo con la opción:
opcionesIPFIREWALLDe forma predeterminada, IPFW tiene una regla incorporada no eliminable "todo está prohibido para todos", que tiene el número más alto y, por lo tanto, se procesará después de todas las reglas ingresadas por el administrador del sistema. Con algunas acciones erróneas del administrador, el sistema puede cerrarse desde cualquier acceso a través de la red, y el administrador necesitará acceso a la consola; para reemplazar esta regla con "todos están permitidos", debe agregar la opción
opciones IPFIREWALL_DEFAULT_TO_ACCEPTSi desea utilizar NAT (a través del demonio natd), debe agregar la opción:
opciones IPDIVERTSi desea utilizar NAT a nivel de kernel, debe agregar opciones:
opciones LIBALIAS opciones IPFIREWALL_NATSi desea usar tubería/cola, debe agregar la opción:
opciones DUMMYNETLa habilitación de ipfw a través de la carga de módulos del kernel se realiza mediante comandos (superusuario)
kldload ipfw kldload ipdivert kldload dummynetrespectivamente.
Formato general para reglas de construcción:
ipfw [ probabilidad de coincidencia_probabilidad ] acción [ número de registro de registro ] proto de src a dst [ opciones ] ipfw agregar 00001 permitir icmp de cualquier a cualquier permitir (permitir) cualquier tráfico a través del protocolo ICMP (icmp) en cualquier dirección (cualquiera a cualquiera) por la primera regla (00001) ipfw agregar negar todo desde 192.168.0.0/24, 10.0.0.0/8 a 192.168.1.0/24 Denegar (deny) cualquier tráfico sobre cualquier protocolo (todo) en la dirección de 192.168.0.0-192.168.0.255 o de 10.0.0.0-10.255.255.255 a la subred 192.168.1.0/24 (192.168.1.0-192.168.1.255). El número de regla en este caso se toma del último +100 utilizado, excepto la última regla por defecto (No. 65535); ipfw agregar negar todo desde 192.168.0.1 para mí Niega todo el tráfico desde la dirección 192.168.0.1 a todas las interfaces de red del dispositivo que ejecuta el ipfw configurado; ipfw agregar permitir todo desde la tabla (1) a cualquier Permite todo el tráfico desde las direcciones en la tabla #1 a cualquier dirección; ipfw agregar permitir todo desde la tabla (1) a cualquier salida Permite todas las llamadas salientes (out)tráfico desde direcciones en la tabla No. 1 a cualquier dirección;
ipfw agregar permitir todo desde la tabla (1) a cualquier salida a través de em0 Permite todo el tráfico saliente (out) desde las direcciones en la tabla #1 a cualquier dirección a través de la interfaz em0; ipfw agregue skipto 1700 ip de la tabla (8) a cualquier Comienza a verificar la solicitud de conformidad con la regla 1701 (es decir, todas las reglas a partir de esta y hasta la 1700 se ignoran al verificar este paquete) para las direcciones IP de la tabla 8; ipfw add set 31 prob 0.95 allow tcp from me to any out dst-port 80 Permite todo el tráfico saliente (fuera) de este dispositivo a cualquier dirección en el puerto 80 tcp (dst-port 80, tcp) con una probabilidad del 95% (prob 0,95). La regla se agrega al conjunto de reglas especial #31, consulte a continuación (ipfw flush); ipfw tabla 1 agregar 192.168.1.2 ipfw tabla 1 agregar 192.168.1.128/25 Agregue a la tabla 1 la dirección 192.168.1.2 (máscara /32 - por defecto) y subred 192.168.1.128/25, respectivamente lista de la tabla 1 de ipfw Mostrar el contenido de la tabla 1; eliminar ipfw 00001 elimine la regla No. 1 creada anteriormente. La descripción es opcional: si hay más de una regla debajo de este número, se eliminan todas. descarga de ipfw elimine todas las reglas que no están incluidas en el conjunto No. 31, la regla No. 65535 está incluida en él por defecto;cortafuegos | ||
---|---|---|
Libre | ||
Libre |
| |
Comercial |
| |
Hardware |