فهرست محتوا
- جلوگیری از هک سایت چگونه ممکن است!؟
- چه عواملی ممکن است باعث هک شدن وب سایت شوند؟
- Cross-site Scripting (XSS) چیست؟
- جلوگیری از هک سایت با مقاوم سازی در برابر XSS
- تزریق SQL چیست؟
- جلوگیری از هک سایت با مقاوم سازی در برابر حملات SQL Injection
- منظور از اجرای فایل مخرب چیست ؟
- جلوگیری از هک سایت با مقاوم سازی در برابر فایل های مخرب
- مرجع مستقیم شی نا امن چیست؟
- جلوگیری از هک سایت با مقاوم سازی در برابر مرجع مستقیم شی ناامن
- جعل درخواست متقابل سایت چیست؟
- جلوگیری از هک سایت از روش حمله جعل درخواست متقابل
- نشت اطلاعات و نحوه مدیریت نامناسب خطاها چیست؟
- جلوگیری از هک سایت با مقاوم سازی در برابر نشت اطلاعات
- احراز هویت شکسته و مدیریت جلسه چیست؟
- جلوگیری از هک سایت با از طریق احراز هویت شکسته
- ذخیره سازی رمزنگاری ناامن چیست؟
- جلوگیری از هک سایت با رمزنگاری ناامن
- منظور از ارتباطات ناامن چیست؟
- جلوگیری از هک سایت با محافظت در برابر ارتباطات ناامن
- عدم محدودیت دسترسی به URL چیست؟
- جلوگیری از هک سایت با محافظت از عدم محدودیت دسترسی به URL
- نتیجه گیری
اتفاقات وحشتناک زیادی است که میتواند کارکرد یک سایت را به خطر می اندازد. این اتفاقات می توانند از بروز ارور هایی مانند 503 و یا صفحه سفید تا هک شدن سایت شما گسترده باشند که قطعا در بین آن ها هک شدن سایت موردی است که زیان های خیلی بیشتری را به شما می زند. در این مقاله قرار است که روش هایی را برای جلوگیری از هک سایت معرفی کنیم که بتوانید خیال خود را از این موضوع راحت کنید.
جلوگیری از هک سایت چگونه ممکن است!؟
خطرناک ترین اتفاقی که میتوان آن را به عنوان یک آسیب جدی تلقی کرد و فرار کردن از آن کمی مشکل می شود و هکر هایی که به سراغ شما آمده اند به این راحتی دست بردار نخواهد بود. انواع مختلفی از هک وجود دارد و این کار می تواند به صورت های مختلفی انجام شود که به طور مفصل در مقاله ” هک شدن سایت ” در مورد آنها صحبت کردیم.
وقتی سایت شما هک شود به این معناست که کنترل کامل آن بدست شخص دیگری افتاده است و این شخص این توانایی را خواهد داشت که علاوه بر کنترل سایتتان آن را تغییر داده و عملکرد آن را نیز از روش معمولی خارج کرده و حتی میتواند از ورود شما هم به سایت جلوگیری کند. پس فرار از چنگ آن کمی سخت خواهد شد.
بهترین روش مقابله با هک این است که تدبیری بیندیشید که کار به اینجا نکشد. اگر شما اقدامات امنیتی برای جلوگیری از هک سایت را روی سایت خود پیاده سازی کنید، خیلی از هکر ها به خود این زحمت را نمی دهند که وقتشان را روی سایتی هدر بدهند که نتیجه ای برای آنان ندارد. پس اگر شما از دید ابزار های پیدا کننده نقاط ضعف و خرنده هایی که برای یافتن قربانی از آنها استفاده می کنند محفوظ بمانید، می توانید مطمئن باشید که سایت شما رد فهرست سایت های هدف قرار نمی گیرد.
برای اینکه از دید مخفی بمانید باید ابتدا بدانید چه چیزی شما را در دید قرار می دهد!؟ چه نقطه ضعف هایی برای یک هکر به منزله چراغ سبز است!؟ چه چیزی باعث می شود سایت شما آسیب پذیر باشد!؟ وقتی پاسخ این سوالات را بدانید میتوانید با برطرف کردن این ایرادات امنیت سایت خود را برقرار می کنید. پیشتر در مقاله ” بالا بردن امنیت هاست ” در مورد اینکه چگونه از این میتوانیم اقدامات امنیتی را روی هاست و سایت خود پیاده سازی کنیم صحبت کردیم. اکنون به بررسی پاسخ این پرسش ها خواهیم پرداخت. پس در ادامه با بررسی راه های جلوگیری از هک سایت با ما همراه باشید.
چه عواملی ممکن است باعث هک شدن وب سایت شوند؟
به طور کلی می توان موارد زیر را به عنوان عواملی که توسط هکر ها به عنوان یک رخنه استفاده می شوند را مشاهده کنید.
- اسکریپت نویسی متقابل سایت (XSS)
- نقص تزریق SQL
- اجرای پرونده مخرب
- مرجع مستقیم شی ناامن
- جعل درخواست متقابل سایت
- نشت اطلاعات و مدیریت نادرست خطا
- احراز هویت شکسته و مدیریت جلسه
- ذخیره سازی رمزنگاری ناامن
- ارتباطات ناامن
- عدم دسترسی به URL
اجازه دهید که با توضیح هر کدام از این موارد به بررسی اینکه چگونه می توانند به ما آسیب برسانند و ما چطور باید این آسیب ها و احتمال خطر را برطرف کنیم بپردازیم.
Cross-site Scripting (XSS) چیست؟
حملات اسکریپت متقابل سایت یکی از انواع تزریق است که در آن اسکریپت های مخرب به برنامه های وب معتبر تزریق می شود. این حمله زمانی اتفاق می افتد که یک هکر از برنامه وب برای ارسال کد آلوده بارها به شکل اسکریپت سمت مرورگر برای کاربر نهایی از راه دور استفاده می کند. نقصی که باعث موفقیت این حملات می شود گسترده است و می تواند در هر جایی رخ دهد.یک مهاجم از XSS برای ارسال یک اسکریپت مخرب برای قربانی استفاده می کند. مرورگر کاربر نهایی راهی برای شناختن قابل اعتماد بودن اسکریپت ندارد. کاربر معتقد است که اسکریپت از منبع معتبری آمده است بنابراین آن را اجرا می کند. اسکریپت مخرب در آن تمام اطلاعات حساس را که توسط مرورگر مانند شناسه جلسه ، نشانه ها ، کوکی ها و غیره حفظ می شود ، بدست می آورد. این نوع اسکریپت ها حتی محتوای صفحه HTML را بازنویسی می کنند.
جلوگیری از هک سایت با مقاوم سازی در برابر XSS
برای جلوگیری هک سایت از طریق XSS ، باید داده های غیر معتبر را از محتوای فعال مرورگر جدا کنید.
ترجیح داده می شود به درستی از تمام محتوای غیرقابل اعتماد بر اساس زمینه HTML (ویژگی ، متن ، CSS ، JavaScript یا URL) که داده ها در آن قرار می گیرند ، فرار کنید.
اعتبارسنجی ورودی مثبت یا لیست سفید توصیه می شود زیرا به محافظت در برابر XSS کمک می کند ، اما نمی توان گفت دفاع کامل است زیرا بسیاری از برنامه های وب در ورودی خود به نویسه های خاصی احتیاج دارند. این نوع اعتبار سنجی باید طول ، قالب ، نویسه ها و ضوابط مربوط به تجارت را قبل از پذیرش ورودی ، تأیید کند.
تزریق SQL چیست؟
تزریق SQL یکی از رایج ترین مکانیسم های حمله به وب است که توسط مهاجمین برای سرقت اطلاعات حساس سازمان ها مورد استفاده قرار می گیرد. در حالی که SQL Injection می تواند بر روی هر برنامه داده محور که از پایگاه داده SQL استفاده می کند تأثیر بگذارد ، اما بیشتر اوقات برای حمله به وب سایت ها استفاده می شود.
SQL Injection یک تکنیک تزریق کد است که هکرها می توانند با استفاده از آن ، عبارات مخرب SQL را برای اجرا توسط پایگاه داده SQL در زمینه های ورودی وارد کنند. این تکنیک به دلیل کدگذاری نادرست برنامه های وب آسیب پذیر امکان پذیر شده است.
این نقص ها به این دلیل به وجود می آیند که فیلدهای ورودی که برای ورودی کاربر در دسترس قرار گرفته اند ، به طور غیر منتظره ای به عبارات SQL اجازه می دهند تا مستقیماً از پایگاه داده استفاده کنند و از آنها پرس و جو کنند. اما چگونه میتوان کار جلوگیری از هک سایت را در برابر حملات SQL Injection محافظت کرد!؟
جلوگیری از هک سایت با مقاوم سازی در برابر حملات SQL Injection
توسعه دهندگان می توانند از آسیب پذیری های تزریق SQL در برنامه های وب با استفاده از پرس و جوهای پایگاه داده با پارامترهای محدود ، تایپ شده و استفاده دقیق از روش های ذخیره شده پارامتر شده در پایگاه داده جلوگیری کنند.
این را می توان در انواع زبان های برنامه نویسی از جمله جاوا ، NET ، PHP و غیره انجام داد.
توسعه دهندگان ، مدیران سیستم و مدیران پایگاه داده میتوانند اقدامات بیشتری را برای به حداقل رساندن حملات یا تاثیر حملات موفق انجام دهند:
تمام اجزای نرم افزار برنامه های وب از جمله کتابخانه ها ، پلاگین ها ، فریم ورک ها ، نرم افزار وب سرور و نرم افزار سرور پایگاه داده را با جدیدترین وصله های امنیتی موجود از فروشندگان به روز نگه دارید.
هنگام تهیه حساب هایی که برای اتصال به پایگاه داده SQL استفاده می شود ، از اصل حداقل امتیاز (لینک خارجی است) استفاده کنید.
هرگز اجازه ندهید که برنامه وب شما با امتیازات مدیر (به عنوان مثال حساب “sa” در Microsoft SQL Server) به پایگاه داده متصل شود.
از حساب های پایگاه داده مشترک بین وب سایت ها یا برنامه های مختلف استفاده نکنید.
ورودی های ارائه شده توسط کاربر را برای انواع داده های مورد انتظار تأیید کنید ، از جمله زمینه های ورودی مانند منوهای کشویی یا دکمه های رادیویی ، نه فقط فیلدهایی که به کاربران اجازه می دهد ورودی را تایپ کنند.
گزارش و مدیریت درست خطا را در وب سرور و کد پیکربندی کنید تا پیام های خطای پایگاه داده هرگز به مرورگر وب مشتری ارسال نشوند. مهاجمان می توانند از جزئیات فنی در پیام های خطای فریبنده استفاده کنند تا درخواست های خود را برای بهره برداری موفق تنظیم کنند.
منظور از اجرای فایل مخرب چیست ؟
هکرها می توانند اجرای کد از راه دور ، نصب از راه دور روت کیت ها را انجام دهند و یک سیستم را کاملاً به خطر بیندازند. هر نوع برنامه وب در صورت پذیرش نام یا فایل از کاربران ، آسیب پذیر است. این آسیب پذیری ممکن است بیشتر در PHP وجود داشته باشد ، یک زبان برنامه نویسی که به طور گسترده ای برای توسعه وب استفاده می شود.
جلوگیری از هک سایت با مقاوم سازی در برابر فایل های مخرب
برای جلوگیری از هک سایت با این روش از ورودی تهیه شده توسط کاربران در هیچ نام فایلی برای منابع مبتنی بر سرور ، مانند تصاویر و اسکریپت استفاده نکنید. برای جلوگیری از اتصالات جدید به وب سایت های خارجی و سیستم های داخلی ، قوانین دیوار آتش را تنظیم کنید.
مرجع مستقیم شی نا امن چیست؟
یک مرجع مستقیم شی ممکن است زمانی اتفاق بیفتد که توسعه دهنده مرجعی را در معرض یک شی implementation پیاده سازی داخلی قرار دهد ، مانند فایل، دایرکتوری یا کلید پایگاه داده بدون هیچ مکانیزم اعتبارسنجی که به مهاجمان اجازه می دهد این منابع را برای دسترسی به داده های غیر مجاز دستکاری کنند.
جلوگیری از هک سایت با مقاوم سازی در برابر مرجع مستقیم شی ناامن
برای جلوگیری از هک سایت و قرار گرفتن در معرض منابع مستقیم شی از شاخص، نقشه مرجع غیر مستقیم یا روش غیر مستقیم دیگری استفاده کنید. اگر نمی توانید از مراجعه مستقیم جلوگیری کنید ، قبل از استفاده از بازدیدکنندگان وب سایت ، آنها را مجاز کنید.
جعل درخواست متقابل سایت چیست؟
Cross-Site Request Forgery (CSRF) حمله ای است که کاربران معتبر را مجبور میکند درخواست خود را به یک برنامه وب ارسال کنند که در حال حاضر علیه آن تایید شده اند. حملات CSRF از اعتمادی که یک برنامه وب به یک کاربر معتبر دارد سو استفاده می کند. (برعکس ، حملات برنامه نویسی میان سایت (XSS) از اعتمادی که کاربر به یک برنامه وب خاص دارد سو استفاده می کند). اگر CSRF نتواند بین درخواست تولید شده توسط یک کاربر شخصی و درخواست ایجاد شده توسط کاربر بدون رضایت وی تفاوت قائل شود ، از یک آسیب پذیری در یک برنامه وب بهره می برد.
هدف یک مهاجم برای انجام یک حمله CSRF این است که کاربر را مجبور به ارسال درخواست تغییر وضعیت کند.
جلوگیری از هک سایت از روش حمله جعل درخواست متقابل
به اعتبارنامه یا نشانه هایی که به طور خودکار توسط مرورگرها ارسال می شوند اعتماد نکنید. راه حل شما استفاده از رمز سفارشی است که مرورگر آن را ذخیره نمیکند، خواهد بود.
نشت اطلاعات و نحوه مدیریت نامناسب خطاها چیست؟
نشت اطلاعات هنگامی رخ می دهد که اشتباهات به طور نادرست مورد استفاده قرار گیرند این امر منجر به نمایش پیام های خطای داخلی برای هکر می شود. سپس هکر می تواند با استفاده از اطلاعات اضافی حمله به آن سرویس را هدف قرار دهد. سرویس های وب پیام های خطای زیادی تولید می کنند و این پیام ها را مستقیماً به کاربر نشان می دهند. این می تواند خطاهایی را نشان دهد ، اما همچنین می تواند اطلاعات مهمی مانند نسخه Apache ، شماره ساخت و مکان اشاره گر حافظه را نشان دهد.
جلوگیری از هک سایت با مقاوم سازی در برابر نشت اطلاعات
برای جلوگیری از هک سایت بعلت نشت کردن اطلاعات از یک ابزار آزمایش مانند OWASP’S WebScarab Project استفاده کنید تا ببینید برنامه شما چه خطاهایی ایجاد می کند. OWASP می نویسد: “برنامه هایی که از این طریق آزمایش نشده اند تقریباً به طور قطع خروجی خطای غیرمنتظره ای ایجاد می کنند.”
نکته دیگر: مدیریت جزئیات خطا را غیرفعال یا محدود کنید و اطلاعات اشکال زدایی را به کاربران نشان ندهید.
احراز هویت شکسته و مدیریت جلسه چیست؟
احراز هویت شکسته یک راه برای چندین آسیب پذیری است که مهاجمان از آن برای جعل هویت کاربران قانونی به صورت آنلاین استفاده می کنند. به طور کلی ، احراز هویت شکسته به نقاط ضعف در دو زمینه اشاره دارد: مدیریت جلسه و مدیریت اعتبار. هر دو به عنوان احراز هویت شکسته طبقه بندی می شوند زیرا مهاجمان می توانند از یکی از راه ها برای پوشاندن به عنوان کاربر استفاده کنند: شناسه های جلسه ربوده شده یا اعتبار ورود به سیستم سرقت شده.
مهاجمان برای بهره گیری از این نقاط ضعف از استراتژی های بسیار متنوعی استفاده می کنند ، از حملات گسترده ی پر کردن گواهینامه ها گرفته تا طرح های بسیار هدفمند با هدف دستیابی به مدارک شخص خاص.
در سال های اخیر ، حملات احراز هویت شکسته ، بدترین نقض داده ها را به خود اختصاص داده است و کارشناسان امنیتی زنگ خطر را در مورد این تهدید شناخته نشده به صدا در می آورند. پروژه امنیت برنامه کاربردی وب باز (OWASP) آن را در لیست “Top 10” خود از بزرگترین خطرات امنیتی برنامه وب از سال 2017 قرار داده است. تا سال 2020 ، احراز هویت شکسته به رتبه دوم رسیده است. اجازه دهید ببینیم برای جلوگیری از هک سایت با این روش چه کاری باید انجام دهیم.
جلوگیری از هک سایت با از طریق احراز هویت شکسته
ارتباطات و فضای ذخیره سازی اطلاعات باید ایمن باشد. پروتکل SSL برای انتقال اسناد خصوصی باید تنها گزینه برای قسمتهای تایید شده برنامه باشد و اعتبارنامه باید به صورت هش شده یا رمزگذاری شده ذخیره شود.
نکته دیگر: از کوکی های سفارشی که برای تأیید اعتبار یا مدیریت جلسه استفاده می شوند خلاص شوید.
ذخیره سازی رمزنگاری ناامن چیست؟
برنامه هایی که اطلاعات حساس را پردازش می کنند وظیفه محافظت از آنها را بر عهده دارند. یکی از 10 آسیب پذیری برتر OWASP دسته ای با عنوان “ذخیره سازی رمزنگاری ناامن” است و به عدم موفقیت یک برنامه برای محافظت از داده های ذخیره شده (به عنوان مثال “در حالت استراحت”) اشاره دارد.
داده های حساس که در فایل ها ، پایگاه های داده یا به طور کلی در “ذخیره داده” ذخیره می شوند ، مستقل از برنامه وجود دارد. اگرچه این برنامه وظیفه مدیریت دسترسی توسط کاربران را بر عهده دارد ، اما در هنگام دسترسی به داده ها در خارج از محدوده برنامه ، برنامه نمیتواند کاری کند که بتواند از آنها محافظت کند. این به طور کلی به عهده مدیران سیستم و مدیران پایگاه داده است که به ترتیب از داده ها در سیستم فایل و پایگاه داده محافظت می کنند. این امر از طریق مجوزهای سیستم عامل و پایگاه داده و حقوق دسترسی انجام می شود.
آخرین خط دفاعی، برای یک حساب کاربری که در سیستم ذخیره اطلاعات رمزگذاری شده است، همین رمزگذاری خواهد بود. داده های رمزگذاری شده بدون کلید بدون هیچ زحمتی مهمل می شوند و هیچ کس زباله ها را نمی دزدد. اما چگونه میتوان جلوگیری از هک سایت را با امن کردن رمزگذاری ها انجام داد!؟
جلوگیری از هک سایت با رمزنگاری ناامن
الگوریتم های رمزنگاری خود را اختراع نکنید.توصیه ی ما این است که “فقط از الگوریتم های عمومی تأیید شده مانند AES ، رمزنگاری کلید عمومی RSA و SHA-256 یا بهتر استفاده کنید.”
علاوه بر این ، کلیدها را به صورت آفلاین تولید کنید و هرگز کلیدهای خصوصی را از طریق کانال های ناامن منتقل نکنید.
این روزها ذخیره شماره کارت های اعتباری کاملاً متداول است ، اما با پایان مهلت انطباق استاندارد کارت صنعت پرداخت کارت داده برای سال آینده ، متوقف کردن ذخیره شماره به طور کلی آسان تر است.
منظور از ارتباطات ناامن چیست؟
مشابه شماره 8 ، این یک رمزگذاری در رمزنگاری ترافیک شبکه نیست ، زیرا برای محافظت از ارتباطات حساس لازم است. مهاجمان می توانند به مکالمات محافظت نشده از جمله انتقال اعتبارنامه و اطلاعات حساس دسترسی داشته باشند. به همین دلیل ، استانداردهای PCI نیاز به رمزگذاری اطلاعات کارت اعتباری منتقل شده از طریق اینترنت دارند.
جلوگیری از هک سایت با محافظت در برابر ارتباطات ناامن
از SSL در هر اتصال تأیید شده یا در هنگام انتقال اطلاعات حساس مانند اعتبار کاربر ، اطلاعات کارت اعتباری ، سوابق بهداشتی و سایر اطلاعات خصوصی استفاده کنید. SSL یا پروتکل رمزگذاری مشابه نیز باید برای مشتری ، شریک ، کارمند و دسترسی اداری به سیستم های آنلاین اعمال شود. برای محافظت از ارتباطات بین قسمتهای زیرساخت خود مانند سرورهای وب و سیستم های پایگاه داده ، از امنیت لایه حمل و یا رمزگذاری سطح پروتکل استفاده کنید.
عدم محدودیت دسترسی به URL چیست؟
حملاتی که این آسیب پذیری را هدف قرار می دهند ، مرور اجباری نامیده می شود ، “که شامل پیوندهای حدس زدن و تکنیک های نیروی بی رحمانه برای یافتن صفحات محافظت نشده است.”
جلوگیری از هک سایت با محافظت از عدم محدودیت دسترسی به URL
تصور نکنید کاربران از URL های پنهان بی اطلاع هستند. کلیه نشانی های اینترنتی و عملکردهای تجاری باید توسط مکانیسم کنترل دسترسی موثر محافظت شود که نقش و امتیازات کاربر را تایید می کند. OWASP توصیه می کند: “مطمئن شوید که این کار انجام شده است … در هر مرحله از راه ، نه فقط یک بار نسبت به آغاز هر فرایند چند مرحله ای.”
نتیجه گیری
همانطور که دیدم جلوگیری از هک سایت یک کار ممکن اما کمی پر دردسر است. برای اینار باید با دقت کافی به بررسی این موارد مورد سایت خود بپردازید. البته در صورتی که از توصیه هایی که معمولا برای تنظیمات و پیکربندی های مختلف ارائه می شود، تبعیت کرده باشید و یک رویکرد امنیت محور را در طراحی خود لحاظ کرده باشید. میتوانید این اطمینان را داشته باشید که بیشتر این کارها و اقدامات را به صورت پیشفرض انجام داده اید و در نهایت برای یک جلوگیری از هک موفق برای شما آرزوی موفقیت داریم.