۹ گام طلایی برای افزایش امنیت وردپرس
در این مقاله قصد داریم تا به معرفی ۹ راهکار و کلید طلایی در رابطه با افزایش امنیت وردپرس بپردازیم که با رعایت آنها میتوانید امنیت سایت وردپرسی خود را به حد مطلوبی افزایش داده و مانع از نفوذ و هک آن توسط سودجویان شوید. پیشنهاد میکنیم تا انتهای این مقاله با ما همراه باشید.
۹ گام طلایی برای افزایش امنیت وردپرس
همانطور که میدانید وردپرس یکی از پرکاربردترین سیستمهای مدیریت محتوای متن باز دنیا می باشد که برای راه اندازی هر نوع وب سایتی از انواع سایتهای خبری، فروشگاهی، شرکتی، شخصی و.. از آن استفاده می شود. در این آموزش وردپرس شما راهکار ها و ترفند هایی را میآموزید که با آنها خواهید توانست در جهت افزایش امنیت وردپرس و بهینه سازی آن گامهای موثری را بردارید.
این آموزش دربردارنده نکاتی جهت افزایش امنیت سایتهای وردپرس، محافظت از فایل های وردپرس، اعمال محدودیت در ورود به وردپرس، حفاظت از پایگاه داده و .. می باشد.
۱- همیشه بهروز باشید
بروزرسانی وردپرس یکی از مهمترین و اصلی ترین بخش های این سیستم مدیریت محتوای متن باز می باشد. بروزرسانی های وردپرس شامل رفع باگ های امنیتی، اشکالات و افزودن ویژگی های جدید می شوند به طوری که پس از عرضه نسخه جدید وردپرس اکثر نویسندگان پوسته ها و افزونه های وردپرس اقدام به بروزرسانی و ارئه نسخه جدید افزونه یا قالبهای رایگان و تجاری خود می کنند. همیشه بهترین نسخه وردپرس از لحاظ امنیت، آخرین نسخه آن می باشد پس بهتر است همیشه از آخرین نسخه وردپرس و همچنین قالب ها و افزونه ها استفاده کنید.
همیشه به این نکته توجه داشته باشید که: اگر پوسته ها و افزونه هایی که قبلا استفاده می کردید با نسخه های جدید وردپرس کار نکردند به احتمال زیاد آنها آنقدر امن نیستند که بتوانند با نسخه جدید خود را سازگار کنند. لذا نیاز است تا در وحلهی اول اقدام به بهروزرسانی انها نمایید و در صورتی که این امکان برای شما فراهم نیست در صورت استفاده از نسخه به روز وردپرس آن را به نسخه قبل دانگرید نمایید.
۲- تغییر پیشوند جداول در وردپرس
همانطور که میدانید سایتهایی که با وردپرس راه اندازی می شوند از پیشوند جداول پیشفرض وردپرس یعنی ‘wp_’ استفاده میکنند. به دلیل اینکه اکثر سایت ها از این پیشوند برای جداول سایت خود استفاده می کنند افرادی که سعی در نفوذ و هک سایت شما را دارند به راحتی نام جداول وردپرس شما را میدانند و امنیت سایت شما کاهش پیدا می کند. برای اینکه امنیت سایت وردپرسی خود را بالا ببرید بهترین کار تغییر پیشوند جداول می باشد.
در مقالات پیشین به آموزش کامل و تصویری تغییر پیشوند جداول در وردپرس پرداختیم که میتوانید آن را مطالعه و از آن استفاده نمایید.
حتما بخوانید، آموزش تصویری تغییر پیشوند جداول وردپرس
۳- حفاظت از فایل wp-config
همانطور که میدانید فایل wp-config.php شامل تمام اطلاعات محرمانه سایت شما میباشد. پس بسیار مهم است که به هر قیمتی از آن محافظت کنیم. یکی از آسان ترین راه ها جهت حفاظت از این فایل از طریق فایل htaccess. میباشد که میتوانید با قرار دادن کدهای زیر از آن محافظت کنید.
<Files wp-config.php> order allow,deny deny from all </Files>
۴- حفاظت از فایل htaccess.
ما در نکته امنیتی قبل با استفاده از htaccess. توانستیم از فایل wp-config.php محافظت کنیم اما برای حفاظت از خود htaccess. باید چه کار کنیم؟ نگران نباشید ما میتوانید با قرار دادن کد زیر در فایل htaccess. از آن به راحتی محافظت کنید.
<Files .htaccess> order allow,deny deny from all </Files>
۵- حذف نسخهای که از آن استفاده میکنید
یکی از راهکارهای خوب جهت افزایش امنیت وردپرس حذف meta نسخه وردپرس از سایت شما میباشد. تگ متای generator نشان میدهد که شما از کدام یک از ورژن های وردپرس استفاده میکنید. اگر شما حالت نمایش نسخه وردپرس را فعال بگذارید هکر ها به راحتی کمبود های امنیتی سایت شما را بدانند، لذا اگر به هر دلیلی نمیتوانید وردپرس خود را بروز کنید حداقل میتوانید این واقعیت را که شما از چه ورژنی از وردپرس استفاده میکنید را از دید هکر ها پنهان کنید.
برای حذف نسخه وردپرس تنها کافی است کد زیر را در functions.php قالب فعلی خود قرار دهید.
remove_action('wp_head', 'wp_generator');
اما یکی از راههای دیگری که میتوان نسخه وردپرس سایتی را دانست از طریق فید سایت میباشد برای اینکه از بخش فید نیز این قابلیت را غیرفعال کنید کافیست کد زیر را نیز در فایل فانکشن خود قرار دهید.
function wpt_remove_version() { return ''; } add_filter('the_generator', 'wpt_remove_version');
۶- اعمال محدودیت در دفعات ورود به وردپرس
یکی از راههای افزایش امنیت در وردپرس اعمال محدودیت در تعداد دفعات وارد کردن رمز در فرم ورود وردپرس میباشد. همانطور که میدانید به صورت پیشفرض این امکان در وردپرس به صورت نامحدود بوده و هرکسی بخواهد قادر خواهد بود تا به دفعات زیاد رمز را وارد کرده و اقدام به ورود در سایت وردپرسی شما کند. برای این کار کافی است تا به مقاله مذکور که در چند روز اخیر آنرا منتشر نمودیم مراجعه کنید.
۷- جلوگیری از مرور دایرکتوری سایت شما توسط کاربران
یکی از راههای افزایش امنیت وردپرس محافظت از پوشه ها در آن می باشد. کاربران با مرور دایرکتوری سایت شما می توانند به اکثر فایل های موجود در هاست شما دسترسی داشته باشند. در حالت عادی امکان مرور دایرکتوری روی اکثر هاست ها فعال می باشد که میتواند یک ریسک امنیتی بزرگ برای شما به حساب آید.
برای جلوگیری از مرور دایرکتوری سایت خود کافی است تا کد زیر را در فایل htaccess قرار دهید.
Options -Indexes
۸- انتخاب نام کاربری و رمز مناسب
وردپس به طور معمول حساب کاربری مدیریت سایت وردپرس شما را با نام “admin” ایجاد می کند. علاوه براین admin اولین نام کاربریای خواهد بود که هکرها سعی در استفاده از آن خواهند داشت، چرا که بیشتر کاربران از این نام کاربری استفاده میکنند. از وردپرس ۳٫۰ به بعد شما میتوانید نام کاربری را در زمان نصب وردپرس تغییر داده و یا به انتخاب خود برگزینید. پس در هنگام نصب وردپرس سعی در انتخاب نام کاربری ای بجز admin کنید.
همچنین سعی کنید از رمز مناسب و با ترکیبی از انواع حروف، کاراکترها، اعداد و.. استفاده نمایید.
۹- ایجاد کلید سری در فایل wp-config.php
تمام اطلاعات محرمانه سایت وردپرسی شما در فایل wp-config.php واقع در روت وردپرس ( جایی که وردپرس را نصب کرده اید ) ذخیره شده اند. کلید های سری ( Secret keys ) نیز جزء یکی از اطلاعات ذخیره شده در این فایل هستند. بنابراین مطمئن شوید که کلید های سری جدید را جایگزین کلید های سری پیشفرض کرده باشید.
در حالت پیشفرض کلید های سری واقع در فایل wp-config.php به صورت زیر هستند. با مراجعه به این لینک کلید های جدید را جایگزین آنها کنید.
/**#@+ * Authentication Unique Keys. * * Change these to different unique phrases! * You can generate these using the {@link https://api.wordpress.org/secret-key/1.1/ WordPress.org secret-key service} * You can change these at any point in time to invalidate all existing cookies. This will force all users to have to log in again. * * @since 2.6.0 */ define('AUTH_KEY', 'put your unique phrase here'); define('SECURE_AUTH_KEY', 'put your unique phrase here'); define('LOGGED_IN_KEY', 'put your unique phrase here'); define('NONCE_KEY', 'put your unique phrase here'); /**#@-*/