نوشته‌های با برچسب ‘reset’

How to reset password for ESXi 7.0 U2 and later versions

۳۳ نظر

از نسخه 7.0 آپدیت U2 نحوه ذخیره ساری بعضی از قسمت های Configuration مربوط به ESXi تغییر کرد. یکی از این قسمت ها Password کاربران ESXi بود.

شزکت VMware (و تازه تر Broadcom) به صورت رسمی میگه که امکان reset کردن password نرم افزار esxi وجود نداره و اگه ادمین رمزش رو فراموش کنه باید reinstall انجام بده (مگه اینکه از قبل esxi تون رو به یه vCenter وصل کرده باشید و بتونید از host profile استفاده کنید).

ما امروز برای نسخه های جدید روشش رو در اختیارتون قرار میدیم (که تا نسخه 9 در محیط تست ما تست شده)

1- سرور خودتون رو با ISO نسخه 7.0U2 یا بالاتر بوت کنید. (ترجیحاً از همون نسخه نصب شده روی سرورتون استفاده کنید)

2- بعد از این که ESXi روی installation disk شما بوت شد و Installer بهتون نمایش داده شد دکمه Alt+F1 رو بزنید تا وارد DCUI بشید و از اون جا با نام کاربری root و بدون پسورد وارد shell بشید.

3- اگه احیاناً با کار کردن از طریق DCUI راحت نیستید (مثلاً به خاطر اینکه نمی تونید Copy/Paste کنید) میتونید سرویس SSH رو استارت کنید و از طریق اون وصل بشید.

اول مطمئن بشید که روی ESXi تون IP Address به نحوی set شده باشه. خود ESXi به صورت پیش فرض اگه DHCPv4 داشته باشید، روی IPv4 اقدام به دریافت آدرس آی پی میکنه. روی IPv6 هم با SLAAC و از روش EUI64 اقدام به assign کردن آدرس بهتون میکنه که میتونید از این طریق ببینیدشون:

localcli network ip interface ipv4 address list
localcli network ip interface ipv6 address list

اگه این روش ها برای assign شدن آی پی به دردتون نمی خوره و ترجیح میدید که آدرس آی پی استاتیک استفاده کنید از این طریق میتونید این کار رو بکنید:

localcli network ip interface ipv4 set --interface-name vmk0 --ipv4 YOUR_IPv4_Address --netmask YOUR_NETMASK --type static
localcli network ip interface ipv6 address add --interface-name vmk0 --ipv6 YOUR_IPv6_ADDRESS/PREFIX

همون طور که مشخص هست من دارم روی اینترفیس vmk0 آدرس آی پی میذارم.

قبل از اینکه SSH رو فعال کنید مطمئن بشید که برای یوزر root یه پسورد قابل قبول گذاشتید. برای این کار از این دستور استفاده کنید:

passwd root

اگه بدون گذاشتن پسورد، سرویس SSH رو فعال کنید، اون موقع با استفاده از یوزر root و بدون پسورد میشه به ESXi لاگین کرد که مسلماً بسیار از نظر امنیتی خطرناک هست به خصوص اگه از آدرس آی پی Public استفاده میکنید.

نهایتاً برای فعال کردن SSH از دستور زیر استفاده کنید:

/etc/init.d/SSH start

که براتون SSH Server رو روی پورت 22/tcp اجرا خواهد کرد.

4- خود installation disk به صورت پیش فرض پارتیشن ها رو براتون mount میکنه که میتونید توی این مسیر ببینیدشون:

/vmfs/volumes/

5- پارتیشن هایی که ما بهشون علاقه مند هستیم لیبل هاشون BOOTBANK1 و BOOTBANK2 هست و از نوع FAT هم هستن. اگه هیچوقت ESXi خودتون رو آپدیت نکرده باشید، BOOTBANK2 خالی خواهد بود اما اگه آپدیت انجام داده باشید، هر بار که آپدیت موفق انجام میدید، ESXi پارتیشن بوتش رو عوض میکنه. من دیگه بیش از این وارد جزئیات bootbank ها نمیشم و از این جا به بعد فرض میکنم که ESXi شما داره از BOOTBANK1 بوت میشه.


اگه میخواید 100% مطمئن باشید؛ بذارید ESXi اصلی تون شروع به بوت کنه و توی زمانی که بوت لودر 5 ثانیه صبر میکنه Shift+O رو بزنید و مقدار bootUUID پایین صفحه توی bootloader command line رو یادداشت کنید و نهایتاً بعد از اینکه سرور رو با ISO بوت کردید از این دستور استفاده کنید

localcli storage filesystem list

6- تنظیمات ESXi منجمله پسورد یوزرها توی فایل state.tgz ذخیره میشه. برای نسخه های جدید ESXi اگه این فایل رو extract کنید داخلش دو تا فایل هست، یکی encryption.info و یکی هم local.tgz.ve

من از این دستورها استفاده میکنم

mkdir /tmp/digiboy
cd /tmp/digiboy
cp /vmfs/volumes/BOOTBANK1/state.tgz .
tar x -z -f state.tgz

در نسخه های قدیمی ESXi داخل این فایل یه local.tgz بود.

نکته: چون فایل سیستم bootbank ها از نوع FAT هست، اگه extraction رو اونجا انجام بدید permission های فایل ها رو از دست خواهید داد. من توی tmp این کار رو کردم تا اونا رو از دست ندم.

فایل local.tgz.ve یه نوع فایل هست که VMware بهش میگه envelope file و روش encryption اعمال شده. بنابراین دیگه مثل گذشته نمی تونید extractش کنید و محتویاتش رو ببینید یا تغییر بدید.

فایل encryption.info یه فایل plain text هست که محتویاتش به این بستگی داره که encryption mode شما روی چی تنظیم شده باشه. (در حال حاضر میتونه NONE یا TPM باشه)

اگه سخت افزار شما قابلیتش رو داشته باشه و دوست داشته باشید که از NONE به حالت امن تر TPM سوئیچ کنید، بعد از ایتکه پسوردتون رو ریست کردید و به ESXi تون لاگین کردید میتونید از یکی از این دستورها استفاده کنید:

localcli system settings encryption set --mode TPM
esxcli system settings encryption set --mode TPM

روشی که ما باهاتون به اشتراک میذاریم بهتون اجازه میده که پسوردتون رو در هر دو حالت NONE و TPM ریست کنید.

اگه بخوایم اطلاعاتی راجع به encryption فایل local.tgz.ve به دست بیاریم با این دستور میتونیم این کار رو بکنیم:

crypto-util envelope describe local.tgz.ve

چیزی که برای ما از همه مهم تر هست، KeyID هست که برای encrypt کردن این فایل استفاده شده.

در حال حاضر این key توی key cache شما نیست و اگه شما از ESXi بپرسید که از چه Key داره برای رمزنگاری کانفیگش استفاده میکنه، یه Key رندوم که در طول فرایند بوت ISO ایجاد شده رو بهتون میده:

crypto-util keys getkidbyname ConfigEncryptionKey

که قاعدتاً با keyIDی که برای decrypt کردن فایل local.tgz.ve نیاز داریم یکی نیست.

بیاید به ESXiی که از روی ISO بوت شده بگیم که با اطلاعات داخل فایل encryption.info بره و key مورد نظر ما رو توی Key Cache اضافه کنه.

localcli --plugin-dir=/usr/lib/vmware/esxcli/int system settings encryption stop
localcli --plugin-dir=/usr/lib/vmware/esxcli/int system settings encryption setup -c encryption.info
localcli --plugin-dir=/usr/lib/vmware/esxcli/int system settings encryption start

بعد از این کار اگه دومرتبه از ESXi بپرسید که برای رمزنگازی کانفیگش از چه کلیدی استفاده میکنه همون keyID که ما نیاز داریم رو بهمون بر میگردونه.

7- توی مرحله بعد فایل local.tgz.ve رو decrypt میکنیم.

crypto-util envelope extract --aad ESXConfiguration local.tgz.ve local.tgz

8- فایل local.tgz رو extract میکنیم

mkdir local
tar x -z -f local.tgz -C local
cd local

9- اگه دقت کنید میبینید که دیگه این archive مثل گذشته شامل فایل های زیر نمیشه.

etc/passwd
etc/shadow

دلیلش این هست که VMware دیگه پسورد رو توی این فایل ذخیره نمیکنه و اونو به یه دیتابیس sqlite منتقل کرده که آدرسش هم این هست:

var/lib/vmware/configstore/backup/current-store-1

و می تونید با این دستور هش پسورد ذخیره شده برای یوزرها رو ببینید.

/usr/lib/vmware/sqlite/bin/sqlite3 var/lib/vmware/configstore/backup/current-store-1 \
"SELECT * FROM Config WHERE Component='esx' AND ConfigGroup='authentication' \
AND Name='user_accounts' AND Identifier='root'"

10- یه فایل با محتویات زیر بسازید.

UPDATE Config SET UserValue='{"name":"root","password_hash":"$6$OuBJHTuaUlOIkE/k$p2fCVL5q5kniGsWYo1xU4Tzct0ZJ7hFQeJH2z9c5F/srN2hQkBKf/lTepTZHwJqRim48vNJ9Meky3E5S0amnL0","description":"Administrator"}' WHERE Component='esx' AND ConfigGroup='authentication' AND Name='user_accounts' AND Identifier='root'

من از vi برای ساختش استفاده میکنم و توی این آدرس ذخیره ش میکنم:

vi /tmp/digiboy/reset-password.sql

اگه احیاناً نحوه کار با vi رو نمی دونید، میتونید فایل رو توی text editor مورد علاقه تون توی سیستم عامل خودتون بسازید و با SFTP منتقلش کنید به ESXi تون. (مثلاً میتونید از FileZilla یا WinSCP استفاده کنید)

11- به sqlite میگیم که query مون رو اجرا کنه:

/usr/lib/vmware/sqlite/bin/sqlite3 var/lib/vmware/configstore/backup/current-store-1</tmp/digiboy/reset-password.sql

با این کار hash توی دیتابیس آپدیت میشه که میتونید با دستور مرحله 9 از تغییر مطمئن هم بشید.

این هش که من در اختیارتون قرار دادم برای کلمه pa$$w0rd هست.

12- فایل ها رو مجدداً archive میکنیم تا یه فایل local.tgz جدید به دست بیاریم:

tar c -z -f /tmp/digiboy/local-new.tgz `tar t -z -f /tmp/digiboy/local.tgz`

13- حالا فایل جدیدمون رو مجدداً با استفاده از کلیدمون encrypt میکنیم.

cd /tmp/digiboy/
key_id=`crypto-util keys getkidbyname ConfigEncryptionKey`
mv local.tgz.ve local-old.tgz.ve
crypto-util envelope insert --aad ESXConfiguration --id ${key_id} local-new.tgz local.tgz.ve

14-فایل state.tgz جدید رو میسازیم.

mv state.tgz state-old.tgz
tar c -z -f state.tgz local.tgz.ve encryption.info

15- فایل رو به bootbank منتقل میکنیم و با فایل موجود جایگزین میکنیم.

cd /vmfs/volumes/BOOTBANK1
mv state.tgz state.tgz.bak
mv /tmp/digiboy/state.tgz .

من یه بکاپ هم برای اطمینان از state.tgz اصلی تهیه کردم.

حالا میتونید سرورتون رو reboot کنید و با یوزر root و پسورد pa$$w0rd لاگین کنید.

امیدوارم بتونه برای همه مفید باشه.

این هم TL;DR برای اونایی که بهش نیاز دارن :دی

mkdir /tmp/digiboy
cd /tmp/digiboy
cp /vmfs/volumes/BOOTBANK1/state.tgz .
tar x -z -f state.tgz
localcli --plugin-dir=/usr/lib/vmware/esxcli/int system settings encryption stop
localcli --plugin-dir=/usr/lib/vmware/esxcli/int system settings encryption setup -c encryption.info
localcli --plugin-dir=/usr/lib/vmware/esxcli/int system settings encryption start
crypto-util envelope extract --aad ESXConfiguration local.tgz.ve local.tgz
mkdir local
tar x -z -f local.tgz -C local
cd local
/usr/lib/vmware/sqlite/bin/sqlite3 var/lib/vmware/configstore/backup/current-store-1 "UPDATE Config SET UserValue='{"name":"root","password_hash":"\$6\$OuBJHTuaUlOIkE/k\$p2fCVL5q5kniGsWYo1xU4Tzct0ZJ7hFQeJH2z9c5F/srN2hQkBKf/lTepTZHwJqRim48vNJ9Meky3E5S0amnL0","description":"Administrator"}' WHERE Component='esx' AND ConfigGroup='authentication' AND Name='user_accounts' AND Identifier='root'"
tar c -z -f /tmp/digiboy/local-new.tgz `tar t -z -f /tmp/digiboy/local.tgz`
cd /tmp/digiboy/
key_id=`crypto-util keys getkidbyname ConfigEncryptionKey`
mv local.tgz.ve local-old.tgz.ve
crypto-util envelope insert --aad ESXConfiguration --id ${key_id} local-new.tgz local.tgz.ve
mv state.tgz state-old.tgz
tar c -z -f state.tgz local.tgz.ve encryption.info
cd /vmfs/volumes/BOOTBANK1
mv state.tgz state.tgz.bak
mv /tmp/digiboy/state.tgz .

ManageEngine ADSelfService Plus 6.5 Build 6503

۷۴ نظر

 

 

با سلام خدمت همه دوستان و همراهان وب سایت DiGiBoY:

با نرم افزار بروز شده  ADSelf Service PLus محصول شرکت ManageEngine در خدمت شما هستیم.یکی از نرم افزار هایی که به ادمین کمک شایانی میکنه که مسئولیت Reset/Unlock/Remote 2FA/MFA رو به عهده خود کاربر بذارن. این نرم افزار هم کارایی بسیار خوب و رونی داره و میتونه فاکتور های امنیتی رو برای شما پیاده سازی کنه.

میتونید Agent برنامه رو بر روی سیستم ها Deploy کنید تا کاربر قبل از لاگین بتونه خودش پسوردشو ریست/تغییر بده.

میتونید قبل از Expire شدن یوزر بوسیله ایمیل/SMS کاربر رو مطلع کنید.

تمامی مراحل حاوی Captcha هست که خیالتون بابت عدم استفاده ربات ها راحت میشه.

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

برای دیدن دموی نرم افزار قبل از کار میتونید به این صفحه مراجعه کنید.

از اونجایی که راه اندازی این سیستم نیاز به دقت/تمرین بالایی داره من لینک فیلم های آموزشی رو براتون اینجا میارم.

 

(بیشتر…)


Lepide ActiveDirectory Self Service 19.0

۱۴ نظر

 

با سلام خدمت همه دوستان و همراهان خوب وب سایت DiGiBoY :

با نرم افزار بروز شده Active Directory Self Service محصول شرکت Lepide در خدمت شما هستیم.یکی از بهترین نرم افزار های مدیریت تغییرات پسورد/Unlock دامنه توسط خود کاربر.

این نرم افزار با زحمات شبانه روزی تیم دیجی بوی آماده شده که جا داره ازشون تشکر و قدر دانی کنم.

ما تو پست های قبل راجع به این محصول صحبت کردیم که من تو اینجا لینکشو میارم و بسنده میکنم به اشتراک گذاری خود نرم افزار.

مراحل کرک هم بسیار سادس و ارتون خواهش میکنم طبق دستور العمل ما پیش برید.

نرم افزار رو نصب کنید ولی اجراش نکنید و قبل از اینکه روی مرحله پایانی کلیک کنید فایل ROOT.war رو تو پوشه C:\Program Files (x86)\Lepide Active Directory Self Service\tomcat\webapps باز نویسی کنید.

مطمئن شید که تیک مربوط به اجرای نرم افزار خورده باشه. پس از عملیات باز نوبسی نرم افزار رو اجرا کنید و از منوی Support روی لایسنس کلیک کنید تا لایسنس شما نشون داده شه.

دسترسی نرم افزار رو به اینترنت محدود کنید.

 

(بیشتر…)


نحوه تغییر MAC Address در MikroTik RouterOS

۳۷ نظر

همون طور که دوستانی که وب سایت من رو دنبال می کنن می دونن، چند وقتی هست که من یه VM حاوی MikroTik RouterOS با License کامل رو باهاتون به اشتراک گذاشتم.

کسانی که مایل هستن فقط یه نسخه از این VM رو اجرا کنن هیچ مشکلی نخواهند داشت اما چون آدرس MAC کارت شبکه های این VM ها اگه بخواید چند تا از اون ها رو اجرا کنید با هم یکی خواهد بود قبلاً گفته بودم که موقعی که مجازی سازهای شرکت VMware ازتون پرسیدن که VM رو Copy کردید یا Move بهش بگید که کپی ش کردید تا مجازی ساز آدرس MAC کارت های شبکه رو براتون عوض کنه.

اما RouterOS بعد از این که مجازی سازتون آدرس MAC رو تغییر داد با همون MAC قبلی کار می کنه تا این که بهش بگید تا MAC رو آپدیت کنه. برای این کار از طریق کنسول از دستور زیر استفاده کنید:

/interface ethernet reset-mac-address

اگه هم می خواید از winbox استفاده کنید، برید به Interface بعد برید به سربرگ Ethernet و روی ether1 کلیک راست کنید و گزینه Reset MAC Address رو انتخاب کنید.

امیدوارم این پست برای دوستانی که مایل هستن چند نسخه از VM رو همزمان اجرا کنن مفید باشه.