amirhoseintangsirinet
amirhoseintangsirinet
خواندن ۵ دقیقه·۵ سال پیش

IPsec چیست

IPsec

به مجموعه پروتکل ها و مکانیزم های رمزنگاری به منظور امن سازی پروتکل اینترنت را IPsec مینامند, توانایی امن سازی ارتباط بین دو Getaway و حتی یک HOST و یک Getaway را دارد. این پروتکل را میتوان به سه قسمت اصلی تقسیم کرد که به شرح زیر میباشند

Interesting traffic:

در این مرحله Policy های مربوط به IPsec تکمیل شده است و فرایند IKE به اجرا در میاید

Data Transfer:

با استفاده از پارامتر های SA در IPsec ترافیک و Data رمز میشود و به سمت دو طرف ارسال میشود

Tunnel Termination:

زمان خاتمه یافتن Tunnel بین دو Peer در صورت تموم شدن زمان مد نظر یا حذف پارامتر ها

IKE Phase 1:

در IKE Phase 1 یا همان فاز یک بین دو Peer یک Authentication( احراض هویت ) انجام میشود و دو Peer در واقع در این فاز با یک دیگر Negotiation ( مذاکره ) میکنند و یک Channel امن به منظور تبادل پارامتر های SA و IKE

از جمله پارامتر ها و کار های که در این فاز انجام میشود:

  • 1: انجام Authentication بین دو طرف یا همان دو Peer
  • 2: انجام Negotiation بین دو طرف و تبادل پارامتر های SA و Policy به منظور Match بودن چندین پارامتر مثله

Encryption Algorithm ( AES ,DES ,3DES And etc... )

Hash Algorithm ( MD5, SHA1 And etc... )

  • 3: تبادل Per shared key
نکته: این پارامتر ها توسط Diffie-Hellman بین دو Peer تبادل میشود

بعد از فاز یک IKE یک Tunnel امن به منظور مذاکرات پارامتر های IKE Phase 2 ساخته میشود

فاز 1 در دوحالت Main Mode و Aggressive Mode اتفاق میوفتد که به شرح زیر است:

Main Mode:

در Main mode تبادل اطلاعات به سه قسمت تقسیم میشود

First Exchange:

در این قسمت تبادل پارامتر های SA و انتخاب Hash Algorithm و Encryption Algorithm انجام میشود

Second exchange:

در این قسمت Secret Key ساخته میشود و بین دو Peer با استفاده از پروتکل Diffie-Hellman تبادل میشوند به منظور Match بودن

Third exchange:

هویت دو طرف تایید و پارامتر ها تبادل شده, و سعی در ساخت یک Tunnel امن برای برقراری فاز 2

Aggressive mode:

در Aggressive mode پارامتر های کمتری ردوبدل میشود پس بسته های کمتری نیز ردبدل میشود و از سرعت بالایی برخوردار است. مشکل این حالت این است که پارامتر ها قبل از تشکیل یک‌ Channel امن ردوبدل میشوند که در این صورت یک نفر میتواند رابط میانی آن هارا Sniff کند

IKE Phase 2:

در فاز دوم مذاکره 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 مستقل خواهند بود

AH:

  • *:تمامیت داده های ارسالی
  • *:رد از ارسال دوباره بسته ها( Anti-Reply )
  • *:احراض هویت و تصدیق هویت دو طرف
  • این پروتکل به منظور تمامیت ارسال بسته ها از HMAC استفاده میکند

ESP:

  • *:محرمانگی( Integrity )
  • *:احراض هویت مبدا ارسال داده
  • *:رد ارسال دوباره بسته ها( Anti-Reply )
  • پروتکل ESP هم امنیت تمامیت داده (سلامت داده‌های ارسالی) پکت‌هایی که از HMAC استفاده می‌کنند را تأمین کنید و هم محرمانگی از طریق اصول رمزنگاری ( Encryption principle ) بکار گرفته شده

پیاده سازی L2L IPsec در سیسکو برای درک بهتر و اشنایی بیشتر با 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

دستور Verification

R1:

R1#show crypto ipsec sa

R2:

R2#show crypto ipsec sa

نویسنده:امیرحسین تنگسیری‌نژاد

ipsec
شاید از این پست‌ها خوشتان بیاید