مهمترين نقاط آسيب پذير يونيکس و لينوکس ( بخش پنجم ) مهمترين نقاط آسيب پذير يونيکس و لينوکس ( بخش پنجم )

در بخش پنجم اين مقاله به بررسی سرويس های NIS/NFS و SSL خواهيم پرداخت .
نهمين نقطه آسيب پذير : عدم پيکربندی مناسب سرويس های 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 موارد زير پيشنهاد می گردد :
  • اطمينان از عدم نگهداری Root Password در يک NIS map
  • سازگاری رمزهای عبور تعريف شده با سياست های امنيتی موجود. در اين راستا می توان از يک برنامه Cracker بمنظور بررسی استحکام رمزهای عبور تعريف شده،استفاده نمود.

بمنظور برخورد با عدم پيکربندی مناسب NFS موارد زير پيشنهاد می گردد :
  • بررس لازم در خصوص بهنگام بودن ميزبانان ، netgroups و مجوزها در فايل etc \ exports \ .
  • اجرای دستور Showmount e بمنظور مشاهده عناصر export شده و بررسی سازگاری آنان با سياست های امنيتی .

نحوه حفاظت در مقابل نقطه آسيب پذير
موارد زير در ارتباط با پيکربندی NIS ، پيشنهاد می گردد:

  • مشخص نمودن صريح سرويس دهندگان NIS بر روی سرويس گيرندگان ( پيشگيری لازم در خصوص تظاهر ساير سيستم ها بعنوان يک سرويس دهنده NIS ) .
  • در زمان ايجاد فايل های DBM ، ويژگی YP_SECURE فعال گردد . بدين ترتيب ،سرويس دهنده صرفا" به درخواست های ارسالی توسط يک سرويس گيرنده و از طريق پورت های مجاز ، پاسخ خواهد بود . در اين رابطه می توان از سوئئچ S بهمراه دستور makedbm استفاده نمود .
  • درج ميزبانان مورداعتماد و شبکه ها در var/yp/securenets / که توسط پردازه های ypserv و ypxfrd استفاده می گردد.
  • درج ::: 0:0 : * :+ در password map بر روی سرويس گيرندگان NFS

موارد زير در ارتباط با پيکربندی 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 . در اين رابطه می توان از آدرس Secure NFS via SSH Tunnel استفاده نمود .
  • نصب تمامی 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 ، بمنظور آگاهی از شماره نسخه نرم افزار نصب شده ، استفاده نمود.

نحوه حفاظت در مقابل نقطه آسيب پذير
بمنظور حفاظت در مقابل نقطه آسيب پذير فوق ، موارد زير پيشنهاد می گردد :

  • ارتقاء به آخرين و جديدترين نسخه OpenSSL . در صورتيکه OpenSSL بهمراه سيستم عامل نصب شده است ، از توليدکننده سيستم عامل مربوطه می بايست آخرين نسخه مربوطه را دريافت و آن را بر روی سيستم نصب نمود.
  • در صورت امکان ، از ipfilter و ساير ابزارهای موجود در اين زمينه بمنظور اعمال محدوديت در رابطه با سيستم هائی که می بايست به سرويس دهنده OpenSSL متصل گردند ،استفاده شود .