نهمین نقطه آسیب پذیر : عدم پیکربندی مناسب سرویس های NIS/NFS
Network File System)NFS) و Network Information Service )NIS) ، دو سرویس مهم استفاده شده در شبکه های یونیکس می باشند. NFS ، سرویسی است که توسط شرکت Sun Microsystems بمنظور اشتراک فایل ها بین سیستم های موجود در یک شبکه یونیکس ، طراحی و پیاده سازی گردیده است . با استفاده از سرویس فوق امکان اشتراک و دستیابی به فایل های موجود بر روی کامپیوترهای شخصی و کامپیوترهای بزرگ فراهم می گردد . NFS ، روش استاندارد اشتراک فایل بین سیستم های کامپیوتری متفاوت است . NIS ، یک سرویس بانک اطلاعاتی توزیع شده را برای مدیریت اکثر فایل های مدیریتی مهم نظیر فایل های passwd و hosts فراهم می نماید .مدیریت متمرکز NIS ، امکان اعمال تغییرات مورد نظر را از یک نقطه ( بانک اطلاعاتی ) فراهم می نماید.(عدم ضرورت اعمال تغییرات بر روی هر سیستم موجود در شبکه ) . مهمترین هدف NIS ، ارائه اطلاعات مربوط به مکان یابی ( Maps نامیده می شود ) به سایر سرویس های شبکه نظیر NFS است .فایل های passwd و group ، نمونه هائی در این زمینه ( Maps ها مورد نظر ) بوده که از آنان بمنظور تمرکز در تائید کاربران استفاده می گردد. سرویس های NIS و NFS ، دارای ضعف های امنیتی متعددی ( مثلا" ضعف در سیستم تائید کاربران ) بوده و در سالیان اخیر مهاجمان با استفاده از آنان ، حملات متعددی را سازماندهی و به سرانجام رسانده اند .اکثر حملات انجام شده از نوع buffer overflows ، DoS می باشد . با توجه به آسیب پذیری سرویس های فوق ، مهاجمان همواره از آنان بعنوان هدفی مناسب در جهت حملات خود استفاده نموده اند .
درصورت عدم پیکربندی مناسب سرویس های NFS و NIS و Patching مناسب ، سیستم های کامپیوتری در معرض تهدید جدی بوده و مهاجمان با سوءاستفاده از حفره های امنیـتی موجود قادر به دستیابی سیستم از راه دور و یا بصورت محلی خواهند بود. مکانیزم استفاده شده توسط NIS برای تائید کاربران دارای ضعف های خاص خود بوده و مهاجمان با استفاده از نرم افزارهائی نظیر ypcat قادر به نمایش مقادیر و داده موجود در بانک اطلاعاتی NIS بمنظور بازیابی فایل رمزعبور می باشند.
سیستم های عامل در معرض تهدید
تقریبا" تمامی سیستم های یونیکس و لینوکس بهمراه یک نسخه از NFS و NIS ارائه می گردند. سرویس های فوق، بصورت پیش فرض فعال می باشند .
نحوه تشخیص آسیب پذیری سیستم
بمنظور تشخیص آسیب پدیری سیستم در رابطه با سرویس های NIS و NFS موارد زیر پیشنهاد می گردد :
بررسی و اطمینان از نصب آخرین Patch ارائه شده توسط تولید کننده . تمامی نسخه هائی که بهنگام نشده و یا آخرین Patch موجود بر روی آنان نصب نشده باشد در معرض تهدید و آسیب قرار خواهند داشت . در اکثر نسخه ها با استفاده از دستور rpc.mountd -version می توان از شماره نسخه NFS نصب شده آگاهی یافت . بمنظور آگاهی از شماره نسخه NIS می توان از دستور ypserv -version استفاده نمود ( دستور فوق شماره نسخه NFS را نیز نمایش خواهد داد ) .
بمنظور تشخیص آسیب پذیری نرم افزار، می توان از یک پویشگر نقاط آسیب پذیر بهنگام شده بصورت مستمر استفاده تا بررسی لازم در خصوص ضعف های جدید صورت پذیرد.
بمنظور برخورد با عدم پیکربندی مناسب NIS موارد زیر پیشنهاد می گردد :
بمنظور برخورد با عدم پیکربندی مناسب NFS موارد زیر پیشنهاد می گردد :
نحوه حفاظت در مقابل نقطه آسیب پذیر
موارد زیر در ارتباط با پیکربندی NIS ، پیشنهاد می گردد:
در زمان ایجاد فایل های DBM ، ویژگی YP_SECURE فعال گردد . بدین ترتیب ،سرویس دهنده صرفا" به درخواست های ارسالی توسط یک سرویس گیرنده و از طریق پورت های مجاز ، پاسخ خواهد بود . در این رابطه می توان از سوئئچ S بهمراه دستور makedbm استفاده نمود .
موارد زیر در ارتباط با پیکربندی NFS پیشنهاد می گردد:
استفاده از آدرس های عددی IP و یا FQDN) fully qualified domain names) در مقابل اسامی مستعار (زمانیکه به سرویس گیرندگان در فایل etc / exports اجازه داده می شود) .
بمنظوربررسی پیکربندی سیستم می توان از برنامه ای با نام NFSBug ، استفاده نمود.برنامه فوق امکانات متنوعی را بمنظور تست پیکربندی سیستم ارائه می نماید . برای دریافت برنامه NFSBug ، می توان از آدرس ftp://coast.cs.purdue.edu/pub/tools/unix/nfsbug/ استفاده نمود .
اسفاده از فایل etc\exports بمنظور اعمال محدودیت در رابطه با دستیابی به سیستم فایل NFS با افزودن پارامترهای زیر :
- ممانعت کاربران معمولی از mounting یک سیستم فایل NFS با افزودن یک پارامتر ایمن پس از آدرس IP و یا نام Domain مربوط به سرویس گیرنده NFS .
مثلا" : ( home 10.20.1.25(secure /
- export نمودن سیستم فایل NFS با مجوزهای مناسب .عملیات فوق را می توان با افزودن مجوزهای لازم ( ro برای فقط خواندنی و یا rw برای خواندن و نوشتن ) پس از آدرس IP مربوط به نام domain سرویس گیرنده NFS در فایل etc\export انجام داد.
مثلا" : ( home 10.20.1.25(ro / .
- در صورت امکان ، از پارامتر root_squash بعد از آدرس IP و نام Domain مربوط به سرویس گیرنده NFS استفاده گردد . در صورتیکه پارامتر فوق فعال شده باشد ، superuser ID root بر روی سرویس گیرنده NFS با کاربر ID nobody در سرویس دهنده NFS جایگزین می گردد. بدین ترتیب root user بر روی سرویس گیرنده ، قادر به دستیابی و یا تغییر فایل ها بر روی root نخواهند بود.
مثلا" : ( home 10.20.1.25(root_squash / .
بر روی سیستم عامل سولاریس ، مانیتورینگ پورت فعال گردد. عملیات فوق را می توان با افزودن Line set nfssrv:nfs_portmon = 1 در فایل etc/system / ، انجام داد .
موارد زیر در ارتباط با NFS و NIS پیشنهاد می گردد :
بازنگری و بررسی سیاست های فایروال بمنظور اطمینان از بلاک شدن تمامی پورت های غیر ضروری( مثلا" پورت 111 ( portmap ) و پورت 2049 ( Rpc.nfsd ) ) .امکان دستیابی به سرویس دهندگان NFS و NIS ، می بایست صرفا" از طریق سرویس گیرندگان مجاز انجام شود.
بررسی لازم در خصوص استفاده از NFS بر روی یک پروتکل ایمن نظیر SSH . در این رابطه می توان از آدرس http://www.math.ualberta.ca/imaging/snfs/ استفاده نمود .
نصب تمامی patch های ارائه شده توسط تولید کنندگان و یا ارتقاء سرویس دهندگان NIS و NFS به آخرین نسخه موجود. برای آگاهی از اطلاعات مربوط به نصب و پیکربندی یونیکس با لحاظ نمودن مسائل امنیتی مضاعف ، می توان از آدرس UNIX Security Checklist استفاده نمود.
غیر فعال نمودن NFS و NIS مربوط به deamons بر روی سیستم هائی که مختص یک سرویس دهنده NFS و یا NIS طراحی و تائید نشده اند . بمنظور پیشگیری لازم در اینخصوص می توان سرویس های NIS و یا NFS ( و یا هر دو آنان ) را از روی سیستم حذف نمود.
دهمین نقطه آسیب پذیر : ( Open Secure Sockets Layer (SSL
کتابخانه OpenSSL ( بصورت Open source است ) ، نرم افزاری رایج بمنظور افزدون امنیت رمزنگاری به برنامه ها ئی است که از طریق شبکه با یکدیگر ارتباط برقرار می نمایند .سرویس دهنده آپاچی ، مهمترین وشناخته ترین برنامه استفاده کننده از پکیج فوق می باشد ( بمنظور حمایـت از hhtps ، ارتباط بر روی پورت 443 ) . برنامه های متعدد دیگر با انجام برخی تغییرات ، استفاده از OpenSSL بمنظور افزایش امنیـت اطلاعات مبادله شده در یک شبکه را در دستور کار خود قرار داده اند .
برنامه های متعددی بمنظور ارائه امنیت رمزنگاری در ارتباط با یک Connection از OpenSSL استفاده می نمایند . مهاجمان در اغلب موارد در مقابل هدف قرار دادن مستقیم OpenSSL ، برنامه هائی را برای حملات خود انتخاب می نمایند که از OpenSSL استفاده می نمایند . یکی از اهداف مهاجمین در این رابطه ، سرویس دهنده آپاچی است که از OpenSSL استفاده می نماید . برنامه هائی دیگر نظیر: mail ، openldap,CUPS که از OpenSSL استفاده می نمایند نیز در معرض تهاجم قرار خواهند داشت .
OpenSSL دارای نقاط آسیب پذیر متعددی بوده که می توان به چهار نمونه مهم آنان اشاره نمود : مورد اول ، مورد دوم ، مورد سوم ، مورد چهارم . مهاجمان با استفاده از نقاط آسیب پذیر فوق، قادر به اجرای کد دلخواه بعنوان کاربر کتابخانه OpenSSL می باشند.
سیستم های عامل در معرض تهدید
هر یک از سیستم های یونیکس و یا لینوکس که بر روی آنان نخسه OpenSSL 0.9.7 و یا قبل از آن اجراء می گردد، در معرض این آسیب قرار خواهند داشت .
نحوه تشخیص آسیب پذیری سیستم
در صورتیکه نسخه version 0.9.7a و یا قبل از آن نصب شده باشد ، سیستم در معرض تهدید و آسیب قرار خواهد داشت . در این رابطه می توان از دستور OpenSSL version ، بمنظور آگاهی از شماره نسخه نرم افزار نصب شده ، استفاده نمود.
نحوه حفاظت در مقابل نقطه آسیب پذیر
بمنظور حفاظت در مقابل نقطه آسیب پذیر فوق ، موارد زیر پیشنهاد می گردد :
منبع:srco.ir