در دنیای امروز رمز عبور روش اصلی برای احراز هویت کاربرانی است که از وبسایت شما استفاده میکنند. با وجود شبکههای ارتباطی مدرن دستگاههای loT و گوشیهای تلفن همراه، اهمیت امنیت رمز عبور بسیار پررنگتر از گذشته شده است.
افشای گذرواژهها و اطلاعات کاربران از خطرات مهم امنیتی است که ممکن است برای هر کسب و کاری اتفاق بیافتد و شرکتهایی همچون LinkedIn، Yahoo و Tumblr نیز بابت این موضوع ضررهای زیادی متحمل شدهاند.
طی تحقیقاتی که اخیرا صورت گرفته است، بیش از ۵۶۰ میلیون ایمیل و رمز عبور، به راحتی در فضای اینترنت قابل دسترسی است.
سیستم وردپرس نیز از این قاعده مستثنی نیست و جهت افزایش امنیت شبکه خود به صورت پیش فرض کدگذاری MD5 را برای گذرواژههای کاربران خود قرار داده بود.
اما کدگذاری MD5 در وردپرس با استفاده از ترکیب سخت افزار مدرن به نام جداول رنگین کمان، به راحتی شکسته شد. به همین دلیل وردپرس به روشهای جدید کدگذاری روی آورده است.
هش وردپرس چیست؟
هش کردن رمز عبور، روشی است که به وسیله آن کلمه عبور به یک تابع هش منتقل و به یک رشته حروف الفبای طولانی تبدیل میشود. وردپرس از این گزینه در تایید احراز هویت کاربران خود استفاده میکند و مانع از خواندن مستقیم گذرواژهها میشود.
روش هشینگ در وردپرس بدین صورت است که رمز عبور کاربران به عنوان یک متن ساده ذخیره نمیشود. هنگامی که شما برای خود یک رمز عبور انتخاب میکنید، سیستم وردپرس هنگام احراز هویت شما اصطلاحا مقداری Salt (نمک) به پسورد انتخابی شما اضافه و کمی رشته متن آن را طولانیتر میکند.
سپس با استفاده از یک الگوریتم رمزنگاری، هش یکطرفه ایجاد میکند و رمز کدگذاری شده جدید، در دیتابیس وردپرس ذخیره میشود.
وقتی وارد وردپرس میشوید و رمز عبور خود را وارد میکنید، هش پسورد وارد شده شما توسط سیستم محاسبه میشود و آن را با دیتابیس مقایسه میکند.
اگر یکسان باشد، به شما اجازه دسترسی داده میشود و در غیر اینصورت امکان دسترسی به پیشخوان خود را نخواهید داشت. در نتیجه اگر وب سایت شما در معرض هک شدن قرار بگیرد، هکر نمیتواند به آسانی به پسورد دسترسی پیدا کند. زیرا رمز عبور شما در سیستم وردپرس ذخیره نشده است.
هیچ راهی وجود ندارد که بتوانید یک کد هش شده را به رشته متنی آن برگرداند. در نتیجه این روش بسیار کاربردی است.
وردپرس از چه کدگذاری (هش – Hash) در پسوردها استفاده میکند؟
در ابتدا از کدگذاری MD5 در وردپرس استفاده میشد. اما این سیستم هشینگ خیلی زود هک شد و اطلاعات دیتابیس آن در دسترس عموم قرار گرفت.
MD5 مخفف پیام “Digest Algorithm 5” است که در سال 1991 توسط رونالد ریوست اختراع و از آن به عنوان سیستم رمزنگاری استفاده شد. این سیستم به طور گسترده از طریق برنامههای وب و نرم افزار مورد استفاده قرار گرفت که از مهمترین کاربردهای آن کدگذاری MD5 در وردپرس بود.
MD5 یک متن تصادفی یا دادههای باینری را به عنوان ورودی در نظر میگیرد و آنها را به یک اندازه ثابت به عنوان خروجی تولید میکند. از متداولترین روشهای استفاده از MD5 به بررسی یکپارچگی پروندهها و برنامههای CMS مانند وردپرس میتوان اشاره کرد که در آن رشتههای رمز عبور کاربران به کد MD5 در جدول دیتابیس کاربر تبدیل میشوند.
کدگذاری MD5 در وردپرس، رمز عبور کاربر را با هر اندازهای، به یک کد 128 بیتی منحصر به فرد مانند اثر انگشت تبدیل میکند. هش خروجی همیشه در یک جعبه 32 رقمی ثابت است.
ذخیره کردن رمز عبور با استفاده از کدگذاری MD5 در وردپرس روشی بسیار کاربردی است، اما ریسک آن هم بسیار بالا است. اگر هکر کلید این کدگذاری را پیدا کند، میتواند تمام پسوردها را به حالت اولیه برگرداند.
با توسعه برنامه، این روش با سیستمی دیگر جایگزین شد که کدگذاری MD5 وردپرس پیشرفته، DES و حتی الگوریتمهای Blowfish را نیز پشتیبانی میکرد.
البته گذرواژههای کدگذاری شده MD5 که در دیتابیس ذخیره شدهاند همچنان معتبر و قابل استفاده هستند. هنگامی که یک کاربر با استفاده از رمز عبور کدگذاری MD5 در وردپرس وارد سیستم میشود، وردپرس این کد را تشخیص میدهد و رمز عبور را با استفاده از روش امنتر، مجدداً ویرایش و هش جدید را در دیتابیس ذخیره میکند.
پس کدگذاری MD5 در وردپرس دیگر کاربرد ندارد؟
امروزه وردپرس از ترکیب کدگذاری MD5 و PHPass PHP استفاده میکند تا کلمات عبور کاربران خود را هش کند.
کدگذاری MD5 جزء ابتداییترین توابع هش و نا امن است و PHPass نیز چندان مناسب نیست. PHP 5.5 (که در سال 2013 منتشر شد) روش جدید و ایمن جهت هش کردن رمز عبور ارائه داد که قرار است همگام با آخرین پیشرفتهای امنیتی نیز به روز شود. وردپرس سیستمی بسیار سازگار است که تمام نسخههای قدیمی گذرواژههای هش شده را پشتیبانی میکند.
افزایش امنیت وردپرس با استفاده از هشینگ PHP
برای افزایش امنیت وردپرس میتوانید از رمزگذاری پیشفرض PHP استفاده کنید. این روش از رمزگذاری از توابع crypt و password hash پشتیبانی میکند. با استفاده از این سیستم، مکانیزم هشینگ پسورد وردپرس، با مکانیزم هشینگ PHP تعویض و تمامی اطلاعات در دیتابیس جدیدی ذخیره میشود.
کسانی که از نسخههای PHP 5.5 به بعد استفاده میکنند، یک افزونه بسیار ساده به نام PHP Native password hash طراحی شده است که سیستم هشینگ وردپرس را با مکانیزم هشینگ PHP |Password_*| تعویض میکند. این سیستم همچنین به شکلی طراحی شده است که به این سادگی قدیمی نمیشود. هشینگ PHP به صورت پیش فرض از bcrypt برای هش کردن پسورد استفاده میکند. هرچند افزونه PHP Native password hash از الگوریتم مدرن Argon2 استفاده میکند.
در سیستم هشینگ پسورد PHP، با استفاده از سیستم رمزنگار CSPRNG، یک رمز عبور نمکی که یک عدد شبه تصادفی رمزنگاری شده است، تولید میشود.
توابع هشینگ PHP، کلمه salt را به عنوان متغیر پارامترهای گذرواژه کدگذاریشده در نظر میگیرد. این گذرواژهها از هرگونه حمله هکرها، جداول رنگین کمان و لو رفتن کلمات عبور، در امان هستند. زیرا برای هر پسورد یک رمز عبور نمکی تولید میشود که قابل برگشت به متن اصلی نیست. امنیت این پسوردها بارها امتحان شده است تا در برابر تمام حملات ممکن کاملا محفوظ باشند.
ممکن است PHP با الگوریتمهای جدیدتر هشینگ پسورد مواجه شود. در اینصورت نیاز به تنظیم مجدد کلمه عبور نیست زیرا پسورد شما به طور خودکار با سیستم جدید پشتیبانی میشود.
تبدیل نوشته به هش وردپرس با استفاده از ابزار
اگر تصمیم دارید رمز عبور خود را هش کنید، میتوانید به سادگی با استفاده از ابزارهای موجود این کار را انجام دهید. با کمک ابزارهایی که برای این موضوع طراحی شدهاند، متد هشینگ موردنظرتان را انتخاب کنید. پس از وارد کردن پسورد، این متن ساده به رشته هش تبدیل میشود. سپس پسورد هش شده را در دیتابیس وردپرس ثبت کنید.
پسورد نمکی هش شده 3.x. و 4.x. بسیار به آپاچی MD5 crypt شبیه است. شما میتوانید از کدگذاری $1$ به جای $P$ استفاده کنید. این پسوردها در در دیتابیس MySQL وردپرس قابل ثبت و تغییر هستند.
WordPress Password Hash Generator یک ابزار آنلاین بسیار ساده و کاربردی، برای هشینگ پسورد است. اگر شما از نسخههای V3، V4 و یا نسخههای بالاتر وردپرس استفاده میکنید و به هر دلیلی تصمیم به تغییر رمز عبور وردپرس خود را داشتید، میتوانید به سادگی پسورد جدید مورد نظرتان را در این ابزار تایپ کنید و با یک کلیک ساده، رمز هششده جدیدی به شما ارائه میشود.
آموزش ایجاد هش با استفاده از کد در وردپرس
برای ایجاد هش رمز عبور وردپرس، روش bcrypt میتواند مفید باشد. bcrypt به عنوان مکانیزم هشینگ پیش فرض در وردپرس انتخاب شده است. هردو عملکرد wp_hash_password و p_set_password قابل اتصال هستند. بنابراین شما میتوانید خودتان این کار را انجام دهید.
function wordpress_hash_password( $password ) {
require_once( '/path/to/wp-includes/class-phpass.php' );
$wp_hasher = new PasswordHash( 8, TRUE );
$hashed_password = $wp_hasher->HashPassword( $password );
return $hashed_password;
{
کد بالا یکی از روشهای هشینگ رمز عبور در وردپرس است.
آموزش انتخاب پسورد امن در وردپرس
امنیت رمز عبور برای جلوگیری از هک شدن بسیار حیاتی است و پیچیده بودن پسورد امری ضروری به نظر میرسد.
در ابتدا ممکن است هکر با استفاده از بدافزارها به سیستم شما حمله کند که توسط سیستم مسدود میشوند. اما اگر پسورد شما متنی ساده مانند تاریخ تولدتان باشد، کار را برای هکر بسیار آسان میکنید.
برای انتخاب یک پسورد امن بهتر است از ترکیب چهار یا چند کلمه تصادفی معمولی استفاده کنید. این شیوه انتخاب رمز عبور ممکن است چندان معمول نباشد اما هک شدن آن سختتر میشود. البته ماندگاری آن نیز در ذهن شما بیشتر است. اگر حس میکنید رمز شما نیاز به پیچیدگی بیشتری دارد، چند کاراکتر عددی نیز به آن اضافه کنید.
اندازهگیری امنیت رمز عبور ممکن است تصادفی به نظر برسد اما مرکز اطلاعات zxcvbn الگوهای متداول را رد میکند. مثل تاریخ تولد یا اعداد پشت سر هم 123456.
حتی اگر رمز عبور شما با استفاده از کدگذاری MD5 در وردپرس رمزنگاری شده باشد، باز هم امنیت آن پایین است و هکر با استفاده از جداول رنگین کمان به رمز عبور شما دست پیدا میکند.
بهتر است به جای اینکه مرتب به فکر پسوردهای امن باشید، تولید و مدیریت رمز عبور خود را به سیستمی که به آن اعتماد دارید واگذار کنید. همهی ما انسان هستیم و ناگزیر در دایره واژگان خود به دنبال یک رمز عبور میگردیم. ممکن است پسوردی را انتخاب کنید که از نظر رایانه بسیار ضعیف قلمداد شود.
استفاده از یک مدیر رمز عبور برای تولید و ذخیره گذرواژهها، امنترین حالت ممکن است. زیرا فکر کردن برای نگه داشتن همه رمزهای عبور، بسیار سخت است. نکته مثبت این سرویس این است که تضمین میکند تمام پسوردهای شما در یک مکان امن قرار دارند. همچنین یک مدیر گذرواژه میتواند به شما در تولید رمزهای عبور قوی، امن و به دور از نگرانی بابت هک شدن کمک کند.
یکی از رایجترین و البته گرانترین سرویسهای مدیریت پسورد، 1Password است که امنترین خدمات را ارائه میدهد. اما شما میتوانید از یکی از سیستمهای ارائه شده در سیستم عامل خود (مانند iCloud KeyChain اپل) استفاده کنید. همچنین سرویسهای رایگان و پلتفرمهای منبع باز مانند KeePass نیز بسیار پرکاربرد هستند.