عنوان
|
نويسنده
|
مشاهده
|
تعداد
آراء |
امتياز
|
مهمترين نقاط آسيب پذير يونيکس و لينوکس ( بخش چهارم ) |
مديريت شبکه |
15699 |
373 |
3 |
با توجه به جایگاه داده در عصر حاضر و لزوم نگاه جامع به این مقوله مهم ، بر آن شدیم تا محوریت فعالیت های خود را بر روی این موضوع متمرکز نمائیم . از این رو گروه فابک با شعار فناوری اطلاعات برای کسب وکار شکل گرفت و خدمات خود را از طریق سایت www.fabak.ir به مخاطبان محترم عرضه می نماید
 |
مهمترين نقاط آسيب پذير يونيکس
مهمترين نقاط آسيب پذير يونيکس
و لينوکس ( بخش چهارم )
آنچه
تاکنون گفته شده است :
|
|
در بخش
چهارم اين مقاله به بررسی نقاط
آسيب پذير ( Simple Network Management
Protocol (SNMP
و ( Secure Shell (SSH ، خواهيم پرداخت .
هفتمين
نقطه آسيب پذير : ( Simple Network Management
Protocol (SNMP
از پروتکل SNMP بمنظور کنترل ، مانيتورينگ از راه دور و
پيکربندی تمامی دستگاه های پيشرفته مبتنی بر TCP/IP
در ابعاد گسترده ای استفاده می شود.با اينکه استفاده از SNMP
در بين پلات فرم های متفاوت شبکه استفاده می گردد، ولی در اغلب موارد از آن
بمنظور پيکربندی و مديريت دستگاههائی نظير چاپگر ، روترها ، سوئيچ ها ، Access point
ها و دريافت داده های مورد نياز دستگاههای مانيتورينگ شبکه ، استفاده می شود
.
SNMP ، از روش های متفاوتی بمنظور مبادله پيام بين
ايستگاههای مديريت SNMP و دستگاههای شبکه ای
استفاده می نمايد . روش های استفاده شده بمنظور برخورد با پيام
های مبادله شده و مکانيزم تائيد و معتبر سازی پيا م ها، از جمله عوامل اصلی
در رابطه با نقاط آسيب پذير SNMP می باشند .
نقاط آسيب پذير
مرتبط با روش های استفاده شده در SNMP ( نسخه يک )
بهمراه جزئيات مربوطه را می توان
در آدرس
CERT
- 2002 - 03 ، مشاهده نمود .
نقاط آسيب پذير متعددی در SNMP متاثر از روش برخورد با
پيام ها توسط ايستگاه های مديريتی است . نقاط آسيب
پذير فوق، به نسخه ای خاص از SNMP محدود
نبوده و محصولات متعدد ارائه شده توسط توليد
کنندگان را نيز شامل می گردد . مهاجمان با استفاده از نقاط آسيب پذير فوق ،
قادر به انجام حملات متفاوت از نوع DoS ( از کار افتادن
يک سرويس ) تا پيکربندی و مديريت ناخواسته ماشين آلات و تجهيزات مبتنی بر
SNMP ، می باشند .
برخی از نقاط آسيب پذير در ارتباط با SNMP متاثر از روش
های استفاده شده بمنظور تائيد و معتبر سازی پيام ها در نسخه های قديمی
SNMP است ( توارث مشکلات ) . نسخه های يک و دو SNMP
،
از يک " رشته مشترک " غيررمز شده بعنوان تنها
گزينه موجود برای تائيد پيام ها استفاده می
نمايند . عدم استفاده از روش های
مناسب رمزنگاری ، می تواند عاملی مهم در پيدايش نقاط آسيب پذير باشد. نگرش پيش فرض
نسبت به " رشته مشترک "
که توسط تعداد زيادی از دستگاههای SNMP
استفاده می گردد ، از ذيگر عوامل مهم در ارتباط با عرضه نقاط آسيب پذير است( برخی از توليد
کنندگان بمنظور
افزايش سطح ايمنی مربوط به داده های حساس ، رشته را بصورت "اختصاصی " تغيير و
استفاده می نمايند
) . شنود اطلاعاتی و ترافيک SNMP
، می
تواند افشاء اطلاعات و ساختار شبکه ( سيستم ها و دستگاههای متصل شده به آن )
را بدنبال داشته باشد . مهاجمين با استفاده از اطلاعات فوق ، قادر به انتخاب
مناسب و دقيق هدف خود بمنظور برنامه ريزی حملات خود می باشند .
اکثر توليد کنندگان بصورت پيش فرض نسخه يک SNMP را
فعال و تعدادی ديگر، محصولاتی
را ارائه می نمايند که قادر به استفاده ازمدل های
امنيتی نسخه شماره سه SNMP
نمی باشند. ( با استفاده از مدل های امنيـی ارائه شده در نسخه شماره سه
SNMP ، می توان
پيکربندی لازم در خصوص روش های تائيد را بهبود
بخشيد ) .
SNMP ، مختص يونيکس نمی باشد و در ابعاد وسيعی در
ويندوز ، در تجهيزات شبکه ای ، در چاپگرها ، access point
ها و Bridges ، استفاده می
گردد. با توجه به نتايج
حاصل از آناليز
حملات مبتنی بر SNMP
، مشخص شده است که اکثر حملات در اين رابطه بدليل ضعف در پيکربندی
SNMP در سيستم های يونيکس است .
سيستم های عامل در معرض تهديد
تقريبا" بر روی تمامی سيستم های يونيکس و لينوکس
يک نسخه SNMP
نصب و بهمراه آن عرضه می گردند. در اغلب موارد پروتکل فوق ، بصورت پيش فرض فعال
می باشد.
اکثر دستگاه ها و سيستم های عامل شبکه ای مبتنی بر SNMP
دارای نقطه آسيب پذير فوق بوده و در معرض تهديد قرار خواهند داشت .
نحوه تشخيص آسيب پذيری سيستم
بمنظور بررسی نصب SNMP بر
روی دستگاههای موجود و متصل شده در
شبکه ، می توان از يک برنامه کمکی و يا روش دستی
استفاده نمود. برنامه پويشگر SNScan ، نمونه ای در اين
زمينه بوده که می توان آن را از طريق آدرس
http://www.foundstone.com/knowledge/free_tools.html
دريافت نمود. در موارديکه امکان استفاده از ابزارهای پويشگر وجود ندارد ، می
توان بررسی لازم در خصوص نصب و اجراء SNMP را
بصورت دستی انجام داد. در اين راستا می توان به مستندات سيستم عامل مربوطه مراجعه
تا پس از آگاهی از نحوه پياده سازی SNMP ، عمليات
لازم بمنظور تشخيص فعال بودن SNMP را انجام داد . در اين
رابطه می توان ، جستجوی لازم در ليست پردازه ها برای يافتن "snmp"
در حال اجراء بر روی پورت های 161 و 162 را انجام داد . وجود صرفا " يک نمونه
SNMP ، دليلی بر آسيب پذيری سيستم است . بمنظور
آگاهی از جزيئات لازم در اينخصوص می توان از آدرس
CERT
- 2002 - 03 استفاده نمود . در صورت تحقق يکی از شرايط زير و نصب
SNMP ، سيستم در معرض آسيب و تهديد قرار
خواهد داشت :
-
وجود اسامی SNMP
Community پيش فرض و يا خالی
( اسامی استفاده شده بعنوان رمزهای عبور )
-
وجود اسامی SNMP Community قابل حدس
-
وجود رشته های مخفی SNMP Community
نحوه حفاظت در مقابل نقطه آسيب پذير
بمنظور حفاظت در مقابل نقطه آسيب پذير فوق ،در دو زمينه می توان
اقدامات حفاظتی را سازماندهی نمود .
حفاظت در مقابل درخواست های آسيب رسان
و تهديد کننده :
-
غير فعال نمودن SNMP در صورت عدم ضرورت
استفاده از آن
-
استفاده از يک مدل امنيتی مبتنی بر کاربر SNMPv3 ،
بمنظور تائيد پيام ها و رمزنگاری داده
ها ( در صورت امکان )
-
در صورت استفاده از SNMP نسخه يک و يا دو ،
می بايست آخرين نسخه Patch ارائه شده
توسط توليد کننده ، نصب
گردد برای آگاهی از مشخصات
توليدکننگان، می توان
به بخش ضميمه CERT
Advisory CA-2002-03 ، مراجعه نمود .
-
SNMP را در گلوگاه های ورودی شبکه فيلتر نمائيد ( پورت
161 مربوط به TCP/UDP و پورت 162 مربوطه به
TCP/UDP ) . عمليات فوق را در موارديکه ضرورتی به
مديريت دستگاهها بصورت خارجی وجود ندارد ، می بايست انجام داد .
-
از کنترل دستيابی مبتنی بر ميزبان بر روی سيستم های
SNMP agent استفاده گردد .
ويژگی فوق ممکن است توسط SNMP agent سيستم های عامل
دارای محدوديت هائی باشد ، ولی می توان کنترل لازم در خصوص پذيرش درخواست ها توسط
agent مربوطه را انجام داد. در اکثر سيستم های
يونيکس ، می توان عمليات فوق را
توسط يک TCP-Wrapper
و يا پيکربندی Xined انجام داد .
استفاده از يک فايروال فيلترينگ
بسته های اطلاعاتی مبتنی بر agent بر روی يک ميزبان
نيز می تواند در بلاک نمودن درخواست های ناخواسته
SNMP موثر واقع شود .
حفاظت در مقابل
رشته های قابل حدس
-
غير فعال نمودن SNMP در صورت عدم ضرورت
استفاده از آن
-
استفاده از يک مدل امنيتی مبتنی بر کاربر SNMPv3 ،
بمنظور تائيد پيام ها و رمزنگاری داده
ها ( در صورت امکان )
-
در صورت استفاده از SNMP نسخه يک و يا دو ، می بايست از يک سياست خاص بمنظور اسامی
community ( استفاده شده بعنوان رمزهای عبور ) استفاده
گردد. در اين راستا لازم است اسامی بگونه ای انتخاب
گردند که
غير قابل حدس بوده و بصورت ادواری و در محدوده های خاص زمانی نيز تغيير داده شوند .
-
با استفاده از امکانات موجود می بايست بررسی
لازم در خصوص
استحکام اسامی در نظر گرفته شده برای رمزهای عبور
راانجام داد.در اين
رابطه می توان از خودآموز و ابزار ارائه شده در آدرس
http://www.sans.org/resources/idfaq/snmp.php ، استفاده
کرد.
-
SNMP را در گلوگاه های ورودی شبکه فيلتر نمائيد ( پورت
161 مربوط به TCP/UDP و پورت 162 مربوطه به
TCP/UDP ) . عمليات فوق را
در موارديکه ضرورتی به مديريت دستگاهها بصورت خارجی وجود ندارد ،
می بايست انجام داد . پيکربندی فيلترينگ را صرفا" بمنظور ترافيک مجاز SNMP
بين subnet های
مميزی شده ، انجام دهيد.
هشتمين
نقطه آسيب پذير : :( Secure
Shell (SSH
SSH ، يک سرويس عمومی برای
ايمن سازی Login ، اجرای دستورات و ارسال فايل در يک
شبکه است .اکثر سيستم های مبتنی بر يونيکس از بسته نرم افزاری
OpenSSH ( نسخه
فوق بصورت open-source است ) و يا نسخه تجاری
SSH Communication Security ، استفاده می نمايند
. با اينکه SSH دارای ايمنی مناسبتری نسبت به
telnet,ftp و برنامه های R-Command
می باشد ، ولی همچنان
در هر دو نسخه اشاره شده ، ضعف های امنيتی
متعددی وجود دارد . اکثر
ضعف های موجود صرفا" اشکالات جزئی
بوده و تعداد اندکی از
آنان ، حائز اهميت بوده و می بايست بلافاصله نسبت به برطرف نموودن آنان اقدام
گردد . مهمترين
تهديد مرتبط با ضعف های امنيتی
SSH ، امکان دستيابی
(سطح ريشه) به ماشين آسيب
پذير توسط مهاجمان است .
با توجه به رشد چشمگير
استفاده از سرويس گيرندگان و سرويس دهندگان SSH
در محيط های ويندوز، اکثر اطلاعات ارائه شده در
رابطه با نقطه آسيب پذير فوق ، به نسخه
های پياده سازی شده SSH در ويندوز و
nix * ( يونيکس ، لينوکس ) بر می گردد
.عدم مديريت مناسب SSH
، خصوصا" در ارتباط با پيکربندی و بکارگيری patch ها
و بهنگام سازی لازم ، می تواند مسائل و مشکلات خاص خود را بدنبال
داشته باشد .
SSH2 ، ابزاری قدرتمند
تعداد زيادی از نقاط
آسيیب پذير تشخيص داده شده در پروتکل هائی نظير
POP3 ( جايگزين با SSH2 SFTP ) ، برنامه
Telnet ، سرويس HTTP , و
ابزارهای مبتنی بر rhost ( نظير : روش های تائيد
,rsh , rlogin ,rcp )
باعث ارسال اطلاعات بصورت clear text و يا عدم پردازش
مناسب session های سرويس گيرنده - سرويس دهنده
می گردد. پروتکل SSH1 ،
دارای پتانسيل آسيب پذيری
بالائی خصوصا" در ارتباط با session موقتی رمزنشده
می باشد . بدين دليل
مديران سيستم و شبکه
، استفاده از پروتکل SSH2
را گزينه ای شايسته در اينخصوص می دانند(
در موارديکه امکان آن وجود دارد) . لازم است به اين نکته مهم
اشاره گردد که SSH1 و SSH2 با
يکديگر سازگار نبوده
و لازم است نسخه SSH
بر روی سرويس گيرنده و سرويس دهنده
يکسان باشند (در اين رابطه موارد استثنا ء نيز وجود دارد ) .
کاربران OpenSSH می بايست به اين نکته توجه نمايند که
کتابخانه های OpenSSH در مقابل
پتانسيل های ايجاد شده توسط
OpenSSH ، دارای نرم افزارهای آسيب پذير
مختص خود می باشند. بمنظور آگاهی از
جزئيات مربوطه ، می توان از آدرس
CERT Advisory 2002-23
استفاده نمود .در
سال 2002 يک نسخه آلوده از OpenSSH ( نسخه فوق
دارای يک trojan-horse بود ) در زمان کوتاهی گسترش
و باعث آسيب های فراوانی گرديد. بمنظور کسب اطلاعات
بيشتر در اين رابطه و اطمينان از عدم آسيب پذيری سيستم خود در مقابل
نسخه آلوده فوق ، می توان از آدرس
http://www.openssh.org/txt/trojan.adv استفاده نمود .
سيستم های عامل در معرض تهديد
هر نسخه يونيکس و يا لينوکس که بر روی آن OpenSSH 3.3 و
يا بعد از آن ( نسخه ارائه شده در سال 2003 ،version
3.6.1) و يا SSH
Communication Security's SSH 3.0.0 و يا بعد از
آن ( نسخه ارائه شده در سال 2003 شماره
version 3.5.2 ) نصب واجراء
می گردد ، در معرض اين آسيب قرار خواهد داشت .
نحوه تشخيص آسيب پذيری سيستم
با استفاده از يک پويشگر
مناسب ، می توان بررسی لازم در خصوص آسيب پذيری يک نسخه را
انجام داد . در اين رابطه می توان با اجرای دستور " ssh
-V " ، از شماره نسخه نصب شده بر روی سيستم آگاه گرديد. ScanSSH ،
ابزاری مفيد بمنظور تشخيص
از راه دور سرويس دهندگان
SSH آسيب پذير بدليل عدم Patching
، می باشد. دستور خطی ScanSSH ، ليستی از آدرس های
شبکه را برای سرويس دهندگان پويش و گزارشی در ارتباط با شماره نسخه های آنان
را ارائه می نمايد . آخرين نسخهScanSSH که در سال 2001 ارائه شده است را می توان از
آدرس
http://www.monkey.org/~provos/scanssh دريافت نمود .
نحوه حفاظت در مقابل نقطه آسيب پذير
بمنظور حفاظت در مقابل نقطه آسيب پذير فوق ، موارد زير پيشنهاد می
گردد :
-
نسخه
SSH و يا
OpenSSH را
به آخرين نسخه موجود ارتقاء دهيد . درصورتيکه SSH و يا
OpenSSH بهمراه سيستم عامل ، نصب شده
باشد ، می بايست آخرين
Patchمربوطه را از سايت ارائه دهنده سيستم عامل دريافت
و آن را برروی سيستم نصب نمود. در صورت
استفاده از OpenSSL ، از
نصب آخرين نسخه آن مطمئن شويد .
-
حتی المقدور سعی گردد، نسخه SSH1 به
SSH2 ارتقاء يابد .در
رابطه با توسعه SSH1 در آينده تصميم خاصی وجود
نداشته و توسعه SSH2 مورد نظر می باشد .
-
دو نسخه پياده سازی شده SSH ، دارای مجموعه ای از گزينه
های انتخابی بوده که
مديران سيستم با استفاده از آنان و با توجه به سياست های موجود می توانند پيکربندی
مناسبی در اينخصوص را انجام دهند. امکان محدوديت در دستيابی به ماشين مورد نظر و اتصال به
آن ، روش های تائيد کاربران و
ماهيت کاربران مجاز ، نمونه هائی از گزينه های
انتخابی بوده که می توان از آنان بمنظور پيکربندی مطلوب استفاده
گردد.
-
پيکربندی مناسب سرويس گيرندگان SSH
در زمان اتصال به سرويس دهنده ای که SSH را حمايت نمی
نمايد . در چنين مواردی سرويس گيرنده ممکن است به عقب برگشته و استفاده از
rsh را در اين رابطه مفيد تشخيص دهد . بمنظور پيشگيری از
مواردی اينچنين می بايست به کليد FallBackToRsh در
فايل پيکربندی SSH
، مقدار NO را نسبت داد .
-
از رمزنگاری blowfish در مقابل
3DES استفاده گردد (روش
3DES ، ممکن است بصورت پيش فرض در نسخه مربوطه در
نظر گرفته شده
باشد ). بدين ترتيب علاوه بر افزايش سرعت در عمليات ، رمزنگاری انجام شده نيز از
استحکام مناسبی برخوردار خواهد بود.
در بخش
پنجم اين مقاله به بررسی ساير نقاط
آسيب پذير يونيکس و لينوکس خواهيم پرداخت .