قبلا در مورد امنیت سیستم های مدیریت محتوا مطالبی در همین سایت ارسال کرده بودیم ، در این مطلب سعی کردیم چند روش کلی برای تمام سیستم های مدیریت محتوا و یا سایت های استاتیک معرفی کنیم که با انجام این کار ها امنیت سایت شما بهتر می شود.
سطح دسترسی فایل های دیتابیس :
بهتر است سطح دسترسی فایل های پیکربندی (config) دیتابیس ( database ) را محدود کنید. در سیستم های suphp می توانید این فایل سطح دسترسی این فایل را روی 400 تنظیم کنید و در سیستم های dso باید آن را روی 444 تنظیم کنید. بعد از تغییر سطح دسترسی برای ویرایش آن لازم است ابتدا سطح دسترسی این فایل ها را روی 644 تنظیم کنید و سپس پس از ویرایش مجدد محدود کنید.
رمزگذاری فایل های دیتابیس : برای امنیت بیشتر بهتر است این فایل ها را رمز گذاری یا کد کنید. پس از کد کردن این فایل ها حتی در صورت دسترسی هکر ها به این فایل ها اطلاعات شما به صورت کد های ناخوانا نمایش داده می شود. رمزگذاری فایل های php
سطح دسترسی فایل INDEX :
با تغییر سطح دسترسی فایل های Index در suphp روی 400 امکان ویرایش این فایل دیگر وجود ندارد البته امکان حذف آن وجود دارد به همین دلیل امنیت این روش 100 درصد نیست اما بهتر است استفاده شود. با انجام این کار ها حداقل می توانید از ورود هکر های تازه کار جلوگیری کنید.
انتقال سایر فایل های index به صفحه اصلی با htaccess :
هکر ها می توانند فایل های index دیگری روی هاست شما ایجاد کنند و با این روش صفحه آن ها لود می شود. برای جلوگیری از این مورد کافیست صفحه Index پیش فرض هاست را تغییر دهید و سایر فایل ها را به صفحه اصلی خود ری دایرکت ( Redirect) کنید. به این ترتیب در صورت ایجاد سایر فایل های index این فایل ها پیش فرض نیستند و محتوا صفحه اصلی شما تغییر نمی کنند و همچنین در صورت باز شدن مستقیم این فایل اجرا نمی شود و به صفحه اصلی شما منتقل می شود. برای امنیت بیشتر سطح دسترسی htaccess را روی 400 تنظیم کنید.
برای redirect کردن فایل ها می توانید از دستور زیر استفاده کنید :
RedirectMatch 301 /index.html http://www.damaneshoma.com/index.php
در مثال بالا با باز کردن فایل index.html آدرس به index.php تغییر می کند.
جلوگیری از اجرا شدن مستقیم سایر فایل های php : با وارد کردن کد زیر می توانید از اجرا شدن مستقیم فایل های php جلوگیری کنید. با استفاده از این روش در صورت ایجاد سایر فایل های php روی سرور شما امکان اجرا آن وجود ندارد. برای مثال اگر یک هکر یک فایل test.php را روی هاست شما آپلود کند با اجرا آن با خطا 403 مواجه می شود. البته باید توجه داشته باشید که بعد از این کد فایل هایی که نیاز است مستقیم اجرا شوند را allow کنید.
<Filesmatch “.(php)$”>
order deny,allow
deny from all
سپس فایل Index.php را allow می کنیم
<Filesmatch “^index.php”>
order allow,deny
allow from all
سطح دسترسی فایل های htaccess :
پس از اعمال تغییرات برای جلوگیری از تغییر محتوا این فایل ها توسط هکر ها سطح دسترسی آنها را روی 444 تنظیم کنید. توجه داشته باشید این فایل ممکن است در سایر پوشه های سایت شما هم وجود داشته باشد.
برای آدرس پنل مدیریت سیستم مدیریت محتوا خود رمز دوم ایجاد کنید :
با ایجاد رمز دوم توسط htaccess حتی در صورت وجود باگ امنیتی در فرم ورود به پنل مدیریت سیستم مدیریت محتوا یک هکر دیگر نمی تواند بدون وارد کردن نام کاربری و رمز دوم به فرم ورود دسترسی داشته باشد. البته روش های دور زدن این روش هم وجود دارد که کار ساده ای نیست.
توجه داشته باشید بهتر است از رمز های پیچیده استفاده کنید.
انتخاب رمز های مدیریت :
از انتخاب رمز های ساده خودداری کنید. هکر ها می توانند با استفاده از چند نرم افزار در کمتر از چند دقیقه رمز شما را پیدا کنند. اگر رمز شما سخت باشد زمان پیدا کردن رمز شما هم بیشتر می شود. با ایجاد رمز های بالا 13 کاراکتر (حروف و عدد) تصادفی ،پیدا کردن رمز ها ممکن است بیش از 1 ماه به زمان نیاز داشته باشد.
تغییر تمام رمز ها به صورت دوره ای :
تمام رمز ها را هر 1 ماه یکبار تغییر دهید تا هکر ها امکان پیدا کردن رمز شما را نداشته باشند.
عدم استفاده از یک رمز برای چند بخش :
برای امنیت بیشتر سایت لازم است برای هر بخش یک رمز جدید استفاده کنید. برای مثال رمز ایمیل با رمز پنل مدیریت سیستم مدیریت محتوا یا هاست یکی نباشد.
اسکن فایل های هاست در سی پنل با ClamAV
در بعضی از هاستینگ ها یک نرم افزار با نام clamav در سی پنل شما وجود دارد. توسط آن می توانید فایل های خود را اسکن کنید تا در صورت وجود فایل های مخرب آنها را حذف کنید که آموزش استفاده از آن را می توانید از اینجا مشاهده کنید.
عدم استفاده از سطح دسترسی بالا در هاست :
در بعضی از سیستم های مدیریت محتوا برای استفاده از چند امکان آن باید سطح دسترسی یک فایل یا پوشه را به 666 یا 777 تغییر دهید. به عنوان مثال برای آپلود شدن فایل ها و عکس ها در وردپرس لازم است سطح دسترسی پوشه uploads در سیستم های suphp به 755 و در dso به 777 تغییر داده شود. بهتر است این تغییرات را اعمال نکنید و فایل هایی که لازم است آپلود شوند را توسط سی پنل و یا ftp آپلود کنید. هکر ها می توانند با استفاده از این دسترسی فایل های خود را در این پوشه آپلود کنند اما در صورت محدود کردن این دسترسی امکان آپلود فایل های شل توسط هکر وجود ندارد.
غیر فعال کردن چند امکان سیستم های مدیریت محتوا :
در صورت امکان چند امکان سیستم مدیریت محتوا خود را غیر فعال کنید. برای مثال معمولا سیستم های مدیریت محتوا یک امکان بازیابی رمز عبور با استفاده از ارسال ایمیل دارند. به این ترتیب در صورت تغییر ایمیل توسط هکر و یا هک شدن ایمیل شما ، هکر می تواند در کمتر از چند دقیقه رمز سیستم مدیریت محتوا شما را بازیابی کند.
تغییر آدرس پنل مدیریت سیستم های مدیریت محتوا :
اگر از سیستم های مانند جوملا ، نیوک ، دیتالایف یا وردپرس استفاده می کنید بهتر است کمی در مورد تغییر آدرس مدیریت جستجو کنید. با تغییر آدرس مدیریت کار هکر ها را کمی دشوار می کنید.
تغییر پیشوند جدول (table) های دیتابیس :
بهتر است پیشوند های دیتابس خود را تغییر دهید. برای مثال پس از نصب وردپرس تمام جدول های شما یک پیشوند wp دارد. یک هکر می تواند برای وارد شدن به جدول های شما توسط دستوارتی که از متد Get به سرور وارد می کند به جدول های شما وارد شود و خروجی اطلاعات را مشاهده کند. با تغییر پیشوند ها هکر نمی تواند پیشوند ها را حدس بزند. برای سیستم وردپرس پلاگین های امنیتی زیادی وجود دارد که این کار را انجام می دهند. برای سایر سیستم های مدیریت محتوا کافیست کمی جستجو کنید.
تغییر نام کاربری admin :
معمولا کاربران برای ورود به پنل مدیریت از نام کاربری admin استفاده می کنند. بهتر است برای امنیت بیشتر این نام کاربری را تغییر دهید. معمولا هکر ها سعی می کنند با استفاده از نرم افزار ها رمز های کاربری admin را تست می کنند.
عدم استفاده از قالب ها و با پلاگین های غیر معتبر:
سعی کنید تمام پلاگین ها و یا قالب های که برای سیستم مدیریت محتوا خود دانلود می کنید از سایت های معتبر دانلود کنید. ممکن است در قالب یا پلاگین های شما فایل شل یا ویروسی وجود داشته باشد که با آپلود این قالب ها یک دسترسی هم برای هکر ها ایجاد کرده اید.