جلسه 15: بررسی تنظیمات نادرست امنیتی در امنیت وب
جلسه 15: بررسی تنظیمات نادرست امنیتی در امنیت وب
نگهداری امن و محرمانه اطلاعات مشتریان از اولویت بالایی در تمامی سازمان ها و شرکت ها برخوردار است. متأسفانه، روزانه آسیب پذیری های جدیدی کشف شده و همگامی نگهداشت امن سازمان در برابر آن ها، تقریباً به امری محال تبدیل شده است. این آسیب پذیری ها در تار و پود زیرساخت IT قرار گرفته و گاهاً به مدت بسیار طولانی کشف نشده باقی می مانند. اگرچه راه های بسیاری برای امن سازی سیستم ها و اپلیکیشن ها در برابر آسیب پذیری ها وجود دارد، اما تنها راه کسب اطمینان واقعی از آن، تست امنیتی بستر IT سازمان به منظور یافتن این حفره های امنیتی است.
داده ها و اطلاعات کاربران و البته وبسایت ها ممکن است به سرقت برده شوند؛ مورد سوء استفاده گرفته و یا در فضای عمومی و بدون خواست صاحبان آن عرضه شوند. تست امنیت Security Testing امروزه مبحث داغ امنیت است تا آسودگی خیال افراد را در بستر اینترنت فراهم کند. راهکار “تست امنیتی” امکان تکرار حملات بر روی سیستم ها، دستگاه ها و اپلیکیشن ها را به منظور آشکارسازی زنجیره ای از مسیرهای باز و آسیب پذیر بر روی سیستم ها و داده های حساس و حیاتی سازمان، فراهم می آورد.
خلاصه جلسه قبل:
در جلسه قبل به بررسی تاثیر Direct Object References در تست امنیت پرداختیم؛ یک Direct Object References یا یک مرجع شیء مستقیم ممکن است هنگامی ایجاد شود که یک توسعه دهنده یک مرجع را به یک شیء اجرای داخلی، مانند فایل، دایرکتوری یا کلید پایگاه داده را بدون هیچ گونه مکانیسم اعتبارسنجی در معرض نمایش بگذارد. در این جلسه به بررسی تنظیمات نادرست امنیتی در امنیت وب می پردازیم.
بررسی تنظیمات نادرست امنیتی در امنیت وب
تنظیمات امنیتی به عنوان پیش فرض تعریف، اجرا و نگهداری شوند. امنیت خوب نیاز به پیکربندی ایمن دارد که برای برنامه، سرور وب، سرور پایگاه داده و سیستم عامل تعریف و مستقر شود. به روز بودن نرم افزار نیز بسیار مهم است.
مثال:
به عنوان مثال برخی از نمونه های کلاسیک تنظیمات نادرست امنیتی در ادامه معرفی کرده ایم.
- اگر لیست دایرکتوری روی سرور غیرفعال نشده باشد و مهاجم همان را کشف کند می تواند به راحتی دایکرتوری ها را پیدا کند و هر فایلی را که می خواهد را اجرا نماید. علاوه بر این می تواند پایه کد واقعی را که شامل تمام کد های سفارشی شماست را بیابد و سپس یک نقص جدی در برنامه را ایجاد نماید.
- پیکربندی سرور برنامه اجازه می دهد تا stack traces به کاربران برگردانده شود، این امر به طور بالقوه نقص های اساسی را در معرض دید شما قرار می دهد اما مهاجمان اطلاعات اضافی را که پیغام های خطا در اختیار شما قرار می دهد می گیرند و این برای نفوذ آن ها کافی است.
- سرورهای برنامه معمولاً با برنامه های نمونه همراه هستند که به خوبی ایمن نشده اند که اگر از production server خارج نشوند منجر به به خطر انداختن سرور شما می شوند.
Hands ON
مرحله 1) راه اندازی Webgoat و رفتن به بخش پیکربندی نا امن. در این بخش سعی کنیم آن چالش را حل کنیم. در ادامه تصویر این سناریو را می بینید
مرحله 2) ما می توانیم گزینه های زیادی را که می خواهیم امتحان کنیم؛ نیاز است که URL پیکربندی فایل را پیدا کنیم و می دانیم که توسعه دهندگان نوع کنوانسیون نامگذاری را برای فایل های پیکربندی دنبال می کنند. این می تواند هر چیزی باشد که البته در ادامه ذکر شده است. این کار معمولاً با روش BRUTE force انجام می شود.
- web.config
- config
- appname.config
- conf
مرحله 3) پس از تلاش گزینه های مختلف، می فهمیم که “http: // localhost: 8080 / WebGoat / conf” موفق است. که در صورت موفقیت پیام زیر را دریافت می نماییم.
مکانیسم های پیشگیرانه
- تمام محیط های توسعه، QA و محیط های تولید باید با استفاده از رمزهای عبور مختلفی که در هر محیط استفاده می شود، بطور یکسان تنظیم شوند و به راحتی هک نشوند.
- اطمینان حاصل کنید که یک معماری کاربردی قوی اتخاذ شده است که بین مؤلفه ها به صورت موثری فاصله ایجاد می کند.
- علاوه بر این می توان با اجرای اسکن خودکار و انجام ممیزی به صورت دوره ای، احتمال بروز این حمله را به حداقل رساند.
سخن پایانی
در این جلسه آموختیم که تنظیمات نادرست امنیتی در امنیت وب چه تاثیری دارد؛ تنظیمات امنیتی به عنوان پیش فرض تعریف، اجرا و نگهداری شوند. امنیت خوب نیاز به پیکربندی ایمن دارد که برای برنامه، سرور وب، سرور پایگاه داده و سیستم عامل تعریف و مستقر شود. به روز بودن نرم افزار نیز بسیار مهم است. در جلسه بعدی می خواهیم ببینیم که داده های حساس چه تاثیری بر امنیت دارد. لطفا نظرات خود در رابطه با این مقاله را با ما به اشتراک بگذارید.
موفق و سر سبز باشید.
دیدگاهتان را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.