تامین امنیت گردش اطلاعات با IPSec توسط فایروال ویندوز سرور

IPSec چیست؟

Internet Protocol Security یا به اختصار IPSec یک پروتکل برای تامین امنیت ارتباطات IP است که این امنیت را توسط Authentication (احراز هویت) و Encryption (کد گذاری) به ازای هر Session از بسته‌های ارتباطی IP تامین می‌کند.
IPSec همچنین شامل پروتکل‌هایی است که با استفاده از کلیدهای کدگذاری شده برای احراز هویت و کد گذاری دو طرفه سمت گیرنده و فرستنده در ابتدای برقراری ارتباط و در طول مدت ارتباط اقدام می‌کند.

چرا از IPSec استفاده کنیم؟

• برای تامین امنیت مورد نیاز ارتباطات و یا برای ارتقای امنیت نرم‌افزارها
• این امکان را به شما می‌دهد که بر مبنی IP محدودیت‌هایی اعمال کنید و در لایه TCP/UDP با اینکه ممکن است نرم‌افزار شما آن را پشتیبانی نکند کدگذاری انجام دهید.

پیش‌نیازها:
• ورودی/خروجی پورت (IP Protocol 50 (ESP
• ورودی/خروجی پورت (IP Protocol 51 (AH
• ورودی/خروجی پورت UDP port 500
• انتخابی: پورت TCP/UDP 88 (در صورت Authentication)
• انتخابی: پورت (UDP 4500 (NAT

با استفاده از Windows Firewall with Advanced Security در دامنه Active Directory
لازم است تمامی مراحل زیر را انجام دهید:

Identity Management یک Policy تحت عنوان CIT-IDM-MachineCertificateAutoEnrollment دارد که به هر کامپیوتری که در یک OU وجود دارد این اجازه را می‌دهد که یک گواهینامه IPSec به ازای هر کامپیوتر ایجاد کند.

۱- یک GPO در OU مورد نظر خود که می‌خواهید توسط IPSec ایمن شود ایجاد نمائید. تمامی ServerFarm ها باید این GPO به آنها Link شده باشد.

۲- مطمئن شوید این Policy به همه سیستم ها اعمال شده و با دستور gpupdate از به روزرسانی آن اطمینان حاصل کنید (پیش‌فرض بروزرسانی ۹۰ دقیقه است).

ایجاد Connection Security Rule بر روی سرور

۱- به سرور وارد شوید.
۲- پنجره Windows Firewall with Advanced Security را باز کنید.
۳- بر روی Connection Security Rule دکمه راست را بزنید و گزینه New Rule را انتخاب کنید.

How-to-Secure-Windows-Traffic-with-IPsec-01

۴- گزینه Custom را انتخاب کنید و بر روی Next کلیک کنید.

How-to-Secure-Windows-Traffic-with-IPsec-02

۵- در تب Endpoints این موارد را انجام دهید:
• در قسمت Endpoint1 آدرس IP یا آدرسهای IP سرور(های) خود را وارد کنید.
• در قسمت Endpoint2 آدرس IP یا آدرسهای IP کلاینت(های) خود را وارد کنید.
• بر روی Next کلیک کنید.

How-to-Secure-Windows-Traffic-with-IPsec-03

۶- گزینه Require authentication for inbound and outbound connections را انتخاب و بر روی Next کلیک کنید.

How-to-Secure-Windows-Traffic-with-IPsec-04

۷- در قسمت Authentication Method گزینه Advanced را انتخاب و Customize را بزنید.

How-to-Secure-Windows-Traffic-with-IPsec-05

۸- در پنجره First Authentication Method گزینه Add را بزنید.

How-to-Secure-Windows-Traffic-with-IPsec-06

۹- در پنجره Add First Authentication Method گزینه Computer certificate from this certificate authority را انتخاب و مراحل زیر را انجام دهید:
• (Signing algorithm : (default
• (Certificate store type: (default
• گزینه Browse را زده و مرجع صادرکننده گواهینامه را انتخاب کنید.
• بر روی OK کلیک کنید.

How-to-Secure-Windows-Traffic-with-IPsec-07

 

How-to-Secure-Windows-Traffic-with-IPsec-08

۱۰- در پنجره Customize Advanced Authentication Methods بر روی OK کلیک کنید.

How-to-Secure-Windows-Traffic-with-IPsec-09

۱۱- مجددا پنجره New Connection Security Rule Wizard: Authentication Method را مشاهده خواهید کرد. بر روی OK کلیک کنید.
۱۲- در باکس To which ports and protocols does this rule apply سرویس‌ها و پروتکل‌های موردنظر خود (برای مثال SMB, TCP 445) را انتخاب کنید و بر روی Next کلیک کنید.
از آنجایی که این سرویس فقط در Endpoint1 ارائه می‌شود، شماره پورت موردنظر را وارد کنید و در قسمت Endpoint2 بر روی All Ports باشد.

How-to-Secure-Windows-Traffic-with-IPsec-10

۱۳- در باکس When does this rule apply تمامی چک باکس‌ها فعال باشد و بر روی Next کلیک کنید.

How-to-Secure-Windows-Traffic-with-IPsec-11

۱۴- یک نام برای این Rule انتخاب کنید و گزینه Finish را بزنید.

تنظیمات امنیتی سمت Client

۱- به ماشین Client وارد شوید.
۲- تمامی مراحل بالا را از مرحله ۳ تا ۱۴ برای کلاینت نیز تکرار کنید. (تمامی مراحل حتی قسمت Endpoint ها یکسان است.)
۳- ارتباط خود را تست کنید و مطمئن شوید کماکان فعال است.
نکته: ممکن است در ابتدای ارتباط شما یک وقفه وجود داشته باشد که این مورد به دلیل شروع Negotiationارتباط است.
۴- در قسمت Monitoring شما باید ارتباط احراز هویت شده خود را فی‌مابین سیستم‌ها مشاهده کنید.

How-to-Secure-Windows-Traffic-with-IPsec-12

۵- توجه کنید در همین قسمت در زیر منوی Quick Mode مقدار ESP Encryption بر روی None است. این گزینه به این معناست که احراز هویت سیستم مقابل تامین شده است اما اطلاعات رد و بدل شده توسط IPSecایمن نشده است!

How-to-Secure-Windows-Traffic-with-IPsec-13

تنظیمات فایروال سمت سرور

۱- به سرور وارد شوید.
۲- یک New Rule از قسمت Inbound Connections ایجاد کنید.

How-to-Secure-Windows-Traffic-with-IPsec-14

۳- بر روی Custom کلیک کنید و به مرحله بعدی بروید.

How-to-Secure-Windows-Traffic-with-IPsec-15

۴- گزینه All Programs را انتخاب کنید و به مرحله بعدی بروید.

How-to-Secure-Windows-Traffic-with-IPsec-16

۵- پورت ورودی سمت سرور (مثلا ۴۴۵ SMB) را انتخاب و به مرحله بعدی بروید.

How-to-Secure-Windows-Traffic-with-IPsec-17

۶- آدرس IP های موردنظر خود را مانند بالا انتخاب کنید و بر روی Next کلیک کنید.

How-to-Secure-Windows-Traffic-with-IPsec-18

۷- گزینه Allow the connection if it is secure را انتخاب و سپس Customize را انتخاب کنید.

How-to-Secure-Windows-Traffic-with-IPsec-19

۸- گزینه Require the connections to be encrypted را انتخاب و بر روی OK کلیک کنید.

How-to-Secure-Windows-Traffic-with-IPsec-20

۹- در منوی Action بر روی OK کلیک کنید.
۱۰- در منوی Users نیز OK را بزنید.
۱۱- در منوی Computer نیز OK را بزنید.

 

How-to-Secure-Windows-Traffic-with-IPsec-21

۱۲- در قسمت Profiles تمامی تیک‌ها را بزنید و به مرحله بعد بروید.
۱۳- نامی را برای این Rule انتخاب کنید و Finish را بزنید.

تنظیمات فایروال سمت کلاینت

۱- به کلاینت وارد شوید.
۲- یک Rule جدید در قسمت Outbound Rules ایجاد کنید.

How-to-Secure-Windows-Traffic-with-IPsec-22

۳- انتخاب گزینه Custom و سپس مرحله بعد.
۴- انتخاب گزینه All Programs و سپس مرحله بعد.
۵- گزینه Remote Port (در این مثال SMB 445) را انتخاب و به مرحله بعدی بروید.

How-to-Secure-Windows-Traffic-with-IPsec-23

۶- آدرس IP های مورد نظر را انتخاب کنید.

How-to-Secure-Windows-Traffic-with-IPsec-24

۷- گزینه Allow the connection if it is secure را انتخاب کنید و بر روی Customize کلیک کنید.
۸- گزینه Require the connections to be encrypted را انتخاب کنید و OK را بزنید.

How-to-Secure-Windows-Traffic-with-IPsec-25

۹- در منوی Action بر روی OK کلیک کنید.
۱۰- در منوی Computer نیز OK را بزنید.
۱۱- در قسمت Profiles تمامی تیک‌ها را بزنید و به مرحله بعد بروید.
۱۲- نامی را برای این Rule انتخاب کنید و Finish را بزنید.

تست ارتباط نهایی

۱- از سمت کلاینت ارتباط را تست کنید که فعال باشد.
۲- در قسمت Windows Firewall -> Security Associations -> Quick Mode باید گزینه ESP Encryption دارای مقدار موردنظر باشد. این نشانگر امنیت تبادل اطلاعات شماست.

 

How-to-Secure-Windows-Traffic-with-IPsec-26

 

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

• برای سیستم‌هایی که به دامنه متصل نیستند می‌توانید از PreShared Key استفاده کنید. این کلیدها به صورت یک متن ساده هستند که در سمت کلاینت و سرور ذخیره می‌شود. برای امنیت اطلاعات در یک شبکه کابلی کماکان مناسب است.

• در قسمت Connection Security Rule باید به جای Computer Certificate گزینه Use PreShared Key را انتخاب کنید.

How-to-Secure-Windows-Traffic-with-IPsec-27

• برای سیستم عامل‌های قدیمی‌تر از Vista استفاده از این امکان وجود ندارد. در صورت امکان سیستم خود را ارتقا دهید. در صورتی که امکان ارتقا ندارید می‌توانید از IPSec بر روی سیستم استفاده نمائید. در این روش فقط به ازای هر سیستم یک ارتباط می‌توانید تعریف کنید و امکان تعریف آن بصورت یک Rule در فایروال وجود ندارد. این روش برای یک‌بار تنظیم قابل استفاده است اما در یک سازمان Enterprise مناسب نیست مگر آنکه تمامی سیستم‌ها از یک تنظیمات استفاده نمائید. اطلاعات بیشتر

• لینوکس و OSX نیز امکان IPSec دارند اما در سمت کلاینت به نرم‌افزارهای جانبی نیاز خواهید داشت.

• آدرسهای IPv6 بصورت پیش‌فرض شامل IPSec هستند و به صورت خودکار تنظیم می‌شوند.