![راهنمای کامل امنیت وبسایت ([year]) 10 راهنمای کامل امنیت وبسایت](../../wp-content/uploads/2021/03/ulimate-guide-for-secure-website_webp.webp)
یکی از دغدغه های امروز مالکان و مشتریان یک وبسایت، امنیت وبسایت (امنیت وردپرس) است. بر اساس گزارش آماری زنده اینترنت، هر روز بیش از 100 هزار وبسایت هک می شوند و امنیت وبسایت ها در خطر جدی قرار دارد!
به همین دلیل بسیار مهم است تا کمی بیشتر وقت صرف فراگیری روش های ضروری برای حفظ امنیت وبسایت های خودتان یا مشتریانتان کنید.
از آنجا که بیش از 41.4 درصد وبسایتهای جهان وردپرسی هستند، و این در حالیست که 64.8 درصد از وبسایتهای دنیا از سیستم های مدیریت محتوا استفاده می کنند (این عدد در روز انتشار این گزارش چنین مقداری دارد و ممکن است در طول گذر زمان تغییر کند). لذا تمرکز این آموزش بر حفظ امنیت وبسایت های وردپرسی معطوف شده است.
تصویر فوق تعداد وبسایتهای هک شده امروز است. نتایج زنده این آمار را در این لینک دنبال کنید. با دوناوب همراه باشید، تا با بهترین روش های حفظ امنیت وبسایت (به خصوص وبسایت وردپرسی) آشنا شوید.
این مطلب به مرور زمان تکمیل خواهد شد. پیشنهاد می کنیم با عضویت در خبرنامه ایمیلی دوناوب، از آخرین مطالب وبسایت آگاه شوید.
فهرست عناوین:
یک میزبانی وب (Web Hosting) امن انتخاب کنید
مهمترین سطح امنیت وبسایت، در سمت سرور قرار دارد. پارامترهای زیادی در انتخاب یک هاست مناسب دخالت دارد که مهمترین آن، امنیت سرور است.
خوشبختانه اکثر شرکتهای میزبانی وب امروزی، تلاش مناسبی در حفظ امنیت سرورهای خود دارند. با این حال، با بررسی سوابق و مشتریان یک شرکت ارائهدهندههاست، میتوان تصمیم بهتری در مورد امنیت آن گرفت. وبسایتهای معروف که غالباً، میزبان وبسایتهای برتر هستند، از امنیت و کیفیت بسیار بالاتری برخوردارند.
یک سرور میزبانی خوب، باید مجهز به جدیدترین سخت افزارها و نرم افزارها (خصوصاً نرم افزارهای امنیتی) بوده و همواره به روز باشد. در چنین شرکتهایی، اسکنها و بررسیهای مستمر و دائمی از تمام سرورها به عمل آمده تا میزان هر نوع ریسکی به صفر برسد.
دیوارههای آتش سطح سرور و سیستمهای تشخیص نفوذ امنیتی، باید همواره فعال بوده تا در تمام مراحل (راهاندازی و بهره برداری از وبسایت) از سایتهای مشتریان به خوبی محافظت کنند.
با این وجود، تمام نرمافزارها باید با آخرین نسخههای زبانهای سمت سرور، پایگاه داده و همچنین با هسته سیستمهای مدیریت محتوا سازگار باشند تا عملکرد بهینهای داشته باشند.
از دیگر سو، سرور باید بهگونهای پیکربندی شود که از شبکههای امن و پروتکلهای رمزگذاری انتقال فایل (مانند SFTP بهجای FTP) برای پنهان کردن محتوای حساس در برابر مهاجمان استفاده کند.
از آخرین نسخه PHP استفاده کنید
PHP زبان برنامه نویسی سمت سرور و ستون فقرات هر وبسایت وردپرسی است؛ بنابراین اطمینان از اینکه وبسایت شما از آخرین نسخه PHP استفاده میکند، بسیار مهم است.
هر نسخه اصلی PHP (منظور نسخههایی عدد اول آنها متفاوت است، برای مثال 7.1 و 7.3 هر دو یک نسخه اصلی یعنی نسخه 7 حساب میشوند) به طور معمول برای دو سال پس از انتشار کاملاً پشتیبانی میشوند. نسخه اصلی فعلی، در زمان نگارش این مقاله، نسخه 8 است.
در طول این مدت دوساله، اشکالات و حفرههای امنیتی به طور منظم بررسی و رفع میشود. از امروز هر کسی که با نسخه 7.1 یا نسخه پایینتر کار میکند، دیگر پشتیبانی امنیتی ندارد و در معرض آسیب پذیریهای امنیتی است.
برای اطلاع از اینکه کدام نسخه از PHP در زمان مطالعه شما پشتیبانی میشود، از صفحه مخصوص نسخههای در حال پشتیبانی در وبسایت رسمی PHP بازدید کنید.
مطابق نتایج صفحه رسمی wordpress stats، نزدیک به 15 درصد کاربران وردپرس هنوز از نسخه PHP 5.6 یا پائین تر استفاده می کنند. این یعنی در حال استفاده نسخه ای از PHP هستند که دیگر پشتیبانی نمی شود. واقعا ترسناک است!
شدیدا پیشنهاد میکنیم تا از نسخههای پشتیبانی شده PHP (نسخههای بالاتر از 7.1) استفاده کنید و به راحتی میتوانید در محیط مدیریتهاست خود (Cpanel یا DirectAdmin) نسخه PHP هاست خود را تغییر دهید.
از نامهای کاربری و رمزهای عبور قوی و هوشمندانه استفاده کنید
به طرز شگفت انگیزی، یکی از بهترین راه ها برای تقویت امنیت وبسایت، استفاده از نام های کاربری و رمز عبور قدرتمند و هوشمندانه است. خیلی ساده به نظر می رسد نه؟
خوب، لیست محبوب ترین رمز های سال 2020 و لیست محبوب ترین رمز های به سرقت رفته سال 2019 که همگی بر اساس میزان محبوبیت مرتب شده اند را ببینید. تمام این رمز ها به سرقت رفته اند! یعنی پر استفاده ترین رمز های موجود در دنیا همگی به سرقت رفته اند.
اجازه دهید نگاهی به چند مورد از این رمزها بیندازیم:
- 123456
- 1234567
- 111111
- 123456789
- 12345678
- 123123
- Password
- iloveyou
محبوبترین رمز عبور “123456” است. جالب است بدانید همیشه هم رتبه اول را داشته و خواهد داشت! اگر مالک وبسایت و یا توسعه دهنده آن است، حتماً از افزونههایی استفاده کنید که کاربر را وادار به انتخاب رمزهای قوی خواهند کرد.
اگر میخواهید ببینید هک کردن یک رمز عبور برای هکرها چقدر زمان میبرد، از ابزار تخمین زمان هک استفاده کنید.
برای مثال، زمان مورد نیاز برای هک رمز “123456” تنها 0.29 میلی ثانیه است!!! برای تولید رمزهای عبور قوی به صورت رندم از ابزارهای تولید تصادفی رمز عبور استفاده کنید. برای مثال رمز عبور “cr?`y{NMGbmMs2:^”زمانی نزدیک به بی نهایت سال طول خواهد کشید تا هک شود. یا رمز عبور “1597As3%” زمانی برابر با 10 سال به طول خواهد انجامید.
به صورت پیش فرض، وردپرس از واژه “admin” برای نام کاربری مدیر در زمان نصب وردپرس استفاده میکند. شما نباید هرگز و به هیچ وجه اجازه دهید نام کاربری هیچ یک از کاربران یک وبسایت، “admin” انتخاب شود. یعنی نه شما و نه دیگر کاربران سایت نباید نام کاربری “Admin” را انتخاب کنند. حتماً و حتماً مطمئن شوید کاربران شما علاوه بر رمز عبور قوی، از نامهای کاربری کاملاً متفاوت و منحصر به فرد استفاده میکنند.
حتما دقت کنید که در هیج دو سایتی، دارای یک رمز عبور نباشید. به عبارتی هرگز از یک رمز عبور، برای ورود به چندین سایت استفاده نکنید.
بهترین راه برای ذخیره رمزهای عبور (و جلوگیری از فراموشی آن ها) این است که رمز ها را در یک ابزار ذخیره ساز امن رمز عبور نگه داری کنید. این ابزارها، رمزها را به صورت کدگذاری شده ذخیره و هر زمان که به آن نیاز داشتید در اختیار شما قرار می دهند. ابزار LassPass، Samsung pass، keepass یا google password manager چند ابزار رایگان و چند پلتفرمی برای ذخیره سازی و نگه داری رمزهای عبور شماست.
برای امنیت وردپرس همیشه از آخرین نسخه وردپرس، قالبها و افزونهها استفاده کنید
یکی دیگر از راههای بسیار مهم برای تقویت امنیت سایت شما (امنیت وردپرس) و یا مشتریان شما، این است که همیشه وبسایت را به روز نگه دارید. این موضوع شامل هسته وردپرس، افزونهها و قالبهای وردپرسی است. یکی از مهمترین دلایل بهروزرسانی هسته وردپرس، افزونهها و قالبهای آن، رفع مشکلات و حفرههای امنیتی و بهبود امنیت آنهاست.
متأسفانه میلیونها کسب و کار در سطح دنیا در حال کار با نسخههای قدیمی هسته یا افزونه و قالب وردپرس هستند و هنوز هم متوجه خطری که آنها را تهدید میکنند نشدهاند.
یکی از مهمترین دلایل عدم بهروزرسانیها، این است که ممکن است وبسایت آنها دچار مشکل شده و ممکن است به دلیل عدم سازگاری بین هسته، افزونه و قالب، وبسایت آنها دچار مشکل شود. برخی هم صرفاً به این دلیل که نیازی به امکانات جدید در نسخه بهروز نمیبینند، بهروزرسانی را الزامی نمیدانند. خوب درهرصورت، به شدت در خطر هستند.
در حقیقت بیشتر وبسایتها به دلیل اشکال در نسخههای قدیمی وردپرس یا افزونهها و قالبهای آن خراب میشوند. هرگز تغییراتی در هسته وردپرس ایجاد نکنید.
این موضوع اصلاً پیشنهاد نمیشود و مخاطرات امنیتی به همراه داشته یا حتی ممکن است عملکرد کلی وبسایت شما را مختل کند. بیشترین دلیل بهروزرسانیهای وردپرس، بحث ارتقای امنیت وبسایت است. از بهروزرسانی غافل نشوید.
آیا میدانید که 55.9 درصد نفوذهای امنتی وردپرس از جانب آسیب پذیری های افزونه است؟ این مورددر تحقیقی توسط WordFence، که در آن بیش از 1000 سایت تحت حمله قرار گرفته بودند، مشخص شده است. با به روزرسانی افزونه ها می توانید اطمینان حاصل کنید که وبسایت شما قربانی این رخنه های امنیتی نخواهد بود.
با بهروزرسانی مستمر افزونهها تا ۷۰ درصد میتوانید وبسایت وردپرسی خود را امنتر کنید.
همچنین توصیه میشود که فقط از افزونههای معتبر استفاده کنید. در مخزن وردپرس، افزونههایی در دستههای “محبوب” و “برجسته” وجود دارد که در آن بهترین و معتبرترین افزونهها وجود دارد و میتوانید از آنها استفاده کنید.
توسط ابزار آنلاین VirusTotal می توانید قالب ها و افزونه های خود را از نظر بدافزار و ویروس اسکن کنید.
همچنین منابع بسیار زیادی وجود دارد که به شما کمک میکند تا در جریان آخرین بهروزرسانیها امنیتی و آسیبپذیریهای موجود در وردپرس قرار بگیرید. برخی از بهترینهای آنها عبارتاند از:
- WP Security Bloggers : یک منبع عالی و جذاب از 20 خوراک وبسایتهای امنیتی.
- WPScan Vulnerability Database : کاتالوگی از 10 هزار آسیب پذیری موجود در هسته، افزونه و قالب های وردپرسی.
- ThreatPress : پایگاه داده با به روزرسانی روزانه از آسیب پذیری های هسته، قالب ها و افزونه های وردپرسی.
- Official WordPress Security Archive
ورود به پیشخوان وبسایت خود را به شدت محافظت کنید
هرچقدر پیدا کردن درهای پشتی وبسایت برای یک هکر سخت تر باشد، احتمال هک شدن شما کاهش پیدا می کند. در ادامه چند روش عالی برای حفظ امنیت قسمت ورود به پیشخوان وبسایت شما پیشنهاد می شود.
آدرس URL ورود به پیشخوان را تغییر دهید
در وبسایت های وردپرسی، آدرس ورود به پیشخوان به طور پیش فرض domain.ir/wp-login.php است. مطمئنا یک فرد معمولی و آشنا با وردپرس هم می تواند این آدرس ورود را پیدا کند. پس در اولین قدم باید آدرس پیش فرض ورود به پیشخوان وبسایت وردپرسی خود را تغییر دهید. برای این کار افزونه change wp-admin login را نصب کنید.
سپس از منوی تنظیمات>پیوندهای یکتا، وارد بخش مدیریت URL ها شوید. در انتهای صفحه بخش تنظیمات این افزونه را مشاهده خواهید کرد.
در فیلد اول، آدرس جدید صفحه ورود به وبسایت خودتان را بنویسید. از این پس به جای مسیر /wp-login.php، این آدرس یعنی /login به عنوان صفحه ورود شما خواهد بود. البته انتخاب اسامی قابل حدس زدن برای صفحه ورود پیشنهاد نمی شود. یک عبارت کاملا شخصی بنویسید.
در فیلد دوم، آدرس صفحه ای وبسایت خودتان را بنویسید که مایل هستید، کاربر پس از ورود به وبسایت به آن آدرس منتقل شود. به صورت پیش فرض، صفحه اصلی سایت تنظیم شده است.
تلاش ها برای ورود را محدود کنید
معمولا هکرها از ابزارهایی برای حدس نام کاربری و گذرواژه استفاده می کنند. آنها با تست کردن مقادیر مختلف (و پر استفاده) سعی در هک صفحه ورود شما خواهند کرد.
اما شما باید تعداد دفعات مجاز برای ورود رمز اشتباه را محدود کنید. برای این کار، افزونه رایگان Limit Login Attempts Reloadedبسیار مناسب است. با این افزونه می توانید تعداد دفعات مجاز برای ورود رمز اشتباه را تعیی کنید و لیستی از IP های سفید و سیاه ایجاد کنید.
پس از نصب افزونه، وارد بخش تنظیمات افزونه شوید. در سربرگ تنظیمات، در بخشی از صفحه، تصویری همچون تصویر زیر خواهید دید.
مقدار اول تعداد دفعات مجاز برای وارد کردن اطلاعات اشتباه در صفحه ورود است. به عبارتی فقط 4 مرتبه اجازه ورود اطلاعات اشتباه را خواهید داشت. پس از ورود 4 مرتبه اطلاعات اشتباه، به مدت 20 دقیقه مجاز به ورود نخواهید بود و پس از آن مجددا اجازه ورود خواهید داشت.
در صورتی که تعداد دفعات مسدود شدن شما بیش از 4 مرتبه باشد، به مدت 24 ساعت مسدود می شوید. البته افزونه های بیشماری برای این منظور وجود دارد و شما می توانید از هر افزونه که مد نظرتان هست، استفاده کنید. برای مثال افزونه کاربردی دیگر، افزونه Login LockDown است. پس از فعال سازی افزونه، از منوی تنظیمات وردپرس، وارد بخش تنظیمات افزونه شوید.
در این افزونه نیز با تنظیم، تعداد دفعات مجاز برای تلاش، مدت زمان بین تلاش ها، مدت زمان مسدود ماندن ip می توانید شرایط را کنترل کنید. همچنین می توانید تعیین کنید که آیا در صورت ورود نام کاربری اشتباه، قفل انجام شود یا خیر؟ همچنین می توانید پیغام های خطای صفحه ورود را مخفی کنید تا فرد مهاجم متوجه نوع خطا نشود.
ورود دو مرحله ای را فعال کنید (2FA)
در این روش، علاوه بر ورود با نام کاربری و رمز عبور، یک مرحله احراز هویت دیگر هم وجود خواهد داشت. این مورد امنیت صفحه ورود شما را تا 100 درصد افزایش خواهد داد. روش های متنوعی برای ورود دو عاملی وجود دارد.
- ورود دو مرحله ای توسط ایمیل
- ورود دو مرحله ای توسط پیامک
- ورود دو مرحله ای توسط نرم افزارهایی جانبی
افزونه های متعددی برای این منظور وجود دارند. یکی از این افزونه ها، افزونه Two-factor است.
در این افزونه می توانید از روش ایمیل یا ورود با افزونه جانبی استفاده کنید.
در روش ایمیل، هربار که قصد ورود به وبسایت را داشته باشید، یک ایمیل با همراه کد یکبار مصرف مخصوص شما برای تان ارسال خواهد شد. در روش نرم افزار جانبی، نیاز به یک نرم افزار مجزا دارید. از جمله افزونه های روش جانبی می توان به موارد زیر اشاره کرد:
در روش اخیر، شما نیاز به یک اپ تلفن همراه خواهید داشت تا رمز یکبار مصرف برای شما تولید کند. به عبارتی رمزهایی که هر 60 ثانیه تغیر می کنند.
استفاده از گواهی SSL
یکی از نادیده گرفته شده ترین راه ها برای تقویت امنیت وردپرس ، نصب گواهی SSL و اجرای سایتها از طریق HTTPS است. HTTPS (Hypertext Transfer Protocol Secure) مکانیسمی است که به هر مرورگر یا برنامه وب امکان اتصال ایمن با وب سایت را می دهد. به طور خلاصه، گواهینامه های SSL (Secure Sockets Layer) یک اقدام امنیتی برای وب سایت ها هستند. آنها فایلهای داده کوچکی هستند که روی وب سرور نصب شده، یک قفل را فعال می کنند که امکان اتصال ایمن از یک سرور وب به یک مرورگر را فراهم می کند.
6 دلیل که چرا داشتن گواهی SSL مهم است
1. امنیت
اطلاعات ورود مشتری های شما چقدر مهم است؟ وقتی کاربری وارد وبسایت شما می شود، این اطلاعات با متن ساده به سرور منتقل می شود. HTTPS برای حفظ ارتباط ایمن بین وبسایت و مرورگر کاملا حیاتی است. به این ترتیب بهتر می توانید از دسترسی هکرها به اطلاعات مشتریانتان جلوگیری کنید. در واقع توسط SSL یک لایه امنیتی به پروتکل ارتباطی بین سرور و کاربر افزوده می شود تا مانع از نشت و هک اطلاعات شود.
2. سئو
طبق اعلام رسمی گوگل، HTTPS یک عامل مهم رتبه بندی است. در الگوریتم همیشه در حال تغییر Google برای رتبه بندی SEO، یکی از آخرین استاندارد ها رتبه بندی وب سایت هایی است که از گواهینامه های SSL به عنوان عامل “قابلیت اطمینان” استفاده می کنند.
اعلام نظر رسمی گوگل:
system to look for more HTTPS pages. Specifically, we’ll start crawling HTTPS equivalents of HTTP pages, even when the former are not linked to from any page.
ما می خواهیم اعلام کنیم که در حال تنظیم سیستم نمایه سازی خود هستیم تا صفحات HTTPS بیشتری را جستجو کنیم. به طور خاص، ما شروع به خزیدن معادل HTTPS از صفحات HTTP می کنیم، حتی اگر صفحات اول از هیچ صفحه ای به آن پیوند نداشته باشند.
ما می خواهیم اعلام کنیم که در حال تنظیم سیستم نمایه سازی خود هستیم تا صفحات HTTPS بیشتری را جستجو کنیم. به طور خاص، ما شروع به خزیدن معادل HTTPS از صفحات HTTP می کنیم، حتی اگر صفحات اول از هیچ صفحه ای به آن پیوند نداشته باشند.
این به این معنی است که برای اولین بار، صفحات HTTPS از افزایش SEO برخوردار می شوند و نتیجه پیش فرض جستجوگران می باشند. برای مدیران وبسایت ها، نکته اصلی این است که مطمئن شوند گواهینامه های SSL را به درستی پیاده سازی کرده اند تا از بهترین تجربه بازدیدکننده اطمینان حاصل کرده و از افت موقتی رتبه وبسایت خود جلوگیری کنند.
3. اعتماد و اعتبار
طبق یک نظرسنجی از GlobalSign بیش از 28.9 درصد از بازدیدکنندگان یک وبسایت، بررسی می کنند که آیا وبسایت مورد نظر گواهی SSL دارد یا خیر (قفل سبز رنگ در پشت نوار آدرس وجود دارد یا نه). 77 درصد از این افراد، همواره نگران نشت اطلاعات شان هستند. در واقع با دیدن همان قفل سبز رنگ، خیالشان از بابت امنیت آسوده شده و با آرامش بیشتری در وبسایت شما مرور خواهند کرد.
4. داده های ارجاع (Referral Data)
بسیاری نمی دانند که اطلاعات ارجاع HTTPS به HTTP درگوگل آنالیتیکس مسدود شده است. بنابراین چه اتفاقی برای داده ها می افتد؟ خوب ، بیشتر آن فقط با قسمت “ترافیک مستقیم (direct traffic)” جمع می شود. اگر کسی از HTTP به HTTPS برود، ارجاع دهنده همچنان منتقل می شود.
5. هشدارهای Chrome
از 24 ژوئیه 2018 ( 2 مرداد 1397)، نسخه های 68 کروم و بالاتر، تمام سایت های بدون HTTP را به عنوان یک وبسایت ناامن “Not Secure” شناسایی کرده و با نمایش پیغام هشدار به کاربر اطلاع می دهند که از مرور آن وبسایت خودداری کند.
همچنین از سال 2020، مرورگر محبوب کروم شروع به لغو پشتیبانی از نسخه های قدیمی TLS کرد. گوگل کاملا این موضوع را برای بازدیدکنندگان روشن کرده است که هیچ اعتباری برای وبسایت های ناامن و بدون HTTPS قائل نیست. به همین دلیل HTTPS بیش از هر زمان دیگری مهم است.
6. کارایی
HTTP2 جدیدترین بهروزرسانی HTTP است و یکی از مزایای آن، افزایش سرعت و بازدهی بین سرورها و اپلیکیشنها است. پروتکل HTTP2، اولین بهروزرسانی عمدهی HTTP در طی ۱۵ سال است. استاندارد پروتکل قبلی، HTTP1.1 از سال ۱۹۹۷ در حال استفاده است و شامل ترکیبی از راهحلهای یکپارچه برای بهبود محدودیتهای HTTP میشود.
HTTP2 بر پروتکلSPDY (پرسرعت) بنا شده است. SPDY یک پروژهی آزمایشی متنباز است که توسط گوگل برای حل بعضی مشکلات و محدودیتهای HTTP1.1 آغاز شد. این پروتکل برای عملکرد به HTTPS نیاز ندارد.، اما کارایی آن به شدت با حضور HTTPS افزایش می یابد.