[BSD] Verschillen tussen IPF en PF

Pagina: 1
Acties:

  • xychix
  • Registratie: September 2000
  • Laatst online: 03-12-2025

xychix

FreeBSD Rules !

Topicstarter
ik begin me steeds meer af te vragen wat de verschillen zijn tussen PF en IPF.

pass in quick on fxp0 proto tcp from any to any port = 80

deze regel zal in beide Firewalls draaien, oftewel de syntax is gelijk. Wat is het verschil dan nog ?
Ik wil een firewall gaan gebruiken in een Bridge opstelling van 2 NIC's

Every failure offers you a new opportunity! | Lokatie database|GoT - Notepad


  • miniBSD
  • Registratie: Augustus 2002
  • Laatst online: 20-12-2023
De regel die je opgeeft zal sowieso niet werken, dat zal in PF moeten worden 'pass in quick on fxp0 proto tcp from any to any port 80'.

Verder kun je met PF het volgende declareren 'pass in quick on fxp0 proto tcp from any to fxp0 port 80 keep state' wat dus inhoud dat de adres van netwerkkaart wordt overgenomen, zowel ipv4 als ipv6.

Bovendien kun je combineren bijvoorbeeld 'pass out on fxp0 proto { tcp, udp, icmp } from fxp0 to any keep state' waarmee je feitelijk een regel voor het uitgaande tcp verkeer, een voor het uitgaande udp verkeer en een voor het uitgaande icmp verkeer hebt gemaakt.

Het belangrijkste vind ik dat PF beter presteert en echt statefull is, ook voor icmp en tcp.

Quidquid latine dictum sit, altum sonatur (Whatever is said in Latin sounds profound).


  • xychix
  • Registratie: September 2000
  • Laatst online: 03-12-2025

xychix

FreeBSD Rules !

Topicstarter
Ook IPF kan Keep Staten.
dat groeperen weet ik niet.. kon dan ook niet in ipf.. geen idee maar dat vind ik ifdd sterk aan PF !!

en IPFW dan.. kan die ook PF syntax lezen ??

ik wil een bridging firewall op flop... maar picoBSD kan alleen IPFW ....

Every failure offers you a new opportunity! | Lokatie database|GoT - Notepad


Verwijderd

Je haalt 2 dingen door mekaar. Een bridge en een packetfilter. Zowel FreeBSD als picobsd ondersteunen bridging out-of-the-box. Voer het commando "picobsd bridge" maar eens uit.

  • miniBSD
  • Registratie: Augustus 2002
  • Laatst online: 20-12-2023
Je moet het zo zien: PF is de opvolger van IPF in OpenBSD en alleen beschikbaar in OpenBSD (> 3.0) hoewel er al wel aan een port gewerkt schijnt te worden naar FreeBSD.

IPFILTER is idd statefull maar PF is daar veel beter in. IPFW is ook statefull mbt tcp.
De syntax IPFW is anders, maar zeker niet moeilijk. Om de regels te vertalen zul je even moeten kijken naar wat voorbeelden maar dat zal wel lukken daar ben ik van overtuigd.

Kijk anders eens naar deze link mbt het bridgen

http://www1.us.daemonnews.org/200211/ipfilter-bridge.html

en (even uit mijn hoofd)
pass in quick on xl1 proto tcp from any to any keep state
moet worden
ipfw add allow tcp from any to any keep-state

Quidquid latine dictum sit, altum sonatur (Whatever is said in Latin sounds profound).


  • 2P
  • Registratie: November 2001
  • Laatst online: 18-04 09:08

2P

:wq

De verschillen tussen PF en IPF zijn o.a. deze:

PF is OpenBSD-only en IPF draait onder verschillende OS'en zoals *BSD (ja, ook OpenBSD!!), Solaris en HP-UX.

IPF heeft meer configuratie opties dan PF en heeft ook meer proxies voor vervelende protocollen (ftp, h.232, real-audio en ipsec), deze zijn voor een bridge alleen niet zo interressant.

De syntax is vrijwel hetzelfde alleen kan je bij PF (in pf.conf) variabelen opgeven en accolades gebruiken om de syntax korter en eenvoudiger te maken.

IPF bestaat al sinds 1996 en heeft zich bewezen om een stabiele firewall te zijn, terwijl PF nog een nieuwkomertje is (+/- een jaar oud) en zeker nog een aantal (vervelende) bugs zal bevatten (zoals bv. de bridging bug in < 3.1).
miniBSD schreef op 07 november 2002 @ 09:31:
Het belangrijkste vind ik dat PF beter presteert
PF is idd iets sneller dan IPF, maar het is bijna te verwaarlozen als je weinig rules hebt.
en echt statefull is, ook voor icmp en tcp.
:?
IPF is ook statefull hoor voor udp, icmp, tcp, etc...
Ik las laatst dat iptables niet echt statefull is, dus waarschijnlijk verwar jij je daar mee :)

[ Voor 0% gewijzigd door 2P op 07-11-2002 10:24 . Reden: typo ]


  • xychix
  • Registratie: September 2000
  • Laatst online: 03-12-2025

xychix

FreeBSD Rules !

Topicstarter
Laten we IPFW dan ook menemen
PF lijkt veel op IPF....
maar IPFW ? ik wil nl niet alleen met de hand regels aanmaken maar ook een console based tool schrijven om een gebruiker regels toe te laten voegen.
bv. als hij een webserver bij prikt in zijn interne netwerk

deze tools lijken niet te bestaan, allemaal netwerk of grafisch gebaseerd. ik wil gewoon een klein console tool dat logon kan vervangen zodat een bep user alleen nog maar PF / IPF (of misschien picoBSD IPFW) -rules kan editten.

Every failure offers you a new opportunity! | Lokatie database|GoT - Notepad


  • miniBSD
  • Registratie: Augustus 2002
  • Laatst online: 20-12-2023
Ik verwar niets. Zie mijn vorige posting: IPF is idd statefull.
IPFW is niet statefull wat betreft udp en icmp

Ik vond trouwns nog een link over bridging en ipfw:
http://www.cs.unc.edu/~jeffay/dirt/FAQ/dummynet.backup.html

Quidquid latine dictum sit, altum sonatur (Whatever is said in Latin sounds profound).


Verwijderd

zo moeilijk is dat toch niet om te schrijven? Heb zelf na een weekendje perl coden ooit eens een cli based fw management tool gemaakt. Ben er nu een aan het maken in python (code voor de perl fw wil ik wel posten, maar die van python moet eerst af :P)

<edit>
Zonder support en zonder docs, hier de code voor fwadm-0.3 (niet echt een originele naam, maar het werkt). Extracten in /opt, daarna cd /opt/fwadm/bin ; ./fwadm

Let wel, deze software doet gebruik maken van externe software, zoals wondershaper en portsentry, en is tot nu toe gebruikt door 2 hosts, waar het (semi) probleemloos draait.

sources zijn hier

<edit2>
okok, dit is voor iptables, maar je get the idea :P De python variant wordt wel cross platform
</edit2>
</edit>

  • xychix
  • Registratie: September 2000
  • Laatst online: 03-12-2025

xychix

FreeBSD Rules !

Topicstarter
Verwijderd schreef op 07 November 2002 @ 10:38:
zo moeilijk is dat toch niet om te schrijven? Heb zelf na een weekendje perl coden ooit eens een cli based fw management tool gemaakt. Ben er nu een aan het maken in python (code voor de perl fw wil ik wel posten, maar die van python moet eerst af :P)

<edit>
Zonder support en zonder docs, hier de code voor fwadm-0.3 (niet echt een originele naam, maar het werkt). Extracten in /opt, daarna cd /opt/fwadm/bin ; ./fwadm

Let wel, deze software doet gebruik maken van externe software, zoals wondershaper en portsentry, en is tot nu toe gebruikt door 2 hosts, waar het (semi) probleemloos draait.

sources zijn hier

<edit2>
okok, dit is voor iptables, maar je get the idea :P De python variant wordt wel cross platform
</edit2>
</edit>
ik wil een C proggie schrijven dat ook nog eens static linked is..

ik weet nog niet precies hoe...

ik denk aan de volgende procdures.

---
show all rules and give them line numbers.

press 1 to add a rule press 2 to delete one press 3 to move one:

--move:
give from nr:
give to nr:

--add
give from ip:[any]
give from port:[any]
give to ip:[any]
give from port:[any]
give proto:
... and so on....
give nr to add line:[end]

--delete:
give line to delete:
sure?

Every failure offers you a new opportunity! | Lokatie database|GoT - Notepad


Verwijderd

'tsja, hoe je de gui wilt gaan maken moet je zelf weten, maar hoe ga jij dan gui commands omzetten naar een firewall ruleset? En hoe ga jij op met je ruleset? Ga jij een custom formaat schrijven, of meer een wrapper om je packetfilter heen? (/me vind dit best intri, aangezien die ook al een tijdje hiermee bezig is :P )

Verwijderd

miniBSD schreef op 07 november 2002 @ 10:21:

IPFILTER is idd statefull maar PF is daar veel beter in.
Hoe kom je hierbij?! volgens mij is de codebase van BEIDE gebaseerd op werk van juido van rooij .. .

  • xychix
  • Registratie: September 2000
  • Laatst online: 03-12-2025

xychix

FreeBSD Rules !

Topicstarter
Verwijderd schreef op 07 november 2002 @ 11:49:
'tsja, hoe je de gui wilt gaan maken moet je zelf weten, maar hoe ga jij dan gui commands omzetten naar een firewall ruleset? En hoe ga jij op met je ruleset? Ga jij een custom formaat schrijven, of meer een wrapper om je packetfilter heen? (* xychix vind dit best intri, aangezien die ook al een tijdje hiermee bezig is :P )
Ik bouw een soort line editor...

aan de hand van vragen aan de gebruiker kun je een rule opbouwen en deze toevoegen..

een regel weggooien gaat ook nog wel.
aanpassen doen we niet, betekend weggooien en opnieuw aanmaken.
alleen een regel op de 5e positie (of een willekeurige andere positie) invoegen word lastiger.

het word dus een soort wrapper/editor om pf.rules te editten...

Every failure offers you a new opportunity! | Lokatie database|GoT - Notepad


  • miniBSD
  • Registratie: Augustus 2002
  • Laatst online: 20-12-2023
Verwijderd schreef op 07 november 2002 @ 13:56:[...]
Hoe kom je hierbij?! volgens mij is de codebase van BEIDE gebaseerd op werk van juido van rooij .. .
Gebaseerd op het werk van Guido van Rooij: ja, evenals netfilter dat is .
Wellicht zit het grootste verschil in de combinatie met de normalisatie van de packets en de optimalisatie in de code van PF.

Quidquid latine dictum sit, altum sonatur (Whatever is said in Latin sounds profound).


Verwijderd

Zoals jij het verwoord bespreek je het met een mooie, roze pro-IPF brillie. Waardoor is PF ontstaan? Omdat het OpenBSD team geen aanpassingen mocht maken in IPF vanwege de te stricte licentie. Aangezien OpenBSD vrij wil zijn van dat soort politieke license nonsens hebben ze besloten een eigen PF te bouwen.

Tja. SysV bestaat ook al jaren. Daarom installeer ik maar geen MacOSX want dat is net nieuw. Lijkt me vrij onzinnig om hier IPF om die rede credits te geven. Je kunt PF ook zo updaten. PF doet echt niet onder aan IPF en het is geen reden om OpenBSD niet te gebruiken.
2P schreef op 07 november 2002 @ 10:22:

IPF heeft meer configuratie opties dan PF en heeft ook meer proxies voor vervelende protocollen (ftp, h.232, real-audio en ipsec), deze zijn voor een bridge alleen niet zo interressant.
Dat kan met OpenBSD ook gewoon. Daarnaast kun je IPF op OpenBSD erbij installeren. Die keus heb je op andere OSen niet.

Persoonlijk vind ik de syntax in PF stukken simpeler dan IPF. Daarnaast PF bevat zaken als authpf, antispoof, session limit, keepstate tcp, rpfd, vim syntax highlighting, mrtg/rrd support dus wat jij zegt dat IPF meer mogelijkheden heeft geloof ik geen zak van. Je levert er ook geen bewijzen voor...
PF is idd iets sneller dan IPF, maar het is bijna te verwaarlozen als je weinig rules hebt.
Zit nogal verschil in anders: bron. Backup. IPF doet wat dat betreft behoorlijk onder aan zowel IPtables als PF.

  • xoror
  • Registratie: November 1999
  • Niet online
Kan PF eindelijk al transparant ftp proxy ??

IPFilter kan dat wel en is erg handig. PF (laatste keer dat ik erna keek) kon het niet.

Mitsubishi Warmtepomp uitlezen/besturen met een ESP32


  • miniBSD
  • Registratie: Augustus 2002
  • Laatst online: 20-12-2023

Quidquid latine dictum sit, altum sonatur (Whatever is said in Latin sounds profound).


  • xoror
  • Registratie: November 1999
  • Niet online
dat is normale ftp proxy.
bij ipfilter is het transparant.

Mitsubishi Warmtepomp uitlezen/besturen met een ESP32


Verwijderd

xoror schreef op 07 november 2002 @ 16:44:
Kan PF eindelijk al transparant ftp proxy ??

IPFilter kan dat wel en is erg handig. PF (laatste keer dat ik erna keek) kon het niet.
Nope kan-ie niet afaik. Wel zoals miniBSD al aangaf met ftp-proxy. Dat werkt ook goed; ik merk het verschil niet.

  • xoror
  • Registratie: November 1999
  • Niet online
Verwijderd schreef op 07 november 2002 @ 18:49:
[...]


Nope kan-ie niet afaik. Wel zoals miniBSD al aangaf met ftp-proxy. Dat werkt ook goed; ik merk het verschil niet.
je moet op de client de proxy server instellen. dat hoeft met transparant proxy niet.

Mitsubishi Warmtepomp uitlezen/besturen met een ESP32


Verwijderd

xoror schreef op 07 november 2002 @ 18:51:
[...]


je moet op de client de proxy server instellen. dat hoeft met transparant proxy niet.
Oh op die manier. Nou dan werkt het met OpenBSD ook transparant alleen met een 3rd party prog. Ik kan gewoon FTPen op active en passive mode achter NAT. Niks proxy nodig om in te stellen.

Verwijderd

miniBSD schreef op 07 november 2002 @ 15:01:
[...]

Gebaseerd op het werk van Guido van Rooij: ja, evenals netfilter dat is .
Wellicht zit het grootste verschil in de combinatie met de normalisatie van de packets en de optimalisatie in de code van PF.
Maar staat dat ergens dan? Ik zou het wel graag willen nalezen

  • miniBSD
  • Registratie: Augustus 2002
  • Laatst online: 20-12-2023
Test het anders zelf eens, met gelijke configuraties van PF en IPF en verschillende test opstellingen. N.B.: Op de site van PF staat aardig wat informatie:

http://www.benzedrine.cx/

Nog even dit: ik heb zonet FreeBSD 5 (snapshot 2002/11/04) getest en ipfw is daarin statefull op udp en icmp.

Quidquid latine dictum sit, altum sonatur (Whatever is said in Latin sounds profound).

Pagina: 1