IRCAR201404210
تاريخ: 27/01/93
مقدمه
امروزه هر سازمان، شركت و يا كسب و كاري به وب سايتي عمومي براي معرفي، اطلاع رساني و يا فروش محصول يا سرويس خود وابسته است. وب سايتهاي عمومي اغلب هدف حمله قرار ميگيرند. برخي از حملات وب سرورها عبارت است از:
- سوء استفاده از خطاهاي نرم افزاري در وب سرور
- حملات انكار سرويس و انكار سرويس توزيع شده
- افشاء داده هاي پيش زمينه "backend data" با استفاده از حملات تزريق مانند تزريق SQL؛ تزريق LDAP و XSS
- بدشكل كردن وب سايت با هدف تخريب
- استفاده از امكانات وب سرورهاي مورد سوء استفاده قرار گرفته براي حمله به ديگر نهادهها
- استفاده از وب سرورهاي مورد سوء استفاده قرار گرفته براي توزيع بدافزارها
در ارتباط با امن كردن وب سرور چالشهايي وجود دارد زيرا نه تنها سيستم عامل بايد امن شود بلكه برنامههاي كاربردي و سرويسهاي مرتبط كه روي دستگاه اجرا ميشوند نيز بايد امن شوند. يكي از مشكلترين جنبهها، حفظ به روز و وصلهشده سيستمها در برابر آسيب پذيريهاي جديد و حياتي سيستم عامل و برنامههاي كاربردي وب است.
استراتژيهاي مقابله
هدف از اين مستند، ارائه راهنماييها و مفاهيم پايهاي امن نگهداشتن وب سايتهاي عمومي جهت كاهش سطح حمله يا مقابله با اثرات سوء استفاده است. بايد توجه داشت اين راهكارها به تنهايي باعث امن شدن وب سرورها نمي شود بلكه بايد از روش ها و استراتژي هاي پيشرفته ديگر نيز در كنار آن بهره برد. توصيه ميشود سازمانها به طور معمول جهت شناسايي نقاط ضعف يا آسيب پذيريهاي محيط خود، ارزيابي مخاطرات انجام دهند.
امنيت وب سرور:
۱. براي امنيت وب سرور موارد زير توصيه ميشود:
- از اينكه وب سرور فقط داراي برنامههاي كاربردي و مولفههاي ضروري براي اجراي فعاليتهاي تعريف شده براي اين وب سرور است، مطمئن شويد. تمام برنامههاي كاربردي اضافي بايد حذف يا غيرفعال شوند. به طور مثال، اگر وب سرور نيازمند امكان مرور وب نيست و وب سرور براي كارهاي FTP استفاده نميشود نبايد چنين سرويسي در آن در حال اجرا باشد. حذف يا غيرفعال كردن هر مولفهاي كه استفاده نميشود سطح حمله را كاهش ميدهد.
- وب سرور بايد با امكان دسترسي بسيار محدود به هرگونه داده پيش زمينه، طراحي شده باشد.
- سرويسهاي SQL وبي:
- از اتصال برنامههاي كاربردي به پايگاه دادهها با استفاده از ويژگي «دسترسي اختصاصي»، جلوگيري كنيد.
- اندازه، بازه، قالب و نوع ورودي را اعتبار سنجي نماييد.
- ورودي را به ليستهايي از كاراكترهاي قابل قبول و رد كردن ديگر كاراكترهايي كه در ليست نيستند محدود كنيد.
- استفاده از كد SQL پويا (dynamic SQL code) را محدود كنيد. هر زمان كه امكان پذير است، از عبارات، پرس و جوهاي با پارامتر يا رويههاي ذخيره شده از پيش آماده استفاده كنيد.
۲. براي امنيت سيستم عامل موارد زير توصيه ميشود:
- حسابهاي كاري كه امكان دسترسي به سيستم عامل وب سرور را فراهم ميكند بايد از مفهوم حداقل دسترسي پيروي كند و بايد براي هر فردي يكتا باشد. داشتن يك حساب ادمين، از انكارناپذيري فعاليت جلوگيري ميكند و فعاليتهاي جرم شناسي را در صورت مورد سوء استفاده قرار گرفتن سيستم عامل محدود ميكند. همچنين، وب سرور بايد به عنوان يك سرويس حياتي درنظر گرفته شود و بنابراين نيازمند احرازهويت دو عاملي است.
- براي مديران شبكه، خط مشي ايجاد كلمه عبور قوي را اعمال نماييد؛ چنين خط مشي، به طور مثال، ميتواند داراي ويژگيهاي زير باشد:
- حداقل 15 كاراكتر براي حسابهاي كاربري ويژه
- استفاده از عدد، حروف بزرگ و كوچك و كاراكترهاي خاص
- الزام به تغيير دورهاي كلمات عبور مثلاً هر 90 الي 180 روز يكبار
- عدم استفاده از كلمات عبور قبلي
- جلوگيري از استفاده از اطلاعات شخصي -مانند شمارههاي تلفن، تاريخ تولد، نام و نام خانوادگي- در نام كاربري و كلمات عبور
- الزام به استفاده از عبارات طولاني به جاي كلمات عبور
- تمام كلمات عبور و نامهاي كاربري پيش فرض را تغيير دهيد.
- تمام حسابهاي كاربري را كه استفاده نميشوند -مانند حسابهاي كاربري Guest- غيرفعال يا حذف كنيد.
- در صورت امكان، نگه داري اعتبارنامه ها توسط سيستم را براي سيستمهاي حياتي غيرفعال نماييد.
۳. وب سرورها را به روز و وصله شده نگهداري كنيد.
۴. پست الكترونيك و/يا وب سايتها را براي دريافت خبرهاي امنيتي مانيتور كنيد.
۵. وب سرورها بايد روي سخت افزارهاي جداشده (ايزوله) يا روي فناوري مجازي Multi-tenant ايمن به شرط غيرفعال بودن ارتباط مستقيم با ديگر ميزبانهاي مجازي ساخته شوند. اين كار مي تواند كمك كند تا در صورتي كه يك سرويس مورد حمله قرار گيرد، خسارت ناشي از آن و سوء استفاده از سرويس هاي ديگر محدود شود و هم چنين مي تواند سطح حمله به يك سرويس را كاهش دهد.
۶. استفاده از فناوريهاي رمزنگاري و احراز هويت وب مانند SSL/TLS براساس طبقه بندي داده وب سرور (به طور مثال: حساس، خصوصي، محرمانه و ...) باشد.
از فرآيندهاي كنترل نسخه براي مستندسازي تمام تغييراتي كه در سيستم، برنامه كاربردي يا محتواي وب صورت ميگيرد، استفاده كنيد.
امن كردن وب سرويسها:
در ادامه به فهرستي از فعاليتهاي مقابلهاي كه سازماني براي امن كردن سرويسها و برنامههاي كاربردي وب ميتواند انجام دهد اشاره ميشود. تمام مواردي كه در زير بدان اشاره شده است براي تمام سازمانها قابل اعمال نيست و توازني ميان هزينههايي كه هر فعاليت دارد و سطح مخاطراتي كه هر سازمان براي سرويسهاي وب خود ميپذيرد بايد انجام شود.
- فعال كردن ثبت وقايع به صورت گسترده: آدرس IP سيستمي كه به سرويس دسترسي پيدا كرده، نام كاربري، منابعي كه دسترسي يافته، تغييرات امتياز حساب كاربري، آيا تلاشش براي انجام كاري موفقيت آميز بوده يا نبوده است و هر گونه فعاليت مشكوك ديگر را جمع آوري كنيد. دسترسي مشكوك و غيرمعمول بايد بلافاصله گزارش و بررسي شود.
- تكرار سرويس داده: حملات انكار سرويس و انكار سرويس توزيع شده جديد نيستند اما هنوز وجود دارند. بنابراين هر سازماني بايد در بازههاي زماني مختلف از برنامههاي كاربردي و داده خود تكرار يا پشتيبان داشته باشد و ترجيحاً آنرا در يك مكان ذخيره سازي آفلاين نگهداري كند. روش ذخيره سازي آفلاينِ پشتيبانها، از تغيير داده و برنامههاي كاربردي جلوگيري ميكند و علاوه بر اين، افزونگي را در زماني كه داده و برنامههاي كاربردي بايد به پلت فرم ديگري منتقل شوند فراهم ميكند.
- سرويسهاي ثبت وقايع: اين سرويسها براي تامين انكارناپذيري و حسابرسي هر تراكنشي كه در سرور انجام ميشود لازم است. ثبت وقايع همچنين، براي شناسايي فعاليتهاي مخرب بعد از سوء استفادهاي كه اتفاق افتاده است و يا در حال وقوع است امري ضروري است. ميزان (حجم) ثبت وقايع و بازههاي زماني براي آرشيو كردن لاگها به ميزان فضاي ذخيره سازي در دسترس و ميزان فعال بودن شبكه شما بستگي دارد. براي برخي از سازمانها، ممكن است براي پشتيباني از سطح امنيت و حسابرسي و انكارناپذيري، سرويسها و نرم افزارهاي بيشتري لازم باشد.
- طراحي و توسعه امن نرم افزار: توسعه امن نرم افزار يكي از مهمترين جنبهها در امنيت برنامههاي كاربردي است چراكه هر چقدر آسيب پذيريهاي دروني هر برنامه كاربردي كم باشد، احتمال اينكه مورد سوء استفاده قرار گيرد كمتر ميشود. جنبه ديگر نرم افزار امن، حفظ امنيت نرم افزار است. اين كار ميتواند از طريق نصب دورهاي وصلههاي نرم افزارها و مانيتور پايگاه داده آسيب پذيريها براي اطلاع از آسيب پذيريهاي جديد انجام شود.
- امن كردن زيرساختهاي وب سرور: وب سرورها بايد در ساختار DMZ امن قرار گيرند به طوريكه يك رابطه اعتماد يكطرفه ميان DMZ و شبكه داخلي طوري پيكربندي شده باشد كه در اين رابطه DMZ به شبكه داخلي اعتماد ميكند اما شبكه داخلي به DMZ اعتماد ندارد. همچنين هر برقراري ارتباطي يا درخواستي از وب سرورها به منابع داخلي بايد محدود باشد.
به طور خلاصه، سرويسها و سرورهاي وب براي بسياري از كسب و كارها و سازمانها مولفه ضروري هستند. فقدان اين سرويسها ميتواند نتايج اسفباري داشته باشد. به همين دليل محافظت از اين سرويسها امري ضروري است.
منابع: www.Us-cert.gov
- 12