Real Time Web Analytics

آموزش و يا مشكل مورد نظر خود را از ما بپرسيد.

در صورت وجود مطلب یا راه حل ، برای شما نمایش داده خواهد شد.

تنظیمات SNMP V3 بر روی ESXi 6.5

SNMP

با سلام خدمت دوستان عزیز
قبلا در مقاله ای تنظیمات SNMP بر ESXi 6.5 رو با هم بررسی کردیم . امروز قرار هست تنظیمات SNMP V3 رو بر روی ESXi 6.5 انجام بدیم . پس در این بخش ما با تنظیمات SNMP agent ورژن ۳ آشنا میشیم و همونطور که قبلا هم بررسی شد یکی از وظایف agent ارسال trap ها هست که البته در ورژن ۳ علاوه بر اون با توجه به امکانات cryptographic authentication و encryption ، برای ما امنیت بالاتری نسبت به v2 , v2c فراهم میکنه . در کل تنظیمات SNMP ورژن ۳ به چهار مرحله تقسیم بندی میشه .
۱٫ تنظیمات مربوط به SNMP engine ID
2. تنظیمات مربوط به SNMP Authentication و Privacy Protocols
3. تنظیمات مربوط به SNMP Users
4. تنظیمات مربوط به SNMP v3 Targets


تنظیمات مربوط به SNMP engine ID
در SNMP v3 هر agent یک engine ID داره که برای هر agent میتونه مشابه یک کد شناسایی منحصر به فرد باشه . این engine ID به وسیله الگوریتم های رمزنگاری یک سری کلید جهت authentication و encryption برای پیام های SNMP v3 تولید میکنه . پس به این روش هست که امنیت این ورژن از ورژن های قبلی بالاتر هست . پس قبل از فعال کردن SNMP ورژن ۳ باید یک engine ID برای agent اختصاص بدیم و بعد SNMP رو فعال کنیم . البته این نکته رو فراموش نکنیم که اگه ما هیچ engine ID اختصاص ندیم و بلافاصله SNMP agent رو فعال کنیم به صورت اتوماتیک یک engine ID تولید خواهد شد و مورد استفاده قرار میگیره و شاید در خیلی موارد که بسیاری از دوستان SNMP V3 رو تنظیم میکنن به این نکته دقت نکرده باشن چون به صورت اتوماتیک میتونه تنظیم بشه . از لحاظ استاندارد ترتیب عملیات ، من ابتدا یک engine id به ESXi 6.5 از طریق دستورات ESXCLI و ESXi Shell در این سناریو اختصاص میدم . برای این کار هم باید دسترسی shell به ESXi داشته باشیم پس باید SSH رو از قبل روی ESXi فعال کرده باشیم . من با یوزری که دسترسی administrator داره با shell به ESXi دسترسی پیدا میکنم (از طریق برنامه ای مشابه putty با یوزر root).
در ادامه با استفاده از دستور esxcli system snmp set –engineid تنظیمات مربوط به engine ID رو انجام میدیم . در ادامه این دستور باید از یک string که hexadecimal باشه استفاده کنیم و این string طولی بین ۵ تا ۳۲ کاراکتر باید داشته باشه . به عنوان مثال من از string با عبارت ۸۰۰۰۱adc802417e202b8613f54 استفاده میکنم . پس دستور نهایی با فرمت کلی زیر میشه .

esxcli system snmp set –engineid id

که توی سناریو ما نهایتا دستور به شکل زیر میشه .

esxcli system snmp set –engineid 80001adc802417e202b8613f5

همونطور که گفتم این مرحله اگر توسط ما اجرا نشه ، به صورت اتوماتیک engine ID ایجاد خواهد شد و میتونه اصلا بیان نشه اما جهت آشنایی بیشتر و بررسی همه جهات این قسمت رو توضیح دادم .


تنظیمات مربوط به SNMP Authentication و Privacy Protocols
SNMP ورژن ۳ از authentication یا همون احراز هویت و همچنین از پروتکل های حریم خصوصی یا همون privacy protocol ها پشتیبانی میکنه . عملیات encryption در SNMP v3 که بالاتر اشاره شد امنیت رو به نسبت v1 و v2c بالاتر برده ، از طریق همین پروتکل های privacy اعمال میشه و در واقع محرمانگی همه پیام های SNMP v3 حفظ میشه . در ورژن های قبلی امنیت از طریق Community string حفظ میشد . البته فراموش نکنیم که authentication و privacy کاملا اختیاری میباشند و اگر قراره که ما privacy رو فعال کنیم باید قبل از اون authentication رو فعال کنیم . من در این سناریو authentication و privacy رو فعال میکنم . برای فعال کردن authentication از دستور esxcli system snmp set –authentication استفاده میکنیم و پروتکل میتونه در این حالت none یا SHA1 یا MD5 باشه . پس اگه من بخوام authentication رو با پروتکل SHA1 فعال کنم نهایتا دستور کلی به شکل زیر میشه .

esxcli system snmp set –authentication protocol

که توی سناریو ما نهایتا دستور به شکل زیر میشه .

esxcli system snmp set –authentication SHA1

جهت تنظیمات و فعال کردن privacy از دستور esxcli system snmp set –privacy استفاده میکنیم و پروتکل میتونه در این حالت none یا AES128 باشه . پس من اگه بخوام privacy رو با پروتکل AES128 فعال کنم دستور کلی به شکل زیر میشه .

esxcli system snmp set –privacy protocol

که در سناریو ما نهایتا دستور به شکل زیر میشه .

esxcli system snmp set –privacy AES128

تنظیمات مربوط به SNMP Users
در قسمت تنظیمات یوزر میتونیم تا ۵ یوزر رو دسترسی بدیم تا دسترسی به اطلاعات SNMP داشته باشن و همچنین Username نهایتا تا ۳۲ کاراکتر میتونه داشته باشه. اگر بعد از اینکه تنظیمات یوزر رو انجام دادیم برگردیم و engine ID یا پروتکل احراز هویت یا پروتکل Privacy رو تغییر بدیم ، یوزر اعتبار نخواهد داشت و باید مجددا تنظیماتش صورت بگیره . پس قبل از تنظیمات یوزر یک پیش نیاز اینه که باید مطمئن بشیم که تنظیمات مربوط به authentication و privacy رو انجام دادیم . پیش نیاز دیگه اینه که باید پسوردهای مربوط به authentication و privacy هر یوزر رو جداگانه بدونیم و پسورد حداقل باید ۸ کاراکتر داشته باشه پس بهتره که ما با این شرایط پسورد ها رو یکجا نگهداری کنیم . همونطور که اشاره شد authentication و privacy اختیاری هست و در این سناریو ما از هر دو مورد برای امنیت بیشتر استفاده میکنیم . برای بدست آوردن hash مربوط به این دو مورد از دستور esxcli system snmp hash –auth_hash –priv_hash استفاده میکنیم البته دستور کامل تر به این صورت هست که در مقابل هر یک از این پارامترها باید پسورد مورد نظرش رو وارد کنیم . و نهایتا برای اینکه بتونیم hash مربوط به authentication و privacy رو ببینیم دستور کلی به شکل زیر میشه .

esxcli system snmp hash –auth-hash authentication password –priv-hash private password –raw-secret

در این سناریو از همین دستور استفاده میکنم تا hash مربوط به authentication و privacy رو بدست بیارم و پسورد مربوط به authentication رو pass1234 و پسورد مربوط به privacy رو pass4321 در نظر میگیرم .

خوب تا اینجا hash ها بدست اومد اما هنوز به کاربری اعمال نشده ، پس برای اینکه تنظیمات کاربر صورت بگیره از دستور کلی زیر استفاده میکنیم .

esxcli system snmp set –users userid/authhash/privhash/security

توی دستور بالا userid در واقع یوزری هست که قراره این تنظیمات بهش اعمال بشه من فرض میکنم یوزر malekahmad قراره تنظیمات رو دریافت کنه . authhash همون hash مربوط به authentication هست که بدست آوردیم و در شکل بالا تحت عنوان Authhash نمایش داده شده که توی این سناریو معادل مقدار ace2eccc4dc78badd1945db156f9c7754442f39a میباشد . privhash همون hash مربوط به privacy هست که بدست آوردیم و توی شکل بالا تحت عنوان Privhash نمایش داده شده که توی این سناریو معادل مقدار ۶۸۱ef68f0332a435d35ff6ed66e6e26413b7a6ab میباشد . security هم لول امنیتی مربوط به یوزر رو مشخص میکنه که میتونه ۳ حالت داشته باشه . حالت اول auth هست که اگه فقط ما authentication مد نظرمون باشه ، باید از این مقدار استفاده کنیم . حالت دوم priv هست که اگه قرار باشه هم از authentication و هم privacy رو در لول امنیتی یوزر فعال کنیم . حالت آخر هم none هست که نه authentication و نه privacy رو در نظر نمیگیریم . خوب توی این سناریو من هر دو حالت مد نظرم هست و به شکل زیر دستور رو وارد میکنم .

تنظیمات مربوط به SNMP v3 Targets
در نهایت باید تنظیمات مربوط به target ها رو انجام بدیم و در واقع به agent اجازه بدیم تا trap های ورژن۳ و اطلاعات رو به سرورهای مانیتورینگ ما یا همون target هایی که ما مشخص میکنیم ارسال کنه . جهت تنظیم target باید حتما اسم یا آیپی سرور یا سیستمی که قرار هست trap هارو دریافت کنه داشته باشیم . برای تنظیم کردن target از دستور کلی زیر استفاده میکنیم .

esxcli system snmp set –v3targets hostname@port/userid/seclevel/message-type

توی دستور بالا hostname اسم یا آیپی آدرس مربوط به سیستمی هست که قراره trap ها بهش ارسال بشه ، به عنوان مثال میتونه سیستم مانیتورینگ Solarwinds ، PRTG ، OPManager و … باشه . port هم در واقع پورتی هست که target ما روی اون پورت trap ها رو دریافت میکنه و به صورت پیش فرض در صورتی که پورتی ما وارد نکنیم پورت ۱۶۲ استفاده میشه . userid هم یوزر مورد نظر ما هست که در مرحله قبل تنظیماتش رو انجام دادیم . seclevel هم مشابه security در حالت قبل سه حالت none و auth و priv داره که ما چون توی این سنارو هر دو حالت مد نظرمون هست از priv استفاده خواهیم کرد . message-type هم نوع پیام هایی هست که target قراره دریافت کنه که میتونه از نوع trap یا inform باشه . دستور رو توی ای سناریو من به شکل زیر وارد میکنم .

با دستور esxcli system snmp set –enable true بر روی ESXi فال سازی SNMP agent را انجام میدیم .

به وسیله دستور esxcli system snmp get هم میتونیم اطلاعات کلی که تنظیم کردیم رو ببینیم همچنین مطمئن بشیم که agent فعال هست .

خوب کار ما تموم هست و باید بتونیم ESXi 6.5 خودمون رو به سرور مانیتورینگ خودمون با SNMP v3 اضافه کنیم . قبل از اون میتونیم یه تست از سمت ESXi بگیریم ببینیم یوزر ما به درستی با Target ارتباط میگیره و SNMP به درستی کار میکنه یا نه . در این قسمت باید پسوردهایی که در مرحله قبل تنظیم کردیم و یوزر مورد نظرمون رو از قبل داشته باشیم و بدونیم
توی دستور زیر بعد از -U باید نام یوزر را وارد کنیم ، بعد از -A باید پسوردی که قبلا برای Authentication استفاده کردیم رو وارد کنیم و بعد از -X هم باید پسوردی که برای Privacy در نظر گرفتیم رو وارد کنیم . فقط توجه به بزرگ بودن حروف A و X و همچنین کوچک بودن حرف u داشته باشید چون دستور زیر به کوچک و بزرگ بودن حروف حساس است .

اگه پیغامی مشابه تصویر براتون نمایش داده بشه یعنی به درستی SNMP v3 با target ارتباط برقرار کرده . در ادامه من سمت سرور مانیتورینگ خودم که اینجا Solarwinds هست ESXi خودم رو با SNMP v3 اضافه میکنم .

و نهایتا با دکمه تست مطمئن میشم که ارتباط برقرار شد
امیدوارم این مقاله مورد توجه شما دوستان قرار گرفته باشه .

موفق و پیروز باشید .

نویسنده : محمدرضا ملک احمد
منبع : vmWare docs

ارسال یک نظر

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

شما می‌توانید از این تگ‌های HTML استفاده نمائید: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>