در سالهای اخیر خدمات تحت وب، گسترش وسیعی داشته است. سیستمهای مدیریت محتوا مانند وردپرس، جوملا و بسیاری دیگر به صاحبان کسبوکارها اجازه میدهند تا بهسرعت و بهسادگی بستری برای ارائه خدمات آنلاین خود ایجاد کنند. داشتن یک وبسایت، با کمک معماری توسعهپذیر این سیستمها، ماژولها، پلاگینهای ارزشمند و اکوسیستم توسعهپذیر آنها، بهراحتی امکانپذیر است.
بیشک تسهیل راهاندازی وبسایت برای یک کسبوکار فواید زیادی دارد، اما یکی از چالشهای مهم آن اطمینان از امنیت وبسایت است؛ بسیاری از کاربران CMSها، اطلاعات لازم برای بالابردن امنیت وبسایت را نداشته و یا حتی درکی از این موضوع ندارند.
۱- بروزرسانی وبسایت:
هر روزه وبسایتهای زیادی در معرض خطرات ناشی از بکارگیری نرمافزارهای منسوخ و ناامنی هستند که بر روی آنها در حال اجراست. این موضوع بسیار مهمی است که وبسایت خود را با پلاگینها و نسخه CMS جدید بروزرسانی کنید. امروزه بیشترین هکرها برای هک کردن وبسایتها از رباتهایی استفاده میکنند که بهطور مداوم سایتها را اسکن کرده و بهدنبال فرصت هستند. بروزرسانی ماهانه یا هفتگی چندان کافی نیست، زیرا به احتمال بالا، رباتها زودتر از شما راهی برای نفوذ پیدا میکنند. مگر اینکه شما از website firewall استفاده کنید که در این صورت نیز به محض انتشار نسخه جدید، نیاز به بروزرسانی دارید. اگر از وردپرس استفاده میکنید، پلاگین WP Updates Notifier توصیه میشود. این پلاگین از طریق ارسال ایمیل شما را از وجود بروزرسانی جدید برای وردپرس، باخبر میکند.
۲- کلمه عبور(Password)
در اغلب موارد کلمه عبور انتخابی برای ورود به بخش مدیریت وبسایت امن نیست. بهطور مثال admin/admin که بسیار مورد استفاده است ترکیب امنی برای Username و Password نیست. اگر کلمه عبور شما در لیست پسوردهای رایج مشاهده شود، یعنی وبسایت شما نقاط ضعفی برای هک شدن دارد. البته عدم وجود کلمه عبور انتخابی شما در این لیست نیز دلیلی بر مناسب بودن آن نیست.
هنگامی که میخواهید یک کلمه عبور مناسب انتخاب کنید باید سه مورد زیر را در نظر بگیرید:
- پیچیده: کلمه عبور باید بصورت تصادفی (Random) انتخاب شود. با انتخاب کلمه عبور تصادفی دیگر کسی با فهمیدن تاریخ تولد یا تیم ورزشی مورد علاقه شما و دیگر موارد، نمیتواند حساب شما را هک کند.
- طولانی: توصیه میشود کلمه عبور بیشتر از ۱۲ کاراکتر باشد. هر چه بیشتر، بهتر!!!
- منحصر بهفرد: از یک کلمه عبور یکسان در موارد مختلف استفاده نکنید.
۳- یک سایت = یک فضا:
شما یک فضای نامحدود برای میزبانی وب دارید؛ پس چرا سایتهای بسیاری بر روی آن قرار ندهید! متاسفانه این یکی از بدترین شیوهها از نظر امنیتی است. با قرار دادن سایتهای بسیار بر روی یک فضا سطح حمله بزرگی ایجاد میکنید. این کار نه تنها باعث میشود که تمامی سایتهای شما همزمان هک شوند بلکه فرایند پیشگیری و پاکسازی را نیز طولانیتر میکند.
۴- تعیین سطح محدودیت برای دسترسی هر کاربر:
این مورد برای وبسایتهایی است که چندین کاربر برای لاگین کردن به وبسایت دارند. این مهم است که هر کاربر برای انجام کار خود اجازه دسترسی داشته باشد. اگر نیاز دارند بصورت لحظهای به آنها دسترسی داده شود و بعد از اتمام کارشان این دسترسی محدود شود. بعنوان مثال اگر دوستی دارید که میخواهد یک پست در سایت شما قرار دهد، نیازی نیست دسترسی کامل داشته باشد. این حساب کاربری فقط باید قادر به ایجاد پست جدید و ویرایش باشد. نیازی نیست دسترسی به تغییر تنظیمات وبسایت را داشته باشد. داشتن دسترسیهایی که به دقت تعریف شده میتواند اشتباهات و عواقب خطر را محدود کند و وبسایت را از آسیبهای کاربران سرکش محافظت کند.
۵- تغییر تنظیمات پیشفرض CMSها:
اگرچه استفاده از برنامههای CMS امروزی بسیار راحت است، اما از دیدگاه امنیتی، خطراتی را نیز به همراه دارد. تاکنون رایجترین حملات در وبسایتهایی بوده که از این سیستمها استفاده میکردهاند و بسیاری از حملات با تکیه بر تنظیمات پیشفرض آنها انجام میشود. شما با تغییر تنظیمات پیشفرض هنگام نصب CMSها میتوانید از حملات بسیاری جلوگیری کنید. معمولا سادهترین راه برای تغییر تنظیمات پیشفرض، هنگام نصب CMS است، اما بعد از نصب هم میتوان این تنظیمات را تغییر داد.
۶- انتخاب توسعهپذیری:
یکی از بهترین نکات در مورد CMSهای امروزی، توسعهپذیر بودن آنهاست. اما این توسعهپذیری میتواند بزرگترین نقطه ضعف آنها نیز باشد. تعداد زیادی از پلاگینها، افزونهها، و ماژولها وجود دارند که تقریبا هر قابلیتی که شما میتوانید تصور کنید را ارائه میدهند. واقعیت این است که این تعداد بیشمار برنامههای افزودنی مانند شمشیر دو لبه هستند. اغلب افزونههای متعددی پیشنهاد میشود که قابلیتهای مشابه دارند، شما چگونه متوجه میشوید که کدامیک را نصب کنید؟
در اینجا مواردی را بیان میکنیم که معمولا در هنگام تصمیمگیری در مورد انتخاب افزونهها برای نصب باید در نظر گرفته شوند:
- اولین نکته بروز بودن افزونههاست. اگر از آخرین بروزرسانی افزونه یک سال قبل گذشته باشد، احتمالا نویسنده دیگر قصد انجام کار جدید بر روی آن را ندارد. پس بهتر است بیخیال آن شوید و از افزونههایی استفاده کنید که بطور مداوم نویسنده درحال توسعه آنهاست.
- ه قدمت و تعداد نصب افزونهها باید توجه شود. افزونههایی که خیلی زیاد نصب شدهاند نسبت به آنهایی که توسط یک نویسنده برای اولین بار منتشر شده، بیشتر قابل اعتماد هستند. نه تنها توسعهدهندههای با تجربه ایدههای بهتری دارند بلکه احتمال اینکه بخواهند شهرت و محبوبیت خود را با توسعه کدهای مخرب از بین ببرند، بسیار کم است.
- اینکه شما برنامههای افزودنی و تمهای خود را از منابع قانونی دانلود کنید، بسیارمهم است. سایتهای بسیاری هستند که نسخههای رایگانی را برای دانلود به شما پیشنهاد میدهند. وبسایتها این نسخههای رایگان را احتمالا با هدف آلوده کردن وبسایت شما با نرمافزارهای مخرب ارائه میدهند.
۷- بکآپ گرفتن:
مانند هر چیز دیگر در دنیای دیجیتال، ممکن است که یکباره همه چیز از بین برود. بهتر است که گاهی اوقات از وبسایت خود بکآپ بگیرید. بکآپ گرفتن از وبسایت خیلی مهم است اما ذخیرهسازی این بکآپ بر روی سرور، ریسک امنیتی خیلی بزرگ است. این بکآپ که شامل نسخههای اصلاحنشده CMS و افزونههایی است که در دسترس عموم قرار دارد، به هکرها اجازه میدهد که بهراحتی به سرور شما دسترسی پیدا کنند.
۸- فایلهای پیکربندیشده سرور:
شما باید درباره پیکربندی فایلهای وبسرور خود اطلاعات داشته باشید. وبسرورهای آپاچی از فایل .htaccess و سرورهای Nginx از فایل nginx.conf و سرورهای Microsoft IIS از فایلweb.config. استفاده میکنند که اغلب در root web directory یافت میشوند و بسیار قدرتمند هستند. این فایلها به شما اجازه میدهند، قوانینی از جمله دستورات بهبود امنیت وبسایت را اجرا کنید.
۹- نصب SSL :
SSL ارتباط بین دو نقطه A وB، بین سرور وبسایت شما و مرورگر را رمزگذاری میکند. این رمزگذاری باعث میشود، هر کسی قادر به مشاهده ترافیک و اطلاعات انتقالی شما نباشد و به همین دلیل بسیار با اهمیت است. SSL برای امنیت وبسایتهای تجاری و هر وبسایتی که فرمهایی با اطلاعات حساس و شخصی افراد را شامل میشود، بسیار مهم است.
۱۰- مجوزهای دسترسی فایل:
مجوزهای دسترسی تعریف میکند که هرکسی میتواند با هر فایلی چه کاری انجام دهد.
هر فایل سه مجوز دسترسی دارد:
- خواندن (Read): به این سطح دسترسی عدد ۴ داده میشود.
- نوشتن (Write): به این سطح دسترسی عدد ۲ داده میشود.
- اجرا کردن (Execute): به این سطح دسترسی عدد ۱ داده میشود.
اگر میخواهید چندین اجازه دسترسی را به شخصی بدهید کافی است که اعداد را باهم جمع کنید. بعنوان مثال اگر میخواهید به شخصی همزمان اجازه خواندن و نوشتن بدهید باید در مجوز دسترسی کاربر عدد ۶ را وارد کنید. اگر علاوه بر خواندن و نوشتن مجوز اجرای فایلها را هم بدهید باید عدد ۷ را وارد کنید.