ipfw
| ipfw
| |
|---|---|
| [[Datei:Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)|150px]] | |
| Datei:FreeBSD 10 vi RC Firewall.png | |
| Basisdaten
| |
| Hauptentwickler | FreeBSD Project |
| Entwickler | Luigi Rizzo |
| Erscheinungsjahr | Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value) |
| Aktuelle Version | 2 (2002) |
| Aktuelle Vorabversion | Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value) (Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)) |
| Betriebssystem | BSD |
| Programmiersprache | Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value) |
| Kategorie | Firewall |
| Lizenz | BSD-Lizenz |
| deutschsprachig | ja |
| www.freebsd.org | |
ipfw oder ipfirewall ist eine Internet-Protocol-Firewall des Betriebssystems FreeBSD.
Architektur
ipfw besteht aus 7 Komponenten:<ref>Vorlage:Cite book/Name: [Internetquelle: archiv-url ungültig IPFW.] In: FreeBSD Handbook. FreeBSD Foundation, , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 12. September 2011 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref>
- Paketfilter
- Logging
- Network Address Translation
- Traffic-Shaping
- Forwarding
- Bridge
- Stealth
Hinzu kommt eine Benutzerschnittstelle gleichen Namens, die Befehle entgegennimmt.<ref>Vorlage:Cite book/Name: [Internetquelle: archiv-url ungültig ipfw (4).] FreeBSD Foundation, , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 12. September 2011 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref>
Geschichte
ipfw wurde ursprünglich von Daniel Boulet für das Unternehmen Berkeley Software Design Incorporated programmiert. Für FreeBSD programmierte Ugen J. S. Antsilevich die Software neu.<ref>Vorlage:Cite book/Name: [Internetquelle: archiv-url ungültig ipfw (8).] FreeBSD Foundation, , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 12. September 2011 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref> FreeBSD 2.0 war die erste Version mit ipfw. Mit FreeBSD 2.2.8 wurde ipfw um die Komponente dummynet für Traffic-Shaping ergänzt, die Luigi Rizzo programmiert hatte.
Seit FreeBSD 4.0 unterstützt ipfw auch Stateful Packet Inspection.
2002 löste ipfw2 mit neu gestaltetem Kern die erste Generation ab.<ref>Vorlage:Cite book/Name: [Internetquelle: archiv-url ungültig ipfw (8).] FreeBSD Foundation, , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 12. September 2011 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref> In FreeBSD 4.7 war die zweite Generation erstmals enthalten und fasste auch die separaten Benutzerschnittstellen für IPv4 und IPv6 zusammen.
Die Implementierung von Network Address Translation erfolgte 2005.
Seit FreeBSD 6.2 kann ipfw je nach Bedarf beim Booten als Modul geladen werden und muss nur noch für Network Address Translation dauerhaft bei der Kompilierung des Kernels eingebunden werden.
Ipfw war Bestandteil von Mac OS X bis Version 10.9, ersetzt wurde es durch pf.
Anwendung
In Grundeinstellung unterbindet ipfw jeglichen Netzwerkkontakt. Die zentrale Konfiguration erfolgt in den Dateien /etc/rc.conf und /etc/rc.firewall. Dort kann ipfw aktiviert und eine grundlegende Konfiguration gewählt oder auf eine Datei mit selbst erstellten Regeln verwiesen werden. Alternativ kann auf ein Skript verwiesen werden, das alle Befehle der Benutzerschnittstelle enthalten kann und dadurch vielfältige Möglichkeiten eröffnet. So können auch Präprozessoren aufgerufen werden, um mittels Programmiersprachen wie C Regeln zu erzeugen.
Trotz der vielfältigen Möglichkeiten kann eine Befehlsfolge für eine komplette Konfiguration übersichtlich sein:
ipfw add allow tcp in 80 ipfw add allow from 192.0.2.0/24 to me ipfw add allow out ipfw add deny
Dieses Beispiel erlaubt eingehende Verbindungen auf dem Port 80 für das Hypertext Transfer Protocol, alle eingehenden Verbindungen aus einem bestimmten Bereich von IP-Adressen, sowie alle abgehenden Verbindungen, aber keine anderen Verbindungen.
Die Regeln werden bis zur ersten ohne unzutreffende Bedingung durchlaufen, worauf die betreffende Freigabe oder Ablehnung wirksam wird. Eine Konfiguration kann bis zu 65535 Regeln umfassen. Jede Regel erhält eine Nummer, die manuell oder automatisch gesetzt wird und als Sprungmarke dienen kann.
Portierung auf Linux
Der erste Paketfilter von Linux war eine Portierung von ipfw.<ref>Vorlage:Cite book/Name: [Internetquelle: archiv-url ungültig Die ursprüngliche IP-Firewall (2.0er Kernel).] In: Linux - Wegweiser für Netzwerker. O’Reilly Verlag, , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 12. September 2011 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)). Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref> Die ursprüngliche Benutzerschnittstelle wurde später durch ipfwadm ersetzt.<ref>Vorlage:Cite book/Name: [Internetquelle: archiv-url ungültig Ipfwadm – Functional overview.] X/OS Experts in Open Systems BV, , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 12. September 2011 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref> ipfw mit ipfwadm wurde anschließend durch ipchains abgelöst und letztlich durch netfilter mit iptables.
Portierung auf Windows
| wipfw
| |
|---|---|
| [[Datei:Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)|150px]] | |
| Basisdaten
| |
| Maintainer | Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value) |
| Entwickler | Ruslan Staritsin, Vladislav Goncharov |
| Erscheinungsjahr | Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value) |
| Aktuelle Version | 0.2.8 (12. Dezember 2006) |
| Aktuelle Vorabversion | 0.5.5b (16. August 2011) |
| Betriebssystem | Microsoft Windows NT |
| Programmiersprache | C |
| Kategorie | Firewall |
| Lizenz | BSD-Lizenz |
| deutschsprachig | ja |
| wipfw.sourceforge.net | |
wipfw ist eine Portierung von ipfw auf Microsoft Windows NT. Seit Ende 2006 unterstützt sie auch unmittelbar 64-Bit-Architekturen. Einstweilen ist allerdings nur die Unterstützung von Windows NT 5 gegeben und die Unterstützung von Windows NT 6.1 experimentell.<ref>Vorlage:Cite book/Name: [Internetquelle: archiv-url ungültig wipw in windows 2008 r2?] Geeknet, , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 12. September 2011 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref><ref>Vorlage:Cite book/Name: [Internetquelle: archiv-url ungültig new release.] Geeknet, , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 12. September 2011 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref> Traffic-Shaping und das Ändern von Datenpaketen ist in wipfw nicht implementiert.<ref>Vorlage:Cite book/Name: [Internetquelle: archiv-url ungültig Frequently Asked Questions.] Geeknet, , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 12. September 2011 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref>
Siehe auch
Einzelnachweise
<references />