Salt در وردپرس
در طراحی سایت وردپرسی یکی از مهم ترین مباحث امنیت می باشد که متاسفانه به آن توجهی نمی شود. salt های وردپرس بخش مهمی از اکوسیستم امنیتی وردپرس هستند. وجود آن ها باعث می شود تا وردپرس بسیار امن بوده و از حملات زیادی در امان باشد. به همین دلیل بسیار مهم است که بدانید آنها چیستند، چگونه آنها را مدیریت کنید، و چگونه از یک تولید کننده salt وردپرس در صورت نیاز به salt های جدید استفاده کنید.
در این مقاله، همه چیزهایی را که در مورد saltها و تولید آن ها باید بدانید را بررسی میکنیم و به شما کمک میکند تا مطمئن شوید که میتوانید از این ویژگی که برای امنیت وردپرس بسیار مهم است، بهترین استفاده را ببرید.
salt های وردپرس چیست؟
saltهای وردپرس و کلیدهای امنیتی مرتبط، ابزارهای رمزنگاری هستند که برای هش دادهها استفاده میشوند. آنها همچنین به عنوان کلیدهای امنیتی وردپرس شناخته می شوند. یک مثال قابل توجه از نحوه استفاده از آنها در یک وب سایت، هش کردن رمزهای عبور ذخیره شده در کوکی ها است.
Salt ها، سرقت رمز عبور کاربران را برای هکرها بسیار سخت تر می کند. این باعث میشود saltها بخشی جداییناپذیر از امنیت وردپرس باشند . در حالی که این سیستم کامل نیست، اما در بیشتر موارد حفاظت کافی را ارائه می دهد.
همه اینها (و بیشتر) را در بخشهای بعدی شرح میدهیم، بنابراین به خواندن ادامه دهید تا درباره saltهای وردپرس بیشتر بدانید.
salt های وردپرس چگونه کار می کنند ؟
وردپرس چیزی است که به عنوان یک سیستم بدون دولت شناخته می شود. این بدان معناست که قادر به حفظ جلسات کاربر مانند سایر برنامه ها نیست. درعوض، به کوکیهای مرورگر وردپرس متکی است تا کاربران را “وارد شده در سیستم” نگه دارد. به این ترتیب، هنگامی که با نام کاربری و رمز عبور خود وارد سیستم شدید (و اگر در مورد امنیت وردپرس جدی هستید 2FA )، وردپرس یک کوکی را تعریف می کند که به مرورگر شما ارسال می شود. تا زمانی که شما آن کوکی را دارید و شرایط آن برآورده می شود، شما همچنان “وارد شده به سیستم” باقی می مانید.
برای اینکه وردپرس شما را بشناسد، هر بار که با وب سایت تعامل می کنید، این کوکی باید به وردپرس ارسال شود و اساساً هر بار که با وب سایت تعامل می کنید، خود را احراز هویت می کند. برای اطمینان از اینکه داده ها تا حد ممکن امن باقی می مانند، وردپرس رمز عبور ذخیره شده در کوکی را رمزگذاری می کند. اینجاست که salt وارد می شود.
کوکی های وردپرس
در حالی که پرداختن به جزئیات کوکیهای وردپرس، فراتر از وظایف این مقاله است، ارزش آن را دارد که یک مسیر انحرافی سریع برای بحث در مورد چگونگی ارتباط saltها با کوکیها داشته باشیم.
به عنوان یادآوری، کوکی ها فایل های متنی ذخیره شده در مرورگرهای کاربران وردپرس هستند که اطلاعات مهمی را به وردپرس می گویند، مانند اینکه آیا کاربر وارد شده است یا خیر.
- wordpress_logged_in_[hash] – این کوکی برای اطلاع دادن به وردپرس استفاده میشود که آیا شما وارد شدهاید یا خیر. این کوکی با کلید LOGGED_IN_KEY و salt LOGGED_IN_SALT هش شده است. در بخش بعدی به تفصیل بیشتر به این موارد خواهیم پرداخت.
- wordpress_[hash] – این کوکی در صفحات مدیریت استفاده می شود و به شما امکان می دهد تغییراتی در وب سایت وردپرس ایجاد کنید. اگر از SSL/TLS یا کلید AUTH_KEY و salt AUTH_SALT استفاده میکنید، این کوکی با کلید SECURE_AUTH_KEY و salt SERCURE_AUTH_SALT هش میشود.
کوکی های salt بهترین کوکی ها هستند
به طور خلاصه، salts ها برای درهم کردن اطلاعات حساس مانند جزئیات ورود شما در کوکی استفاده می شود. به این ترتیب، اگر کوکی دزدیده شود، خواندن رمز عبور تقریبا غیرممکن خواهد بود.
توجه به این نکته مهم است که salt ها و کلیدها فقط با جلسات پیش فرض مرورگر وردپرس کار می کنند. اگر از جلسات PHP استفاده می کنید، که به دلایل مختلف توصیه نمی شود، داده ها با استفاده از salt های وردپرس هش نمی شوند.
قبلاً اشاره کردیم که این یک سیستم کامل نیست. اگر یک کوکی دزدیده شود، هر کسی که کوکی را داشته باشد میتواند جلسه را ربوده و با وبسایت وردپرس ارتباط برقرار کند، انگار که شما هستید. در واقع، از دیدگاه وردپرس، آنها شما خواهید بود.
salt ها و کلیدها به طور خودکار در طول نصب وردپرس تولید می شوند. با این حال، آنها را می توان در هر لخظه تغییر داد. ما در مورد اینکه کجا آنها را پیدا کنیم و چگونه آنها را تغییر دهیم بحث خواهیم کرد.
salt ها و کلیدهای وردپرس
هر salt دارای یک کلید مربوطه است و هر دو برای هش کردن داده ها مورد نیاز هستند. در واقع، از کلیدها برای هش کردن داده ها استفاده می شود و salt ها لایه دوم هش را اضافه می کنند تا اطمینان حاصل شود که داده ها ایمن هستند.
Salt ها در وردپرس 3.0 معرفی شدند، در حالی که کلیدهای مختلفی در نسخه های مختلف وردپرس معرفی شدند. در زیر لیستی وجود دارد که نشان می دهد هر کلید و saltی چه زمانی معرفی شده است:
- WordPress 2.6:
AUTH_KEY، SECURE_AUTH_KEY، LOGGED_IN_KEY
- وردپرس 2.7:
NONCE_KEY
- WordPress 3.0:
AUTH_SALT، SECURE_AUTH_SALT، LOGGED_IN_SALT، NONCE_SALT
در مجموع چهار جفت salt/کلید مختلف وجود دارد. هر جفت عملکرد متفاوتی نسبت به دیگری دارد. بیایید هر جفت را با کمی جزئیات بیشتر بررسی کنیم تا بتوانیم درک بهتری از آنچه واقعاً انجام می دهند به دست آوریم.
چهار جفت مختلف
در اینجا چهار جفت مختلف کلید و salt مورد استفاده وردپرس آورده شده است.
احراز هویت
این جفت کلید و salt با LOGGED_IN_KEY و LOGGED_IN_SALT استفاده می شود تا به شما اجازه ایجاد تغییرات در وردپرس (در صورت عدم استفاده از SSL) را بدهد.
-
- کلید تایید
- AUTH_SALT
احراز هویت امن
اگر با استفاده از SSL/TLS وارد قسمت مدیریت وردپرس شوید، از این جفت کلید و salt برای امضای کوکی مجاز شما استفاده می شود که به شما امکان می دهد تغییراتی در وب سایت ایجاد کنید.
-
- SECURE_AUTH_KEY
- SERCURE_AUTH_SALT
وارد شده
کلید LOGGED_IN و salt برای ایجاد و امضای یک کوکی برای کاربری که وارد شده است استفاده می شود.
-
- LOGGED_IN_KEY
- LOGGED_IN_SALT
وارد شده
Nonces یک جنبه بسیار جالب از امنیت وردپرس است. Nonces کلیدهایی هستند که به URL ارسال اضافه می شوند و از وب سایت در برابر حملاتی مانند حملات CSFR (Cross-Site Request Forgeries) محافظت می کنند.
-
- NONCE_KEY
- NONCE_SALT
salt های وردپرس خود را کجا پیدا کنید
salt ها و کلیدها در فایل wp–config.php وردپرس وجود دارند . بسته به ارائه دهنده هاست وردپرس خود، می توانید از طریق SSH یا FTP/SFTP به فایل دسترسی داشته باشید . برخی از ارائه دهندگان حتی ممکن است مدیر فایل سفارشی خود را با دسترسی به فایل پیکربندی ارائه دهند.
فایل wp-config.php را در دایرکتوری ریشه وب سایت وردپرس خود خواهید یافت. saltها و کلیدها معمولاً در بخش اول فایل wp-config.php، درست بعد از اعتبار پایگاه داده تعریف میشوند، مگر اینکه اعتبار پایگاه داده را از فایل wp–config.php خود خارج کرده باشید .
چه زمانی salt ها و کلیدهای وردپرس خود را به روز کنید
به طور کلی، هرگز نیازی به تغییر salt ها و کلیدهای وردپرس نیست. با این حال، اگر نقض امنیتی وجود داشته باشد، تغییر آنها ممکن است ایده بسیار خوبی باشد.
همچنین میتوانید آنها را بهعنوان یک اقدام امنیتی پیشگیرانه بهجای هر نیاز خاصی تغییر دهید. درست مانند تغییر منظم رمز عبور، تغییر کلیدها و saltها میتواند شما را یک قدم جلوتر از عوامل مخرب نگه دارد.
توجه داشته باشید که بهروزرسانی به saltها و کلیدهای جدید، تمام جلسات فعال را خاتمه میدهد، زیرا این کار همه کوکیهای فعال را باطل میکند. کاربرانی که وارد سیستم شده اند از سیستم خارج خواهند شد. کاربران می توانند با نام کاربری، رمز عبور و 2FA خود دوباره وارد سیستم شوند، بنابراین جای نگرانی نیست، اما چیزی است که باید از آن آگاه باشید.
نحوه استفاده از تولید کننده salt وردپرس
شما می توانید salt ها و کلیدهای سایت های وردپرس خود را به یکی از دو روش به روز کنید – به صورت دستی یا با استفاده از یک افزونه.
در بیشتر موارد، یک افزونه salt ها را برای شما تولید و جایگزین می کند. این فقط نیاز به دسترسی به قسمت مدیریت وردپرس دارد که آن را آسانترین از این دو میکند. روش دستی کمی عملی تر است. با این حال، حتی یک فرد نه چندان فنی می تواند آن را انجام دهد.
توجه داشته باشید که اگر تصمیم دارید salt ها را به صورت دستی تغییر دهید اما قبلاً هرگز این کار را انجام نداده اید، استفاده از یک محیط آزمایشی ممکن است ایده خوبی باشد. این به شما این امکان را می دهد که بدون خطر از دسترس خارج کردن سایت خود، تجربه کافی را در این باره کسب کنید.
با استفاده از یک افزونه
ساده ترین راه برای تغییر salt های وردپرس استفاده از یک افزونه است. افزونه Salt Shaker شاید شناخته شده ترین افزونه برای تبادل کلیدهای salt وردپرس شما با ویژگی های اضافه شده مانند تغییرات برنامه ریزی شده باشد. برای تغییر کلیدهای saltی در هر نقطه، کافی است روی دکمه Change Now واقع در قسمت Immediate Change کلیک کنید. این بلافاصله همه salt ها را به روز می کند. همه کاربرانی که وارد سیستم شده اند باید پس از به روز رسانی سالت ها دوباره وارد سیستم شوند.
روش دستی
اگر نمی خواهید از افزونه ای برای به روز رسانی salt ها استفاده کنید، می توانید این کار را به صورت دستی انجام دهید. خوشبختانه WordPress.org یک مولد کلید ارائه می دهد که رشته های تصادفی را برای هر salt و کلید مخفی در فایل wp-config.php سایت خروجی می دهد. برای تغییر دستی salt ها در وب سایت وردپرس خود:
-
- به تولید کننده salt وردپرس (ارائه شده توسط وردپرس) بروید
- فایل wp-config.php را باز کنید. (شما می توانید از طریق FTP/SFTP یا SSH به فایل دسترسی داشته باشید، بنابراین باید مطمئن شوید که اطلاعات ورود صحیح را برای ورود موفقیت آمیز دارید. همانطور که قبلاً اشاره کردیم، فایل متنی است، بنابراین می توانید وارد کنید. کلیدهای جدید با استفاده از یک ویرایشگر متن ساده مانند Notepad یا Vim).
- salt های تولید شده توسط سایت را از بالا کپی کنید و موارد موجود در فایل wp-config را بازنویسی کنید.
نتیجه
salt های وردپرس در درجه اول برای هش کوکی های مرورگر استفاده می شود که برای ورود کاربران به وردپرس ضروری است. این قضیه آنها را برای امنیت کلی سایت ضروری می کند. تغییر saltها میتواند از حوادث امنیتی جلوگیری کند و به شما کمک میکند تا مطمئن شوید که از نقضهای خاص بازیابی میشوید، مانند مواردی که از طریق حمله اسکریپت بین سایتی (XSS) رخ میدهد .
به یاد داشته باشید که Salt تنها نقشی در اکوسیستم امنیتی بزرگ وردپرس دارد. به این ترتیب، مهم است که مراقب آنچه در سایت های وردپرسی شما می افتد باشید. یکی از راههایی که میتوانید این کار را انجام دهید، مثلا نصب WP Activity Log است که فعالیت کاربر و سیستم را در وبسایتهای وردپرس شما ردیابی و ثبت میکند.
این افزونه تعداد زیادی عملکرد اضافی را ارائه می دهد تا به شما کمک کند همیشه در جریان هستید، از جمله اعلان های ایمیل و پیامک، یک ماژول جلسه کاربر بسیار خوب و موارد دیگر.
در صورتی که به مباحث امنیت در وردپرس علاقمند هستید، مقاله تنظیمات امنیتی wp-config را مطالعه فرمایید.