در این مقاله، من میخواهم دستورالعملهای گام به گام در مورد اینکه چگونه میتوانید به سرعت مقیاسپذیرترین طرح را در حال حاضر اجرا کنید، ارائه کنم. VPN دسترسی از راه دور مبتنی بر دسترسی AnyConnect و Cisco ASA - خوشه تعادل بار VPN.
مقدمه: بسیاری از شرکتها در سراسر جهان، با توجه به وضعیت کنونی COVID-19، تلاش میکنند تا کارمندان خود را به کار از راه دور منتقل کنند. با توجه به انتقال انبوه به کار از راه دور، بار روی دروازه های VPN موجود شرکت ها به شدت در حال افزایش است و توانایی بسیار سریع برای مقیاس بندی آنها مورد نیاز است. از سوی دیگر، بسیاری از شرکت ها مجبور هستند با عجله بر مفهوم کار از راه دور از ابتدا مسلط شوند.
من یک راهنمای گام به گام برای استقرار ساده خوشه تعادل بار VPN به عنوان مقیاس پذیرترین فناوری VPN آماده کرده ام.
مثال زیر از نظر الگوریتم های احراز هویت و مجوز استفاده شده بسیار ساده خواهد بود، اما گزینه خوبی برای شروع سریع (که در حال حاضر برای بسیاری کافی نیست) با امکان تطبیق عمیق با نیازهای شما در حین استقرار خواهد بود. روند.
اطلاعات مختصر: فن آوری خوشه متعادل بار VPN به معنای اصلی خود یک فایل اور نیست و یک تابع خوشه بندی نیست، این فناوری می تواند مدل های کاملاً متفاوت ASA (با محدودیت های خاص) را به منظور بارگیری اتصالات VPN با دسترسی از راه دور ترکیب کند. هیچ هماهنگی جلسات و پیکربندیها بین گرههای چنین خوشهای وجود ندارد، اما میتوان به طور خودکار اتصالات VPN را بارگذاری کرد و از تحمل خطا در اتصالات VPN تا زمانی که حداقل یک گره فعال در خوشه باقی بماند، اطمینان حاصل کرد. بار در خوشه به طور خودکار بسته به حجم کاری گره ها با تعداد جلسات VPN متعادل می شود.
برای خرابی گرههای خاص خوشه (در صورت نیاز)، میتوان از یک فایلکننده استفاده کرد، بنابراین اتصال فعال توسط گره اصلی فایلکننده کنترل میشود. انتقال فایل شرط لازم برای اطمینان از تحمل خطا در خوشه Load-Balancing نیست، خود خوشه، در صورت خرابی گره، جلسه کاربر را به گره زنده دیگری منتقل می کند، اما بدون ذخیره وضعیت اتصال، که دقیقاً همین است. ارائه شده توسط فایل کننده بر این اساس، در صورت لزوم، امکان ترکیب این دو فناوری وجود دارد.
یک خوشه بار تعادل VPN می تواند بیش از دو گره داشته باشد.
VPN Load-Balancing Cluster در ASA 5512-X و بالاتر پشتیبانی می شود.
از آنجایی که هر ASA در کلاستر بارگذاری تعادل VPN یک واحد مستقل از نظر تنظیمات است، ما تمام مراحل پیکربندی را به صورت جداگانه در هر دستگاه جداگانه انجام می دهیم.
نمونههای ASAv از الگوهای مورد نیاز (ASAv5/10/30/50) را از تصویر مستقر میکنیم.
ما رابطهای INSIDE / OUTSIDE را به همان VLANها اختصاص میدهیم (Outside در VLAN خودش، INSIDE در خودش، اما به طور کلی در داخل خوشه، توپولوژی را ببینید)، مهم است که رابطهای یک نوع در همان بخش L2 باشند.
مجوزها:
در حال حاضر نصب ASAv هیچ مجوزی نخواهد داشت و به 100 کیلوبیت بر ثانیه محدود می شود.
برای نصب مجوز، باید یک توکن در حساب هوشمند خود ایجاد کنید: https://software.cisco.com/ -> مجوز نرم افزار هوشمند
در پنجره باز شده روی دکمه کلیک کنید توکن جدید
اطمینان حاصل کنید که در پنجره باز شده یک فیلد فعال وجود دارد و یک علامت تیک زده شده است قابلیت صادرات کنترل شده مجاز است... بدون فعال بودن این فیلد، نمی توانید از عملکردهای رمزگذاری قوی و بر این اساس، VPN استفاده کنید. اگر این فیلد فعال نیست، لطفاً با تیم حساب خود تماس بگیرید و درخواست فعالسازی کنید.
پس از فشار دادن دکمه ایجاد توکن، یک توکن ایجاد می شود که از آن برای دریافت مجوز برای ASAv استفاده می کنیم، آن را کپی کنید:
مراحل C,D,E را برای هر ASAv مستقر شده تکرار کنید.
برای سهولت در کپی کردن توکن، اجازه دهید موقتاً به telnet اجازه دهیم. بیایید هر ASA را پیکربندی کنیم (مثال زیر تنظیمات ASA-1 را نشان می دهد). telnet با خارج کار نمی کند، اگر واقعاً به آن نیاز دارید، سطح امنیتی را به 100 به خارج تغییر دهید، سپس آن را برگردانید.
!
ciscoasa(config)# int gi0/0
ciscoasa(config)# nameif outside
ciscoasa(config)# ip address 192.168.31.30 255.255.255.0
ciscoasa(config)# no shut
!
ciscoasa(config)# int gi0/1
ciscoasa(config)# nameif inside
ciscoasa(config)# ip address 192.168.255.2 255.255.255.0
ciscoasa(config)# no shut
!
ciscoasa(config)# telnet 0 0 inside
ciscoasa(config)# username admin password cisco priv 15
ciscoasa(config)# ena password cisco
ciscoasa(config)# aaa authentication telnet console LOCAL
!
ciscoasa(config)# route outside 0 0 192.168.31.1
!
ciscoasa(config)# wr
!
برای ثبت توکن در فضای ابری Smart-Account، باید دسترسی به اینترنت را برای ASA فراهم کنید. جزئیات اینجا.
به طور خلاصه، ASA مورد نیاز است:
دسترسی از طریق HTTPS به اینترنت؛
همگام سازی زمان (به طور صحیح تر، از طریق NTP)؛
سرور DNS ثبت شده؛
ما به ASA خود تلنت می کنیم و تنظیماتی را برای فعال کردن مجوز از طریق Smart-Account انجام می دهیم.
!
ciscoasa(config)# clock set 19:21:00 Mar 18 2020
ciscoasa(config)# clock timezone MSK 3
ciscoasa(config)# ntp server 192.168.99.136
!
ciscoasa(config)# dns domain-lookup outside
ciscoasa(config)# DNS server-group DefaultDNS
ciscoasa(config-dns-server-group)# name-server 192.168.99.132
!
! Проверим работу DNS:
!
ciscoasa(config-dns-server-group)# ping ya.ru
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 87.250.250.242, timeout is 2 seconds:
!!!!!
!
! Проверим синхронизацию NTP:
!
ciscoasa(config)# show ntp associations
address ref clock st when poll reach delay offset disp
*~192.168.99.136 91.189.94.4 3 63 64 1 36.7 1.85 17.5
* master (synced), # master (unsynced), + selected, - candidate, ~ configured
!
! Установим конфигурацию нашей ASAv для Smart-Licensing (в соответствии с Вашим профилем, в моем случае 100М для примера)
!
ciscoasa(config)# license smart
ciscoasa(config-smart-lic)# feature tier standard
ciscoasa(config-smart-lic)# throughput level 100M
!
! В случае необходимости можно настроить доступ в Интернет через прокси используйте следующий блок команд:
!call-home
! http-proxy ip_address port port
!
! Далее мы вставляем скопированный из портала Smart-Account токен (<token>) и регистрируем лицензию
!
ciscoasa(config)# end
ciscoasa# license smart register idtoken <token>
ما بررسی می کنیم که دستگاه با موفقیت مجوز ثبت کرده است و گزینه های رمزگذاری موجود است:
یک SSL-VPN اولیه را در هر دروازه تنظیم کنید
سپس، دسترسی را از طریق SSH و ASDM پیکربندی کنید:
ciscoasa(config)# ssh ver 2
ciscoasa(config)# aaa authentication ssh console LOCAL
ciscoasa(config)# aaa authentication http console LOCAL
ciscoasa(config)# hostname vpn-demo-1
vpn-demo-1(config)# domain-name ashes.cc
vpn-demo-1(config)# cry key gen rsa general-keys modulus 4096
vpn-demo-1(config)# ssh 0 0 inside
vpn-demo-1(config)# http 0 0 inside
!
! Поднимем сервер HTTPS для ASDM на порту 445 чтобы не пересекаться с SSL-VPN порталом
!
vpn-demo-1(config)# http server enable 445
!
برای اینکه ASDM کار کند، ابتدا باید آن را از وب سایت cisco.com دانلود کنید، در مورد من فایل زیر است:
برای اینکه کلاینت AnyConnect کار کند، باید برای هر سیستم عامل دسکتاپ مشتری استفاده شده (برنامه ریزی شده برای استفاده از Linux / Windows / MAC) یک تصویر در هر ASA آپلود کنید، به یک فایل با بسته استقرار Headend در عنوان:
فایل های دانلود شده را می توان به عنوان مثال در یک سرور FTP بارگذاری کرد و در هر ASA جداگانه آپلود کرد:
ما گواهینامه ASDM و Self-Signed را برای SSL-VPN پیکربندی می کنیم (توصیه می شود از یک گواهی قابل اعتماد در تولید استفاده کنید). مجموعه FQDN آدرس خوشه مجازی (vpn-demo.ashes.cc)، و همچنین هر FQDN مرتبط با آدرس خارجی هر گره از خوشه، باید در منطقه DNS خارجی به آدرس IP رابط OUTSIDE حل شود. (یا به آدرس نگاشت شده در صورت استفاده از پورت فوروارد udp/443 (DTLS) و tcp/443 (TLS)). اطلاعات دقیق در مورد الزامات گواهی در بخش مشخص شده است تصدیق اصالت گواهینامه مستندات.
!
vpn-demo-1(config)# crypto ca trustpoint SELF
vpn-demo-1(config-ca-trustpoint)# enrollment self
vpn-demo-1(config-ca-trustpoint)# fqdn vpn-demo.ashes.cc
vpn-demo-1(config-ca-trustpoint)# subject-name cn=*.ashes.cc, ou=ashes-lab, o=ashes, c=ru
vpn-demo-1(config-ca-trustpoint)# serial-number
vpn-demo-1(config-ca-trustpoint)# crl configure
vpn-demo-1(config-ca-crl)# cry ca enroll SELF
% The fully-qualified domain name in the certificate will be: vpn-demo.ashes.cc
Generate Self-Signed Certificate? [yes/no]: yes
vpn-demo-1(config)#
!
vpn-demo-1(config)# sh cry ca certificates
Certificate
Status: Available
Certificate Serial Number: 4d43725e
Certificate Usage: General Purpose
Public Key Type: RSA (4096 bits)
Signature Algorithm: SHA256 with RSA Encryption
Issuer Name:
serialNumber=9A439T02F95
hostname=vpn-demo.ashes.cc
cn=*.ashes.cc
ou=ashes-lab
o=ashes
c=ru
Subject Name:
serialNumber=9A439T02F95
hostname=vpn-demo.ashes.cc
cn=*.ashes.cc
ou=ashes-lab
o=ashes
c=ru
Validity Date:
start date: 00:16:17 MSK Mar 19 2020
end date: 00:16:17 MSK Mar 17 2030
Storage: config
Associated Trustpoints: SELF
CA Certificate
Status: Available
Certificate Serial Number: 0509
Certificate Usage: General Purpose
Public Key Type: RSA (4096 bits)
Signature Algorithm: SHA1 with RSA Encryption
Issuer Name:
cn=QuoVadis Root CA 2
o=QuoVadis Limited
c=BM
Subject Name:
cn=QuoVadis Root CA 2
o=QuoVadis Limited
c=BM
Validity Date:
start date: 21:27:00 MSK Nov 24 2006
end date: 21:23:33 MSK Nov 24 2031
Storage: config
Associated Trustpoints: _SmartCallHome_ServerCA
فراموش نکنید که پورت را برای بررسی اینکه ASDM کار می کند مشخص کنید، به عنوان مثال:
بیایید تنظیمات اولیه تونل را انجام دهیم:
بیایید شبکه شرکتی را از طریق تونل در دسترس قرار دهیم و اجازه دهیم اینترنت مستقیماً راه برود (ایمنترین روش نیست اگر هیچ حفاظتی در میزبان متصل وجود نداشته باشد، امکان نفوذ از طریق میزبان آلوده و نمایش دادههای شرکت وجود دارد، گزینه تونل تقسیم تونل-سیاست به تمام ترافیک میزبان اجازه ورود به تونل را می دهد. با این اوصاف تقسیم تونل این امکان را فراهم می کند که دروازه VPN را بارگیری کنید و ترافیک اینترنت میزبان را پردازش نکنید)
بیایید آدرسهایی را از زیرشبکه 192.168.20.0/24 به میزبانهای موجود در تونل صادر کنیم (از 10 تا 30 آدرس (برای گره شماره 1) جمع آوری کنیم). هر گره از خوشه VPN باید استخر مخصوص به خود را داشته باشد.
ما احراز هویت اولیه را با یک کاربر محلی ایجاد شده در ASA انجام خواهیم داد (این توصیه نمی شود، این ساده ترین روش است)، بهتر است احراز هویت را از طریق انجام دهید. LDAP/RADIUS، یا بهتر است، کراوات احراز هویت چند عاملی (MFA)به عنوان مثال Cisco DUO.
(اختیاری): در مثال بالا از یک کاربر محلی در ITU برای احراز هویت کاربران از راه دور استفاده کردیم که البته به جز در آزمایشگاه، کاربرد ضعیفی دارد. من مثالی از نحوه تطبیق سریع تنظیمات برای احراز هویت را ارائه خواهم داد شعاع سرور، به عنوان مثال استفاده می شود موتور خدمات هویت سیسکو:
این ادغام نه تنها امکان ادغام سریع رویه احراز هویت با سرویس دایرکتوری AD را فراهم می کند، بلکه تشخیص اینکه آیا رایانه متصل به AD تعلق دارد یا خیر، درک اینکه آیا این دستگاه شرکتی است یا شخصی، و همچنین ارزیابی وضعیت دستگاه متصل را ممکن می سازد. .
بیایید Transparent NAT را طوری پیکربندی کنیم که ترافیک بین مشتری و منابع شبکه شبکه شرکتی خط خورده نباشد:
vpn-demo-1(config-network-object)# subnet 192.168.20.0 255.255.255.0
!
vpn-demo-1(config)# nat (inside,outside) source static any any destination static vpn-users vpn-users no-proxy-arp
(اختیاری): برای اینکه مشتریان خود را از طریق ASA در معرض اینترنت قرار دهیم (هنگام استفاده تونل گزینه ها) با استفاده از PAT، و همچنین خروج از همان رابط OUTSIDE که از آن متصل هستند، باید تنظیمات زیر را انجام دهید
هنگام استفاده از یک خوشه، بسیار مهم است که شبکه داخلی را فعال کنید تا بفهمد کدام ASA ترافیک برگشتی را به کاربران هدایت کند، برای این کار باید مسیرها / 32 آدرس صادر شده برای مشتریان را دوباره توزیع کنید.
در حال حاضر، ما هنوز خوشه را پیکربندی نکردهایم، اما از قبل دروازههای VPN در حال کار داریم که میتوانند به صورت جداگانه از طریق FQDN یا IP متصل شوند.
ما مشتری متصل را در جدول مسیریابی اولین ASA می بینیم:
برای اینکه کل خوشه VPN ما و کل شبکه شرکتی مسیر مشتری خود را بدانند، پیشوند مشتری را در یک پروتکل مسیریابی پویا توزیع می کنیم، به عنوان مثال OSPF:
اکنون ما یک مسیر به سمت مشتری از دروازه دوم ASA-2 داریم و کاربرانی که به دروازه های VPN مختلف در داخل خوشه متصل هستند، می توانند به عنوان مثال، مستقیماً از طریق یک تلفن نرم افزاری شرکتی ارتباط برقرار کنند و همچنین ترافیک را از منابع درخواست شده توسط کاربر برگردانند. به دروازه VPN مورد نظر بیایید:
بیایید به پیکربندی خوشه Load-Balancing ادامه دهیم.
آدرس 192.168.31.40 به عنوان یک IP مجازی استفاده خواهد شد (VIP - همه مشتریان VPN در ابتدا به آن متصل می شوند)، از این آدرس خوشه Master یک REDIRECT به یک گره خوشه کمتر بارگذاری می کند. یادت نره بنویس رکورد DNS رو به جلو و معکوس هم برای هر آدرس خارجی / FQDN هر گره از خوشه و هم برای VIP.
بیایید با نمایه AnyConnect که به طور خودکار از طریق ASDM بارگیری می شود، تجربه مشتری را راحت تر کنیم.
ما نمایه را به روشی مناسب نام گذاری می کنیم و خط مشی گروه خود را با آن مرتبط می کنیم:
پس از اتصال بعدی کلاینت، این نمایه به طور خودکار در کلاینت AnyConnect دانلود و نصب می شود، بنابراین در صورت نیاز به اتصال، کافی است آن را از لیست انتخاب کنید:
از آنجایی که ما این نمایه را تنها بر روی یک ASA با استفاده از ASDM ایجاد کردیم، فراموش نکنید که مراحل را در سایر ASA های خوشه تکرار کنید.
نتیجه گیری: بنابراین، ما به سرعت مجموعه ای از چندین دروازه VPN را با تعادل بار خودکار مستقر کردیم. افزودن گره های جدید به خوشه آسان است، با مقیاس افقی ساده با استقرار ماشین های مجازی ASAv جدید یا استفاده از ASA های سخت افزاری. سرویس گیرنده AnyConnect غنی از ویژگی ها می تواند اتصال از راه دور ایمن را با استفاده از وضعیت بدن (تخمین وضعیت)، به طور مؤثر در ارتباط با سیستم کنترل متمرکز و حسابداری دسترسی استفاده می شود موتور خدمات هویت.