Wie würde ich anfangen, meine eigene Firewall zu schreiben?

8

Es gibt vorher wenig auf Google zu diesem Thema anders als Leute, die genau diese Frage stellen.

Wie würde ich anfangen, meine eigene Firewall zu schreiben?

Ich möchte einen für die Windows-Plattform schreiben, aber ich würde mich auch für andere Betriebssysteme für diese Informationen interessieren.

    
HoboBen 20.08.2008, 17:25
quelle

3 Antworten

8

Für Windows 2000 / XP gibt es einen Artikel mit Beispielen zu CodeProject Entwicklung von Firewalls für Windows 2000 / XP Windows Filtering Platform     

Michał Piaskowski 20.08.2008, 17:30
quelle
6

Diese Frage ist alarmierend ähnlich denen, die sich fragen, wie man einen Verschlüsselungsalgorithmus schreibt. Die Antworten auf beide sollten in sanften Erinnerungen an Industriestandardlösungen enden, die bereits:

  • verkörpern jahrelange Erfahrung und ständige Verbesserung,
  • sind wahrscheinlich weit sicherer als jede selbst entwickelte Lösung und
  • berücksichtigen Nebenanforderungen wie Effizienz.

Eine Firewall muss jedes -Paket effizient und genau prüfen und läuft daher im Betriebssystemkernel oder Netzwerkstacks. Fehler oder Ineffizienzen gefährden die Sicherheit und Leistung der gesamten Maschine und der nachgeschalteten Maschine.

Der Aufbau einer eigenen Firewall auf niedriger Ebene ist eine hervorragende Übung, die eine Ausbildung in vielen Technologien ermöglicht. Aber für jede reale Anwendung ist es viel sicherer und intelligenter, eine Shell um die vorhandene Firewall-API herum zu erstellen. Unter Windows wird der Befehl netsh dies tun; Linux verwendet netfilter und iptables . Das Googlen eines dieser Punkte wird Sie auf viele Theorien, Beispiele und andere hilfreiche Informationen hinweisen.

Um also loszulegen, würde ich TCP / IP (insbesondere die Header-Informationen: Ports und Protokolle) auffrischen und dann über die verschiedenen Arten von Angriffen und deren Erkennung lernen . Erfahren Sie mehr über jedes Betriebssystem, das von Interesse ist, und wie es mit den Netzwerkstapeln interagiert. Denken Sie schließlich über Administration und Protokollierung nach: Wie werden Sie Ihre Firewall konfigurieren und die Pakete verfolgen, um sicherzustellen, dass sie genau das tun, was Sie tun möchten?

Viel Glück!

    
Adam Liss 23.11.2008 05:02
quelle
2

Der übliche Ansatz besteht darin, API-Hooking zu verwenden. Google kann dir das beibringen. Hängen Sie einfach alle wichtigen Netzwerkfunktionen wie connect s und listens an und verweigern Sie, was Sie wollen.

    
wvdschel 20.08.2008 17:30
quelle

Tags und Links