Fundamentals of VPN Technology and Cryptography
[COLOR=#ff8c00](Public Key Cryptography Standard(PKCS[/COLOR]
برای PKI تعدادی استاندارد وجود دارد که برای کار با Digital Certificateها استفاده میشود که شامل موارد زیر میباشد:
- [COLOR=#0000cd]PKCS#10[/COLOR]
برای این استاندارد فرمتی برای Certificate Request میباشد.
- [COLOR=#0000cd]PKCS#7[/COLOR]
این استاندارد فرمتی برای Response به Certificate Request از طرف CA میباشد به عبارت دیگر نقطه مقابل PKCS#10 میباشد.
- [COLOR=#0000cd]PKCS#1[/COLOR]
استانداردی برای RSA Cryptography میباشد.
- [COLOR=#0000cd]PKCS#12[/COLOR]
فرمتی برای ذخیره هر دو کلید Public و Private میباشد که توسط یک پسورد Symmetric میتوان آن را Unlock کرد.
- [COLOR=#0000cd]PKCS#3[/COLOR]
فرمتی برای تبادل کلیدها توسط Diffe-Hellman میباشد.
[COLOR=#ff8c00](Simple Certificate Enrollment Protocol(SCEP[/COLOR]
یکی از پروتکلهای شرکت Cisco میباشد که با استفاده از آن میتوان عملیات Request و Install یک Certificate را از یک CA به صورت اتوماتیک انجام داد.
در شکل زیر میتوانید نحوه کار SCEP را مشاهده کنید.
[CENTER][IMG]http://s8.picofile.com/file/8338317518/SCEK.JPG[/IMG][/CENTER]
[COLOR=#ff8c00]Revoked Certificates[/COLOR]
برای مشاهده Certificateهایی که باطل یا Revoke شدهاند بایستی لیست CRL را با استفاده از پروتکل HTTP و LDAP بررسی کنیم به عبارت دیگر به صفحه HTTP یک CRL رفته و با استفاده از پروتکل LDAP بایستی به صورت Manual عمل جستجو Certificate را انجام دهیم.
در شکل زیر میتوانید دلایلی که میتواند باعث شود که یک Certificate باطل یا Revoke شود را مشاهده کنید.
[IMG]http://s8.picofile.com/file/8338325200/ddfdfdfdf151515151.JPG[/IMG]
[COLOR=#ff8c00]
Online Certificate Status Protocol[/COLOR]
پروتکلی است که با استفاده از آن میتوان به صورت Online وضعیت یک Certificate را بر اساس Serial Number آن بررسی کرد و دیگر نیازی به بررسی تمام لیست نمیباشد و خود این پروتکل عملیات جستجو را برای ما انجام میدهد.
در شکل زیر میتوانید ساختار OCSP را مشاهده کنید.
[CENTER][IMG]http://s9.picofile.com/file/8338325368/OCSP.JPG[/IMG][/CENTER]
[COLOR=#ff8c00]
(Authentication,Authorization,Accounting(AAA[/COLOR]
عملیات بررسی Revoke Certificateها را میتوان توسط Cisco AAA نیز انجام داد ولی از آنجایی که این روش مختص شرکت سیسکو میباشد اغلب در PKI استفاده نمیشود.
[COLOR=#ff8c00]Use For Digital Certificate[/COLOR]
کاربرد Certificate شامل موارد زیر است:
- [COLOR=#0000cd]HTTPS یا (SSL (Secure Soket Layer[/COLOR]
بیشتر در صفحات بانکی استفاده میشود.
- [COLOR=#0000cd]IPSEC VPN[/COLOR]
بیشتر در قسمت Authentication میان سایتها استفاده میشود.
- [COLOR=#0000cd]802.1x [/COLOR]
برای Authentication یک کاربر استفاده میشود.
[COLOR=#ff8c00]PKI Topologies[/COLOR]
انواع توپولوژیهایی که در PKI استفاده میشود شامل موارد زیر میباشد:
- [COLOR=#0000cd]Single Root[/COLOR]
در این توپولوژی یک Root CA وجود دارد که وظیفه اختصاص Certificate را برعهده دارد که برای Scaleهای کوچک مناسب میباشد.
در شکل زیر میتوانید ساختار Single Root CA را مشاهده کنید.
[CENTER][IMG]http://s8.picofile.com/file/8338327576/Root_CA.JPG[/IMG][/CENTER]
[COLOR=#ff8c00]
Hierarchical CA and Subordinate CA[/COLOR]
در این توپولوژی شما یک Root CA و چندین Subordinate CA دارید که Subordinate CAها Certificate خود را از Root CA میگیرند و Clientها نیز Certificate خود را از Subordinate CA میگیرند و شما برای Authentication یک CA نیاز به Certificate و Root دارید علاوه بر آن نیز نیاز به Certificate Subordinate دارید.
این توپولوژی بیشتر در سازمانهای بزرگ استفاده میشود.
در شکل زیر Hierarchical CA را مشاهده میکنید:
[CENTER][IMG]http://s8.picofile.com/file/8338328000/Subordinate_CA.JPG[/IMG][/CENTER]
[COLOR=#ff8c00]
Cross-Certifying CA[/COLOR]
در این نوع توپولوژی یک Trust Relationship میان CAها وجود دارد که باعث میشود از Certificate یک یا چندین CA دیگر نیز در ساختار خود استفاده کنیم.
در شکل زیر میتوانید نحوه عملکرد Cross-Certifying CA را مشاهده کنید.
[CENTER][IMG]http://s8.picofile.com/file/8338328200/CROSS_2.JPG[/IMG][/CENTER]
در مبحث آموزشی بعدی؛ اقدام به پیادهسازی یک سناریو عملی جهت راهاندازی یک CA Server برروی Cisco Router میکنیم؛ که هر SITE بایستی بتوانند CA Server را Authenticate کنند و در مرحله بعد بتوانند یک Certificate از CA نیز Enroll کنند و همچنین بایستی یک Identity Certificate از CA بتوانند دریافت کنند که این Certificate در سناریوهای بعدی برای اجرا و پیادهسازی IPSEC و یا SSL قابل استفاده خواهد بود.
Fundamentals of VPN Technology and Cryptography
[CENTER][B][COLOR=#ff8c00][I]Scenario Implement Cisco CA Server[/I][/COLOR][/B][/CENTER]
در این سناریو قصد داریم برروی Cisco Router یک CA Server راهاندازی کنیم به نحوی که هر سایت باید CA Server را Authenticate کنند و در مرحله بعد بایستی یک Certificate از CA درخواست یا Enroll کنند و در مرحله آخر نیز بایستی یک Identity Certificate از CA دریافت کنند که این Certificate در سناریوهای بعدی برای پیادهسازی IPSEC و یا SSL قابل استفاده میباشد.
[IMG]http://s9.picofile.com/file/8338755318/SCSNIRO.JPG[/IMG]
در سناریوهای PKI شما بایستی حتما از NTP برای Sync زمان میان تجهیزات استفاده کنید در این مرحله بایستی تنظیمات مربوط به IP Address سرور CA را انجام دهید.
[IMG]http://s9.picofile.com/file/8338652742/PKI_1.JPG[/IMG]
در این مرحله باید تنظیمات مربوط به IP Address روتر R1 را انجام دهید.
[CENTER][IMG]http://s8.picofile.com/file/8338653242/Router1.JPG[/IMG]
[/CENTER]
در این مرحله باید تنظیمات مربوط به IP Address روتر R2 را انجام دهید.
[CENTER][IMG]http://s9.picofile.com/file/8338653250/Router_2.JPG[/IMG]
[/CENTER]
در این مرحله باید چک کنید که آیا CA Server به روتر 1 و روتر 2 دسترسی دارد یا خیر؟
[IMG]http://s9.picofile.com/file/8338757176/ping.JPG[/IMG]
در این مرحله بایستی برای CA Server یک Key Pair تولید کنید.
[CENTER][IMG]http://s8.picofile.com/file/8338758268/123456.JPG[/IMG][/CENTER]
در این مرحله بایستی Key Pair CA را در محل دیگر Export کنید تا در هر زمانی قابل دسترس باشد.
[CENTER][IMG]http://s9.picofile.com/file/8338758784/3des.JPG[/IMG][/CENTER]
در این مرحله بایستی HTTP Server را برروی سرور فعال کنید.
[CENTER][IMG]http://s8.picofile.com/file/8338758950/HTTP.JPG[/IMG]
[/CENTER]
در این مرحله بایستی مشخصات CA Server را پیکربندی کنید.
[CENTER][IMG]http://s9.picofile.com/file/8338760392/DSDSDSD.JPG[/IMG][/CENTER]
در این مرحله شما میتوانید وضعیت Certificate مربوط به CA Server را مشاهده کنید.
[CENTER][IMG]http://s9.picofile.com/file/8338760542/SSSSSS.JPG[/IMG][/CENTER]
در این مرحله بایستی در روتر 1 مشخصات CA Server را مشخص کنیم.
[CENTER][IMG]http://s9.picofile.com/file/8338760950/ENROOOO.JPG[/IMG][/CENTER]
در این مرحله بایستی Certificate CA را Authenticate کنید.
[CENTER][IMG]http://s8.picofile.com/file/8338761400/TRUSTTTTT.JPG[/IMG][/CENTER]
در این مرحله بایستی برای روتر 1 یک Certificate از CA Server درخواست یا Enroll کنید.
[CENTER][IMG]http://s9.picofile.com/file/8338762126/CRYPTOOOO.JPG[/IMG][/CENTER]
در این مرحله شما میتوانید Certificate روتر 1 را مشاهده کنید.
[CENTER][IMG]http://s9.picofile.com/file/8338762434/googogli.JPG[/IMG][/CENTER]
در این مرحله شما میتوانید مانند روتر 1 نسبت به پیکربندی روتر 2 اقدام نموده و تست Verify بگیرید.
Fundamentals of VPN Technology and Cryptography
[COLOR=#ff8c00]Aggressive Mode
[/COLOR]در Remote Access VPN بیشتر از Aggressive Mode استفاده میشود.
[COLOR=#ff8c00]IKE Phase 2[/COLOR]
در این فاز نحوه Negotiation میان دو سایت انجام میشود.
در این فاز مرحله زیر انجام میشود:
- [COLOR=#0000cd](Security Association(SA[/COLOR]
در این مرحله بایستی مشخص شود که از میان ESP و AH کدام یک استفاده میشود و در هر کدام از چه الگوریتمی برای Encryption و یا HMAC استفاده شود.
به فاز یک IKE SA میگویند و به فاز دو IPSEC SA میگویند؛ به فاز دو Quick Mode هم گفته میشود که با Packet 3 انجام میشود. بنابراین فاز یک و دو با Packet 9 انجام میشود. بعد از اینکه فاز یک و دو انجام شد در IPSec دیتا Secure خواهد شد.
در IPsec از دو Mode زیر استفاده میشود:
[COLOR=#ff8c00]1- Tunnel Mode [/COLOR]
زمانی از Mode استفاده میشود که قرار است دو سایت یکدیگر را ببینند و از طرف دیگر دیتای میان آنها امن باشد.
[COLOR=#ff8c00]2- Transport Mode[/COLOR]
زمانی از این Mode استفاده میشود که دو سایت یکدیگر را میبینند و فقط قرار است دیتای میان آنها امن شود برای مثال دو سایت از طریق MPLS VPN با یکدیگر ارتباط دارند و فقط قرار است دیتای میان آنها امن شود.
در شکل زیر میتوانید تفاوت میان Tunnel Mode و Transport Mode را مشاهده کنید.
[IMG]http://s8.picofile.com/file/8341064426/Tunnel.JPG[/IMG]
در شکل زیر میتوانید ساختار Header IPsec را در حالتهای Tunnel و Transport مشاهده کنید.
[IMG]http://s8.picofile.com/file/8341064468/Tunnel1.JPG[/IMG]
[COLOR=#ff8c00]تفاوت میان ESP و AH [/COLOR]
در ESP عملیات زیر برروی دیتا انجام میشود:
- Confidentiality
- Data Integrity/Authentication
- Anti-Replay
در AH عملیات زیر برروی دیتا انجام میشود:
- Data Integrity/Authentication
- Anti-Replay
برای کلیه توافقهای انجام شده در هر دو طرف در فاز دو یک SPI به صورت Random ایجاد میشود که اشاره به الگوریتمهای Encryption و Authentication و غیره دارد که در زمانی که شما یک دیتای رمز شده را به سمت مقابل ارسال میکنید این SPI نیز برای سمت مقابل ارسال میشود که سمت مقابل بر اساس این SPI میفهمد که از چه الگوریتمهای برای Decryption و یا Hashing بایستی استفاده کند.
در هر طرف یک دیتابیسی به نام SAD وجود دارد که این SPIها به همراه توافقهای انجام شده آنها در آن وجود دارد.
[B]Chapter 7 Implementing IPsec Site-to-Site VPNs
[/B]
در شکل زیر میتوانید نحوه پیادهسازی IPsec را به صورت Site-To-Site مشاهده کنید.
[IMG]http://s8.picofile.com/file/8341065200/Networkssssss.JPG[/IMG]
پروتکلهایی که برای پیادهسازی IPsec مورد نیاز است شامل موارد زیر میباشد:
- [COLOR=#ff8c00]UDP Port 500[/COLOR]
از این پروتکل در IKE version 1 برای Negotiate میان دو سایت استفاده میشود و بایستی این پورت برروی فایروالهای میانی باز شود.
- [COLOR=#ff8c00]UDP Port 4500 [/COLOR]
در صورتی که میان دو سایت از NAT استفاده شده باشد IPSEC کار نخواهد کرد و دلیل آن این است که پروتکل IPsec در لایه IP کار میکند و در زمان Translation بدلیل اینکه پورتی برای Translation وجود ندارد به مشکل خواهد خورد که برای حل این مشکل از Nat Traversal استفاده میشود که در در این حالت یک پورت UDP 4500 میان ESP و IP Header اضافه میکند تا NAT برروی IPsec انجام شود این قابلیت به صورت پیش فرض فعال میباشد.
- [COLOR=#ff8c00]Layer 4 Protocol 50 [/COLOR]
این پروتکل برای Encapsulation و Decapsulation در IPsec Packet ها استفاده میشود که این عملیات توسط Encapsulation Security Payload یا ESP انجام میشود.
-[COLOR=#ff8c00] Layer 4 Protocol 51 [/COLOR]
این پروتکل به Authentication Header یا AH معروف است که در IPSEC استفاده میشود بدلیل اینکه فاقد Encryption در IPsec میباشد از آن استفاده نمیشود و بجای آن از ESP استفاده میشود.
در قسمت بعد به ایجاد یک سناریو میان دفتر مرکزی Central Office که از طریق یک ASA Firewall برای لایه دفاعی استفاده کرده است و Branch آن سازمان که از یک Router IOS استفاده کرده است یک Site-To-Site IPsec VPN راه اندازی میکنیم.
Fundamentals of VPN Technology and Cryptography
سناریو شماره 1:
در این سناریو قصد داریم که میان Central Office که دفتر مرکزی یک سازمان میباشد و از یک ASA Firewall برای لایه دفاعی استفاده کرده است و Branch آن سازمان که از یک Router IOS استفاده کرده؛ یک Site to Site IPSec VPN راهاندازی کنیم.
در ابتدا برای ایجاد سناریو به IP Address UNL از طریق WEB متصل میشویم، همانطوری که در شکل زیر مشاهده میکنید:
[IMG]http://s8.picofile.com/file/8343582642/UNLLLL.JPG[/IMG]
در این مرحله برای ورود به UNL بایستی از Username admin و Password unl استفاده کنید و سپس برروی دکمه login کلیک کنید؛ همانطوری که در شکل زیر مشاهده میکنید:
[IMG]http://s8.picofile.com/file/8343582726/asasas.JPG[/IMG]
در این قسمت باید یک Folder برای پروژه خود تعریف کنید؛ همانطوری که در شکل زیر مشاهده میکنید:
[IMG]http://s9.picofile.com/file/8343582834/Folder.JPG[/IMG]
در این قسمت یک نام برای پروژه خود در نظر بگیرید؛ همانظوری که در شکل زیر مشاهده میکنید:
[IMG]http://s8.picofile.com/file/8343582926/cancel.JPG[/IMG]
در درون Folder پروژه یک LAB جدید ایجاد کنید؛ همانظوری که در شکل زیر مشاهده میکنید:
[IMG]http://s8.picofile.com/file/8343583134/LAB.JPG[/IMG]
در این قسمت باید یک نام برای LAB خود ایجاد کنید؛ همانطوری که در شکل زیر مشاهده میکنید:
[IMG]http://s8.picofile.com/file/8343583242/NAME_CCNA.JPG[/IMG]
در این قسمت برروی LAB خود کلیک کرده و سپس برروی دکمه Open کلیک کنید تا پروژه باز شود؛ همانطوری که در شکل زیر مشاهده میکنید:
[IMG]http://s9.picofile.com/file/8343583468/UUU.JPG[/IMG]
برای اضافه کردن ASA Firewall برروی گزینه Add an Object کلیک کنید؛ همانطوری که در شکل زیر مشاهده میکنید:
[IMG]http://s8.picofile.com/file/8343583626/FIFI.JPG[/IMG]
[IMG]http://s8.picofile.com/file/8343583700/NODE.JPG[/IMG]
در این قسمت از لیست Template باید Cisco ASA را انتخاب کنید؛ همانطوری که در شکل زیر مشاهده میکنید:
[IMG]http://s9.picofile.com/file/8343583742/Cisss.JPG[/IMG]
در این قسمت برروی دکمه Save کلیک کنید؛ همانطوری که در شکل زیر مشاهده میکنید:
[IMG]http://s8.picofile.com/file/8343583884/SAVE.JPG[/IMG]
در این قسمت برای اضافه کردن Router به پروژه خود برروی گزینه Add on Object کلیک کنید؛ همانظوری که در شکل زیر مشاهده میکنید:
[IMG]http://s8.picofile.com/file/8343583984/OBJECT.JPG[/IMG]
[IMG]http://s8.picofile.com/file/8343584018/NODE_.JPG[/IMG]
در این قسمت باید از لیست Template روتر مورد نظر را انتخاب کنید؛ همانظوری که در شکل زیر مشاهده میکنید:
[IMG]http://s8.picofile.com/file/8343584134/RRRRRRRRRRRRR.JPG[/IMG]
در این قسمت بعد از انتخاب روتر در قسمت Slot 1 ماژول مورد نظر را انتخاب کنید و سپس دکمه Save را بزنید؛ همانظوری که در شکل زیر مشاهده میکنید:
[IMG]http://s8.picofile.com/file/8343584284/FFFFFFFFFFFFFFFFF.JPG[/IMG]
تمامی مراحل را برای اضافه کردن یک Router دیگر به پروژه انجام دهید؛ همانطوری که در شکل زیر مشاهده میکنید:
[IMG]http://s8.picofile.com/file/8343584376/VVIIIIIIIIIIIIIIIIIIIII.JPG[/IMG]
[IMG]http://s8.picofile.com/file/8343584400/757575.JPG[/IMG]
در این قسمت برای متصل کردن ASA به شبکه External باید یک Network به پروژه اضافه کنیم تا بتوانیم از طریق ASDM به آن متصل شویم.
[IMG]http://s9.picofile.com/file/8343584568/999999.JPG[/IMG]
[IMG]http://s8.picofile.com/file/8343584650/888888.JPG[/IMG]
در این قسمت برای متصل کردن روترها و ASA به هم از گزینه Connect در UNL استفاده میکنیم؛ همانطوری که در شکل زیر مشاهده میکنید:
[IMG]http://s8.picofile.com/file/8343584742/141414141.JPG[/IMG]
[IMG]http://s8.picofile.com/file/8343584792/222222222222.JPG[/IMG]
[IMG]http://s8.picofile.com/file/8343584884/555555555.JPG[/IMG]