حفاظت از کانال های ارتباطی VMware View توسط گواهینامه های SSL

تغیرات در VMware View

VMware View  پیشرفت ها و ویژگی های بسیاری دارد. در این مقاله ما به بررسی پیشرفت های ارتباطات HTTP بین اجزای View خواهیم پرداخت . در View 5.0 ، VMware از مخرن گواهینامه های فایل بیس JKS و PKCS12  در اجزای View پشتیبانی میکرد ، اما از View 5.1 به بعد ، VMware از مخرن گواهینامه های ویندوزی پشتیبانی میکند . این تغیرات اجازه ادغام بهتری با ساز و کار مدیریت گواهینامه ها میدهد. زمانی که شما به View 5.1 آپگرید میکنید ، مخرن گواهینامه های JKS و PKCS12  به صورت خودکار به مخرن گواهینامه ویندوز انتقال داده میشوند .

استفاده از SSL در حال حاضر برای ارتباطات HTTP بین اجزای View است . هرچند که یک مکانیزم Trust-on-first-use دخیل است ، بهترین راه درج گواهینامه های معتبر تایید شده توسط Certificate Authority (CA) مورد اعتماد در تمام اجزای View است . در View ، پنل مدیریتی View به شما وضعیت سلامت گواهینامه ها مربوط به اجزاء مناسب را نشان میدهد .

شکل 1  ارتباطات امن SSL بین اجزای مختلف View را نشان میدهد. در مورد vCenter Server  و  View Composer ، ادمین ها  این انتخاب را دارند تا گواهینامه های self-signed یا invalid را بعد از تاید هویت گواهینامه ، از محیط کاربری ادمین اضافه کنند .

مکانیزم احرازهویت SSL

احراز هویت SSL اساسا در مبنای پروتکل لایه امنیتی ترنسپورت TLS است . هدف اصلی TLS ارائه امنیت و تعاملات بین ارتباط دو نرم افزار است . پروتکل TLS Handshake ، سرور را با کلاینت ، و کلاینت را با سرور در صورت انتخاب ، احراز هویت میکند .  همچنین TLS قبل از اینکه پروتکل اپلیکیشن (سرور و کلاینت) اولین بایت دیتا را ارسال یا دریافت کند درمورد الگوریتم رمزنگاری و کلید های رمزنگاری مذاکره میکند . پروتکل Handshake یک کانال امن با موارد زیر میسازد:

  • Authenticating peers (client or server) using asymmetric (public-private) keys
  • Agreeing upon cryptographic protocols to be used, such as 3DES, RSA
  • Negotiating a shared secret

وقتی پروتکل handshake بین peers ها تکمیل شود ، peers شروع به برقراری ازتباط با مد کانال امن از طریق الگوریتم های رمزنگاری و کلید رمزنگاری مذاکره شده ، که حملات مردی در میان و استراق سمع را مسدود میکند.

 

جریان اعتبارسنجی گواهینامه X.509

این بخش جریان اعتبارسنجی گواهینامه X.509 ، فرم استاندارد گواهینامه های public key را توضیح میدهد. این تنظیمات  در Connection Server و  Security Server و  View Composer  و  vCenter Server اعمال میشود. وضعیت سلامت هرکدام از این اجزا در پنل مدیریتی View مطابق شکل زیر نشان داده میشود .

یک گواهینامه پیش فرض برای هرکدام از اینها ساخته میشود ، اما best practice میگوید که این گواهینامه ها را با یک گواهینامه صادر شده از یک CA سرور trusted جایگزین کنید .

هر Connection Server گواهینامه های دیگر اجزای متصل شده به آن را اعتبارسنجی میکند . در فلوچارت شکل زیر مراحل بررسی آنها نمایش داده شده :

Hostname match

Connection Server بررسی میکند که نام سرور بخشی از URL کانکشن باشد (در مواردی که Security Server ، برای URL های خارجی کانفیگ شده باشد) با یکی از اسم های subject در گواهینامه معرفی شده ، همخوان باشد. اگر این مقدار همخوان نباشد ، وضعیت کامپوننت موردنظر در پنل مدیریت View  پیغام Server’s Certificate does not match the URL را نشان میدهد.

Certificate issuer’s verification

Connection Server اعتبار صادرکننده گواهینامه و trusted بودن آن را بررسی میکند.

Certificate Expired/Not Yet Valid

اعتبار گواهینامه در زنجیره گواهینامه ها بررسی میشود تا مدت اعتبار و زمان گواهینامه صادر شده مشخص شود – اگر اعتبار نداشته باشند وضعیت کامپوننت موردنظر در پنل مدیریت View پیغام Server’s either Certificate Expired or Certificate Not Yet Valid را نشان میدهد.

Certificate revocation checking

VMware View از Revocation Checking پشتیبانی می کند ، تکنیکی که اطمینان حاصل میکند از اینکه صادرکننده گواهینامه بنا به دلیلی گواهینامه را باطل نکرده باشد. View از دو روش بررسی اعتبار گواهینامه ها ، CRLs (Certificate Revocation Lists) و OCSPs (Online Certificate Status Protocols) پشتیبانی میکند. اگر گواهینامه بدون اعتبار یا در دسترس نباشد وضعیت کامپوننت موردنظر در پنل مدیریت View پیغام Server’s either Revocation status cannot be checked را نشان میدهد.

نکته : عملیات revocation برای تمام اجزاء بررسی میشود به استثنای روت. یعنی گواهینامه روت بررسی نمیشود ؛ زیرا مدیریت فعال مخزن گواهینامه روت ، فقط باید مطئن شود که موجود است . گواهینامه های unrevoked شده مورد تایید است. اگر شما مطمئن نیستید که مخزن گواهینامه کاملا بروز است ، توصیه میشود تا اسکوپ revocation checking را تا خود روت افزایش دهید . اگر هرکدام از گواهینامه ها revocation check را fail شوند ، در پنل مدیریت View پیغام Server Certificate has been revoked نشان داده خواهد شد.

تنظیمات گواهینامه ها X.509 در هر جزء متفاوت و یکپارچگی آن با VMware View

گواهینامه X.509 ، صادر شده از Trusted Certification Authority  ، تنظیمات در اجزای Secure Gateway

در طول نصب VMware View Connection Server  و  Security Server، یک گواهینامه پیش فرض ساخته و تنظیم میشود . توصیه میشود که این گواهینامه را با یک گواهینامه صادر شده از یک CA سرور trusted جایگزین کنید .

نکته: زمانی که اجزای Secure Gateway بروز شوند ، و ورژن قبل توسط یک CA سرور trusted تنظیم شده باشد ، آن گواهینامه ها در زمان نصب به صورت خودکار به مخرن گواهینامه ویندوز انتقال داده میشوند .

 

گواهینامه X.509 ، صادر شده از Trusted Certification Authority  ، تنظیمات در اجزای View Composer

در طول نصب VMware View Composer ، یک گواهینامه پیش فرض ساخته و تنظیم میشود . توصیه میشود که گواهینامه پیش فرض را با یک گواهینامه صادر شده از یک CA سرور trusted جایگزین کنید .

 

گواهینامه X.509 ، صادر شده از Trusted Certification Authority  ، تنظیمات در اجزای vCenter Server

در طول نصب VMware vCenter Server، یک گواهینامه پیش فرض ساخته و تنظیم میشود . توصیه میشود که گواهینامه پیش فرض را با یک گواهینامه صادر شده از یک CA سرور trusted جایگزین کنید .

 

Revocation Checking

VMware View 5.1 از revocation checking گواهینامه های SSL ، که میتوان از طریق رجیستری یا توسط تنظیمات GPO policy تنظیم شوند ، پشتیبانی میکند. برای تنظیم انواع revocation check ، گزینه های رجیستری زیر را ویرایش یا روی Connection Servers ، GPO policy اعمال کنید :

کلید رجیستری CertificateRevocationCheckType را در مسیر زیر اضافه کنید :

 Software\Policies\VMware, inc.\VMware VDM\Security

  • None – Set CertificateRevocationCheckType = 1. No revocation checking is done if this option is set.
  • EndCertificateOnly – Set CertificateRevocationCheckType = 2.Revocation checking is done only for the end certificate in the chain.
  • WholeChain – Set CertificateRevocationCheckType = 3. A complete path is built for the certificate, and a revocation check is done for all certificates in the path
  • WholeChainButRoot – Set CertificateRevocationCheckType = 4. A complete path is built for the certificate, and a revocation check is done for all certificates in the path except for the Root CA certificate (default value).

دیگر تنظیمات Revocation Check

Software\Policies\VMware, inc.\VMware VDM\Security\CertificateRevocationCheckCacheOnly

“False” (default) – Disable caching revocation responses.

“True” – Enable caching revocation responses.

Software\Policies\VMware, inc.\VMware VDM\Security\ CertificateRevocationCheckTimeOut

Cumulative timeout across all revocation check intervals in milliseconds. If not set, default is set to ‘0’, which means Microsoft defaults are used.

 

انواع گواهینامه ها و استفاده آنها در VMware View

View از انواع مختلف گواهینامه ها برای تحقق انواع سناریو ها در سایت مشتری پشتیبانی میکند. گواهینامه در دو دسته گواهینامه های single-server name و گواهینامه های multiple-server name گنجانده میشوند .

یک گواهینامه single-server name شامل یک آدرس URL است که تشخیص میدهد سرور برای کدام گواهینامه صادر شده . این نوع گواهینامه زمانی صادر میشود که connection broker فقط از طریق شبکه داخلی یا فقط از طریق شبکه خارجی در دسترس است. به این معنی که ، سرور یک نام FQDN دارد.

گواهینامه های Multiple-server name در محیط هایی که View Connection Server قابلیت دسترسی از هر دو مسیر شبکه داخلی و خارجی ، که نیاز دارد تا connection server چند نام FQDN داشته باشد ، کاربرد دارد. به عنوان مثال ، یکی برای شبکه داخلی و یکی برای شبکه خارجی .

گواهینامه های Multiple-server name از بیشتر از یک SAN (Subject Alternative Name) برای هر یک گواهینامه تکی پشتیبانی میکنند . این نوع از گواهینامه نیز زمانی استفاده می شود که اگر SSL offloaders بین View clients  و connection server  قرار داده شود و یا هنگامی که یک اتصال تونل شده با Security server فعال شود.

یک گواهینامه wildcard  ، گواهینامه ای است که برای تمام سرور های داخل دامین صادر میشود . FQDN داخل گواهینامه wildcard معمولا به این فرمت نوشته میشود  *.organization.com. یک گواهینامه wildcard امنیت کمتری از گواهینامه SAN دارد ، اگر یک سرور یا ساب دامین در معرض خطر باشد ، کل محیط در معرض خطر است .

 

Event و Log مربوط به عیب یابی

در این بخش Event و Log هایی که برای عیب یابی مفید هستند را بررسی خواهیم کرد. همچنین سناریو هایی که گواهینامه دچار مشکل شده باشد ، نام کاربری مناسب نداشته باشند ، و یا کلید امنیتی گواهینامه ها قابلیت Exportable نداشته باشند.

فایل های  log مربوط به Connection server در مسیر زیر هستند.

<Driveletter>:ProgramData\Application Data\VMware\VDM\logs

 

تنظیمات اشتباه و رایج

لاگ زیر نشان میدهد که private key تیک Exportable ندارند.

KeyVault CryptExportKey get size FAILED, error= (Key not valid for use in specified state.)

 

 

لاگ زیر نشان میدهد که URL خارجی با Common Name گواهینامه همخوانی ندارد .

Server’s certificate does not match the URL

 

 

اگر اسم سرور بخشی از secure gateway’s External URL با هیچ یک از اسم های subject در گواهینامه همخوان نباشد ، وضعیت سلامت گواهینامه بی اعتبار نشان داده میشود.

ATTR_SG_URL”,”type”:”STRING”,”stringValue”:”https://:443

 

گواهینامه های Self-Signed تنظیم شده در Connection Server / Security Server

“ATTR_SG_CERTDEFAULT”,”type”:”STRING”,”stringValue”:”true”

نشان میدهد secure gateway با یک گواهینامه self-signed امضاء شده است .

همچنین لاگ شمال موارد زیر هست :

ATTR_SG_CERTVALID”,”type”:”STRING”,”stringValue”:”false” ATTR_SG_CERTINVALID_REASON”,”type”:”STRING”,”stringValue”:”NOT_TRUSTED”,

که نشان میدهد گواهینامه معتبر  و مورد اعتماد نیست زیرا توسط trusted CA صادر نشده . در نتیجه ، ایونت  “Certificate is invalid for Secure Gateway at address<netBIOS name>” در پنل مدیرتی به عنوان یک warning نمایش داده میشود.

 

 

گواهینامه Trusted CA-Signed تنظیم شده در Connection Server / Security Server

“ATTR_SG_CERTDEFAULT”,”type”:”STRING”,”stringValue”:”false”

نشان میدهد secure gateway با یک گواهینامه self-signed امضاء شده است . لاگ همچنین شامل :

“ATTR_SG_CERTVALID”,”type”:”STRING”,”stringValue”:”true”

که نشان میدهد گواهینامه تنظیم شده اعتبار دارد.

 

 

گواهینامه Trusted CA-Signed تنظیم شده در Connection Server / Security Server منقضی شده

“ATTR_SG_CERTVALID”,”type”:”STRING”,”stringValue”:”false”

نشان میدهد که گواهینامه تنظیم شده معتبر نیست .

“ATTR_SG_CERTINVALID_REASON”,”type”:”STRING”,”stringValue”:”EXPIRED”

نشان میدهد دلیل عدم اعتبار گواهینامه چیست . در این نمونه وضعیت گواهینامه منقضی شده . . در نتیجه ، ایونت  “Certificate is invalid for Secure Gateway at address <netBIOS name>” در پنل مدیرتی به عنوان یک warning نمایش داده میشود.

 

 

گواهینامه Trusted CA-Signed تنظیم شده در Connection Server / Security Server در حال منقضی شدن

تنها تفاوت این لاگ با لاگ قبل در این لاین است  :

“ATTR_SG_CERTABOUTTOEXPIRE”,”type”:”STRING”,”stringValue”:”true”

نشان میدهد که گواهینامه تنظیم شده در حال منقضی شدن است . پنل مدیریتی VMware View اخطاری را مبنی بر اتمام اعتبار گواهینامه تنظیم شده در < n  روز آینده > را نشان میدهد.

 

 

گواهینامه Trusted CA-Signed تنظیم شده در Connection Server / Security Server ، Revoked شده

“ATTR_SG_CERTVALID”,”type”:”STRING”,”stringValue”:”false”

نشان میدهد گواهینامه تنظیم شده نامعتبر است .

“ATTR_SG_CERTINVALID_REASON”,”type”:”STRING”,”stringValue”:”REVOKED”

علت  عدم  اعتبار گواهینامه را نشان میدهد . در این مورد گواهینامه Revoked شده . در نتیجه ایونت “Certificate is invalid for Secure Gateway at address <netBIOS name> ” در پنل مدیرتی به عنوان یک warning نمایش داده میشود.

0 پاسخ

دیدگاهتان را بنویسید

می خواهید در گفت و گو شرکت کنید؟
خیالتان راحت باشد :)

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *