PF (ファイアウォール)とは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > 百科事典 > PF (ファイアウォール)の意味・解説 

PF (ファイアウォール)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2025/09/12 13:25 UTC 版)

PF
リポジトリ
サポート状況 サポート中です。
ライセンス BSDライセンス
公式サイト www.openbsd.org/faq/pf/index.html 
テンプレートを表示


PF (Packet Filter) とは、パケットフィルターである。元々は、OpenBSD用に開発されたが、現在ではその他のBSDの子孫Windowsでも使うことが出来る。

概要

PF は、Daniel HartmeierによってOpenBSD用に開発された、ステートフルなパケットフィルターである。

PFが作成されたのは、Darren Reedが作ったIPFilterにあるライセンス上の問題を回避するためである。このライセンス上の問題とは、Darren Reed以外の人間にIPFilterのソースコード改変を許さないというものである。IPFilterの代替品が早急に必要だったため、PFは短期間で開発された。

IPFilterが削除されたとき、テオ・デ・ラートは「OpenBSDが使ったり配布したりするソフトウェアはあらゆることに対して自由でなくてはならない。...そして、それはどんな目的に対してでも自由であるべきだ...その目的が改変、利用、漏洩、子供の根囲いをする機械やオーストラリアに落とされる核爆弾に対する実装であったとしても」と語った。このことからもわかるように、OpenBSD開発者チームはこの手の問題に対して無駄な交渉を続けていくよりも、ソフトウェアを置き換えることを選ぶ。

現在、PFはOpenBSDだけでなく、NetBSDFreeBSDDragonFly BSDでも利用することが出来る。ApplemacOS(10.6 Snow Leopard以降)・iOSiPadOSにも採用されている。また、WindowsでもCore forceという名前でOpenBSDの実装を使うことが出来る。

PFは、他のファイアウォールに無い利点を持つ。PFを使ってネットワークアドレス変換 (NAT) やQuality of Service (QoS) 制御を行うことが出来る。なお、QoS制御はキューイング機構であるALTQで実装されており、PFの設定で指定することで利用できるようになる。

また、PFではpfsyncやCARPというフェイルオーバーや冗長化のための機構や、authpfというセッション認証の機構、ftp-proxyというファイアウォールで扱いにくいプロトコルであるFTPを扱うための機構を使うことが出来る。

PF用の設定ファイル (pf.conf) の文法は、わかりやすい書き方に少し改変したところをのぞき、IPFilterの設定ファイルの文法によく似ている。

PFのログ出力は他のパケットフィルターと全く違っている。 ログ出力のルールはpf.confにて決めることが出来、pflogという仮想ネットワークインターフェイスから得ることが出来る。 ログはtcpdumpのような一般的なユーティリティで調査することが出来る。 なお、OpenBSDはこの目的のためにtcpdumpを拡張している。 また、pflogdというデーモンを使って改変したtcpdump/pcap形式でログを保存することも出来る。

pf.conf ファイルの記述例

## マクロ

# 内向けインタフェース (ローカルネットワークに接続).
int_if="xl0"

## Options

# blockした通信にデフォルトでRSTを返すかICMPを返すかを設定
set block-policy return

# ループバックインタフェースについては完全に無視する
set skip on lo0

## アドレス変換規則

# ローカルネットワークからデフォルトルートとして指定されているインタフェースである
# egressインタフェースを通るところでNATを行う。
nat on egress from $int_if:network to any -> (egress)

## フィルタリングルール

# すべてのパケットを遮断(block)し、ログに残す
block log all

# ローカルネットワークからのすべてのパケットを許可する。quickを使うと後で
# これにマッチするルールがあったとしても無視される。ローカルの通信をさらに厳しく
# 評価するようなルールもあるかもしれない。
pass quick on $int_if all

# 外に出て行くすべてのトラフィックを許可する。そして、それらのパケットへの返事が自動的に
# 許可されるように、状態を記憶する。そうしないと、外部向けの(egress)インタフェースから
# 出て行く通信や入ってくる通信に対して多くのルールをここに記述することになる。
pass out keep state

関連項目

外部リンク



このページでは「ウィキペディア」からPF (ファイアウォール)を検索した結果を表示しています。
Weblioに収録されているすべての辞書からPF (ファイアウォール)を検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からPF (ファイアウォール) を検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「PF (ファイアウォール)」の関連用語

PF (ファイアウォール)のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



PF (ファイアウォール)のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのPF (ファイアウォール) (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2025 GRAS Group, Inc.RSS