در این مقاله آموزش موارد امنیت در وردپرس را ارائه خواهیم داد که با کار بردن آنها تا اندازه زیادی سایت رو ایمن می کنیم.
وردپرس چیست؟
سیستم مدیریت محتوای وردپرس یکی از محبوب ترین CMS های متن باز حال حاضر می باشد و وب سایت های زیادی از این تکنولوژی برای طراحی و پیاده سازی وب سایت های خود استفاده می کنند.
وردپرس چقدر امن است؟
جامعه اپ سورس یا متن باز همواره تلاش زیادی برای ایجاد کاربری بهتر و محیطی امن تر انجا می دهد اما همین ویژگی متن باز باعث می شود تا برخی وارد امنیتی در بازه های زمانی مختلف کمرنگ شوند. هسته و کدهای این CMS برای هر شخص قابل دسترس است، از این رو افراد هکر نیز می توانند آن را تجزیه و تحلیل کنند.
نصب امن در وردپرس
آموزش رو به صورت مرحله ای پیش می بریم تا مطالب راحتر قابل درک و استفاده باشند.
1) برای اینکه خیالمون از بسته نصبی که دریافت می کنیم راحت باشه بهترین کار دانلود یا دریافت وردپرس از سایت مرجع می باشد.
برای دانلود نسخه انگلیسی یا زبان اصلی وردپرس از لینک زیر استفاده می کنیم.
https://wordpress.org
//or
https://wordpress.org/download/
برای دانلود نسخه فارسی وردپرس نیز از لینک زیر استفاده می کنیم.
https://fa.wordpress.org
برای دانلود نسخه فارسی وردپرس نیز از لینک زیر استفاده می کنیم.
2) بعد از اینکه فایل های وردپرس رو در هاست آپلود ک ردم فایل “wp-config-sample.php” رو به “wp-config.php” تغییر نام میدم.
3) فایل “wp-config.php” رو که تغییر نام دادیم با یک ادیتور یا ویرایشگر بازش می کنیم و مشخصات دیتابیسی که ایجاد کردیم در phpmyadmin رو در قسمت های مشخص شده وارد می کنیم. در این فایل ما باید پیشوند جداول دیتابیس وردپرس رو که به صورت پیشفرض با “wp” ایجاد می شوند رو تغییر بدیم تا هکران به راحتی متوجه نشوند که مثلا جدول کاربران وردپرسی “wp_users” است.
شما عبارت دلخواه دیگری رو جایگزین کنید.
/**
WordPress database table prefix.
*/
$table_prefix = 'wp_';
همچنین ما از کدگذاری “salt” که لینک آن در همین فایل “wp-config” هست استفاده می کنیم.
/**#@+
* Authentication unique keys and salts.
*
* Change these to different unique phrases! You can generate these using
* the {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service}.
*/
با وارد کردن این آدرس url در مروگر و هر بار رفرش ما کدهای کدگزاری امنیتی salt رو دریافت می کنیم که جایگزین قسمت زیر می کنیم.
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' );
define( 'AUTH_SALT', 'put your unique phrase here' );
define( 'SECURE_AUTH_SALT', 'put your unique phrase here' );
define( 'LOGGED_IN_SALT', 'put your unique phrase here' );
define( 'NONCE_SALT', 'put your unique phrase here' );
بدین شکل با وارد کردن آدرس سایت در مروگر، وردپرس ما از مرحله نصب فعالیش آغاز میشه و دیگه مشخصات دیتابیس و سایر اطلاعات اولیه رو از ما نمی خواد.
4) در زمان نصب وردپرس می توانید با استفاده از وب سایت های زیر میزان قدرت پسوردهایی که انتخاب می کنید رو بسنجید.
http://www.passwordmeter.com
,
https://www.security.org/how-secure-is-my-password/
5) پس از نصب ما چهار فایل رو باید حذف کنیم که نام آنها رو ادامه میبینیم:
readme.html
,
license.txt,
,
installl.php در صورت وجود
,
install-helper.php
——————————————————————————————————————————————————————————————————————–
تغییر نام کاربری در وردپرس
همانطور که می دونید به صورت پیشفرض نام کاربری ما به عنوان نام نویسنده و سایر فعالیت ها در سایت درج میشه و نفوذ کننده ها بدون هیچ دردسری با دانستن این موضوع، یک گام جهت نفوذ جلوتر هستند، به همین خاطر بعد از نصب وردپرس تغییر نام کاربری ثبت نام کننده یا نصب کننده وردپرس اهمیت زیادی دارد.
اگر این مورد رو انجام ندیم کاربر با وارد کردن دستورات زیر در مرورگر اطلاعات اولین نام کاربری سایت و همچنین فعالیت های آن از جمله پست های منتشر شده رو مشاهده خواهد کرد.
https://namesite.com/?author=1 // User information
,
https://namesite.com/?author=2 // User activities
برای این کار ما از افزونه “SX User Name Security” استفاده می کنیم.
پس از نصب و فعالسازی، افزونه نامی رو که به کاربر نمایش داده میشه رو تغییر میده همچنین نیاز است وارد بخش “مدیریت کاربران” شوید، کاربران رو از لیست انتخاب کنید و دکمه “Fix username” را جهت اعمال تغییرات بزنید. بدین شکل امنیت حساب های کاربری تامین می شود.
اما هنوز کار تمام نشده! کاربر هنوز با وارد کردن آدرس های author می تونه فعالیت های کاربر دیگر رو ببینه، برای جلوگیری از این کار نیاز هست مسیر پیشفرض رو تغییر بدیم، برای این کار از افزونه دیگری به نام “SF Author Url Control” استفاده می کنیم.
بعد از نصب و فعالسازی با پیام زیر را مشاهده خواهید کرد:
SF Author Url Control: Now you can go to Settings › Permalinks to change the authors base url. Also, go to Users and chose a user profile, like your own, for the user’s slug.
بببر روی کلمه Permalinks کلیک کنید تا به مدیریت تنظیمات پیوندهای یکتا هدایت شوید در آنجا گزینه جدیدی همانند تصویر زیر اضافه شده که می تونید نام author رو به نام دلخواه دیگری تغییر بدید.
در نهایت وارد مدیریت کاربران شوید، روی نام کاربری کلیک کنید تا صفحه تنظیمات باز بشه و در آنجا نام و نام خانوادگی مورد نظر رو که می خواین جایگزین نام کاربری شود رو وارد کنید، در چک باکس نمایش عمومی مقادیر انتخابی برای نام و نام خانواگی رو اننتخاب و تنظیمات رو ذخیره کنید.
همچنین در قسمت “Profile URL slug” نام کاربری درج شده رو با عبارت دیگری مثل “programmer” تغییر بدید.
برای تغییر نام کاربری یا شناسه نیاز هست وارد phpmyadmin شوید و از آنجا نام کاربری رو تغییر بدید زیرا به صورت پیشفرض امکان تغییر نام کاربری یا شناسه از تغییر تنظیمات وردپرس وجود ندارد.
——————————————————————————————————————————————————————————————————————–
استفاده از کپچا(Captcha)
یکی از موارد مهم دیگه که باید برای امنیت وب سایت های وردپرسی در نظر بگیریم استفاده از سیستم کپچا برای فرم های درون سایت است که اغلب فرم های لاگین و ثبت نام می باشند.
برای این کار ما از افزونه “ReCaptcha Integration for WordPress(by WeDevs)” استفاده می کنیم.
بعد از نصب افزونه وارد مدیریت تنظیمات آن شوید، برای دریافت “SITE KEY” و “SECRET KEY” نیاز با gmail دارید که با لاگین و ثبت نام برای کپچا می توانید این دو ورد رو دریافت و در قسمت های مربوطه وارد نمایید.(ری کپچا V2 استفاده کنید).
——————————————————————————————————————————————————————————————————————–
محدود کردن تعداد تلاش های ورود به سیستم وردپرس
این افزونه یک آدرس اینترنتی (IP) و/یا نام کاربری را از تلاشهای بیشتر برای ورود به یستم پس از رسیدن به محدودیت مشخص شده مسدود میکند و حمله brute force را دشوار یا غیرممکن میکند.
وردپرس به طور پیشفرض اجازه ورود نامحدود را میدهد. این می تواند منجر به شکستن رمزهای عبور شود.
در بخش تنظیمات افزونه تعداد تلاش ها، مدت زمان قرنظینه و افزایش میزان محدودیت ها را تعیین کنید.
جمع بندی
در این مقاله سعی کردم موارد امنیتی مهمی که می توان در وردپرس به سادگی رعایت کرد رو توضیح بدم. امیدوارم این مطلب براتون مفید واقع شده باشه.
لطفا اگر نظر و پیشنهادی در خصوص مطالب و پیشبرد آنها دارید خوشحال میشم در قسمت دیدگاه ها مطرح بفرمایید.
——————————————