آشنایی با IPSec VPN
در ادامه مباحث VPN می خواهیم پروتکل امن IPSec را بررسی نماییم. این پروتکل معروفترین پروتکل امن VPN می باشد.
این مبحث در دوره CCNA Security کاملا بررسی می شود و در این دوره به صورت اجمالی به آن می پردازیم.
آشنایی با IPSec :
IPSec بیشتر از آنکه یک پروتکل باشد یک Framework است. این پروتکل ترکیبی از 3 پروتکل زیر می باشد:
- ISAKMP (Internet Security Association and Key Management Protocol)
- AH (Authentication Header)
- ESP (Encapsulation Security Payload)
نکته: به پروتکل ISAKMP پروتکل IKE یا Internet Key Exchange نیز گفته می شود.
نکته: از بین AH و ESP یکی از این موارد در IPSEC استفاده می شوند.
آشنایی با ISAKMP :
ISAKMP در دو فاز فعالیت خود را انجام میدهد. در فاز اول که ISAKMP SA نامیده می شود ابتدا توافقات امنیتی بین دو نقطه صورت می پذیرد که موارد زیر را شامل می شود:
- Encryption (3DES or AES)
- Digital Signature (HMAC SHA1 or HMAC MD5)
- Key Management (DH or RSA)
- Authentication (Pre Shared Key or Digital Certificate)
در فاز اول علاوه بر توافقات امنیتی، Key Management برای بحث رمزنگاری (تبادل کلید) و Authentication نیز انجام می شود.
نکته: توافقات امنیتی هر 24 ساعت یکبار Negotiate می شوند که این عدد قابل تغییر است.
در فاز دوم که IPSEC SA گفته می شود پروتکل Tunneling که می خواهیم استفاده نماییم از بین AH و ESP انتخاب می شود. در این فاز به صورت Optional می توانید Key Management را داشته باشید.
نکته: فاز دوم به حسن وجود فاز اول یک مرحله کاملا امن به حساب می آید. به همین دلیل تبادل کلید در این فاز یک فرآیند کاملا امن است.
نکته: این فاز هر 8 ساعت یک بار به صورت پیش فرض انجام می شود و قابل تغییر می باشد.
آشنایی با AH و ESP :
پروتکل AH یک پروتکل امضای دیجیتال می باشد. به واسطه امضای دیجیتال موارد زیر به دست می آیند:
- Authentication
- Data Integrity
- Non Repudiation
فرآیند این پروتکل به این صورت می باشد که به انتهای Segment یک Trailer و به ابتدای آن یک Header اضافه می کند و آدرس IP جدید مربوط به Tunneling را به آن اضافه می کند. این پروتکل اقدام به HASH کردن بسته توسط Private Key خود می کند و از این طریق اقدام به Sign کردن بسته می کند. این Sign در Header قرار می گیرد.
پروتکل ESP علاوه بر انجام فرآیند Sign مانند AH فرآیند Encryption را روی بسته انجام می دهد.
نکته: از AH زمانی استفاده می شود که نیاز به Authentication قدرتمند وجود داشته باشد و از ESP در جاهایی استفاده می شود که نیاز به رمزنگاری بسته باشد.
هر دو پروتکل AH و ESP هم می توانند به صورت Tunnel Mode و هم Transport Mode فعالیت کنند:
نکته: در Transport Mode آدرس Original IP با New IP یکسان است بنابراین حذف می شود. این حالت زمانی است که بین دو کامپیوتر می خواهیم تونل بزنیم.
نکته: تونل IPSEC قابلیت ارسال ترافیک های Broadcast و Multicast را ندارد و در مقابل تونل GRE امکان ارسال این ترافیک ها را دارد. بنابراین شیوه ای ترکیبی از این دو تونل وجود دارد که ابتدا تونل GRE ایجاد می شود و سپس توسط IPSEC این تونل امن می شود در نتیجه ترافیک های Broadcast و Multicast قابلیت عبور خواهند داشت. به این کار GRE Over IPSEC گفته می شود.
پیکربندی IPSEC :
به منظور پیکربندی IPSEC دستورات زیر را استفاده می نماییم:
فاز اول:
Conf# crypto isakmp enable
Conf# crypto isakmp policy ‘Policy#’
Conf-isakmp# authentication pre-share
Conf-isakmp# encryption [3DES | AES | DES]
Conf-isakmp# hash [MD5 | SHA]
Conf-isakmp# group [1 | 2 | 5]
Conf# crypto isakmp key ‘Your Key Word’ address ‘Your Next Hop Interface’
فاز دوم:
ابتدا باید Transform Set تعریف شود:
Conf# crypto ipsec transform-set ‘Set a Name’ esp-3des [esp-md5-hmac | esp-sha-hmac]
حال باید یک Access List نوشته شود و لیست IP هایی که می خواهیم در این تونل رمزنگاری شوند را در آن لیست قرار دهیم:
Conf# access-list ‘#’ permit ‘Source IP Address’ ‘Wild Mask’ ‘Destination IP Address’ ‘Wild Mask’
حال می خواهیم این Transform Set را به یک اینترفیس تخصیص دهیم اما برای این کار ابتدا باید Crypto MAP نوشته شود تا آن را به اینترفیس اختصاص دهیم:
Conf# crypto map ‘Set a Name’ ‘Policy# you have been selected in the first place’ ipsec-isakmp
Conf-crypto-map# set peer ‘Next Hop Interface IP Address’
Conf-crypto-map# set transform-set ‘Transform Set Name that you choose above’
Conf-crypto-map# match address ‘Your Access List #’
حال باید این Crypto MAP را به اینترفیس مورد نظر تخصیص دهیم:
Conf-if# crypto map ‘You Crypto MAP Name that have been selected above’
نکته: این دستورات باید در هر دو روتر زده شوند. تنظیمات هر دوسر باید مانند یکدیگر باشند.
به منظور مانیتورینگ این فرآیند از دستورات زیر می توان استفاده کرد:
فاز اول:
Router# show crypto isakmp SA
فاز دوم:
Router# show crypto ipsec SA
در پایان به منظور آشنایی با مباحث VPN می توانید دوره های CCNP Security به منظور پیاده سازی VPN ها بر روی روترها و سوییچ های لایه 3 و CCNP VPN به منظور آشنایی با مدل ها و پیاده سازی بر روی فایروال ها را طی نمایید.