PDA

View Full Version : سوال: امنیت سرور



علیرضا حسن زاده
چهارشنبه 02 دی 1388, 19:42 عصر
با سلام خدمت دوستان
من به تازه گی یه سرور برپا کردم و دارم به اون یه سری اطلاعتات رو واسه مشتریام از طریق SQL Server ارائه می دم البته برنامه ای که باید اطلاعات رو بگیره و توسیستم مشتری ثبت کنه رو خودم نوشتم و واسه هر مشتری یه لاگین جدا تو SQL ایحاد کردم و اون رو هم تو برنامه رمز کرم که برای کسی فاش نشه اما امروز متوجه شودم یه کسی با یه آی پی 218.56.61.122 می خواست از طریق Sa به سرور وارد بشه و SQL لاگین فیل براش ثبت کرده بود با ریموت دسکتاپ روفتم رو سرورش ظاهرا چینی هست الان دو سه تا سوال دارم اگه لطف کنن جواب بدین:
1- اون چطوری آی پی منو فهمیده و می خواست لاگین کنه؟
2-چطوری می تونم جلوی این کار رو بگیرم البته Sa غیر فعال کردم؟
3-آیا می تونه کسه دیگه وارد سرور من بشه؟ من چیکار می تونم بکنم؟ یه کاری که فقط مشتریا اجازه ورود به سرور رو داشته باشن؟ البته ISP وقتی پورت 1433 رو برام فعال کرد گفت ممکنه همچین مشکلاتی برام یش بیاد و این پورت ویروسه چون چند روز سر این موضوع گیر بودم بعد فهمیدم ISP اونو بسته که هک نشه لطفا کمک کنین؟ سرور هم ویندوز 2003 استاندارد هست؟
یه سوال دیگه هم اینکه سرور های ویندوز 2003 با هم چه فرقی دارن مثل استاندارد و اینترپرایز و واسه من که می خوام فقط سروی SQL بدم کدوم خوبه؟
با تشکر

mnajafi
پنج شنبه 03 دی 1388, 09:23 صبح
سرويس دهنده SQL مايکروسافت ( MSSQL ) ، دارای چندين نقطه آسيب پذير جدی است که امکان دريافت اطلاعات حساس، تغيير در محتويات بانک اطلاعاتی وبمخاطره انداختن حيات سرويس دهندگان SQL توسط مهاجمان را فراهم می نمايد . در برخی موارد خاص و بدليل عدم پيکربندی صحيح سيستم ، ميزبانان سرويس دهنده نيز ممکن است در معرض تهديد و آسيب قرار گيرند . نقاط آسيب پذير MSSQL ، مورد توجه خاص عموم مهاجمان بوده و آنان بسرعت از ضعف های امنيتی کشف شده در جهت اهداف خود استفاده می نمايند. دو کرم SQLSnake/Spida و SQL-Slammer/SQL-Hell/Sapphire در ساليان اخير ( سال های 2002 و 2003 ) از نقاط ضعف شناخته شده MSSQL استفاده و توانستند در مدت زمان کوتاهی حملات گسترده ای را با توجه به نقظه آسيب پذير فوق ،انجام دهند. ميزبانان آلوده به کرم ها ی فوق ، بمنظور گسترش آلودگی و جستجو جهت يافتن ساير سيستم های آسيب پذير ، ترافيک شبکه را در حد بالائی افزايش داده بودند( اشغال درصد بسيار بالائی از پهنای باند محيط انتقال ). برای دريافت اطلاعات تکميلی در رابطه با کرم های فوق ، می توان از منابع و آدرس های زير استفاده نمود :
اطلاعات تکميلی در رابطه با کرم SQLSnake/Spida ( فعال شده در May 2002 ) :
• http://isc.incidents.org/analysis.html?id=157
• http://www.eeye.com/html/Research/Advisories/AL20020522.html
• http://www.cert.org/incident_notes/IN-2002-04.html
اطلاعات تکميلی در رابطه با کرم SQL-Slammer/SQL-Hell/Sapphire ( فعال شده در تاريخ January 2003 ) :
• http://isc.incidents.org/analysis.html?id=180
• http://www.nextgenss.com/advisories/mssql-udp.txt
• http://www.eeye.com/html/Research/Flash/AL20030125.html
• http://www.cert.org/advisories/CA-2003-04.html
براساس گزارش ارائه شده توسط Internet Storm Center ، پورت های 1433 و 1434 ( پورت های پيش فرض سرويس دهنده MSSQL ) ، از جمله پورت هائی می باشند که بصورت دائم توسط مهاجمين مورد بررسی ( نگاه موشکافانه ) قرار می گيرد.
نحوه عملکرد کرم SQLSnake ، به account مديريتی پيش فرض ( sa" account" که دارای يک رمز عبور Null می باشد ) بستگی دارد.در اين رابطه لازم است پيکربندی سيستم بطرز صحيحی انجام و هر يک از سيستم های موجود بمنظور حصول اطمينان از دارا بودن رمز عبور مرتبط با account مربوطه بررسی و بدرستی حفاظت گردند . در صورتيکه از account خاصی استفاده نمی شود ، می بايست نسبت به غير فعال نمودن آنان اقدام گردد.. بمنظوردريافت اطلاعات تکميلی در رابطه تنظيم و مديريت sa Account ، می توان از مستندات ارائه شده در آدرس " Changing the SQL Sever Administrator Login " استفاده نمود . sa Account ، می بايست دارای يک رمز عبور پيچيده بوده که حدس و تشخيص آن مشکل باشد( حتی اگر از آن بمنظور اجراء SQL/MSDE استفاده نمی شود ) .
نحوه عملکرد کرم SQL Slammer ، بر اساس يک Buffer Overflow در SQL Server Resolution Service است . Buffer Overflow فوق ، موجب گسترش ( حمل ) مشکل از سيستمی به سيستم ديگر شده و در اين راستا امنيت ميزبان زمانيکه کرم اقدام به ارسال بسته های اطلاعاتی تهديد آميز خود به پورت 1434 سيستم های مقصد آسيب پذير می نمايد، در معرض تهديد و آلودگی قرار می گيرد. در صورتيکه بر روی يک ماشين ، سرويس هائی از SQL اجراء که مرتبط با اين نوع Stack Buffer Overflow می باشند و بسته های اطلاعاتی خود را بر اساس واقعيت فوق دريافت می نمايد ، تمامی سيستم ها و سرويس دهندگان در معرض تهديد قرار خواهند گرفت .موثرترين روش دفاع در مقابل کرم فوق، Patching مستمر ، اقدامات لازم در جهت پيکربندی سيستم بصورت کنشگرايانه ، پيشگيری سيستم بصورت پويش های ادواری و فيلترينگ پورت 1434 مربوط به UDP در gatway های شبکه است ( اجازه ورود و خروج بسته های اطلاعاتی مرتبط با پورت اشاره شده ) .
عملکرد Microsoft Server 2000 Desktop Engine ) ، MSDE 2000)، را می توان بعنوان " SQL Server Lite" ( زير بناء سرويس دهنده SQL ) در نظرگرفت . تعداد زيادی از صاحبان سيستم حتی نسبت به اين موضوع که بر روی سيستم آنان MSDE اجراء و آنان دارای يک نسخه از SQL Server نصب شده بر روی سيستم می باشند ، آگاهی و شنخت مناسبی را ندارند. MSDE 2000 ، بعنوان يکی از اجزاء اساسی بهمراه محصولات زير نصب می گردد :
• SQL/MSDE Server 2000 (Developer, Standard and Enterprise Editions)
• Visual Studio .NET (Architect, Developer and Professional Editions)
• ASP.NET Web Matrix Tool
• Office XP
• Access 2002
• Visual Fox Pro 7.0/8.0
علاوه بر موارد فوق،نرم افزارهای متعدد ديگری وجود دارد که از MSDE 2000 استفاده می نمايند . برای مشاهده ليست تمامی محصولات مربوطه ، می توان از اطلاعات موجود در آدرس : http://www.SQLsecurity.com/forum/applicationslistgridall.aspx استفاده نمود . باتوجه به اينکه، نرم افزارهای فوق ، از MSDE بعنوان هسته اساسی بانک اطلاعاتی استفاده می نمايند ، آنان نيز دارای نقاط آسيب پذير مشابه سرويس دهنده SQL/MSDE خواهند بود.پيکربندی MSDE 2000 را می توان بگونه ای انجام داد که با استفاده از روش های مختلف به درخواست های اتصال به بانک اطلاعاتی توسط سرويس گيرندگان،گوش داده شود. مثلا" پيکربندی فوق را می توان بصورتی انجام داد که سرويس گيرندگان قادر به استفاده از named pipes بر روی يک NetBIOS Session ( پورت 139/445 پورت TCP ) بوده و يا از سوکت هائی که سرويس گيرندگان با استفاده از پورت 1433 مربوط به TCP به آن متصل می گردند ( امکان استفاده از هر دو رويکرد اشاره شده نيز وجود دارد ) . صرفنظر ازروش انتخابی ، سرويس دهنده SQL و MSDE همواره به پورت 1434 مربوط به UDP گوش خواهند داد . پورت فوق بعنوان يک پورت هماهنگ کننده طراحی شده است . سرويس گيرندگان يک پيام را برای پورت فوق ارسال تا نحوه اتصال سرويس گيرنده به سرويس دهنده ، مشخص گردد .
هسته MSDE 2000 ،در موارديکه با يک بسته اطلاعاتی تک بايتی 0x02 ، بر روی پورت 1434 مربوط به UDP مواجه گردد ، اطلاعاتی در رابطه با خود را برمی گرداند . ساير بسته های اطلاعاتی تکی بايت بدون اينکه الزامی به تائيد آنان برای سرويس دهنده وجود داشته باشد،باعث بروز يک Buffer overflow می گردند .با توجه به اينکه سازماندهی حملات ازاين نوع بر اساس UDP انجام خواهد شد ، وضعيت تهاجم فوق وخيم تر خواهد شد . (صرفنظر از اينکه پردازه های MSDE 2000 در يک بافتار امنيتی مربوط به يک Domain User و يا account مربوط به Local System اجراء می گردند). استفاده موفقيت آميز از حفره های امنيتی موجود ، می تواند سيستم مقصد را در معرض مخاطره و تهديد قرار دهد .
با توجه به اينکه SQL Slammer از يک Buffer overflow بر روی سيستم مقصد استفاده می نمايد ،استفاده مستمر از Patching و پيکربندی دقيق سيستم ، کمک لازم در جهت کاهش تهديد فوق را ارائه می نمايد . با دريافت و استفاده از ابزارهای دفاعی نظير : Microsoft SQL Critical Update Kit ، می توان تمام Domain و يا شبکه های شامل سيستم های آسيب پذير را بررسی و بصورت فايل های متاثر را بهنگام نمود. برای آشنائی و آناليز جزيئات مربوط به کرم اسلامر SQL/MSDE ، می توان از آدرس Incidents.org استفاده نمود .
سيستم های عامل در معرض تهديد :
هر يک از نسخه های ويندوز که بهمراه آنان SQL/MSDE Server 7.0 ، SQL/MSDE Server 2000 و يا Microsoft SQL/MSDE Desktop Engine 2000 نصب شده باشد و هر سيستم نرم افزاری ديگری که بصورت جداگانه از موتور MSDE 2000 استفاده می نمايد، در معرض اين تهديد و آسيب قرار خواهد شد .
نحوه تشخيص آسيب پذيری سيستم
شرکت مايکروسافت مجموعه ای از ابزارهای امنيتی را در اين رابطه ارائه که می توان از طريق آدرس http://www.microsoft.com/sql/downloads/securitytools.asp به آنان دستيابی پيدا نمود . Toolkit ارائه شده ،SQL Critical Update Kit ناميده شده و شامل ابزارهائی نظير SQL Scan و SQL Critical Update است . سايت SqlSecurity.com نيز در اين رابطه ابزاری با نام SQLPingv2.2 را ارائه داده است .ابزار فوق ، يک بسته اطلاعاتی UDP تک بايتی ( مقدار بايت 0X02 ) را به پورت 1434 مربوط به يک ميزبان و يا تمامی Subnet ارسال می نمايد .سرويس دهندگان SQL که به پورت UDP 1434 گوش می دهند ، به آن پاسخ لازم را داده و اطلاعاتی در ارتباط با سيستم نظير شماره نسخه و ساير موارد مربوطه را اعلام می نمايد . عملکرد نرم افزار فوق مشابه Microsoft SQL Scan است .
نحوه حفاظت در مقابل نقطه آسيب پذير :
بمنظور حفاظت سيستم ها در مقابل نقطه آسيب پذير فوق ، عمليات زير را دنبال می نمائيم :
• غير فعال نمودن SQL/MSDE Monitor Service در پورت UDP 1434 . بمنظورانجام خواسته فوق، می توان اقدام به نصب و استفاده از قابليت های ارائه شده بهمراه SQL Server 2000 Service Pack 3a نمود. موتور MSDE 2000 دارای دو نقطه آسيب پذير Buffer Overflow است که می تواند توسط يک مهاجم استفاده و از راه دور و بدون هيچگونه الزامی جهت تائيد کاربر، به سرويس دهنده متصل و يک تهاجم از طريق UDP را باعث شود. صرفنظر از اينکه پردازه های MSDE 2000 در بافتار امنيتی يک Domain User و يا account مربوط به Local System اجراء می گردند ، استفاده موفقيت آميز از حفره های امنيتی موجود، ممکن است سيستم مقصد را در معرض مخاطره و تهديد قرار دهد . کرم MS-SQL/MSDE Slammer يک بسته اطلاعاتی شامل 376 بايت را از طريق پورت UDP 1434 برای مقصد مورد نظر خود که بصورت تصادفی انتخاب می گردد، ارسال می نمايد. سيستم های در معرض تهاجم پس از آلودگی ، اقدام به ارسال بسته های اطلاعاتی مشابه 376 بايتی می نمايند . کرم فوق ، ترافيک موجود در شبکه را افزايش خواهد داد .آدرس های IP که بصورت تصادفی انتخاب می گردند ، از نوع multicast بوده و در نهايت يک تهاجم از نوع DoS ( غير فعال نمودن يک سرويس ) بر روی شبکه مقصد، محقق خواهد شد. بر اساس گزارشات ثبت شده ، يک ماشين آلوده بيش از پنجاه MB/Sec از ترافيک شبکه رابخود اختصاص و عملا" امکان انجام ساير عمليات بر روی شبکه سلب می گردد.
• بکارگيری آخرين Service Pack برای سرويس دهنده SQL/MSDE و MSDE 2000 . آخرين نسخه های Service Pack در رابطه با سرويس دهنده SQL/MSDE عبارتند از :
- SQL/MSDE Server 7.0 Service Pack 4
- MSDE/SQL Server 2000 Service Pack 3a
بمنظور اطمينان از بهنگام بودن سيستم می توان از " Make Your SQL/MSDE Servers Less Vulnerable " استفاده نمود.
• بکارگيری آخرين Patch ارائه شده پس از آخرين Service Pack . بمنظور آگاهی از آخرين Patch های ارائه شده برای تمامی نسخه های سرويس دهنده SQL/MSDE/MSDE می توان از بولتن امنيتی ارائه شده توسط مايکروسافت استفاده نمود . بمنظور اطمينان از نصب آخرين Patch موجود در رابطه با سرويس دهنده SQL/MSDE می توان از آدرس های زير استفاده کرد :
- Microsoft SQL/MSDE Server 7.0
- Microsoft SQL Server 2000
- MSDE Server Desktop Engine 2000 (MSDE 2000)
• بکارگيری Patch های خاص و جداگانه ای که پس از آخرين Patch مربوطه ارائه شده اند .پس از معرفی MS02-061 Elevation of Privilege in SQL/MSDE Server Web Tasks ، تاکنون Patch مربوطه ای در اين زمينه ارائه نشده است . بمنظور اطمينان و آگاهی از اخرين Patch ارائه شده می توان از آدرس های زير استفاده نمود :
- Microsoft SQL/MSDE Server 7.0
- Microsoft SQL Server 2000
- MSDE Server Desktop Engine 2000 (MSDE 2000)
• فعال نمودن SQL Server Authentication Logging . امکان فوق عموما" غير فعال است . بمنظور فعال نمودن آن می توان از طريق برنامه Enterprise Manager اقدام نمود( Server Properties|Tab Security )
• ايمن سازی سرويس دهنده در سطح سيستم و شبکه . يکی از متداولترين حملات MSSQL/MSDE ، برخاسته از account مديريتی پيش فرض ( شناخته شده با نام "sa" ) بوده که دارای يک رمز عبور تهی ( blank ) است. در صورتيکه sa Account مربوط به SQL/MSDE دارای رمز عبور حفاظت شده ای نمی باشد ، سيستم در معرض تهديد جدی قرار خواهد داشت . لازم است در اين راستا از پيشنهادات ارائه شده در بخش System Administrator(SA) Login مربوط به SQL/MSDE Server Book Online استفاده تا اطمينان لازم در خصوص مطمئن بودن رمز عبور sa Account حاصل گردد . ( حتی اگر سرويس دهنده SQL/MSDE مربوطه از account فوق استفاده نمی نمايد، نيز می بايست اقدامات امنيـتی لازم ضورت پذيرد ) . با استفاده از مستندات ارائه شده در MSDN مايکروسافت و در بخش Changing the SQL Server Administrator Login ، و Verify and Change the System Administrator Password by Using MSDE می توان از آخرين امکانات و توصيه های ارائه شده بمنظور پيکربندی و تنظيم مناسبsa Account ، استفاده نمود .
• به حداقل رساندن امتيازات مربوط به سرويس MSSQL/MSDE و سرويس دهنده SQL/MSDE Server Agent . در اين رابطه پيشنهاد می گردد که سرويس MSSQL/MSDE سرويس دهنده و SQL/MSDE Server Agent ، تحت يک Valid Domain account با حداقل امتيازات مربوط اجراء گردد( نه بعنوان يک domain administrator و يا SYSTEM ( در ويندوز NT ) و يا LocalSystem ( در ويندوز 2000 و يا XP ) ) . يک سرويس در معرض آسيب که بهمراه امتيازات محلی و يا Domain اجراء می گردد ،به يک مهاجم امکان کنترل کامل سيستم و يا شبکه را خواهد داد . در اين رابطه موارد زير پيشنهاد می گردد :
- فعال نمودن Windows NT Authentication و auditing برای Login های موفقيت آميز و يا با شکست مواجه شده ، در ادامه سرويس MSSQL/MSDEServer رامتوقف و مجددا" آنان را فعال نمائيد . در صورت امکان ، پيکربندی سرويس گيرندگان را بگونه ای انجام دهيد که از NT Authentication استفاده نمايند .
- فيلترينگ بسته های اطلاعاتی می بايست در محدوده های مرزی شبکه انجام تا پيشگيری و ممانعت لازم در خصوص اتصالات ورودی و خروجی غير مجاز به MSSQL و مرتبط با سرويس های خاص صورت پذيرد . فيلترينگ نقطه ورود و خروج پورت های 1434 و 1433 مربوط به TCP/UDP می تواند باعث ممانعت مهاجمان داخلی و يا خارجی از پويش و آلودگی سرويس دهندگان SQL/MSDE که دارای پتانسيل آسيب پذيری می باشند، گردد .
- درصورتيکه لازم است از پورت های 1433 و 1434 مربوط به TCP/UDP استفاده گردد ، می بايست فيلترينگ مناسبی در ارتباط با استفاده نادرست از پورت های فوق را انجام داد .
بمنظور آگاهی از ايمن سازی سرويس دهنده SQL/MSDE ، می توان از آدرس های زير استفاده نمود :
• Microsoft SQL/MSDE Server 7.0 Security
• Microsoft SQL/MSDE Server 2000 Security

keivan mousavi
پنج شنبه 03 دی 1388, 10:12 صبح
قسمت Roll Permission براي SQL را مطالعه كنه

ولي كلاً‌ خوب نيستش كه با Roll Permission كار كني