Pakettisuodatin
Pakettisuodatin
Pakettisuodatin (tai PF ) on palomuuriohjelmisto ja OpenBSD: n virallinen , alun perin kirjoittanut Daniel Hartmeier . Se on ilmainen avoimen lähdekoodin ohjelmisto.
Se korvaa ipfilter of Darren Reed sitten version 3.0 OpenBSD, koska lupa-asioita, vaan myös kieltäydytään järjestelmällisesti Reed Incorporate muuttuu koodin OpenBSD kehittäjät.
Se siirrettiin DragonFly BSD 1.2: een ja NetBSD 3.0: een; se tulee vakiona FreeBSD: ssä (versio 5.3 ja uudemmat).
Koska OS X v10.7 Lion se on oletuksena palomuuri Apple Macintosheissa .
Core FORCE -yhteisö on myös tehnyt vapaan PF- portin Windows 2000- ja XP- käyttöjärjestelmille . Tämä portti on kuitenkin vain henkilökohtainen palomuuri: se ei toteuta PF: n toimintoja, jotka mahdollistavat NAT: n tekemisen tai ALTQ: n käytön.
Kaistanleveyden hallinta
Kuten OpenBSD 3,0 , ALTQ Vaihtoehtoinen on jonotus osa peruskokoonpanon.
Koska OpenBSD 3,3 , ALTQ on integroitu PF .
ALTQ täytäntöönpano on OpenBSD tukee luokan jonoon (CBQ) ja Priority jonoon (PRIQ) algoritmeja sekä Random Early Detection (RED) ja nimenomainen ruuhkat ilmoitus (ECN).
ALTQ : n integrointi PF: ään mahdollistaa muun muassa määrittää liikenteen prioriteetin suodattimessa, joka sallii sen.
Katso: PF: Kaistanleveyden hallinta
Tämä mahdollistaa esimerkiksi:
- tee HTTP: stä prioriteetti SMTP: lle, jos haluat asettaa Internetissä surffaamisen etusijalle, kun lähetät sähköpostia
- asettaa etusijalle pienet kuittauspaketit muihin paketteihin nähden, mikä on hyvin käytännöllistä epäsymmetrisen Internet-yhteyden ( ADSL jne.) kannalta;
- varaa vähimmäiskaistanleveydet reaaliaikaisille sovelluksille, kuten VoIP .
Erityispiirteet
- Kokoonpanon lataus on atomisia: jos asetustiedostosta löytyy syntaksi- tai johdonmukaisuusvirhe sääntöjä luettaessa, palomuuria ei muuteta;
- Kiitos kaistanleveyden hallinta ja ALTQ integraatio , Pakettisuodattimen tarjoaa joustavan hallinnan verkon virrat ja suorituskyky;
- Turvallisuussyistä PF ei tee mitään palveluntarkastuksia (kuten FTP , RPC ) ytimessä . Todellakin, huoltotarkastus on monimutkainen, mikä tahansa vika voi sallia koneen haltuunoton. Huoltotarkastuksen suorittamiseksi sinun on asennettava välityspalvelin, joka toimii käyttäjäalueella ;
- Kehittäjät ovat pyrkineet tekemään syntaksista luettavan, joustavan ja selkeän (kokoonpanovirheet muodostavat suuren vaaran palomuurin turvallisuudelle ).
- Yhdistämällä pfsyncin ja CARP : n PF voi käyttää redundanssia korkean saatavuuden varmistamiseksi ;
- Se, että PF (kuten IPF ) ei tee palvelutarkastusta, mutta pakottaa välityspalvelimen käytön, on ärsyttävää, kun välityspalvelin puuttuu protokollasta. Esimerkiksi RPC- pohjaisille protokollille eikä Universal Plug and Play ( UPnP ) -protokollalle ei ole välityspalvelinta ;
- Kuten useimmat avoimen lähdekoodin palomuurit , PF ei tue IPseciä , välityspalvelimia , IDS: itä , todennuspalvelimia tai muita tekniikoita, joita kaupallisten palomuurien on käytetty hallintaan. Tätä varten sinun on käytettävä muita erikseen määritettyjä BSD-moduuleja;
- IDS ja virustorjuntaohjelma suunniteltu integroinnin palomuuri harvoin tukevat PF (ja yleisemmin palomuuri järjestelmät BSD );
Komennot ja parametrit
Joitakin esimerkkejä pfctl: n, komentorivin palomuurin hallintatyökalun käytöstä, joka käyttää PF : tä:
Tilattu
|
Toiminta
|
---|
pfctl -e
|
Aktiivinen pakettisuodatin.
|
pfctl -d
|
Poistaa pakettisuodattimen käytöstä.
|
pfctl -f <tiedosto>
|
Lataa tiedoston kuvaamat säännöt PF: hen . Jos tiedostosta löytyy vain yksi syntaksivirhe, mitään ei muuteta.
|
pfctl -s nat
|
Näyttää aktivoidut NAT- säännöt .
|
pfctl -säännöt
|
Näyttää aktivoidut suodatinsäännöt.
|
Esimerkki kokoonpanosta
Perustiedot syntaksista:
- makrojen arvot korvataan automaattisesti kokoonpanon arvioinnin aikana;
- syntaksin $ käyttöliittymä: verkko korvataan automaattisesti $ käyttöliittymään liitetyllä verkko-osoitteella;
- avainsana "poistuminen" korvataan automaattisesti sen käyttöliittymän nimellä, johon oletusreitti on liitetty, ja "(poistuminen)" sen IP-osoitteella. Nämä arvot päivitetään dynaamisesti muutoksen tapahtuessa.
# Macros
int_if="rl0"
ports_ouverts_pour_tous="{ http https }"
ports_ouverts_pour_lequipe="{ ssh 21 60000:60100 }"
# Tables
table <ip_de_lequipe> { XXX.XXX.XXX.XXX, XXX.XXX.XXX.XXX, XXX.XXX.XXX.XXX }
# Normalisation du trafic
scrub in no-df
# NAT
nat on egress -> (egress)
# Règles de filtrage
block in
pass out keep state
pass in on egress proto tcp from <ip_de_lequipe> to port $ports_ouverts_pour_lequipe
pass in on egress proto tcp to port $ports_ouverts_pour_tous
block in quick on $int_if proto tcp from $int_if:network to port 4662
pass quick on !egress
Katso myös
Muut ilmaiset palomuurit
Ulkoiset linkit