امنیت سایت چیست؟
به زبان ساده امنیت سایت به مجموعه مسائلی مربوط میشود که در راستای ایمن نگاه داشتن سایت از خطرات و حملات سایبری باید در نظرگرفته شوند. این مسائل میتواند مربوط به هکرهایی1hackers باشد که قصد حمله به اطّلاعات یک وبسایت را دارند. ممکن است به بدافزارها مرتبط باشد یا هرزنامهها را شامل شود.
حتّی خطاها و کاستیهای سایت نیز میتواند در امنیت سایت دخیل باشد. اگر اینگونه به امنیت سایت نگاه کنید، متوجه میشوید که خودش یک زمینه بزرگ و مهم در نظر گرفته میشود. لذا برای داشتن سایت امن باید به صورت پیوسته به پایش سایت خود بپردازید و مدیریت وبسایت خود را به خوبی انجام دهید. در اصل امن نگه داشتن یک وبسایت جهت حفظ اطّلاعات کاربران و بازدیدکنندهها، جلوگیری از حملات سایبری و عدم بروز مشکل در سایت وظیفه بسیار خطیر و مهمی است.
چرا داشتن سایت امن مهم است؟
شاید این پرسش نیازی به پاسخ دادن نداشته باشد. مسلم است که امنیت سایت به خصوص در دنیای امروز که شبکههای عظیمی از وبسایتها ایجاد شدهاند، مسئله مهم و غیرقابلانکاری است. اگر وبسایتی مورد حمله قرار بگیرد و هک شود، ممکن است حتّی 98 درصد از ترافیک خود را از دست بدهد. اگر شما میخواهید وبسایت ناامنی داشته باشید، اصلاً بهتر است که وبسایتی نداشته باشید! مثلاً اگر دادههای کاربران سایت شما دزدیده شود، علاوه بر دردسرهای قانونی، باعث بدنامی سایت شما نیز میشود. لذا برای داشتن سایت امن در ادامه مقاله با ما همراه باشید.
چه خطراتی امنیت سایت را تهدید میکنند؟
برای پاسخ بهتر به این سؤال که «امنیت سایت چیست؟»، بهتر است که در این قسمت از مقاله به خطرات رایجی که امنیّت یک سایت را تهدید میکنند، اشاره کنیم. با درک این موارد شما بهتر با مسئله امنیت سایت آشنا میشوید.
خطر SQL Injections در سایت
خطر SQL Injection در واقع مجموعه کدها و کوئریهای SQL هستند که توسط هکرها به سایت موردنظر اعمال میشوند. در این نوع حمله هدف پایگاه داده وبسایت است. یعنی حملهکننده به سایت به گونهای کدهای خود را سازماندهی کرده است که بتواند اطّلاعات موردنظر خود را از پایگاه داده سایت بیرون بکشد. با اعمال حمله SQL Injection ممکن است اطّلاعات پایگاه داده تغییر داده شوند یا اطّلاعات نامناسب و مضر به آن وارد شود.
خطر XSS در سایت
خطر XSS که Cross-Site Scripting نام کامل آن است، از بخش فرانت2front-end سایت کدهای مضر را وارد میکند. در وبسایتها ما دو بخش فرانت و بک3back-end داریم. بخش فرانت به بیان ساده مرتبط با ظاهر سایت و مرورگرها میشود. درحالیکه در قسمت بک سایت مسائل سمت سرور و پایگاه داده بررسی میشوند. در خطر Cross-Site Scripting هکر محتوای ظاهر و نمایشی سایت را تغییر میدهد. در واقع مرورگر کاربر را وادار میکند که کد نوشته شده را اجرا کند و درنتیجه در هنگام بارگذاری صفحه، فرآیند دلخواه هکر صورت بگیرد. این مسئله هنگامی خطرناکتر میشود که کاربر وارد شده در سایت مثلاً ادمین سایت باشد که اختیارات زیادی در مورد وبسایت دارد.
خطر DoS یا DDoS در وبسایت
از جمله خطراتی که امنیت سایت را تهدید میکند، خطر یا حمله DDoS4Distributed Denial of Service است. در این نوع تهدید سرعت سایت هدف کاهش مییابد یا به طور کلّی سایت متوقف میشود و دیگر لود نمیشود. دلیل این مسئله هم آن است که شبکه5network، سرور یا نرمافزار موردنظر با ترافیک غیرواقعی6fake traffic اشغال میگردد.
برای افرادی که میخواهند به صورت عمیقتر بدانند امنیت سایت چیست و با مسائل امنیتی سایت آشنا شوند، درک صحیح خطر DDoS ضروری است. زیرا نقش مهمی در امنیت سایت و داشتن سایت امن ایفا میکند.
خطر دسترسی به سایت (Credential Brute Force)
در این خطر، حملهکننده به منطقه مدیریتی سایت، پنل کنترلی آن در هاست یا حتی سرور SFTP آن دسترسی پیدا میکند. در واقع هکرها در این حالت کد یا برنامهای را بر روی سایت شما اجرا میکنند که ترکیبهای گوناگونی از نام کاربری7username و رمز عبور8password را تست میکند تا بالاخره بتوانند به آن مناطق حساسی که ذکر شد، با موفقیت وارد شوند. سپس آنها دسترسی لازم را برای انجام عملیات مخرب خود خواهند داشت.
راهکار حفظ امنیت سایت چیست؟
اکنون که متوجّه شدهاید امنیت سایت چیست و تا چه اندازه مهم است به بررسی برخی راهکارها و نکات مهم جهت داشتن سایت امن میپردازیم.
بهروزرسانی منظّم سایت
احتمالاً شنیدهاید که باید وبسایت خود را بهروز نگه دارید. مثلاً افزونههای استفاده شده در هر سایت یا ورژن و نسخه ابزارهایی که در ساختن سایت استفاده میشوند، باید به صورت پیوسته بهروزرسانی شوند. زیرا نسخههای بهروز خطرات امنیتی و باگهایی که از لحاظ امنیتی در وبسایتها وجود دارند، برطرف میکنند. حتّی بهروزرسانی ابزارهای سایت به صورت ماهانه یا هفتگی نیز ممکن است کافی نباشد. زیرا امروزه بسیاری از فرآیندهای حمله به وبسایتها به صورت خودکار و توسط رباتهای9Bots خودکار صورت میگیرد. آنها به صورت روزانه سایتهایی را بررسی میکنند و در صورتی که باگ امنیتی در سایت شما وجود داشته باشد، امنیت سایت شما در خطر است. بهتر است هر زمان که نسخه بهروزتری از ابزارهای سازنده سایت شما منتشر میشود، بلافاصله نسبت به بهروزرسانی آن اقدام کنید.
استفاده از رمز عبور قوی برای داشتن سایت امن
همانطور که قبلاً در بخش خطرهای امنیت سایت ذکر کردیم، یکی از اقدامهای هکرها آن است که به منطقه کاربری یا مدیریتی شما در سایت یا سرور آن دسترسی پیدا کنند. آنها از اینکه رمز عبورهای نامطمئن و راحتی برای سایت خود انتخاب کنید، استقبال میکنند. اگر میخواهید رمز عبورهای مشخص و پرکاربری مانند admin را برای سایت خود به کار ببرید، بهتر است که اصلاً رمز عبوری تنظیم نکنید! از واژگان پرکاربرد یا معنادار (مانند واژگانی که در دیکشنریها یافت میشوند) برای رمز عبور خود استفاده نکنید. چون هکرها ترکیب اینگونه واژگان را تست میکنند تا بتوانند به سایت شما دسترسی پیدا کنند.
کاهش سطح دسترسی کاربران
ممکن است هکرها نتوانند به کدهای درون وبسایت شما حمله کنند. امّا کاربران سایت شما در معرض حمله هکرها هستند. با ثبت IP کاربران ثبتنام شده در سایت و داشتن تاریخچهای از فعّالیتهای آنها میتوانید آنالیز بهتری در این خصوص برای داشتن سایت امن داشته باشید.
مثلاً اگر دیدید به صورت ناگهانی تعداد ثبتنامکنندگان در سایت افزایش یافته است، ممکن است اقدام مخربانهای برای امنیت سایت شما در جریان باشد. یکی از مسائل مهمی که باید توجّه داشته باشید آن است که برای کاربران عضو در سایت وظایف مشخصی تعیین کنید. در این صورت برای هر کاربری متناسب با وظایف وی حدود اختیاراتی تعریف میشود که بیشتر از آن نمیتواند اقدامی صورت دهد. این مسئله به امنیت سایت شما کمک میکند. مثلاً مدیر سایت باید اجازه دسترسی به کدهای HTML و اجرای دستورها برای نصب افزونهها را داشته باشد. امّا آیا نیاز است که نویسنده10author سایت نیز چنین اختیاراتی داشته باشد؟ مسلماً خیر. بنابراین باید سطح دسترسی وی محدود شود.
تغییر دادن تنظیمات پیشفرض سایت
امروزه بسیاری از حملات سایبری به صورت اتوماتیک انجام میشوند. همچنین کاربران زیادی علاقه به استفاده از سیستمهای مدیریت محتوا11CMS برای راهاندازی وبسایت خود دارند. در اینگونه موارد راهکار حفظ امنیت سایت چیست؟ مسلماً چنین سیستمهای مدیریت محتوایی توسط هکرها آنالیز شده و از تنظیمات پیشفرض آنها به خوبی آگاه هستند. بنابراین برای داشتن سایت امن باید تنظیمات پیشفرض را در اینگونه ابزارها تغییر دهید. مثلاً در برخی از انواع CMS کاربران میتوانند به صورت پیشفرض هرآنچه میخواهند نصب کنند و خوب این مسئله باید در تنظیمات سایت در نظر گرفته شود.
انتخاب افزونههای امن و مناسب
یکی دیگر از مسائلی که برای امنیت سایت خود باید درنظر داشته باشید، به خصوص اگر سایت شما توسط سیستمهای مدیریت محتوا اجرا میشود، مسئله نصب افزونهها است. وجود افزونههای گوناگون باعث میشود بتوانید قابلیتهای فراوانی را به وبسایت خود اضافه کنید. امّا شما از کجا میتوانید مطمئن شوید که این افزونهها خطری برای امنیت سایت شما ندارند؟ برای پاسخ به این سؤال بهتر است افزونههای خود را با رعایت نکات زیر انتخاب کنید:
به تاریخ بهروزرسانی افزونه توجّه کنید.
اگر دیدید که افزونه موردنظر بیشتر از یک سال است که بهروزرسانی نشده است، به این معنا است که برنامهنویس آن دیگر بر روی افزونه کار نمیکند. لذا ممکن است به دلیل قدیمی بودن، خطر امنیتی در آن افزونه وجود داشته باشد.
قدمت افزونه و تعداد نصبهای قبلی آن بسیار مهم است.
وقتی قرار است به افزونهای اطمینان کنید، پس باید تعداد نصبهای قبلی آن بالا باشد و قدمت و اعتبار خوبی داشته باشد.
افزونهها را از منابع معتبر دانلود کنید.
ممکن است برای یک افزونه چندین منبع دانلود وجود داشته باشد. به خصوص رایگان بودن برخی منابع نباید باعث وسوسه شما شود. استفاده از منابع نامعتبر میتواند خطرات امنیتی برای سایت شما ایجاد کند.
پشتیبانگیری منظّم از سایت
فرض کنید که با وجود تلاشی که شما جهت داشتن سایت امن انجام دادهاید، باز هم هکرها موفق شدهاند به سایت شما حمله کنند. اکنون دیگر مسئله این نیست که امنیت سایت چیست و چگونه باید سایت را ایمن نگه داشت. بلکه مسئله این است که چگونه دوباره سایت خود را بازیابی کنید و به حالت قبل برگردانید. اینجا است که اهمیت پشتیبانگیری از وبسایت12website backup مشخص میشود. جهت پشتیبانگیری از وبسایت به نکات زیر توجه داشته باشید:
- فایلهای پشتیبانگیری شده را در مکان دیگری خارج از هاست وبسایت ذخیره کنید. چون اگر هاست شما و در واقع سرور سایت در دسترس هکرها باشد، فایلهای پشتیبانگیری شده شما نیز بیفایده خواهند بود.
- پشتیبانگیری شما باید به صورت خودکار و اتوماتیک صورت بگیرد. چون ممکن است شما فراموش کنید و در نتیجه طی مدّت زمانی طولانی هیچ پشتیبانگیری از سایت صورت نپذیرد.
- از فایلهای پشتیبان خود نیز مجدّد پشتیبان بگیرید. یعنی مثلاً در جای دومی هم آنها را داشته باشید. همچنین آنها را یک بار تست کنید که آیا به درستی عمل میکنند یا نه.
سایر نکات برای داشتن سایت امن
علاوه بر مواردی که تاکنون ذکر شد، برخی مسائل دیگر نیز جهت حفظ امنیت سایت باید مورد توجّه قرار گیرد که در ادامه به شکل فهرستوار به آنها اشاره میکنیم:
- نصب ابزارهای پایش و بررسی سایت بر روی سایت جهت تشخیص و رفع ایرادهای احتمالی
- نصب گواهی SSL جهت حفظ امنیت انتقال دادهها بین هاست و مرورگر
- انجام تنظیمات امنیتی صحیح در سمت سرور سایت و به کمک فایلهای تنظیمات سایت13Server Configuration Files
- استفاده از یک هاست و سرور تنها برای یک وبسایت و اجتناب از میزبانی تعداد زیادی وبسایت بر روی یک هاست به صورت یکجا و همزمان
- استفاده از WAF14web application firewall یا همان فایروال وبسایت
البته هر کدام از موارد ذکرشده نیاز به مطالعه و یادگیری بیشتر دارند. در مقاله «افزونه SSL برای وردپرس» به توضیح در خصوص SSL و استفاده از آن در سایتهای وردپرسی پرداختهایم.
جمعبندی
در این مقاله به بررسی مسئله امنیت سایت پرداختیم. ابتدا به پرسش «امنیت سایت چیست؟» پاسخ دادیم. سپس به بررسی برخی خطرهای امنیتی در حیطه وبسایت پرداختیم. در نهایت با ارائه راهکارهایی برای داشتن سایت امن مقاله را به پایان رساندیم. اگر به موضوع امنیت سایت علاقه دارید، خواندن کتاب Web Security را نیز به شما پیشنهاد میکنیم.
پاورقی:
- 1hackers
- 2front-end
- 3back-end
- 4Distributed Denial of Service
- 5network
- 6fake traffic
- 7username
- 8password
- 9Bots
- 10author
- 11CMS
- 12website backup
- 13Server Configuration Files
- 14web application firewall