¿Cómo comenzaría a escribir mi propio firewall?


8

Hay poco más en google sobre este tema que personas que hacen esta misma pregunta.

¿Cómo comenzaría a escribir mi propio firewall?

Estoy buscando escribir uno para la plataforma de Windows pero también me interesaría esta información para otros sistemas operativos.

8

Para Windows 2000/XP, hay un artículo con ejemplos de CodeProject Developing Firewalls for Windows 2000/XP

para Vista creo que tendrá que utilizar Windows Filtering Platform


2

El enfoque habitual es utilizar API de enganche. Google puede enseñarte eso. Solo enganche todas las cosas importantes de la red, como connect y listens, y rechace lo que quiera.

  0

El enganche API puede ser útil para el denominado "firewall de aplicaciones", pero para un firewall de red, debe estar trabajando en el nivel de la pila del controlador de red. 21 nov. 082008-11-21 23:48:06


6

Esta pregunta es alarmantemente similar a las que se preguntan cómo escribir un algoritmo de cifrado. Las respuestas a ambas deben terminar en suaves recordatorios acerca de las soluciones estándar de la industria que ya:

  • encarnan años de experiencia y la mejora constante,
  • son probablemente mucho más seguro que cualquier solución de cosecha, y
  • cuenta para requisitos auxiliares, como la eficiencia.

Un servidor de seguridad debe inspeccionar cada paquete eficiente y precisa, y por lo tanto se ejecuta dentro del núcleo del sistema operativo de red o pilas. Los errores o las ineficiencias ponen en peligro la seguridad y el rendimiento de toda la máquina y de las fases posteriores.

Construir su propio firewall de bajo nivel es un excelente ejercicio que brindará educación a través de muchas tecnologías. Pero para cualquier aplicación real, es mucho más seguro e inteligente construir un shell alrededor de la API de firewall existente. En Windows, el comando netsh hará esto; Linux usa netfilter y iptables. Buscar en Google cualquiera de estos le indicará mucha teoría, ejemplos y otra información útil.

Para comenzar, Me gustaría actualizar TCP/IP (específicamente, la información del encabezado: puertos y protocolos), luego aprender sobre los diversos tipos de ataques y cómo detectarlos. Aprenda sobre cada sistema operativo de interés y cómo interactúa con las pilas de la red. Finalmente, piense en la administración y el registro: ¿cómo configurará su firewall y rastreará los paquetes a través de él para asegurarse de que está haciendo lo que usted quiere que haga?

¡Buena suerte!