آشنایی با پروتکل IPsec – چگونه یک شبکه ایمن پیادهسازی کنیم؟
پروتکل IPsec سرنام Internet Protocol security به مجموعهای از پروتکلهای خاصمنظوره اشاره دارد که برای ایمنسازی و رمزنگاری ارتباطات میان دستگاهها در یک شبکه استفاده میشود.
به بیان دقیقتر، پروتکل فوق فرایند احراز هویت و رمزگذاری در هر بسته اطلاعاتی (packet) را مدیریت میکند. بر مبنای این تعریف باید بگوییم که IPsec مجموعهای از پروتکلها است که میتواند برای تأیید صحت دادهها و رمزگذاری بستههایی که قرار است در یک شبکه انتقال پیدا کنند استفاده شود.
IPSec چیست؟
Internet Protocol Security در واقع یک پروتکل امنیتی شبکه است که متشکل از پروتکلهای امنیتی مختلفی است که هدفش ایمنسازی و رمزنگاری بستههای دادهای است که قرار است از طریق پروتکل آیپی در شبکه انتقال پیدا نکنند، اما توسط اشخاص غیرمجازی مشاهده نشوند. IPSec سعی میکند سطح بالایی از امنیت را برای پروتکلهای اینترنتی ارائه دهد.
یکی از مهمترین مزایای پروتکل فوق این است که بر خلاف پروتکلهای امنیتی مثل SSH، TLS و SSL که در لایه انتقال به بالا کار میکنند در لایه ۳ کار میکند. درست همان لایهای که پروتکل آیپی در آن قرار دارد که همین مسئله باعث شده تا پروتکل مذکور بتواند از پروتکلهای لایه ۴ نظیر TCP و UDP محافظت کند و علاوه بر این سرعت بیشتری را در زمان فعال بودن ارایه کند.
مزیت بعدی IPsec نسبت به بقیه پروتکلهای امنیتی مثل SSL این است که ضرورتی ندارد برنامههای کاربردی بر مبنای پروتکل فوق طراحی شوند. پروتکل IPSec متشکل از دو پروتکل اصلی یعنی سرآیند احراز هویت authentication header و ESP است که هر دو این پروتکلها از IPSec مستقل هستند.
پروتکل AH
از پروتکل مذکور هنگامی استفاده میشود که مصرفکننده به احراز هویت قدرتمندی نیاز داشته باشد. به طور خلاصه پروتکل AH در سرویسهای امنیتی مهمی مثل تمامیت داده ارسالی، تصدیق هویت مبدأ داده ارسالی و رد بستههای دوباره ارسال شده را ارائه میکند.
این پروتکل برای تمامیت دادهها ارسالی از فناوری HMAC استفاده میکند و برای انجام این کار از کلید خصوصی استفاده میکند تا بار داده بسته و بخشهایی تغییرناپذیر سرآیند آیپی شبیه آدرس آیپی به نظر برسند.
بعدازاین فرایند پروتکل مذکور سرآیند خود را به آن اضافه میکند. در پروتکل فوق، سرآیند AH اندازهای برابر با 24 بایت دارد. از مهمترین فیلدهای پروتکل فوق به موارد زیر باید اشاره کرد:
Next Header: پروتکلهای بعدی را مشخص میکند. در حالت تونل، یک دیتاگرام کامل آیپی را کپسوله میکند. این فیلد اندازه ۴ بایتی دارد. وقتی که کپسوله کردن یک دیتاگرام TCP در حالت انتقال (transport mode) باشد، مقدار این فیلد برابر ۶ میشود.
- payload length: اندازه بار داده را مشخص میکند.
- Reserved: دو بایت است و به شکل رزرو شده قرار دارد.
- security parameter Index: در بیشتر منابع از اختصار SPI برای توصیف آن استفاده میشود و ۳۲ بیت دارد. این فیلد از SA تشکیل شده که برای باز کردن بستههای کپسوله شده استفاده میشود. در انتها ۹۶ بیت نیز جهت نگهداری احراز هویت پیام هش یا (HMAC) استفاده میشود. HMAC مسئولیت محافظت از تمامیت دادههای ارسالی را عهدهدار است. دقت کنید در پروتکل فوق تنها نقاط پایانی جزئیات مربوط به کلید پنهان را میدادند که توسط HMAC ایجاد شده و بررسی میشود. لازم به توضیح است که پروتکل AH فرایند ترجمه آدرس شبکه را مدیریت نمیکند. برای این منظور از NAT استفاده میشود
پروتکل Encapsulation Security Payload ESP
از فناوری بار داده امنیتی کپسولهکننده هنگامی استفاده میشود که نیاز به رمزنگاری بستههای اطلاعاتی باشد. پروتکل ESP سرویسهای امنیتی مهمی مثل محرمانگی، احراز هویت مبدأ داده ارسالی و رد بستههای دوباره ارسال شده را ارائه میکند.
در واقع پروتکل ESP هم امنیت و یکپارچگی دادهها و بستههایی که از HMAC استفاده میکنند را تأمین کنید و هم اصل محرمانگی از طریق اصول رمزنگاری (Encryption principle) تأمین میکند. بعد از رمزنگاری بستهها و اطلاعات مرتبط با HMAC سرآیند ESP محاسبه و به بسته اضافه میشود.
در سرآیند ESP اولین ۳۲ بیت سرآیند ESP همان SPI است که در SA استفاده میشود و برای رمزگشایی بسته کپسولهشدن ESP استفاده میشود. دومین فیلد شماره توالی (Sequence Number) است که برای حفاظت از دادههای بازگشتی استفاده میشود. سومین فیلد بردارمقدار اولیه (initial vector) است.
این فیلد برای پردازش رمزنگاری استفاده میشود. الگوریتمهای رمزنگاری متقارن اگر از IV استفاده نکنند، در معرض تهدیدات متوالی بستهها قرار میگیرند و ناخواسته عامل ایجاد حمله DoS میشوند. IV این اطمینان را میدهد تا دو بار داده مختلف و رمزنگاری شده در این زمینه استفاده میشود.
فیلد بعدی که Next header است، سرآیند بعدی را مشخص میکند. این پروتکل HMAC است که مانند پروتکل HA از یکپارچگی و اصالت دادههای ارسالی حفاظت میکند. فقط این سرآیند است که میتواند به بار داده اعتبار دهد.
NAT هیچ ارتباطی به کار ESP ندارد و این بخش هنوز هم ممکن است بخشی از IPSec باشد و با آن ترکیب شود. برگردان نشانی شبکه پیمایشی (NAT-Traversal) راهحلی است در کپسولهکردن بستههای ESP به همراه بستههای UDP.
حالتهای عملیاتی
IPSEC میتواند حالت انتقالهاست به هاست را در شبکه و در حالت تونل به شرح زیر پیادهسازی کند. در حالت تونل تمام بستههای اطلاعاتی IP رمزگذاری و احراز هویت میشوند. پس از آن در یک بسته IP جدید با یک سرآیند جدید کپسوله میشوند.
حالت تونل برای ایجاد شبکه خصوصی مجازی در ارتباطات شبکه به شبکه (بهعنوانمثال بین روتر و لینک سایت)، ارتباطات هاست به شبکه (مانند دسترسی به کاربر از راه دور) و ارتباطات هاست به هاست (مانند چت خصوصی) استفاده میشود.
در حالت انتقال، تنها بار دادههای بستههای IP بهصورت رمزگذاری شده ارسال میشوند. به طور مثال، این امکان وجود دارد که سرآیند IP نهتنها تغییر داده نشود، بلکه رمزنگاری نیز نشود.
پیادهسازیهای IPSEC به طور معمول توسط AH,ESP و IKE V2 انجام میشود. پیادهسازی IPSEC موجود روی سیستمعاملهای شبه یونیکس، مانند سولاریس یا لینوکس شامل PF-KEY V2 است.
پیکربندی IPsec
در محیط سیستمعامل ویندوز دو مکان مختلف برای پیکربندی IPsec وجود دارد. شما میتوانید از راهکار سنتی IPsec Security Policy snap-in برای پیکربندی تنظیمات استفاده کنید.
اگر تمامی سامانهها از سیستمهای جدید استفاده میکنند، بهتر از است Windows Defender Firewall with Advanced Security برای پیکربندی خطمشیهای IPsec استفاده کنید.
WFAS یکی از انعطافپذیرترین راهحلهای موجود است. در اولین گام نگاهی به کنسول خطمشی IPsec داشته باشید. کار را از این نقطه شروع میکنیم، زیرا گزینههای مختلف این بخش به ما اجازه میدهند تا خط پایه IPsec در تعامل با دونقطه پایانی را ترسیم کنیم.
در اینجا سه خطمشی مختلف IPsec برای تخصیص به ماشینهایی که در این کنسول تعیین خواهیم کرد وجود دارد. اجازه دهید به طور اجمالی هر یک از آنها را بررسی کنیم، زیرا نام خطمشیها زیاد روشن نیست و ممکن است شما را بهاشتباه اندازند. آشنایی دقیق با این گزینهها به شما کمک میکنند با نحوه کار تنظیمات در WFAS بهخوبی آشنا شوید.