Community String چیست؟ بررسی کاربرد در پروتکل SNMP
قطعاً این سؤال نیز برای شما پیشآمده است که نرمافزارهای مانیتورینگ همچون آنتیویروس و آنتی مارولها که قرار است اطلاعاتی را از یک کلاینت دریافت و پردازش کنند از چه طریق به ارسال و دریافت این اطلاعات میپردازند؟ پروتکل SNMP یا Simple Network Management Protocol درواقع یک پروتکل مشهور و پرکاربرد برای مدیریت و رصد شبکه است. SNMP جهت جمعآوری اطلاعات کانفیگ تجهیزات شبکه همانند سویچ، سرور، روتر و … بر اساس یک IP مورداستفاده قرار میگیرد.
در مدل OSI پروتکل SNMP در لایه application قرار میگیرد که به معنای تبادل اطلاعات نرمافزاری میان اجزای مختلف شبکه توسط این پروتکل است. SNMP درواقع بخشی از پروتکل TCP/IP است که برای مانیتورینگ تجهیزات شبکههای مختلف خصوصاً شبکه LAN از آن استفاده میشود. نحوه کار این پروتکل به این شکل است که با فعالسازی Agent آن در کلاینت اطلاعات موردنظر توسط آن جمعآوری شده و به SNMP Manager ارسال خواهد شد. از آنجا نیز اطلاعات میتوانند توسط نرمافزارهای مختلف مانیتورینگ تجزیهوتحلیل شوند. پروتکل SNMP در کنار خود دارای ویژگی امنیتی Community String نیز است که در ادامه به بررسی آن نیز خواهیم پرداخت.
پروتکل SNMP
کاربرد پروتکل SNMP
مشخصاً در یک شبکه یک سرور یا یک کلاینت اصلی وظیفه مدیریت و مانیتورینگ شبکه را بر عهده دارند. به این بخش از شبکه معمولاً مدیریت SNMP یا SNMP Manager میگویند. در دیگر اجزای شبکه همچون کلاینت و تجهیزات دیگر که نیاز به مدیریت و نظارت دقیق بر روی آنها وجود دارد ویژگی SNMP Agent فعال میشود تا این Agent از طریق پروتکل یاد شده اطلاعات موردنیاز را به SNMP Manager ارسال کند. در دست دیگر وظیفه این مدیریت دریافت اطلاعات و Querry از Agent و البته تعیین فاکتورهای موردنظر و اعلام تغییرات به Agent است.
Agent یک برنامه کلاینت ساید است که اطلاعات موردنیاز مدیریت را بهصورت Local جمعآوری کرده و در زمان درخواست آنها را برای Manager ارسال میکند. این Agent میتواند مربوط به هر شرکتی باشد و شرکتهای معروف معمولاً Agent مخصوص خود با ویژگیهای خاص را در اختیار کاربران قرار دادهاند. برای مثال PRTG Network Monitor یکی از معروفترین Agentهای SNMP است که برای ویندوز 10 بهصورت رایگان منتشر شده است.
- یک Agent کاربردی میبایست بتواند وظایف زیر را بهصورت کامل انجام دهد
- جمعآوری اطلاعات در محیط Local
- ذخیره و بازیابی اطلاعات بهصورت MIB
- در جریان گذاشتن SNMP Manager در صورت بروز هر تغییر یا اتفاق مهم در کلاینت
- ایجاد پروکسی برای تجهیزاتی که با SNMP مدیریت نشدهاند.
در دست دیگر SNMP Manager نیز وظایفی را در شبکه بر عهده دارد.
- تشخیص هویت شبکه و آمار آن
- پیداکردن تمامی تجهیزات متصل به شبکه
- آمار کارکرد کلاینت و تجهیزات و میزان کارایی آنها
- جمعآوری خطاها و رویدادها
البته وظایف یاد شده صرفاً اصلیترین وظایفت SNMP و Agent آن هستند و بسیاری از شرکتهای سازنده قابلیتها و ویژگیهای بسیار کاربردی دیگری را نیز در نرمافزار خود قرار میدهند.
بیشتر بخوانید: SNMP چیست؟
پیامهای SNMP و پروتکل آن
پروتکل SNMP یک راه ارتباطی میان SNMP Manager و Agent آن است. همانطور که میدانید پیامهای بسیاری در میان این دو بخش از شبکه ردوبدل میشوند که به آنها PDU یا Protocol Data Unit میگویند. یک پیام میان SNMP و Agent برگرفته از یک PDU و یک Header است که در زمان درخواست SNMP Manager یا رخ داد یک Event در Agent میان آنها ردوبدل میشود.
SNMP همچون بسیاری از اجزای لایه Application از پرتکل UDP برای انتقال پیام خود استفاده میکند. یک سرویس انتقال UDP میتواند بهراحتی توالی صحیح پکتهای رسیده را تضمین کند. به همین علت حتی اگر بخش زیادی از شبکه نیز از مدار خارج شوند این پروتکل میتواند همچنان به کار خود ادامه دهد. پورت udp 161 برای ارسال و دریافت پیامهای SNP ذخیره شده است و پورت 162 آن برای send/receive بخش SNMP Traps به کار خواهد رفت که البته باتوجهبه نیاز شبکه میتوانید این دو پورت را بهراحتی تغییر دهید.
نسخه های مختلف SNMP
پروتکل SNMP نیز همچون دیگر بخشهای شبکه در طول زمان دچار تغییر شده است و نسخههای بسیاری از آن برای استفاده وجود دارند. در حال حاضر سومین نسخه SNMP بیشترین کاربرد را در شبکههای مختلف به خود اختصاص داده است. SNMPv3 میتواند به سه سطح امنیتی در شبکه شما فعال شود. حالت noAuthNoPriv پکتهای SNMP هیچگونه رمزنگاری یا authenticate را نخواهند داشت. AuthNoPriv پکتهای SNMP رمزگذاری نشده اما Authenticate در آنها وجود خواهد داشت و حالت آخر AuthPriv تمامی پکتها هم رمزگذاری شده و هم Authenticate در آنها وجود خواهد داشت. در بسیاری از مواقع به علت حساسیت اطلاعات موجود در پکتهای SNMP استفاده از حداکثر حالت امنیت بهترین گزینه برای شبکه خواهد بود. اما اگر محدودیت پردازش و البته درخواست کارفرما میتوان از حالتهای بدون رمزنگاری این پروتکل استفاده کرد.
Community String چیست؟
Community String در SNMP دقیقاً همانند یک username و password عمل میکند که این رشته میتواند شامل حروف یا اعداد باشد. Community String در واقع یک پارامتر امنیتی برای SNMP Server است که در زمان ارسال Reqeust به SNMP Client یا Agent ارسال میکند SNMP Client این Community String را با Community String که در خود دارد مقایسه میکند و درصورتیکه این دوبرابر بودند پاسخ مناسبی را به SNMP Server ارسال میکند. در صورت وجود مغایرت در Community String، Agent یا SNMP Client به درخواست جوابی نخواهد داد.
Community String بهصورت پیشفرض در حالت Public قرار دارد و دسترسی به آن بهراحتی امکانپذیر است. یک مدیر شبکه باتجربه میداند که برای افزایش امنیت شبکه خود میبایست Community String را تغییر دهد تا از دسترسیهای غیرمجاز جلوگیری کند. در صورت عدم تغییر Community String یک مهاجم میتواند دادههای SNMP را بهراحتی شنود کرده و دادههای میان SNMP Agent و SNMP Manager را بهراحتی بازیابی کند. پس اگر مدیریت یک شبکه را بر عهده دارید حتماً نسبت به تعویض حالت Community String اقدام کنید.
حالت دیگری از Community String نیز وجود دارد که به Community String SNMP Trap معروف است. SNMP Trap در واقع به کلیه پیامهایی گفته میشود که Agent به Server بدون Request ارسال میشوند. این ویژگی در صورت فعالبودن در Client میتواند اطلاعات و مشکلات مربوط به کلاینت همچون down شدن روتر را به SNMP Manager اعلام کند تا مدیر شبکه از وجود مشکل آگاه شود.
پیشنهاد ما :دوره آموزش CCNA
دیدگاهتان را بنویسید