40
وشککی حسن ک ودرید حی فرییروال فاPFSense - امنیت شبکهEmail: [email protected] 1.1 ابزارPFSense 1.1.1 ی با آشنای ابزارPFSense ابزارPFSense عی توزیOpen Source بر پایهFree-BSD های آتشده آن در دیوارهستفاشترین ا است که بیین بار در سال است که برای اولریاب ها و مسی4002 یروال بر پایه فاm0n0wall شکل گرفت.PFSense بتواندلی باشد وعمویروال مز یک فا فراتر اعث شده این ابزارست که بادی ا های متعدژگی وی دارایوان یک به عن1 UTM قش کند.فای ن ای این ابزاشاره نمود :د زیر ا می توان به مواربردهاین کاردی است که از جمله اهای متعدبردی کار ر دارا Firewall SOHO (Small Office / Home Office) Router WAN Router Wireless Access Point/Captive Portal VPN Appliance (OpenVPN, IPSec, L2TP, PPTP) VoIP Appliance (FreeSWITCH) Sniffer appliance (packet analyzer) هایژگی از وین برخی همچنیPFSense رتند از : عبا Stateful filtering ان های جری برایIP, UDP TCP, 1 UTM ها ن سخه های پی شرفته و کامل شدهFirewall ه ستند و دارای قابلیتی های ازجملهnetwork firewalling, network intrusion prevention and gateway antivirus (AV), gateway anti-spam, VPN, content filtering, load balancing, data leak prevention and on-appliance reporting .

PFSense Firewall

Embed Size (px)

Citation preview

فرید حیدریو حسن کوشککی

امنیت شبکه - PFSenseفایروال

Email: [email protected]

PFSenseابزار 1.1

PFSenseابزار آشنایی با 1.1.1

است که بیشترین استفاده آن در دیواره های آتش Free-BSDبر پایه Open Sourceتوزیعی PFSenseابزار

شکل گرفت. m0n0wallبر پایه فایروال 4002و مسیریاب ها است که برای اولین بار در سال

PFSense دارای ویژگی های متعددی است که باعث شده این ابزار فراتر از یک فایروال معمولی باشد و بتواند

ایفای نقش کند. 1UTMبه عنوان یک

ر دارای کاربردهای متعددی است که از جمله این کاربردها می توان به موارد زیر اشاره نمود :این ابزا

Firewall

SOHO (Small Office / Home Office) Router

WAN Router

Wireless Access Point/Captive Portal

VPN Appliance (OpenVPN, IPSec, L2TP, PPTP)

VoIP Appliance (FreeSWITCH)

Sniffer appliance (packet analyzer)

عبارتند از : PFSenseهمچنین برخی از ویژگی های

Stateful filtering برای جریان هایIP, UDP TCP,

1 UTM سخه ها شرفته های ن ستند Firewall شده کامل و پی network firewalling, network intrusion ازجمله هایی قابلیت دارای و ه

prevention and gateway antivirus (AV), gateway anti-spam, VPN, content filtering, load balancing, data leak

prevention and on-appliance reporting.

بر مبنای محدود کردن ارتباطاتrule

( مسیریابی بر مبنای سیاستPolicy)

پشتیبانی از NAT وLoad Balancing

کنترل ترافیک

در ادامه نحوه نصب این ابزار را توضیح میدهیم .

pfsense:کاربردهای 1.1.1

1. Firewall

2. SOHO Router

3. WAN Router

4. Wireless Access Point/Captive Portal

5. VPN Appliance (IPSec , L2TP, PPTP)

6. VoIP Appliance (FreeSWITCH)

7. Sniffer appliance

pfsense:ویژگی های 1.1.1

فیلترینگ قوی برای جریان هایip , udp وtcp دارد

یکسریrule برای محدود کردن ارتباطات دارد

دارد سیاست های مسیریابی

NAT وLoad Balancing را پشتیبانی می کند

کنترل ترافیک را می توانیم انجام دهیم

... و

ن بسته ها استفاده آنها از قابلیت های آوجود دارد که ما می توانیم با نصب pfsenseدر packageیکسری

کنیم که عبارت اند از:

● Advanced routing

● OpenBGPD, OpenOSPFD

● Telephony

● FreeSWITCH, SIP Proxy

● Network Management

● Zabbix, nagios

● Network diagnostics

● Bandwithd, rated, iperf, nmap, pfflowd

● Web proxy

● Squid, squidGuard, LightSquid, HAVP Antivirus

● Network intrusion detection - snort

: PFSenseنحوه نصب 1.1.1

سیستمی با حداقل مشخصات زیر مورد نیاز است : PFSenseبرای نصب

CPU: 100Mhz Pentium,

RAM : 128MB

Hard : 1GB

2 Network cards

شبکه است . Throughputسیستم وابسته به میزان CPU , RAMالبته

دانلود نماییم و سپس طبق www.pfsense.orgرا از سایت PFSenseمربوط به ISOدر ابتدا بایستی فایل

مراحل زیر اقدام نمود :

به Enterبا شکل زیر مواجه می شویم که با فشردن کلید PFSenseپس از بوت کردن سیستم با سی دی

مرحله نصب می رویم .

را بزنیم ."I"در این بخش بایستی قبل از به اتمام رسیدن شمارنده کلید

را انتخاب میکنیم. Accept these settingsسپس مطابق شکل

را انتخاب می نماییم . Quick/Easy Installسپس

می زنیم okو در ادامه

مراحل نصب را ادامه 4-6روبرو می شویم ، که مطابق با شکل …You may now wishدر حین نصب با پیغام

میدهیم .

کردن Setبا سوالی در مورد PFSenseمی نماییم . پس از بوت شدن Resetپس از اتمام مراحل سیستم را

Vlan (، که بنا به دلخواه می توان 4-7ها مواجه می شویم )شکلY(Yes) یاN(No) را انتخاب نمود . الزم به

را انتخاب می کنیم . Nذکر است که این تنظیمات پس از نصب نیز قابل اعمال است . که ما در این مرحله

رونی )اینترنت( متصل هستیم را پس از این مرحله بایستی کارت شبکه ای را که از طریق آن به شبکه بی

انتخاب نماییم . کارت های شبکه متصل به سیستم طبق شکل مشخص شده است .

را می زنیم . Enterانتخاب می نماییم و کلید 4WANرا به عنوان واسط em0که به طور مثال واسط

به عنوان واسط شبکه محلی خود را em1را انتخاب نماییم ، که ما 3LANدر ادامه از ما می خواهد که واسط

این کار به صورت خود کار صورت می پذیرد . aانتخاب مینماییم. الزم به ذکر است که با فشردن کلید

Wide Area Network 4

Local Area Network 3

را می زنیم . در Enterکلید "… Enter the optional"پس از مشخص کردن واسط ها در مواجه با پیغام

نمایش را" Do you want to proceed"مراحل قبل را و پیغام ادامه واسط های انتخاب شده برای هر شبکه در

( .4-6مراحل نصب به اتمام میرسد )شکل "y"( ، که با فشردن کلید 4-10می دهد)شکل

پس از اتمام نصب PFSenseمحیط

را مشاهده میکنید . اما برای اعمال تنظیمات بیشتر و کار در محیط وبی PFSenseدر باال رابط دستوری

(Web Interface بایستی در یکی از سیستم های شبکه )IP واسطLAN در نظر گرفته شده برایPFSense را

آن می ( وارد واسط وبیpfsense( و رمز عبور )adminخود وارد نماییم و با وارد کردن نام کاربری ) Browserدر

شویم .

4-14شکل

PFSenseابزار Web Interfaceنمایی از

: PFSenseمعرفی بخش هایی از 1.1.1

PFSense . دارای ویژگی های امنیتی زیادی است که در ادامه برخی از این ویژگی ها را بیان می کنیم

ها و اعمال سیاست بر روی بسته های ورودی و خروجی Ruleبه عنوان اولین ویژگی امنیتی چگونگی تعریف

را تعریف می نماییم .

را انتخاب می نماییم . سپس با توجه به اینکه سیاست Rulesگزینه Firewallبرای این منظور ، از سربرگ

WAN ,LANمورد نظر را می خواهیم بر روی کدام یک از واسط های شبکه اعمال نماییم . یک از سه گزینه

,Floating را انتخاب می نماییم . برای مثال ما در این سناریو می خواهیم از ورود و خروج بسته هایTCP به

را انتخاب می کنیم . Add new ruleشبکه جلوگیری نماییم . بنابراین از قسمت سمت راست

توضیح داده می شود : در این بخش با تنظیمات متعددی روبرو می شویم . که در ذیل هر یک به اختصار

Action مشخص می کنیم که می خواهیم با بسته های مورد نظر چه برخوردی صورت گیرد ، به :

Block)نپذیرفتن بسته و اعالم این امر به فرستنده( ، Reject)پذیرفتن بسته( ، passعنوان مثال

بسته( . 2)دور انداختن

Disable غیر فعال کردن این :Rule

Quick : . اعمال کردن این تنظیمات به سرعت بر روی ترافیک

Interface . مشخص کردن واسطی که می خواهیم این سیاست بر روی آن اجرا شود :

Direction مشخص کردن اینکه :Rule . بر روی ترافیک ورودی اعمال شود یا خروجی یا هر دو

TCP/IP Version ورژن پروتکل بسته ها :

Protocol کردن نوع پروتکل بسته ، به طور مثال : مشخصTCP , UDP , ICMP

Source ,Destination مشخص کردن آدرس یا شبکه مبدا یا مقصد خاصی در شبکه که می :

بر روی آن تعریف شود . Ruleخواهیم این

Destination port range مشخص کردن پورت های مقصد خاصی در شبکه که می خواهیم :

ی آن تعریف شود .بر رو Ruleاین

Log ثبت گزارش برای پکت های که شامل این :Rule . شده اند

Drop 2

به شبکه 192.168.18.128ارسال شده توسط ICMPجلوگیری از ورود بسته های

)مدیریت گواهینامه( م پردازیم . Cert Managerدر ادامه به معرفی

را انتخاب می نماییم . Cert managarگزینه Systemبرای ورود به این بخش از سربرگ

کنیم یا Importدر این بخش می توانیم گواهینامه هایی را که در شبکه مورد استفاده قرار می گیرد را

گواهینامه هایی را باطل اعالم نماییم یا برای ارتباط درون شبکه گواهینامه هایی را صادر نماییم .

مطابق شکل زیر عمل می کنیم . به عنوان مثال برای صدور گواهینامه داخلی

IP :192.168.15.1گواهینامه صادر شده برای

IPsecپیکربندی و اجرای عملی اولسناریوی 1.1.1

IPsec:

را انتخاب می کنیم : ipsecگزینه vpnبا توجه به تصویر زیر از تب

پنل آن مانند شکل زیر ظاهر می شود: IPsecبا انتخاب

مشخص کرده ایم را انتخاب می کنیم پس از انتخاب شکل زیر فلش قرمز با توجه به شکل باال مکانی را که با

ظاهر می شود:

شوند را مشخص می کنیم: setحاال گزینه های که باید

: Interface می توانیم رویwan یاlan .قرار دهیم

Remote Gatway : شمارهip .دروازه مقصد است

Description : یک توصفی برایvpn .مورد نظر است, یک اسم دلخواه را در انجا می نویسیم

Pre-Shared key :.یک رشته ی دلخواه را در آن می نویسیم

مابقی گزینه ها را رویdefault .قرار می دهیم

مورد vpnمی زنیم تا را apply changeرا می زنیم تا تغییرات اعمال شود در آخر هم saveسپس گزینه

مورد نظر را نشان می دهد: vpnنظر ایجاد شود. تصویر زیر

را انتخاب می کنیم. تصاویر Rules, قسمت Firewallایجاده شده است از تب IPsecحاال برای اینکه ببینیم

زیر مراحل کار را نشان می دهند:

ها اضافه شده است: Rulesدر قسمت IPsecهمانطور که در شکل زیر می بینید

ها را Ruleمی کنیم تا یکسری از مشخص شده است را انتخابفلش زرد با توجه به شکل باال قسمتی که با

مورد نظر تعریف کنیم.شکل زیر صفحه مورد نظر را نشان می دهد: IPsecبرای

شوند را مشخص می کنیم: setحاال گزینه های که باید

Action : این گزینه مشخص می کند که بسته ها دریافتی یا ورودیpass شوند یاReject شوند

شوند. blockیا اینکه

Interface : این گزینه را رویIPsec .تنظیم می کنیم

Protocol : این گزینه را رویany .قرار می دهیم تا از هر پروتکلی پشتیبانی کند

گزینه هایSource وDestination هم روی راany می گذاریم در واقعany بیان می کند

یا هرچیز دیگری باشد. wireless , wanکه شبکه مبدا و مقصد می تواند

گزینه های دیگر را هم رویDefault .قرار می دهیم

کلیک میکنیم تا تغییرات اعمال شود. saveکردن این گزینه ها روی setپس از

های دیگر را اعمال کنیم. Rulesرا انتخاب می کنیم تا یکسری از IPsecزینه گ Statusحاال از تب

شکل زیر نحوه اجرا را نشان می دهد:

شکل زیر ظاهر می شود: IPsecپس از انتخاب

د:کنیم تا شکل زیر ظاهر شورا انتخاب می مشخص کرده ایمفلش قرمز با توجه به شکل باال قسمتی را که با

ود:شکنیم تا شکل زیر ظاهر مشخص کرده ایم انتخاب میفلش قرمز حاال با توجه به شکل باال قسمتی را که با

:شود ظاهر زیر شکل تا کنیممی انتخاب ایم کرده مشخص فلش با که را قسمتی باال شکل به توجه با حاال

شوند را مشخص می کنیم: setحاال با توجه به شکل باال گزینه هایی که باید

Mode : مشخص می کندIPsec انتقالباشد یا در حالت تونلدر حالت.

Local Network : شبکه یSource .را مشخص می کند

Remote Network : دامنهip .های مقصد را مشخص می کند

مابقی گزینه ها را رویDefault .قرار می دهیم

را می زنیم تا تغییرات ذخیره شوند. Saveدر آخر گزینه

داریم که می توانیم از ان استفاده IPsecاز نوع vpnدر نهایت پس از اجرای همه ی این مراحل ما یک شبکه

را pfsense و دوتا OSنیاز به یک سیستم قوی داریم تا بتواند دوتا IPsecکنیم. بنابراین برای اجرای عملی

همین دلیل تصاویر مربوط به اجرای عملی را نیاورده ایم. اما انچه که شرح داده شد مربوط همزمان اجرا کند , به

بود. IPsec به پیکربندی

Open VPNسناریوی دوم پیکربندی و اجرای عملی 1.1.1

Open VPN :

Open VPN هم مثلIPsec می تواند ارتباط دو طرف را به صورت تونل برقرار کند. ازOpen VPN می توان

استفاده کرد چون با این کار می توانیم از شنود بسته ها جلوگیری کنیم. LANبرای شبکه های

را انتخاب می کنیم مانند شکل زیر: packagesگزینه Systemابتدا از تب Open VPNبرای پیکربندی

شکل زیر ظاهر می شود: packagesپس از انتخاب گزینه

مشخص کرده ایم بستهفلش قرمز با توجه به شکل باال از قسمتی که با

Open VPN client Export Utility را انتخاب می کنیم پس از نصب این بسته در قسمتInstalled

Packages .قرار می گیرد

ایجاد CAرا انتخاب می کنیم تا یک گواهینامه Cert Managerگزینه Systemپس از نصب این بسته از تب

شکل زیر صفحه مورد نظر را نشان می دهد : .امضا می شوند CAسپس گواهی نامه های کاربران با گواهی نامه

مشخص کرده ایم را انتخاب می کنیم تا شکل زیر ظاهر شود:فلش زرد با توجه به شکل باال قسمتی که با

می کنیم بقیه setمشخص کرده ایم فلش قرمز را روی همان مقداری که با Methodبا توجه به شکل باال فیلد

کلیک می کنیم تا تغییرات اعمال شود. saveگزینه ها را هم به اختیار خود پر می کنیم در پایان هم روی گزینه

همچنین پس از تولید ه ایم انجام می شود.مشخص کردفلش سبز که در باال با CAsهمه ی این کارها در تب

گواهی نامه هایی برای کاربران شبکه تولید و در مراحل بعد از آنها استفاده Certificates، از تب CAگواهی نامه

می شود.

را انتخاب می کنیم. شکل زیر صفحه مربوطه را User Managerمی رویم و گزینه Systemمجددا به تب

نشان می دهد:

مشخص کرده ایم را انتخاب می کنیم تا شکل زیر ظاهر شود:فلش قرمز با توجه به شکل باال قسمتی را که با

تعریف می کنیم و تمامی فیلدها را به اختیار خود پر می کنیم فقط فیلد Userبا توجه به شکل باال یک

certificate را باید تیکش را بزنیم و مانند شکل زیر قسمتDescriptive name .را با یک نام دلخواه پر کنیم

پس از انتخاب تیک مورد نظر شکل زیر ظاهر می شود:

انجام می شود Userرا می زنیم تا تغییرات اعمال شوند.همه ی این کارها در تب Saveدر پایان هم گزینه

نشان داده ایم.فلش سبز این تب را در شکل های باال با

را انتخاب می کنیم تا شکل زیر ظاهر شود: Open VPNگزینه VPNاز تب حاال

(را انتخاب می کنیم تا شکل زیر wizardبا توجه به شکل باال قسمتی که با فلش مشخص کرده ایم )قسمت

ظاهر شود:

کلیک می کنیم تا شکل زیر ظاهر شود: nextبا توجه به شکل باال روی

کلیک می کنیم تا شکل زیر ظاهر شود)در واقع ما در اینجا باید یک گواهینامه nextبا توجه به شکل باال روی

را هم انتخاب کنیم(: Add new CAایجاد کنیم یعنی می توانیم گزینه

Create new Certificateمی کنیم و در آخر روی setبا توجه به شکل باال تمام گزینه ها را با مقادیر اختیاری

کلیک می کنیم تا یک گواهینامه ایجاد شود پس از ایجاد گواهینامه به شکل زیر می رسیم.) اما اگر از قبل

کرده باشیم نیازی به کارهای گفته شده نیست و سریعا به شکل زیر می رسیم(: setگواهینامه

که باید local portکنیم بجز گزینه های یا به صورت اختیاری مقدار دهی می defaultتمام گزینه ها را روی

که که شکل آن هم در زیر نشان داده شده است به Tunnel Settingشود و همچنین قسمت set , 34447روی

می شود: setصورت زیر

کنیم. setمشخص کرده ایم باید فلش سبز با توجه به شکل باال قسمت هایی را که با

Tunnel Network : رنجip .هایی که برای ارتباط تونل استفاده می شود را مشخص می کند

Local Network : رنجip .های شبکه خودمان یا همان شبکه فعلی را مشخص می کند

Concurent Connections : .حداکثر تعداد ارتباطات یا به عبارتی دیگر تعداد هاست ها را مشخص می کند

زیر ظاهر شود: کلیک می کنیم تا شکل nextسپس روی

قسمت هایی را که در شکل باال با فلش مشخص کرده ایم باید تیک داشته باشند.

کلیک کردیم تصویر زیر ظاهر می شود: nextبعد از اینکه روی

کلیک کنیم شکل زیر نمایش داده می شود: finishدر نهایت وقتی روی

کرده ایم , انتخاب می کنیم تا شکل زیر ظاهر شود:با توجه به شکل باال قسمتی را که با فلش مشخص

34مشخص کرده ایم کلیک می کنیم )با توجه به نوع سیستم عامل که فلش سبز ابتدا روی قسمتی که با

بیتی باشد(تا یک فایل به ما بدهد , سپس آن فایل را نصب می کنیم. برای نصب فایل مورد نظر همه 62بیتی یا

مشخصفلش زرد می زنیم. بعد از نصب فایل اولیه روی قسمتی که با nextاست و فقط defaultی گزینه ها روی

شکل زیر روی قسمتی که در zipبه بدهد که پس از باز کردن آن فایل zipکرده ایم کلیک می کنیم تا یک فایل

مشخص کرده ایم کلیک می کنیم)در واقع این یک کلید است(:فلش قرمز با

پس از نصب دوتا فایل مورد نظر روی آیکونی که به وجود آمده , مانند شکل زیر , راست کلیک می کنیم و

passو userایجاد شده متصل می شویم در واقع باید با vpnرا انتخاب می کنیم حاال از طریق connectگزینه

که برای کاربر درست کردیم وارد شویم:

را زدیم شکل زیر ظاهر می شود: connectپس از اینکه روی آیکون باال کلیک راست کردیم و گزینه

ما ایجاد شده است: vpnکلیک کردیم باید شکل زیر ظاهر شود تا مشخص شود که okحاال وقتی روی

ipسیستم فعلی یک ipبر بگیریم متوجه می شویم که عالوه ipconfigسیستم را اجرا کنیم و Runحاال اگر

هم داریم که شکل زیر این مفهوم را بهتر نشان می دهد: vpnدیگر برای ارتباطات

ارتباطات ip فلش زردرا نشان می دهد و vpnارتباطات ipفلش قرمز همان طور که در شکل باال نشان داده ایم

ما برقرار است. vpnمعمولی را نشان می دهد.که این نشان می دهد ارتباط