به مجموعه پروتکل ها و مکانیزم های رمزنگاری به منظور امن سازی پروتکل اینترنت را IPsec مینامند, توانایی امن سازی ارتباط بین دو Getaway و حتی یک HOST و یک Getaway را دارد. این پروتکل را میتوان به سه قسمت اصلی تقسیم کرد که به شرح زیر میباشند
در این مرحله Policy های مربوط به IPsec تکمیل شده است و فرایند IKE به اجرا در میاید
با استفاده از پارامتر های SA در IPsec ترافیک و Data رمز میشود و به سمت دو طرف ارسال میشود
زمان خاتمه یافتن Tunnel بین دو Peer در صورت تموم شدن زمان مد نظر یا حذف پارامتر ها
در IKE Phase 1 یا همان فاز یک بین دو Peer یک Authentication( احراض هویت ) انجام میشود و دو Peer در واقع در این فاز با یک دیگر Negotiation ( مذاکره ) میکنند و یک Channel امن به منظور تبادل پارامتر های SA و IKE
از جمله پارامتر ها و کار های که در این فاز انجام میشود:
Encryption Algorithm ( AES ,DES ,3DES And etc... )
Hash Algorithm ( MD5, SHA1 And etc... )
نکته: این پارامتر ها توسط Diffie-Hellman بین دو Peer تبادل میشود
بعد از فاز یک IKE یک Tunnel امن به منظور مذاکرات پارامتر های IKE Phase 2 ساخته میشود
فاز 1 در دوحالت Main Mode و Aggressive Mode اتفاق میوفتد که به شرح زیر است:
در Main mode تبادل اطلاعات به سه قسمت تقسیم میشود
در این قسمت تبادل پارامتر های SA و انتخاب Hash Algorithm و Encryption Algorithm انجام میشود
در این قسمت Secret Key ساخته میشود و بین دو Peer با استفاده از پروتکل Diffie-Hellman تبادل میشوند به منظور Match بودن
هویت دو طرف تایید و پارامتر ها تبادل شده, و سعی در ساخت یک Tunnel امن برای برقراری فاز 2
در Aggressive mode پارامتر های کمتری ردوبدل میشود پس بسته های کمتری نیز ردبدل میشود و از سرعت بالایی برخوردار است. مشکل این حالت این است که پارامتر ها قبل از تشکیل یک Channel امن ردوبدل میشوند که در این صورت یک نفر میتواند رابط میانی آن هارا Sniff کند
در فاز دوم مذاکره IPsec به منظوره راه اندازی یک Tunnel امن انجام میشود
پارامتر بین یک دیگر به منظور Match بودن ردوبدل میشوند. به منظور امنیت بیشتر در یک بازه زمانی IPsec به Renegotiation ( مذاکره مجدد ) میپردازد به صورت اختیاری مبادلات Diffie-Hellman را نیز انجام میدهد. در فاز دوم یک حالت وجود دارد تحت عنوان Quick Mode که پس از فاز یک اتفاق میافتد حاوی امتیازاتی میباشد که به شرح زیر میباشند:
جلوگیری از حمله Anti-Reply
در صورت Tunnel Termination ( قطع شدن Tunnel ) وظیفه Rengotiation ( مذاکره مجدد ) را بر عهده دارد
Perfect Forward Secrecy ( PFS )
یک مکانیزم در IPSec که اگر فعال شود موجب بالا رفتن سرعت تبادل Key و Generate ( ساخت ) شدن Key با استفاده از ارائه پارامتر های آن میشود
این روش موجب بالا رفتن زمان Key-Lfie نیز میشود
پروتکل IPsec برخلاف پروتکل های دیگر همچون SSL/TLS که در Transport-Layer به بالا قرار دارند این پروتکل مستقیما در Network-Layer قرار دارد و Flexibility ( انعطاف پذیری ) آن را بیشتر کرده است
خانواده پروتکل IPSec شامل دو پروتکل است. یعنی سرآیند احراز هویت یا AH یا همان authentication header و ESP یا همان Encapsulation Security Payload
هر دوی این پروتکلها از IPSec مستقل خواهند بود
سناریو ما به شکل زیر میباشد که قرار است بین دو روتر یک IPsec Tunnel پیاده سازی شود
R1:
ساخت یک ISAKMP Policy برای فاز یک IPsec به منظور تایین مقدار Hash algorithm و Authentication به منظور Negotiation
R1(config)#Crypto isakmp policy 10 hash md5 authentication pre-share
تایین Pre-Shared key و آدرس IP طرف مقابل
R1(config)#crypto ipsec transform-set Cisco esp-des esp-md5-hmac
نکته*: پارامتر Key باید در هر دو طرف یکسان باشد، درغیر اینصورت Tunnel برقرار نمیشود
تنظیم فاز دو به منظور Data Encryption
crypto ipsec transform-set Cisco esp-des esp-md5-hmac
نوشتن یک crypto-map
تایین ادرس طرف مقابل
( الزامی بودن نوشتن یک ACL یا همان Access Control List به منظور اجازه عبور ترافیک شبکه Peer مقابل به درون شبکه ما )
نوشتن یک Static-Route به سمت هم دیگر
R1(config)#ip route 0.0.0.0 0.0.0.0 10.10.1.20 R1(config)#crypto map Cisco2 10 ipsec-isakmp set peer 10.10.10.20 set transform-set Cisco
اعمال آن بر روی Interface سمت out-side:
R1(config)#interface fastethernet 0/0 R1(config-if)#ip address 10.1.1.20 255.255.255.0 R1(config-if)#crypto map Cisco2
کانفینگ روتر بعدی نیاز به توضیحات ندارد زیرا توضیحات دستورات را بر روی روتر اول توضیح دادیم و پیش رفتیم
R2: R2(config)#crypto isakmp key Lian address 10.1.1.20 R2(config)#crypto ipsec transform-set Cisco esp-des esp-md5-hmac R2(config)#crypto map Cisco2 10 ipsec-isakmp set peer 10.1.1.20 set transform-set Cisco R2(config)#interface fastethernet 0/0 R2(config-if)#ip address 10.10.10.20 255.255 255.0 R2(config-if)#no shutdown R2(config-if)#crypto map Cisco2
R1:
R1#show crypto ipsec sa
R2:
R2#show crypto ipsec sa
نویسنده:امیرحسین تنگسیرینژاد