پل کوونا در سال 2003 پروتکل مدیریت ساده شبکه یا همان SNMP را با همین کلمات توصیف کرد. او توضیح داد که این پروتکل چگونه به راحتی می تواند اطلاعات زیادی را از شبکه جمع آوری کند، اما همچنان ممکن است پیچیده به نظر برسد.
توصیف کوونا SNMP را کاملاً مفید و مختصر توضیح می دهد. این تکنولوژی نیز درست مثل هر تکنولوژی جدید دیگری نقایصی دارد؛ و این نقایص در برخی از نسخه های SNMP بیشتر به چشم می خورد. درعین حال SNMP یک ابزار حیاتی برای مدیریت شبکه محسوب می شود. شاید بی عیب نباشد، اما یکی از بهترین راه حل های موجود برای نظارت و مدیریت دستگاه ها در شبکه است. در متن زیر نقش SNMP را در مدیریت شبکه توضیح می دهیم، نسخه ها مختلف SNMP را معرفی می کنیم و با نحوه کارکرد مؤثر و ایمن SNMP در شبکه آشنا می شویم.
SNMP چیست؟
SNMP یک پروتکل شبکه است که در سال 1989 ایجادشده است تا یک راه سازگار و مطمئن برای دستگاه های مختلف در یک شبکه برای به اشتراک گذاشتن اطلاعات با یکدیگر فراهم کند. این پروتکل اجازه می دهد تا حتی اگر دستگاه های مختلف سخت افزار و نرم افزارها متفاوتی دارند بتواننند با یکدیگر ارتباط برقرار کنند.بدون یک پروتکل مانند SNMP، هیچ راهی برای ابزارهای مدیریت شبکه برای شناسایی دستگاه ها، نظارت بر عملکرد شبکه، پیگیری تغییرات در شبکه یا تعیین وضعیت دستگاه های شبکه در زمان واقعی وجود نخواهد داشت.
ساختار SNMP
SNMP یک معماری ساده بر اساس یک مدل client-server دارد. سرورها که manager خوانده می شوند اطلاعات مربوط به دستگاه های شبکه را جمع آوری و پردازش می کنند. کلاینت ها که agent نامیده می شوند هر نوع دستگاه یا اجزای دستگاه هستند. آن ها می توانند نه تنها کامپیوتر بلکه سوییچ، تلفن، چاپگر و غیره را شامل شوند. برخی از دستگاه ها ممکن است اجزای چندگانه داشته باشند. به عنوان مثال، یک لپ تاپ به طورمعمول شامل یک شبکه اترنت و یک شبکه بی سیم است.
سلسله مراتب داده SNMP
هرچند که معماری SNMP ساده است اما سلسله مراتب داده ها در SNMP درصورتی که با این مفاهیم آشنا نباشید ممکن است کمی برای شما پیچیده به نظر برسد. خوشبختانه وقتی فلسفه پشت آن را درک کنید، نسبتاً ساده است.برای راستای انعطاف پذیری و قابلیت توسعه، SNMP انتظار ندارد تا دستگاه ها اطلاعات خود را در فرمت و سایز خاصی با دیگران به اشتراک بگذارند. در عوض از یک ساختار درخت-ماانند استفاده می کند که از آن طریق جمع آوری اطلاعات همیشه برای مدیران امکان پذیر است.
درخت داده دارای جداول متعدد است (شاخه ها، اگر می خواهید از استعاره درخت استفاده کنید) که به عنوان پایگاه اطلاعات مدیریت، یا MIB ها نامیده می شود. MIBs انواع خاصی از دستگاه ها یا اجزای دستگاه را باهم ترکیب می کنند. هر MIB یک شماره شناسایی منحصربه فرد و همچنین یک رشته شناسایی دارد. اعداد و رشته ها را می توان به طور متناوب (مانند آدرس های IP و نام میزبان) استفاده کرد.سلسله مراتب داده SNMP
هر MIB متشکل از یک یا چند گره است که دستگاه ها یا اجزای دستگاه را در شبکه نشان می دهد. به نوبه خود، هر گره یک شناسه منحصربه فرد یا OID دارد. OID برای یک گره داده شده، توسط شناسه MIB تعیین می شود ترکیبی از شناسه گره و مشخصاتMIB است.
چرا از OID استفاده می کنیم؟
سلسله مراتب MID و OID ممکن است گیج کننده به نظر برسند اما چندین مزیت مهم دارند. یکی از مزیت ها این است که manager می تواند بدون اینکه لازم باشد صراحتاً درخواستی برای agent ارسال کند به اطلاعات دسترسی داشته باشد. همین امر فشار کاری را کاهش می دهد و تضمین می کند که اطلاعات مربوط به وضعیت شبکه همواره در دسترس است.همچنین این سیستم یک راه آسان و انعطاف پذیر برای سازمان دهی دستگاه های متعدد در یک شبکه را فراهم می کند. بدون در نظر گرفتن سایز شبکه و نوع دستگاه هایی که در شبکه وجود دارند.
SNMP همچنین امکان جمع آوری حجم بالایی از اطلاعات را به سرعت فراهم می کند بدون اینکه خللی در ترافیک شبکه ایجاد شود. به دلیل اینکه اطلاعات مربوط به دستگاه ها همیشه در یک فرمت ساده در دسترس قرار دارد و در لحظه به روزرسانی می شود و مدیران می توانند بدون انتظار کشیدن برای جمع آوری اطلاعات به آن ها دسترسی داشته باشند.
لازم به ذکر است که برخی از مقادیر OID از مشخصات شرکت سازنده است که موجب می شود بتوانند به کمک OID به راحتی به اطلاعاتی در مورد دستگاه دست پیدا کنند. به عنوان مثال: اگر یک OID با 1.3.6.1.4.1. شروع شود نشان دهنده این است که این دستگاه متعلق به شرکت سیسکو است. بقیه شرکت های تولیدکننده OID اختصاصی خود را دارند. پیشوند استاندارد OID برای هر دستگاهی که از SNMP پشتیبانی می کند 1.3.6.1.2 است.
نسخه های مختلف SNMP
نکته مهم نهایی برای درک بهتر SNMP این است که ویژگی های موجود در نسخه های مختلف پروتکل مخصوصاً در مورد ویژگی های امنیتی به طور قابل ملاحظه ای متفاوت است.اولین نسخه (SNMP(SNMPv1 ویژگی های امنیتی ضعیفی را ارائه می دهد. با استفاده از SNMPv1 سیستم manager می تواند agent را تائید هویت کند اما در هنگام دریافت اطلاعات خبری از رمزگذاری نیست. این بدان معناست که هرکسی با دسترسی به شبکه و از طریق یک نرم افزار "Sniffing" می تواند اطلاعات را در شبکه ردیابی کند. همچنین این بدان معناست که هر دستگاه غیرمجازی می تواند خود را به عنوان یک دستگاه قانونی در شبکه معرفی کند و به کنترل شبکه بپردازد.ویژگی های امنیتی SNMP
همچنین SNMPv1 از گواهینامه های پیش فرض استفاده می کند که ممکن است مدیران آن را به روز نکنند و موجب می شود که افراد غیرمجاز بتوانند به سادگی به اطلاعات حساس شبکه دسترسی پیدا کنند. متأسفانه به دلیل به روزرسانی نشدن شبکه ها SNMPv1 هنوز هم به شکل نسبتاً گسترده استفاده می شود.SNMPv2 که در سال 1993 رونمایی شد، پیشرفت های امنیتی را ارائه داد اما در سال 1998 توسط SNMPv3 جایگزین شد که آخرین و امن ترین نسخه پروتکل است.
SNMPv3 دارای قابلیت رمزگذاری است. همچنین به مدیران اجازه می دهد تا درخواست احراز هویت مختلف را به صورت مجزا برای manager و client تعیین کنند. این امر مانع احراز هویت غیرمجاز می شود و می توان به صورت اختیاری برای انتقال اطلاعات درخواست رمزگذاری کرد.درنتیجه درحالی که مشکلات امنیتی موجود در SNMPv1 موجب بدنامی SNMP در برخی محافل شد، SNMPv2 و به خصوص SNMPv3 این مشکلات را برطرف کرد. نسخه های جدیدتر از SNMP، روش جدیدی را برای نظارت بر دنیای شبکه فراهم می کنند.
فعال سازی SNMP
اگر امنیت ضعیف SNMPv1 شما را نگران کرده است، بدانید که جای نگرانی نیست. SNMP به طور پیش فرض بر روی دستگاه ها فعال نیست. این بدان معنی است که در اغلب موارد، مدیران برای ورود داده ها به SNMP باید وارد سیستم شده و آن را روشن کنند. این مرحله اولیه، امکان فعال شدن نسخه های غیر امن SNMP بدون اطلاع شما را بر روی سیستم کاهش می دهد.