| SNMPUSM(1) | Net-SNMP | SNMPUSM(1) |
نام (NAME)
snmpusm - ایجاد و نگهداری کاربران SNMPv3 روی یک موجودیت شبکه
خلاصه دستور (SYNOPSIS)
snmpusm [COMMON OPTIONS] [-Cw] AGENT create USER
[CLONEFROM-USER]
snmpusm [COMMON OPTIONS] AGENT delete USER
snmpusm [COMMON OPTIONS] AGENT cloneFrom USER CLONEFROM-USER
snmpusm [COMMON OPTIONS] [-Ca] [-Cx] AGENT passwd OLD-PASSPHRASE
NEW-PASSPHRASE [USER]
snmpusm [COMMON OPTIONS] <-Ca | -Cx> -Ck AGENT passwd
OLD-KEY-OR-PASSPHRASE NEW-KEY-OR-PASSPHRASE [USER]
snmpusm [COMMON OPTIONS] [-Ca] [-Cx] AGENT changekey [USER]
توضیحات (DESCRIPTION)
دستور snmpusm یک برنامهٔ SNMP است که میتواند برای انجام کارهای نگهداری ساده روی کاربرانی که برای یک کارگزار SNMP شناختهشده هستند، از طریق دستکاری جدول «پیمانهٔ امنیتی مبتنی بر کاربر» (USM) کارگزار به کار رود. کاربر به دسترسی نوشتن روی جدول MIB با نام usmUserTable نیاز دارد. از این ابزار میتوان برای ایجاد، حذف، همتاسازی (clone) و تغییر عبارت عبور کاربران پیکربندیشده روی یک کارگزار SNMP در حال اجرا استفاده کرد.
گزینهها (OPTIONS)
گزینههای مشترک برای همهٔ دستورهای snmpusm:
- -CE ENGINE-ID
- مقدار usmUserEngineID را مشخص میکند تا بهعنوان بخشی از نمایهٔ (index) جدول usmUserTable استفاده شود. حالت پیشفرض، استفاده از contextEngineID (تنظیمشده از طریق -E یا پویششده) بهعنوان usmUserEngineID است.
- -Cp STRING
- مقدار usmUserPublic کاربر (جدید) را برابر با STRING مشخصشده قرار میدهد.
گزینههای دستورهای passwd و changekey:
- -Ca
- کلید احراز هویت (authentication key) را تغییر میدهد.
- -Cx
- کلید حریم خصوصی/رمزنگاری (privacy key) را تغییر میدهد.
- -Ck
- امکان استفاده از کلید بومیسازیشده (localized key - که باید با 0x شروع شود) را بهجای عبارت عبور فراهم میکند. هنگام استفاده از این گزینه، باید یکی از گزینههای -Ca یا -Cx (و نه هر دو) نیز استفاده شود.
ایجاد کاربران (CREATING USERS)
یک کاربر SNMPv3 احرازهویتنشده را میتوان با استفاده از دستور زیر ایجاد کرد:
- snmpusm [COMMON OPTIONS] AGENT create USER
این کار یک مدخل (غیرفعال) در usmUserTable ایجاد میکند که هیچگونه تنظیمات احراز هویت یا حریم خصوصی ندارد. در اصل، این کاربر باید برای درخواستهای 'noAuthNoPriv' قابل استفاده باشد، اما در عمل کارگزار Net-SNMP اجازه نخواهد داد چنین مدخلی فعال شود. در عوض میتوان کاربر را با استفاده از پرچم -Cw از طریق عملیات createAndWait ایجاد کرد. این کار مانع از فعال شناخته شدن کاربر در هر کارگزاری میشود تا زمانی که بعداً صراحتاً از طریق دستور activate فعال گردد.
برای فعالسازی این مدخل، لازم است یک کاربر موجود با استفاده از دستور زیر همتاسازی (clone) شود:
- snmpusm [COMMON OPTIONS] AGENT cloneFrom USER CLONEFROM-USER
سپس مدخل USER همان تنظیمات احراز هویت و حریم خصوصی (شامل عبارتهای عبور) کاربر CLONEFROM را به ارث میبرد.
این دو مرحله را میتوان با استفاده از دستور زیر در یک مرحله ادغام کرد:
- snmpusm [COMMON OPTIONS] AGENT create USER CLONEFROM-USER
هر دو شکل زیردستور create نیازمند این هستند که کاربری که ایجاد میشود از قبل وجود نداشته باشد. زیردستور cloneFrom نیاز دارد کاربری که به آن همتاسازی میشود از قبل وجود داشته باشد.
همتاسازی (Cloning) تنها راه برای مشخص کردن پروتکلهای احراز هویت و حریم خصوصی مورد استفاده برای یک کاربر مشخص است و این کار تنها یک بار قابل انجام است. تلاشهای بعدی برای همتاسازی مجدد روی همان کاربر ظاهراً موفقیتآمیز به نظر میرسند، اما بدون هیچ پیامی نادیده گرفته میشوند. این رفتار (تا حدی غیرمنتظره) توسط مشخصات SNMPv3 USM (سند RFC 3414) الزامی شده است. برای تغییر تنظیمات احراز هویت و حریم خصوصی یک کاربر مشخص، لازم است مدخل کاربر حذف و دوباره ایجاد شود. این کار برای تغییر سادهٔ عبارتهای عبور ضروری نیست (به بخش زیر مراجعه کنید). این بدان معناست که کارگزار باید برای هر ترکیب از پروتکلهای احراز هویت و حریم خصوصی، حداقل با یک کاربر مقداردهی اولیه شود. برای جزئیات بیشتر دربارهٔ دستورالعمل پیکربندی createUser به صفحهٔ راهنمای snmpd.conf(5) مراجعه کنید.
حذف کاربران (DELETING USERS)
یک کاربر را میتوان با استفاده از دستور زیر از usmUserTable حذف کرد:
- snmpusm [COMMON OPTIONS] AGENT delete USER
تغییر عبارتهای عبور (CHANGING PASS PHRASES)
نمایههای کاربری شامل کلیدهای خصوصی هستند که هرگز بهصورت متن خام روی شبکه منتقل نمیشوند (صرف نظر از اینکه درخواستهای مدیریتی رمزنگاری شده باشند یا نه). برای تغییر کلید محرمانهٔ یک کاربر، مشخص کردن عبارت عبور قدیمی کاربر به همراه عبارت عبور جدید الزامی است. این کار با دستور زیر انجام میشود:
- snmpusm [COMMON OPTIONS] [-Ca] [-Cx] AGENT passwd OLD-PASSPHRASE NEW-PASSPHRASE [USER]
پس از همتاسازی مدخل کاربر جدید از الگوی مناسب، باید فوراً عبارت عبور کاربر جدید را تغییر دهید.
اگر USER مشخص نشده باشد، این دستور عبارت عبور کاربر (SNMPv3) صادرکنندهٔ دستور را تغییر خواهد داد. اگر گزینههای -Ca یا -Cx مشخص شده باشند، تنها کلیدهای احراز هویت یا حریم خصوصی تغییر مییابند. اگر این گزینهها مشخص نشده باشند، هر دو کلید احراز هویت و حریم خصوصی تغییر داده میشوند.
- snmpusm [COMMON OPTIONS] [-Ca] [-Cx] AGENT changekey [USER]
این دستور کلید را به روشی سازگار با رازداری پیشرو (perfect-forward-secrecy) از طریق تبادل دیفی-هلمن تغییر میدهد. کارگزار راه دور باید از SNMP-USM-DH-OBJECTS-MIB پشتیبانی کند تا این دستور کار کند. کلیدهای حاصل در کنسول چاپ میشوند و میتوان بعداً در فراخوانیهای بعدی دستورات با استفاده از گزینههای --defAuthLocalizedKey و --defPrivLocalizedKey یا در فایل snmp.conf با استفاده از کلیدواژههای defAuthLocalizedKey و defPrivLocalizedKey آنها را تنظیم کرد.
توجه داشته باشید که از آنجا که این کلیدها بهصورت تصادفی بر پایهٔ تبادل دیفی-هلمن تولید میشوند، دیگر از یک گذرواژه با تایپ آسانتر مشتق نشدهاند. با این حال، امنیت بسیار بالاتری دارند.
برای تغییر از یک کلید بومیسازیشده به یک گذرواژه، حالت دیگر زیردستور passwd به شکل زیر به کار میرود:
- snmpusm [COMMON OPTIONS] <-Ca | -Cx> -Ck AGENT passwd OLD-KEY-OR-PASSPHRASE NEW-KEY-OR-PASSPHRASE [USER]
باید یکی از گزینههای -Ca یا -Cx مشخص شود. آرگومانهای OLD-KEY-OR-PASSPHRASE و/یا NEW-KEY-OR-PASSPHRASE میتوانند یک عبارت عبور یا یک کلید بومیسازیشده با شروع "0x" باشند (مانند آنچه توسط زیردستور changekey چاپ میشود).
توجه داشته باشید که snmpusm همانطور که در صفحهٔ راهنمای snmpcmd(1) شرح داده شده است، به یک آرگومان برای تعیین کارگزار مورد پرسوجو نیاز دارد.
مثالها (EXAMPLES)
فرض کنید برای مثالهایمان، خطوط پیکربندی VACM و USM زیر در فایل snmpd.conf برای یک کارگزار Net-SNMP وجود داشته باشند. این خطوط یک کاربر پیشفرض با نام "initial" با عبارت عبور احراز هویت "setup_passphrase" برپا میکنند تا بتوانیم راهاندازی اولیهٔ یک کارگزار را انجام دهیم:
# VACM configuration entries rwuser initial # lets add the new user we'll create too: rwuser wes # USM configuration entries createUser initial MD5 setup_passphrase DES
نکته: تنظیمات کاربر "initial" پس از ایجاد یک کاربر واقعی که به آن امتیازات مدیریتی اعطا میکنید (مانند کاربر "wes" که در این مثال ایجاد خواهیم کرد) باید حذف شود.
نکته: طول عبارتهای عبور باید حداقل ۸ نویسه باشد.
ایجاد کاربر جدید (Create a new user)
snmpusm -v3 -u initial -n "" -l authNoPriv -a MD5 -A setup_passphrase localhost create wes initial
- یک کاربر جدید، در اینجا با نام "wes" را با استفاده از کاربر "initial" ایجاد میکند. "wes" در این فرایند از "initial" همتاسازی میشود، بنابراین عبارت عبور آن کاربر ("setup_passphrase") را به ارث میبرد.
تغییر عبارت عبور کاربر (Change the user's passphrase)
snmpusm -v 3 -u wes -n "" -l authNoPriv -a MD5 -A setup_passphrase localhost passwd setup_passphrase new_passphrase
- پس از ایجاد کاربر "wes" با همان عبارت عبور کاربر "initial"، باید عبارت عبور او را تغییر دهیم. دستور فوق آن را از "setup_passphrase" که از کاربر اولیه به ارث رسیده بود، به "new_passphrase" تغییر میدهد.
آزمایش کاربر جدید (Test the new user)
snmpget -v 3 -u wes -n "" -l authNoPriv -a MD5 -A new_passphrase localhost sysUpTime.0
- اگر دستورهای بالا موفقیتآمیز بوده باشند، این دستور باید بهدرستی یک درخواست GET احرازهویتشدهٔ SNMPv3 را به کارگزار ارسال کرده باشد.
اکنون، مدخل "group" مربوط به VACM را برای کاربر "initial" از snmpd.conf حذف کنید؛ حال شما یک کاربر معتبر 'wes' دارید که میتوانید برای تراکنشهای آینده به جای initial از آن استفاده کنید.
هشدار (WARNING)
دستکاری usmUserTable با استفاده از این دستور تنها با استفاده از SNMPv3 امکانپذیر است. این دستور با نسخههای مبتنی بر اجتماع (community-based) کار نخواهد کرد، حتی اگر آنها دسترسی نوشتن به این جدول را داشته باشند.
همچنین ببینید (SEE ALSO)
snmpd.conf(5), snmp.conf(5), RFC 3414
| 11 Dec 2009 | V5.9.5.2 |