یا پکت فیلتر که به صورت pf هم نوشته میشود، یک فایروال حالتمند است که تحت اجازهنامه BSD منتشر میشود. پیاف را میتوان با iptables، ipfw، ipfilter مقایسه کرد. پیاف توسط پروژه اپنبیاسدی توسعه داده میشود اما به سکوهای دیگری مانند فریبیاسدی، نتبیاسدی و ... هم پورت شده است. pf توسط دانیل هارتمیر نوشته شد. پیاف اولین بار در OpenBSD 3.0 معرفی شد. در اصل پیاف به عنوان جایگزینی برای ipfilter نوشته شد و بعد از آماده شدن پیاف، ipfilter از درخت CVS اپنبیاسدی حذف شد. دلیل انجام این کار این بود که توسعهدهندگان اپنبیاسدی با اجازهنامه ipfilter مشکل داشتند.
سینتکس pf شباهت بسیاری به ipfilter دارد. البته تغییراتی در آن ایجاد شده تا خواندن آن واضح تر شود.
ویژگی ها و قابلیت ها
در حقیقتPF فایروالی کامل و بسیار قدرتمند و امن است و دارای ویژگی های بسیاری است از جمله آن میتوان به پشتیبانی از ALTQ (صف بندی جایگزین) اشاره کرد که فراهم کننده کیفیت خدمات (QOS) می باشد.
این فایروال دارای ویژگی های کاربردی مهم دیگری از جمله PFSYNC (پروتکلی که وضعیت های فایروال را بین کامپیوترهایی که PF را اجرا میکنند همگام سازی میکند) و CARP (پروتکل آدرس اضافه مشترک) و NAT (برگردان نشانی شبکه) و SMP (چند پردازشی متقارن) است.
یکی از قابلیتهای مخصوص این فایروال authpf می باشد که برای احراز هویتها در نشستها بکار میرود و دیگری قابلیت ftp-proxy می باشد که برای ساده سازی ساخت فایروال در پروتکل دشوار FTP (پروتکل انتقال فایل) بکار میرود. قابلیت نوآورانه دیگر این فایروال سیستم logging (ثبت وقایع) ویژه و قدرتمند آن به نام pflog می باشد به نحوی که تنها راه برای بالا بردن داده ها از حالت سطح هسته به برنامه های سطح کاربر می باشد.
قابلیت ویژه دیگر این فایروال Stateful Tracking Options یا اختصاراً STO (گزینه های ردیابی باوضعیت:نوعی از قوانین فیلترینگ PF که میتوانند از طریق گزینه های گوناگون ترافیک حالت ورودی ها را بسازند تا درنهایت رفتار نتیجه حالت ورودی ها را تحت کنترل داشته باشند که بدین صورت میتواند سبب تامین امنیت شبکه شود مثلاً اگر فردی بخواهد بیش از ۱۵ صفحه را در کمتر از ۵ ثانیه بازکند از طریق این قوانین PF جلوی وی را میگیرد) است.
پورت ها
فایروال PF توسط تیم توسعه دهندگان و نویسندگان خود سیستم عامل openbsd نوشته شده است. این فایروال را میتوان بهترین آن برای سیستم عامل اوپنبیاسدی در نظر گرفت.همچنین این فایروال به عنوان دیوارآتشین اصلی در این سیستم عامل نصب شده و استفاده میشود.
این فایروال در سیستم عامل رایج freebsd (فریبیاسدی) از ورژن ۵.۳ و در سیستم عامل NetBsd (نتبیاسدی) از ورژن ۳.۰ پورت و بصورت پیش فرض نصب شده است ولی دیوار آتشین اصلی این دو محسوب نمیگردد. قابل ذکر است برای سیستم عامل freebsd فایروال IPFW (آیپیفایروال) و برای سیستم عامل NetBSD فایروال IPF (آیپیفیلتر) دیوار آتشین اصلی محسوب میگردد.
ضمناً فایروال PF برای سیستم عامل دراگونفلای بیاسدی از ورژن ۱.۲ و سیستم عامل های اواس ده اخیر شامل MAC OS X 10.7 (مشهور به LION) و OS X 10.8 (مشهور به MOUNTAIN LION) و OS X 10.9 (اواس ده ماوریکس) و OS X 10.10 (او اس ده یوسمیت) پورت شده است.
نمونه فایل پیکربندی
قوانینی که پیاف بر اساس آنها بستهها را تصفیه میکند، در فایلی با پسوند conf. نوشته شده و پیاف این فوانین را از این فایل میخواند. این فایل به صورت پیشفرض در مسیر /etc/pf.conf قرار دارد و از چند بخش تشکیل میشود.یک نمونه از این فایل پیکربندی را در زیر میبینید. توضیحات با کاراکتر # مشخص میشوند.
#pf #bsd @unixmens
سینتکس pf شباهت بسیاری به ipfilter دارد. البته تغییراتی در آن ایجاد شده تا خواندن آن واضح تر شود.
ویژگی ها و قابلیت ها
در حقیقتPF فایروالی کامل و بسیار قدرتمند و امن است و دارای ویژگی های بسیاری است از جمله آن میتوان به پشتیبانی از ALTQ (صف بندی جایگزین) اشاره کرد که فراهم کننده کیفیت خدمات (QOS) می باشد.
این فایروال دارای ویژگی های کاربردی مهم دیگری از جمله PFSYNC (پروتکلی که وضعیت های فایروال را بین کامپیوترهایی که PF را اجرا میکنند همگام سازی میکند) و CARP (پروتکل آدرس اضافه مشترک) و NAT (برگردان نشانی شبکه) و SMP (چند پردازشی متقارن) است.
یکی از قابلیتهای مخصوص این فایروال authpf می باشد که برای احراز هویتها در نشستها بکار میرود و دیگری قابلیت ftp-proxy می باشد که برای ساده سازی ساخت فایروال در پروتکل دشوار FTP (پروتکل انتقال فایل) بکار میرود. قابلیت نوآورانه دیگر این فایروال سیستم logging (ثبت وقایع) ویژه و قدرتمند آن به نام pflog می باشد به نحوی که تنها راه برای بالا بردن داده ها از حالت سطح هسته به برنامه های سطح کاربر می باشد.
قابلیت ویژه دیگر این فایروال Stateful Tracking Options یا اختصاراً STO (گزینه های ردیابی باوضعیت:نوعی از قوانین فیلترینگ PF که میتوانند از طریق گزینه های گوناگون ترافیک حالت ورودی ها را بسازند تا درنهایت رفتار نتیجه حالت ورودی ها را تحت کنترل داشته باشند که بدین صورت میتواند سبب تامین امنیت شبکه شود مثلاً اگر فردی بخواهد بیش از ۱۵ صفحه را در کمتر از ۵ ثانیه بازکند از طریق این قوانین PF جلوی وی را میگیرد) است.
پورت ها
فایروال PF توسط تیم توسعه دهندگان و نویسندگان خود سیستم عامل openbsd نوشته شده است. این فایروال را میتوان بهترین آن برای سیستم عامل اوپنبیاسدی در نظر گرفت.همچنین این فایروال به عنوان دیوارآتشین اصلی در این سیستم عامل نصب شده و استفاده میشود.
این فایروال در سیستم عامل رایج freebsd (فریبیاسدی) از ورژن ۵.۳ و در سیستم عامل NetBsd (نتبیاسدی) از ورژن ۳.۰ پورت و بصورت پیش فرض نصب شده است ولی دیوار آتشین اصلی این دو محسوب نمیگردد. قابل ذکر است برای سیستم عامل freebsd فایروال IPFW (آیپیفایروال) و برای سیستم عامل NetBSD فایروال IPF (آیپیفیلتر) دیوار آتشین اصلی محسوب میگردد.
ضمناً فایروال PF برای سیستم عامل دراگونفلای بیاسدی از ورژن ۱.۲ و سیستم عامل های اواس ده اخیر شامل MAC OS X 10.7 (مشهور به LION) و OS X 10.8 (مشهور به MOUNTAIN LION) و OS X 10.9 (اواس ده ماوریکس) و OS X 10.10 (او اس ده یوسمیت) پورت شده است.
نمونه فایل پیکربندی
قوانینی که پیاف بر اساس آنها بستهها را تصفیه میکند، در فایلی با پسوند conf. نوشته شده و پیاف این فوانین را از این فایل میخواند. این فایل به صورت پیشفرض در مسیر /etc/pf.conf قرار دارد و از چند بخش تشکیل میشود.یک نمونه از این فایل پیکربندی را در زیر میبینید. توضیحات با کاراکتر # مشخص میشوند.
#pf #bsd @unixmens