بالابردن امنیت وبسایت برای جلوگیری از هک شدن از انواع حملات سایبری همیشه یکی از بزرگترین دغدغهی وبسایتها بوده است. ما در این پست مهمترین نکاتی که باید برای امنیت وبسایت در نظر گرفته شوند را توضیح خواهیم داد.
قطعا یکی از مهمترین موضوعات در مدیریت وبسایت، موضوع امنیت سایبری است. برای مدیران وبسایتها، هیچچیزی ترسناکتر از پاک شدن تمامی اطلاعات روی وبسایت به دلیل حمله هکرها نیست.
یکی از سوالاتی که ممکن است برای شما هم پیش آمده باشد، این است که چرا در حالی که اکثر هکرها، سازمانهای بزرگ را خیلی بیشتر از سازمانهای کوچک و کم اهمیت، هدف حملات سایبری قرار دارند اما سایت کسب و کارها و سازمانهای کوچکتر در مقایسه با سازمانهای بزرگ و معتبر، بیشتر هک میشود؟
در واقع، در مطالعهای نشان داده شده که بیش از ۴۳ درصد از قربانیان حملات سایبری، کسب و کارها و سازمانهای کوچک بودهاند.
یکی از مهمترین دلایل این موضوع، هزینههای کمتر کسب و کارهای کوچک برای امنیت سایبری است. چنین کسب و کارهایی، توان مالی یا سیاستهای درستی برای تأمین امنیت سایبری ندارند. به علاوه، این کسب و کارها، خیلی راحتتر، قربانی حملات مهندسی اجتماعی میشوند.
در این مقاله می خواهیم ۱۰ نکته اساسی ایمنسازی وبسایت در مقابل حملات سایبری را برای شما توضیح دهیم. با سایبرنو همراه باشید.
در اینجا میخواهیم چندین نکته امنیتی را برای شما توضیح دهیم که رعایت کردن آنها، اصلا کار سختی نیست و نیاز به دانش فنی بالایی ندارد.
در صورتی که وبسایت خود را با استفاده از نوعی سیستم مدیریت محتوا (CMS) مثل وردپرس یا جوملا ساخته باشید، میتوانید با نصب پلاگینها یا افزونههای امنیتی، ضریب امنیت وبسایت خود را در مقابل حملات سایبری، بالا ببرید.
افزونهها، قطعاتی از کد هستند که ویژگیهای خاصی را به وبسایت شما اضافه میکنند. شما میتوانید این افزونهها را به صورت رایگان یا پولی از وبسایت رسمی سیستم مدیریت محتوای مورد استفاده خود یا دیگر سایتهای مطمئن دانلود کنید.
دقت داشته باشید که افزونههای غیر معتبر و دارای منابع ناشناخته، خودشان میتوانند تهدیدی امنیتی و روشی برای نفوذ به وبسایت شما باشند. بنابراین، در دانلود و نصب افزونهها باید بسیار محتاط باشید.
هر کدام از مهمترین سیستمهای مدیریت محتوا دارای پلاگینهای خاص خودشان هستند.
مهمترین پلاگینهای امنیتی برای سیستم مدیریت محتوای وردپرس:
مهمترین پلاگینهای امنیتی برای مجنتو:
مهمترین افزونههای امنیتی برای جوملا:
این افزونهها، آسیبپذیریهای امنیتی این پلتفرمهای مدیریت محتوا را برطرف میکنند.
همه ما، زمانی که در جایگاه بازدیدکننده از وبسایتها قرار داریم، باید به شروع شدن آدرس آنها با https توجه داشته باشیم. وقتی آدرس وبسایتی با https شروع میشود، میتوان مطمئن بود که آن وبسایت، امنیت بالایی دارد و مثلا میتوانید در آن، با وارد کردن اطلاعات حسابهای بانکی خود، با خیال راحت، خرید کنید.
وبسایتها برای اضافه شدن https به ابتدای آدرس، باید گواهینامه SSL دریافت کنند. این گواهینامه، اهمیت بسیار زیادی دارد زیرا امنیت انتقال اطلاعاتی مثل اطلاعات بانکی، اطلاعات شخصی یا اطلاعات تماس را بین کاربر و سرور، بالا میبرد.
با اینکه تمامی وبسایتهای تجاری و فروشگاهی باید حتما گواهینامه SSL داشته باشند، دریافت این گواهینامه و استفاده از https به دیگر وبسایتها نیز توصیه میشود. گوگل در سال ۲۰۱۸ با به روزرسانی مرورگر کروم کاری کرد که این مرورگر، در صورت درخواست کاربر برای بازدید از وبسایتهای فاقد گواهینامه SSL، هشداری امنیتی نمایش دهد. این هشدار امنیتی میتواند کاربر را از بازدید کردن وبسایت شما، منصرف کند.
امروزه، موتورهای جستجو، به ویژه گوگل، بیش از هر زمان دیگری به امنیت وب اهمیت میدهند و میخواهند که کاربران آنها، بهترین و ایمنترین تجربه کاربری را داشته باشند. بنابراین، رعایت پروتکلهای امنیتی، مثل دریافت گواهینامه SSL، قطعا در رتبهبندی وبسایتها در صفحات نتایج جستجو (SERPs) و تعداد بازدیدها از آنها، اثرگذار است.
بنابراین، اگر میخواهید که وبسایت شما بیشتر دیده شود و مخاطبان به وبسایت و برند شما اعتماد کنند، باید گواهینامه SSL را برای وبسایت خود، دریافت کنید. هزینه این کار، بسیار کم است اما مزایای بسیار زیادی برای شما دارد.
استفاده از سیستم مدیریت محتوایی که دارای پلاگینها و اکستنشنهای متعددی باشد، مزایای زیادی دارد اما هر کدام از پلتفرمهای مدیریت محتوا، آسیبپذیریهایی دارند که هکرها میتوانند با استفاده از آنها به وبسایت شما نفوذ کنند. در واقع، دلیل اصلی هک شدن وبسایتها، آسیبپذیریهای موجود در پلتفرمهای مدیریت محتوا یا پلاگینهای آنها است.
از آنجایی که بسیاری از این ابزارها، به صورت برنامههایی منبع-باز (open-source) طراحی شدهاند، هر کسی به راحتی میتواند به کد آنها دسترسی داشته باشد و از این دسترسی برای مقاصد خوبی مثل طراحی پلاگینهای کاربردی یا برای سوء استفادههایی مثل هک کردن، استفاده کند.
هکرها میتوانند با بررسی کدهای پلتفرمهای منبع-باز، آسیبپذیریهای آنها را شناسایی کرده و از آنها برای هک کردن وبسایتها استفاده کنند.
برای اینکه جلوی هک شدن وبسایت خود را بگیرید، از به روز بودن سیستم مدیریت محتوا، پلاگینها، نرمافزارها و دیگر برنامههایی که از آنها برای دسترسی به وبسایت خود و مدیریت آن استفاده میکنید، مطمئن شوید و به طور منظم، آنها را به روزرسانی کنید.
در صورتی که وبسایت وردپرسی دارید، میتوانید با ورود به داشبورد وردپرس و بررسی وجود آیکون آپدیت در گوشه بالا و سمت چپ و در کنار نام وبسایت، آپدیت بودن نسخه وردپرس خود را بررسی کنید. در وردپرس فارسی، این آیکون در گوشه بالا و سمت راست قرار دارد.
با اینکه امنیت گذرواژه، موضوعی بدیهی به نظر میرسد اما از آنجایی که اهمیت زیادی دارد، تصمیم گرفتیم که به آن نیز اشاره داشته باشیم.
خیلی از مردم، گذرواژههایی را ترجیح میدهند که به راحتی، آنها را به خاطر بیاورند. به همین دلیل، بیشترین گذرواژه مورد استفاده در دنیا، هنوز هم ۱۲۳۴۵۶ است! شما نباید چنین اشتباهی مرتکب شوید و باید گذرواژهای بسیار ایمنتر انتخاب کنید تا هکرها نتوانند به راحتی به وبسایت شما نفوذ کنند.
شما میتوانید از ابزارهای تولید گذرواژه برای ساخت گذرواژههایی طولانی و متشکل از کاراکترهای خاص، اعداد و حروف، استفاده کنید. هرگز ار گذرواژههایی که به راحتی قابل حدس زدن هستند، مثل تاریخ تولد یکی از فرزندان یا نام سگ خود به عنوان گذرواژه استفاده نکنید.
به علاوه، همه کسانی که به سیستم مدیریت محتوای وبسایت شما دسترسی دارند نیز باید گذرواژهای قوی داشته باشند و تمامی نکات امنیتی را رعایت کند تا در دام مهندسی اجتماعی و فیشینگ، گرفتار نشود. یک گذرواژه ضعیف درون تیم مدیریت وبسایت میتواند راهی برای نفوذ هکرها باشد.
حتی اگر همه کارهایی را که در این لیست به شما گفتیم، به بهترین شکل ممکن انجام دهید، باز هم امکان هک شدن وبسایت شما وجود دارد. بدترین حالت هک وبسایت، از دست رفتن همه چیز به دلیل نداشتن نسخه پشتیبان از وبسایت است. بنابراین، باید همیشه از وبسایت خود، به صورت منظم، پشتیبانگیری کنید.
زمانی که فایل پشتیبان وبسایت خود را داشته باشید، کمترین آسیب را از هک شدن وبسایت خواهید دید و به راحتی میتوانید وبسایت خودتان را بازیابی کنید. شما میتوانید مطابق برنامه، هر روز یا هر هفته از وبسایت، بک آپ گیری کنید یا از سرویسهای بک آپ گیری خودکار کمک بگیرید.
نکاتی که در بالا برای شما توضیح دادیم، دردسر کمی دارند و تقریبا هر کسی، بدون دانش فنی بالایی، میتواند اقدامات بالا را انجام دهد. اما اگر میخواهید وبسایتی کاملا ایمن داشته باشید، چنین اقداماتی کفایت نمیکنند.
نکاتی که از اینجا به بعد برای شما توضیح میدهیم، کمی پیچیدهتر هستند و نیاز به تخصص در حوزه آی تی یا توسعه وب دارند.
در صورتی که امکان آپلود فایل روی وبسایت شما برای بازدیدکنندگان وجود داشته باشد، هکرها میتوانند از این مسیر، فایلهای بدافزاری را وارد وبسایت شما کرده یا با آپلود فایلی بسیار حجیم، کل ترافیک وبسایت شما را اشغال کنند.
در صورت امکان، قابلیت آپلود فایل را روی وبسایت قرار ندهید. در واقع، بسیاری از کسب و کارهای کوچک نیازی به این قابلیت روی وبسایت خود ندارند.
با این حال، بعضی از وبسایتها، به این کار نیاز دارند. برای مثال، بعضی از وبسایتهایی که احراز هویت میکنند، باید قابلیت آپلود فایل برای دریافت اسکن مدارک هویتی، احراز هویت صوتی یا احراز هویت تصویری را داشته باشند. اتفاقا، چنین سایتهایی، حساسیت بسیار بالایی دارند و امنیت سایبری برای آنها بسیار مهم است.
در صورتی که وبسایت شما باید قابلیت آپلود کردن فایل را داشته باشد، نکات امنیتی زیر را رعایت کنید:
تزریق SQL یکی از روشهای بسیار رایج هک شدن وبسایتها است. در صورتی که شما یک پارامتر URL یا web form داشته باشید که امکان تعامل و ارائه اطلاعات را برای کاربران فرآهم آورد، سایت شما در معرض تزریق SQL قرار دارد. اگر پارامترهای خارج میدانی را خیلی باز بگذارید، هکرها میتوانند با تزریق کد به درون آنها، به پایگاه داده شما دسترسی داشته باشند. از آنجایی که اطلاعات کاربران و مشتریان در پایگاه داده ذخیره میشود، باید از وبسایت خود در مقابل چنین حملاتی، محافظت کنید.
برای جلوگیری از حملات تزریق SQL به وبسایت، روشهای مختلفی وجود دارد که یکی از مهمترین و راحتترینهای آنها، استفاده از جستارهای پارامتری شده است. با استفاده از این جستارها، کد وبسایت شما، پارامترهای ویژه کافی را دارد که هکر نتواند از آن ها، سوء استفاده کند.
حملات تزریق اسکریپت از طریق وبگاه (Cross-Site Scripting) یا XSS، دیگر تهدید رایج برای امنیت سایبری وبسایتها هستند و مدیران وبسایتها باید به دقت، مراقب این نوع حملات باشند. در این حملات، هکرها راهی برای وارد کردن کد جاوااسکریپت بدافزاری به درون صفحات پیدا میکنند که این کد میتواند هم خود وبسایت و هم کاربرانی را که از وبسایت بازدید میکنند، آلوده کند.
بعضی از اقدامات برای مقابله با حملات XSS، شبیه اقدامات لازم برای مقابله با حملات تزریق SQL است. هر کدی در وبسایت شما که از آن برای ایجاد کادرهای ورود اطلاعات استفاده میکنید، باید تا حد امکان، شفاف و ساده باشد و فضایی برای ورود کدهای بدافزاری، وجود نداشته باشد.
سیاست امنیت محتوایی (CSP) روش دیگری است که از وبسایت شما در مقابل حملات XSS، محافظت میکند. CSP به شما امکان میدهد تا مشخص کنید که مرورگر باید کدام دمینها را به عنوان منابع اسکریپتهای قابل اجرا در وبسایت شما، در نظر بگیرد. بنابراین، مرورگر، توجهی به اسکریپتهای بدافزاری که میخواهند کامپیوتر بازدیدکننده سایت شما را آلوده کننده، نخواهد داشت.
استفاده از CSP شامل اضافه کردن HTTP به صفحه وب است که رشتهای از دایرکتیوها فرآهم میآورد و به مرورگر میگوید که کدام دمینها مشکلی ندارند و کدام دمینها را نادیده بگیرد.
همه وبسایتها از فایلها و فولدرهایی تشکیل شدهاند که در حساب هاست شما ذخیره میشوند. هر کدام از این فایلها و فولدرها، به غیر از اسکریپتها و دادههای لازم برای کار کردن وبسایت، حاوی مجوزهایی هستند که تعیین میکنند که کدام کاربر میتواند این فایلها و فولدرها را بخواند، بنویسد و اجرا کند.
در سیستم عامل لینوکس، مجوزها به صورت کدهای سه رقمی دیده میشوند و هر رقم، عددی صحیح بین ۰ تا ۷ است. عدد اول، مجوزهای مالک فایل را نشان میدهد، عدد دوم مجوزهای هر کسی که در گروه مالک فایل قرار داشته باشد را نشان میدهد و عدد سوم، مجوزهای دیگران را نشان میدهد. معانی این اعداد به شرح زیر است:
به عنوان مثال، کد مجوز ۶۴۴ را در نظر بگیرید. در این مورد، عدد ۶ (یا ۴ + ۲) در جایگاه اول، مجوز خواندن و نوشتن را به مالک فایل میدهد و عدد ۴ در جایگاههای دوم و سوم، فقط مجوز خواندن فایل را به کاربران گروهی و کاربران اینترنتی میدهد و از فایل در مقابل دستکاریهای غیر مجاز، جلوگیری میکند.
بنابراین، فایلی با کد مجوز ۷۷۷ (یا ۴+۲+۱|۴+۲+۱|۴+۲+۱) برای هر کاربر، هر گروه و هر کسی در دنیا، قابل خواندن، نوشتن و اجرا است. همانطور که انتظار میرود، چنین فایلی، نسبت به فایلی که فقط به مالک، امکان خواندن، نوشتن و اجرا را میدهد، امنیت بسیار پایینتری دارد. هر چند که گاهی اوقات، به دلایل مختلفی، باید مجوزهایی برای گروههایی از کاربران (مثل آپلود FTP ناشناس) در نظر گرفته شود اما در ارائه این مجوزها باید نکات امنیتی را در نظر داشت تا وبسایت در معرض خطر امنیتی قرار نگیرد.
به طور کلی، میتوان گفت که مجوزهای زیر برای اکثر وبسایتها، مناسب هستند:
برای تعیین مجوزها، وارد فایل منیجر cPanel خود شوید یا از طریق FTP با سرور خود، ارتباط برقرار کنید. پس از ورود به سرور، با فهرستی از مجوزهای فایل موجود، مواجه میشوید.
برای تغییر این مجوزها در برنامه Filezilla ، خیلی ساده روی فولدر یا فایل مورد نظر، راست کلیک کرده و گزینه File permissions را انتخاب کنید. با این کار، صفحهای باز میشود که در آن میتواند مجوزهای مختلف را با تیک زدن گزینههایی، انتخاب کنید.
با اینکه ممکن است که بک-اند هاست یا برنامه FTP شما کمی متفاوت به نظر برسد، اما اصول تعیین مجوزهای دسترسی فولدرها و فایلها، تفاوت چندانی با لینوکس ندارد.
پیامهای خطای وبسایت که دارای جزئیات زیادی باشند، میتوانند به شما بگویند که مشکل دقیقا چیست و چگونه میتوانید آن را برطرف کنید. با این حال، وقتی آن پیامها به بازدیدکنندگان از سایت شما نمایش داده میشوند، میتوانند حاوی اطلاعات حساسی باشند. هکرها میتوانند از اطلاعات موجود در این پیامهای خطا برای پیدا کردن آسیبپذیریهای وبسایت شما استفاده کنند.
نسبت به اطلاعاتی که در پیامهای خطا نمایش میدهید، حساسیت زیادی داشته باشد و احتیاط کنید که اطلاعات موجود در پیام خطا، مورد سوء استفاده هکرها قرار نگیرند. پیامهای خطا را تا جای ممکن، ساده نگه دارید و اطلاعات زیادی را در آنها، افشا نکنید. البته، این پیامها نباید مبهم باشند و مخاطب شما باید بتواند آنها را درک کند و بداند که برای جلوگیری از بروز خطا، چه کاری انجام دهد.
همانطور که دیدید، با انجام چندین اقدام ساده، میتوانید نفوذ به وبسایت خود را برای هکرها، بسیار دشوار کنید. اقداماتی مثل انتخاب گذرواژه قوی یا نصب افزونههای امنیتی، هیچ هزینهای برای شما ندارند و با کمترین تخصص در حوزه آی تی نیز میتوانید این کارها را انجام دهید.
برای اینکه امنیت وبسایت خود را بالاتر ببرید، میتوانید اقدامات پیشرفتهتری انجام دهید. برای داشتن یک وبسایت ایمن، اگر خود شما تخصص کافی ندارید، باید از متخصصان حوزه آی تی و توسعه وب برای انجام کارهایی مثل استفاده از جستارهای پارامتری، استفاده از CSP یا تعیین مجوز فایلها و فولدرهای وبسایت خود، استفاده کنید.
با انجام چنین کارهایی، وبسایت شما، تا حد زیادی ایمن میشود اما هیچ وبسایتی برای هکرهای حرفهای غیرقابل نفوذ نیست. بنابراین، باید به طور مرتب از وبسایت خود، نسخه پشتیبان تهیه کنید.