محمد لینوکس

همه چیز به غیر از لینوکس!

محمد لینوکس

همه چیز به غیر از لینوکس!

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

نهمین نقطه آسیب پذیر : عدم پیکربندی مناسب سرویس های 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 . در این رابطه می توان از آدرس  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 ، بمنظور آگاهی از شماره نسخه نرم افزار نصب شده ، استفاده نمود.

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

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

منبع:srco.ir

نظرات 0 + ارسال نظر
برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد