مطالبی در مورد پروتکل IPSec
IPSecچیست ؟ ( IP Security ) IP Security یا IPSec رشته ای از پروتکلهاست که برای ایجاد VPN مورد استفاده قرارمی گیرند. مطابق با تعریف (IETF (Internet Engineering Task Force پروتکل IPSec به این شکل تعریف می شود:
یک پروتکل امنیتی در لایه شبکه تا خدمات امنیتی رمزنگاری را تامین کند. خدماتی که به صورت منعطفی به پشتیبانی ترکیبی از تایید هویت ، جامعیت ، کنترل دسترسی و محرمانگی بپردازد.
در اکثر سناریوها مورد استفاده ،IPSec به شما امکان می دهد تا یک تونل رمزشده را بین دو شبکه خصوصی ایجاد کنید.همچنین امکان تایید هویت دو سر تونل را نیز برای شما فراهم می کند.اما IPSec تنها به ترافیک مبتنی بر IP اجازه بسته بندی و رمزنگاری می دهد و درصورتی که ترافیک غیر IP نیز در شبکه وجود داشته باشد ، باید از پروتکل دیگری مانند GRE در کنار IPSec استفاده کرد.
IPSec به استاندارد de facto در صنعت برای ساخت VPN تبدیل شده است.بسیاری از فروشندگان تجهیزات شبکه ، IPSec را پیاده سازی کرده اند و لذا امکان کار با انواع مختلف تجهیزات از شرکتهای مختلف ، IPSec را به یک انتخاب خوب برای ساخت VPN مبدل کرده است.
انواع
شیوه های مختلفی برای دسته بندی IPSec VPN وجود دارد اما از نظر طراحی ، IPSec برای حل دو مسئله مورد استفاده قرار می گیرد :
1- اتصال یکپارچه دو شبکه خصوصی و ایجاد یک شبکه مجازی خصوصی
2- توسعه یک شبکه خصوصی برای دسترسی کاربران از راه دور به آن شبکه به عنوان بخشی از شبکه امن
بر همین اساس ، IPSec VPN ها را نیز می توان به دو دسته اصلی تقسیم کرد:
1- پیاده سازی LAN-to-LAN IPSec
این عبارت معمولا برای توصیف یک تونل IPSec بین دو شبکه محلی به کار می رود. در این حالت دو شبکه محلی با کمک تونل IPSec و از طریق یک شبکه عمومی با هم ارتباط برقرار می کنند به گونه ای که کاربران هر شبکه محلی به منابع شبکه محلی دیگر، به عنوان عضوی از آن شبکه، دسترسی دارند. IPSec به شما امکان می دهد که تعریف کنید چه داده ای و چگونه باید رمزنگاری شود.
2- پیاده سازی Remote-Access Client IPSec
این نوع از VPN ها زمانی ایجاد می شوند که یک کاربر از راه دور و با استفاده از IPSec client نصب شده بر روی رایانه اش، به یک روتر IPSec یا Access server متصل می شود. معمولا این رایانه های دسترسی از راه دور به یک شبکه عمومی یا اینترنت و با کمک روش dialup یا روشهای مشابه متصل می شوند. زمانی که این رایانه به اینترنت یا شبکه عمومی متصل می شود، IPSec client موجود بر روی آن می تواند یک تونل رمز شده را بر روی شبکه عمومی ایجاد کند که مقصد آن یک دستگاه پایانی IPSec ،مانند یک روتر، که بر لبه شبکه خصوصی مورد نظر که کاربر قصد ورود به آن را دارد، باشد.
در روش اول تعداد پایانه های IPSec محدود است اما با کمک روش دوم می توان تعداد پایانه ها را به ده ها هزار رساند که برای پیاده سازی های بزرگ مناسب است.
ساختار IPSec
IPSec برای ایجاد یک بستر امن یکپارچه ، سه پروتکل را با هم ترکیب می کند :
1- پروتکل مبادله کلید اینترنتی ( Internet Key Exchange یا IKE )
این پروتکل مسئول طی کردن مشخصه های تونل IPSec بین دو طرف است. وظایف این پروتکل عبارتند از:
– طی کردن پارامترهای پروتکل
– مبادله کلیدهای عمومی
– تایید هویت هر دو طرف
– مدیریت کلیدها پس از مبادله
IKE مشکل پیاده سازی های دستی و غیر قابل تغییر IPSec را با خودکار کردن کل پردازه مبادله کلید حل می کند. این امر یکی از نیازهای حیاتی IPSecاست. IKE خود از سه پروتکل تشکیل می شود :
SKEME : مکانیزمی را برای استفاده از رمزنگاری کلید عمومی در جهت تایید هویت تامین می کند.
Oakley : مکانیزم مبتنی بر حالتی را برای رسیدن به یک کلید رمزنگاری، بین دو پایانه IPSec تامین می کند.
ISAKMP : معماری تبادل پیغام را شامل قالب بسته ها و حالت گذار تعریف می کند.
IKE به عنوان استاندارد RFC 2409 تعریف شده است. با وجودی که IKE کارایی و عملکرد خوبی را برای IPSec تامین می کند، اما بعضی کمبودها در ساختار آن باعث شده است تا پیاده سازی آن مشکل باشد، لذا سعی شده است تا تغییراتی در آن اعمال شود و استاندارد جدیدی ارائه شود که IKE v2 نام خواهد داشت.
2- پروتکل Encapsulating Security Payload یا ESP
این پروتکل امکان رمزنگاری ، تایید هویت و تامین امنیت داده را فراهم می کند.
3- پروتکل سرآیند تایید هویت (Authentication Header یا AH)
این پروتکل برای تایید هویت و تامین امنیت داده به کار می رود.
- این پروتکل برای این منظور طراحی شده که بتواند بسته (Packet) های اطلاعاتی TCP/IP را توسط کلید عمومی ( همان روش PKC) رمز کند تا در طول مسیر، امکان استفاده غیر مجاز از آنها وجود نداشته باشد.li>
- به بیان دیگر کامپیوتر مبدا” بسته اطلاعاتی TCP/IP عادی را بصورت یک بسته اطلاعاتی IPSec بسته بندی (Encapsulate) می کند و برای کامپیوتر مقصد ارسال میکند. این بسته تا زمانی که به مقصد برسد رمز شده است و طبیعتا” کسی نمی تواند از محتوای آنها اطلاع بدست آورد.
- باوجود آنکه بنظر سیستم ساده ای می آید اما باید راجع به آن مطالب بیشتری بدانید. بدیهی ترین نکته آن است که استفاده از این پروتکل زمان نقل و انتقال اطلاعات را بیشتر می کند چرا که هم حجم اطلاعات بیشتر می شود و هم زمانی برای رمز کردن و رمزگشایی. بنابراین بهتر آن است که جز در موارد خاص که علاقه ندارید کسی در شبکه فعالیت های شما را متوجه شود از این پروتکل استفاده کنید. بخصوص که شما می توانید با تعریف سیاست هایی به Windows بگویید که در چه مواردی از آن استفاده کند و در چه مواردی نه.
- شما می توانید با دادن یک سری دستورالعمل ها به Windows، او را تعلیم دهید که تحت چه شرایطی از IPSec استفاده کند. تحت این شرایط شما در واقع مشخص می کنید که ترافیک کدام گروه از IP ها باید توسط IPSec انجام شود و کدامیک نشود برای این منظور معمولا” از روش ***** کردن IP استفاده می شود. فهرست خاصی از IP های ***** شده که شما تهیه می کنید می تواند مرجعی برای استفاده از پروتکل IPSec برای ویندوز باشد.
- بدیهی است برای انجام اینکار علاوه بر آشنایی با ویندوز، شما باید تا اندازه ای با شبکه ای که به آن متصل هستید آشنا بوده و اطلاعات اولیه ای را داشته باشید. برای این منظور باید از کنسول مدیریتی ویندزو (Microsoft Management Console) استفاده کرده و از snap-in های مربوط به IPSec برای تعریف سیاست های نامبرده شده استفاده کنید. IPSec Policy
منبع :مجموعه وبسایت های شرکت کامتل