آموزش رایگان دوره CEH همگام با سرفصل‌های بین‌المللی – 40
آموزش CEH (هکر کلاه سفید): چگونه از وب‌سرور‌ها در برابر حملات باید محافظت کرد؟
ایمن‌سازی وب‌سرورها مستلزم به‌کارگیری یکسری استراتژی‌های دفاع در عمق است. در حال حاضر شش دفاع خوب ایمن‌سازی یا در اصطلاح تخصصی قفل کردن سیستم‌عامل تا حد عملی، نصب منظم وصله‌ها در زمان درست، غیر فعال کردن سرویس‌های غیر ضروری، قفل کردن سیستم فایلی، حسابرسی مداوم و بررسی فایل‌های گزارش و انجام اسکن‌های مداوم با هدف شناسایی آسیب‌پذیری‌ها از جمله این موارد است.

برای مطالعه قسمت قبل آموزش رایگان  دوره CEH اینجا کلیک کنید.

ایمن‌سازی وب‌سرور

ایمن‌سازی وب‌سرورها مستلزم به‌کارگیری یکسری استراتژی‌های دفاع در عمق است. در حال حاضر شش دفاع خوب به شرح زیر وجود دارد.

1. ایمن‌سازی یا در اصطلاح تخصصی قفل کردن سیستم‌عامل تا حد عملی که به آن Hardening گفته می‌شود.

2. نصب وصله‌ها در زمان درست

3. غیر فعال کردن سرویس‌های غیر ضروری

4- قفل کردن فایل‌ها در سطح سیستمی

5. حسابرسی مداوم و بررسی فایل‌های گزارش

6. انجام اسکن‌های مداوم با هدف شناسایی آسیب‌پذیری‌ها

ابتدا، قبل از استقرار سرورهای وب در شبکه خود باید از امنیت و سطح ایمنی شبکه اطمینان حاصل کنید. توصیه می‌شود قبل از اتصال به شبکه، سرور را به شکل دقیق ایمن کنید. در مرحله بعد تمامی وصله‌ها را نصب کنید. وصله‌های امنیتی و به‌روزرسانی‌ها به شما اطمینان می‌دهند که سیستم‌عامل و وب‌سرور در برابر آخرین آسیب‌پذیری‌های شناسایی شده ایمن خواهند بود. یک سرور وصله نشده می‌تواند در برابر حملات مختلفی آسیب‌پذیر است، به ویژه رخنه‌هایی که شناسایی شده‌اند و جزییات آن‌ها روی اینترنت منتشر شده است. مدیریت بر نصب درست و دقیق وصله‌ها یکی از مهم‌ترین کارهایی است که سرپرستان شبکه باید به آن توجه ویژه‌ای داشته باشند. مهم نیست از چه ابزاری استفاده می‌کنید، اصل مهم این است که روند وصله کردن آسیب‌پذیری‌ها منطبق بر یک برنامه هدفمند باشند. از جمله ابزارهایی که در تحقق این امر به شما کمک می‌کنند به شرح زیر هستند:

■ Windows Server Update Services: دسترسی به جدیدترین به‌روزرسانی‌های عرضه شده برای محصولات مایکروسافت همچون ویندوز 7، 8، 10، سرور 2008، 2012، 2016 و 2019 را فراهم می‌کند.

■ GFI LanGuard: این ابزار به شما کمک می‌کند از راه دور مشکلات و راه‌حل‌های مربوطه را مدیریت کنید.

سومین کار مهمی که باید انجام دهید غیر فعال کردن سرویس‌های غیرضروری است. وب‌سرورها سرویس‌های متنوعی دارند که می‌توانند در پس‌ کار کنند تا دسترسی به قابلیت‌ها یا ویژگی‌های مختلف را فراهم کنند. به عنوان نمونه، WebDAV به کلاینت‌ها اجازه می‌دهد از راه دور فرآیندهای مختلف را انجام دهند. ابزار فوق چارچوبی برای ساخت، تغییر و جابجایی اسناد روی وب‌سرور وب فراهم می‌کند. با این حال ، مهاجمان می‌توانند به سوء استفاده از WebDAV پرداخته و نسخه مخرب یک فایل DLL توسط WebDAV فراخوانی شود. اگر کاربر در باز کردن محتوای آلوده فریب بخورد، DLL مخرب کد در چارچوب ابزار فوق روی سامانه کاربر اجرا می‌شود، به همین دلیل با غیرفعال کردن سرویس‌های بدون استفاده می‌کنید میزان خطر‌پذیری سرور‌های IIS را به میزان قابل توجهی کاهش دهید. از جمله ابزارهایی که در غیر فعال کردن سرویس‌ها به کاربران کمک می‌کنند به موارد زیر می‌توان اشاره کرد:

■ Microsoft Baseline Security Analyzer: ابزاری که اقدام به پویش سیستم‌های مایکروسافتی می‌کند تا تنظیمات امنیتی که به اشتباه پیکربندی شده‌اند را پیدا کند.

■ IIS Lockdown: یکی دیگر از ابزارهای قدرتمند مایکروسافت است که برای پویش سرورهای قدیمی IIS استفاده شده و ویژگی‌های غیر ضروری را خاموش می‌کند. ابزار فوق انواع مختلفی از کنترل‌های امنیتی که به شکل از پیش ساخته شده در نسخه‌های 7 و 8 IIS قرار دارند را بررسی می‌کند.

■ SoapUI: برای آزمایش سرویس‌های وب از پروتکل‌هایی شبیه بهHTTP ، SOAP ، JSM ، REST ، WADL ، WSDL و نمونه‌های مشابه استفاده می‌کند.

■ Retina CS: ابزار تجاری کشف و وصله آسیب‌پذیری‌ها است.

چهارمین نکته‌ای که باید به آن دقت کنید قفل کردن سیستم فایلی است. برای این منظور بهتر است از رمزگذاری استفاده کنید و ویژگی ایمن‌سازی در سطح فایل را فعال کنید. این‌کار امکان کنترل کامل دسترسی به پوشه‌ها و فایل‌ها را فراهم می‌کند. امنیت سطح فایل آخرین سطح کنترل دسترسی را پیش از آن‌که سیستم‌عامل به درخواستی رسیدگی کند فعال می‌کند، در این حالت افراد غیرمجاز به سادگی موفق نخواهند شد به اطلاعات مهم دست پیدا کنند. پنجم دفاع قدرتمندی که در اختیارتان قرار دارد پیگیری فعالیت‌هایی است که روی وب‌سرور در حال اجرا است. حسابرسی به شما امکان می‌دهد هرگونه فعالیت غیرمعمول را تشخیص دهید. اگرچه حسابرسی یک اقدام پیشگیرانه نیست، اما اطلاعات ارزشمندی درباره هرگونه فعالیت انجام شده در جهت دسترسی به سرور IIS در اختیارتان قرار می‌دهد. ورود به سیستم می‌تواند جزئیاتی از قبیل چه موقع، کجا و چگونگی دستیابی به سرور و اینکه آیا درخواست با موفقیت توسط سرور پردازش یا رد شده را ارائه کند.

آخرین نکته مهم دیگری که باید به آن دقت کنید اسکن مداوم را برای شناسایی آسیب‌پذیری‌ها است. بسیاری از آسیب‌پذیری‌ها به شکل روزانه کشف می‌شوند و متاسفانه هکرها نیز پیوسته گزارش‌های مربوطه به این کشفیات را بررسی می‌کنند، در حالی که برخی از اپرتورهای شبکه به دلیل مشلغه ممکن است اخبار روزانه را دنبال نکنند. برای مقابله با این مشکلات، کارشناسان تست نفوذ می‌توانند از ابزارهای ارزیابی خودکار استفاده کنند. ابزارهای خودکار به کارشناسان امنیتی این امکان را می‌دهد که خیلی سریع بخش‌های مختلف درون یک شبکه را آزمایش کرده و بر مبنای نتایج به دست آمده رخنه‌ها را ترمیم کنند.

بخش عمده‌ای از ابزارها و راه‌حل‌های امنیتی هر دو گزینه رابط کاربری خط فرمان و رابط کاربری گرافیکی (GUI) را ارائه می‌کنند. برخی از این محصولات رایگان هستند، در حالی که برای دسترسی به برخی دیگر لازم است هزینه حق اشتراک را پرداخت کنید. برخی از این ابزارها به شرح زیر هستند:

■ Nessus: یک ابزار جامع چند سکویی شناسایی آسیب‌پذیری‌ها است که از طریق خط فرمان یا رابط گرافیکی قابل استفاده است. Nessus از یک معماری کلاینت/سرور پشتیبانی کرده و سرورهای آن در سیستم‌عامل‌های ویندوز، لینوکس و یونیکس قابل استفاده هستند. Nessus یک ابزار اسکن و ممیزی امنیتی قدرتمند و انعطاف‌پذیر است و بر پایه این نظریه که "هیچ چیز مجاز" نیست کار می‌کند. Nessus به شما می‌گوید چه چیزی اشتباه است و پیشنهادهایی برای رفع یک مشکل خاص ارائه می‌دهد. لازم به توضیح است که افزونه‌های تشخیصی مختلفی برای این ابزار ارائه شده‌اند که قابل به شناسایی عواملی هستند که امنیت سرور را در معرض تهدید قرار می‌دهند.

■ Acunetix Web Vulnerability Scanner: این اسکنر تجاری است که در مقیاس صنعتی اقدام به پویش و شناسایی آسیب‌های وب‌سرور، مشکلات مربوط به تزریق کد اس‌کیو‌ال و برنامه‌های تحت وب می‌کند. ابزار فوق به یک رابط وب‌محور و ویژگی‌های پیشرفته‌ای برای آزمایش فناوری Ajax و همپنین پروتکل HTTP می‌پردازد. ابزار فوق توانسته مجوز CVE را دریافت کند و اجازه می‌دهد آسیب‌پذیری‌ها را بر مبنای خطرناک بودن اولویت‌بندی کنید تا مشکلات امنیتی حائز امنیت به سرعت شناسایی شوند.

■ Netsparker: این اسکنر سطح سیستمی است که به شکل جامع اقدام به اسکن آسیب‌پذیری‌ها می‌کند. ابزار فوق با پشتیبانی از منابع منابع CVE آسیب‌پذیری‌های شناسایی شده را در وب‌سرورها کشف می‌کند.

■ IBM Internet Scanner : یک محصول تجاری عرضه شده از سوی آی‌بی‌ام است. ابزار فوق برای سیستم‌عامل ویندوز طراحی شده و قابلیت پویش و شناسایی آسیب‌پذیری‌های مهم در یک شبکه و دستگاه‌ها را از طریق رابط خط فرمان و گرافیکی دارد. ابزار فوق می‌تواند بیش از 1300 نوع دستگاه تحت شبکه را شناسایی کند. پس از اسکن و شناسایی این دستگاه‌ها، ابزار فوق می‌تواند پیکربندی دستگاه‌ها، برنامه‌های نصب شده و سیستم‌عامل‌ها را تحلیل  کرده و در ادامه گزارشی در ارتباط با آسیب‌پذیری‌ها ارائه کند.

■ Retina CS : ابزار فوق برای پویش آسیب‌پذیری‌های احتمالی در سامانه‌ها و دستگاه‌های تحت شبکه استفاده می‌شود. ابزار فوق عملکرد سریعی داشته و قادر به شناسایی دستگاه‌های سیمی و بی‌سیم است. ارائه یک رابط کاربری گرافیکی و قابلیت نصب روی سیستم‌عامل ویندوز از مزایای ابزار فوق است.

■ GFI LanGuard: یک اسکنر کامل است که گزارشی درباره وضعیت سرویس‌های در حال اجرا روی هر ماشین، عدم نصب وصله‌های امنیتی، پوشه‌های به‌اشتراک قرار گرفته، پورت‌های باز و سرویس‌ها و برنامه‌های فعال روی کامپیوتر، کلیدهای درون رجیستری، گذرواژه‌های ضعیف، کاربران و گروه‌ها و.... ارائه می‌کند.

هک برنامه‌های تحت وب

امروزه سرورهای وب امن‌تر از گذشته شده‌اند، بنابراین مهاجمین به سراغ برنامه‌های تحت وب رفته‌اند. یكی از بزرگترین چالش‌ها در زمینه وصله کردن آسیب‌پذیری‌های شناسایی شده در برنامه‌های وب به فقدان دسترسی به منبع اصلی باز می‌گردد. توسعه‌دهندگانی که برنامه را طراحی می‌کنند، به احتمال زیاد در قالب پروژه‌ای این‌کار را برای یک سازمان انجام می‌دهند. به همین دلیل اگر روند توسعه برنامه‌ها برون‌سپاری شده باشد یا اگر از یک محصول تجاری استفاده کنید و هرگونه آسیب‌پذیری در برنامه شناسایی شود، احتمال وصله کردن آن کار مشکلی است، زیرا به احتمال زیاد قادر به تغییر کد منبع نیستید و باید صبر کنید تا تولیدکننده برنامه خود را وصله کند.

برای هک برنامه‌های تحت وب مهاجم نیاز دارد در اولین گام برنامه را پیدا کرده و منطق کاری برنامه را درک کند. بهترین راه برای کشف این موضوع کار کردن با برنامه تحت وب یا کلیک کردن روی گزینه‌های مختلف است. در بیشتر موارد هکرا ابتدا یک سایت را به‌طور کامل روی کامپیوتر محلی کپی کرده و در ادامه شروع به تحلیل آن می‌کنند. هکرها در ابتدا نحوه وارد کردن داده‌ها، نوع پیام‌های خطای صادر شده و و انواع مختلف ورودی‌هایی که در فیلد‌های مختلف باید وارد شود را آزمایش و تحلیل می‌کنند. پس از انجام این‌کار، شروع به شناسایی مولفه‌های اساسی یک سایت یا برنامه تحت وب می‌کنند تا آسیب‌پذیری‌های مستتر را شناسایی کنند. اگر برنامه محصولی تجاری باشد، مهاجم ابتدا به سراغ آسیب‌پذیری‌های کشف شده در ارتباط با محصول می‌رود تا مطمئن شود سازمانی که از نرم‌افزار استفاده می‌کند وصله‌های مربوطه را نصب کرده یا همچنان از یک نسخه آسیب‌پذیری استفاده می‌کند. برخی از راه‌های حمله به برنامه‌های کاربردی تحت وب عبارتند از: ورودی بدون اعتبار، دستکاری پارامترها/ فرم‌ها، تزریق کد، اسکریپت‌های site scripting، حملات فیلد پنهانی، حملات احراز هویت تحت وب، شکستن گذرواژه‌های تحت وب، حملات احراز هویت و متوقف کردن ترافیک وب است. اکنون به سراغ بررسی هر یک از موضوعات فوق خواهیم رفت.

ورودی‌های نامعتبر

این حمله زمانی رخ می‌دهد که ورودی دریافت شده از یک کلاینت اعتبارسنجی نشده باشد. توسعه‌دهندگان باید به این نکته دقت کنند که هیچ ورودی دریافتی از سوی کاربر قابل اعتماد نیس. به عبارت دقیق‌تر تمامی ورودی‌ها همواره خطرناک هستند و بنابراین باید آزمایش شوند. گاهی اوقات کنترل‌های ورودی منحصرا در مرورگر وب قرار دارند. اگر وضعیت این‌گونه باشد، تنها کاری که مهاجمان باید انجام دهند به‌کارگیری ابزارهایی شبیه به OWASP Zed Application Proxy یا Burp Proxy است تا ورودی مدنظر خود را تزریق کنند. به عنوان مثال، ممکن است به وب‌سایتی بروید که دارای فرم ثبت سفارش است، Burp Proxy را به گونه‌ خاصی پیکربندی می‌کنید و سپس فرم ورودی تکمیل شده را به Burp Proxy منتقل کنید. در ادامه می‌توانید کل سبد خرید را تغییر داده و روی ادامه کلیک کنید. اگر برنامه back-end مقادیر منتقل شده را بررسی نکند، ممکن است بتوانید این فرآیند را با موفقیت به سرانجام برسانید. در یک چنین سناریویی هکر می‌تواند داده‌ها را تغییر داده، به سرقت آن‌ها پرداخته یا نقصی در سیستم به وجود آورد.

Parameter/Form Tampering

این حمله با دستکاری پارامترهای مبادله شده میان کلاینت و برنامه وب رخ می‌دهد. آدرس اینترنتی زیر را در نظر بگیرید:

http://knowthetrade.com/Login.asp?w=i&o=1295

دستکاری یکسری پارامترهای درون این آدرس اینترنتی ممکن است به تغییر قیمت، کمیت، مجوزها یا سطح دسترسی یک برنامه منجر شود.

http://knowthetrade.com/Login.asp?w=i&o=1175

نقص تزریق

نقص تزریق نوعی آسیب‌پذیری است که امکان اجرای داده‌های غیرقابل اعتماد را به عنوان یک دستور معتبر فراهم می‌کند. حملات تزریق با ساخت دستورات یا محاوره‌ها مخرب پیاده‌سازی می‌شوند. در بردار حمله نقض تزریق کد هکرها ممکن است روی روش‌های زیر متمرکز شوند:

تزریق کد SQL: آسیب‌پذیری است که به یک مهاجم اجازه می‌دهد تا از زبان محاور ساخته یافته SQL که برای تعامل با یک بانک‌اطلاعاتی به کار گرفته می‌شود را به شکل مخرب استفاده کند.

تزریق فرامین مخرب: این حمله برای تزریق و اجرای دستورات مشخص توسط مهاجم در یک برنامه آسیب‌پذیر استفاده می‌شود. حملات تزریق فرمان به دلیل عدم اعتبارسنجی صحیح داده‌های ورودی اتفاق می‌افتد و به هکر اجازه می‌دهد اطلاعات درون فرم‌ها، کوکی‌ها، سرآیندهای HTTP و غیره را دستکاری کند. به‌طور مثال، در لینوکس می‌توانید دو دستور زیر را با تایپ کردن یکی پس از دیگری اجرا کنید:

#cmd1 && cmd2

بنابراین، یک برنامه آسیب‌پذیر می‌تواند فرمانی شبیه به www.google.com && cat/etc/passwd را اجرا کند.

تزریق فایل: یک مهاجم از اسکریپت‌های آسیب‌پذیر برای انتقال یا به عبارت دقیق‌تر تزریق یک فایل از راه دور برای میزبانی استفاده می‌کند. به‌طور مثال، فایلی که برای جست‌وجوی در وب استفاده شده و ترکیب نحوی application.php?name=CEH دارد را تصور کنید که برای نمایش یک صفحه وب که شامل کلیدواژه CEH است ساخته شده است. با این حال، به‌کارگیری کاراکترهای CEH; netcat 1.10/nc.c باعث می‌شوند تا دستورات درون تابع exec() اجرا شوند. دستور دوم یک فرما مخرب است که nc.c را روی میزبان قربانی بارگیری می‌کند. ابزارهای مختلفی وجود دارند که در شناسایی نقص تزریق فایل به هکرها کمک می‌کنند.

■ LDAP injection: سرویس LDAP روی پورت 389 پروتکل TCP و سرویس‌های SSL روی پورت 636 پروتکل TCP اجرا می‌شوند. طراحی و کدنویسی ضعیف سرویس‌های وب اجازه می‌دهند تا فرآیند اعتبارسنجی ورودی برنامه‌های تحت وب و فرامین LDAP که برای دسترسی به بانک‌های اطلاعاتی پشت درخت LDAP قرار دارند به درستی انجام نشوند.

■ XML injection: مشابه تزریق SQL، تزریق XML به‌طور کلی بر مبنای تزریق XPath در یک برنامه خدمات وب انجام می‌شود. حمله تزریق XPath به جای یک پایگاه داده SQL یک سند XML را هدف قرار می‌دهد. مهاجم رشته‌ای از کدهای مخرب را به برنامه وارد می‌کند تا فرآیند دسترسی غیرمجاز به اطلاعات محافظت شده فراهم شود.

در شماره آینده مبحث فوق را ادامه می‌دهیم.

برای مطالعه رایگان تمام بخش‌های دوره CEH  روی لینک زیر کلیک کنید:

آموزش رایگان دوره CEH

ماهنامه شبکه را از کجا تهیه کنیم؟
ماهنامه شبکه را می‌توانید از کتابخانه‌های عمومی سراسر کشور و نیز از دکه‌های روزنامه‌فروشی تهیه نمائید.

ثبت اشتراک نسخه کاغذی ماهنامه شبکه     
ثبت اشتراک نسخه آنلاین

 

کتاب الکترونیک +Network راهنمای شبکه‌ها

  • برای دانلود تنها کتاب کامل ترجمه فارسی +Network  اینجا  کلیک کنید.

کتاب الکترونیک دوره مقدماتی آموزش پایتون

  • اگر قصد یادگیری برنامه‌نویسی را دارید ولی هیچ پیش‌زمینه‌ای ندارید اینجا کلیک کنید.

ایسوس

نظر شما چیست؟