یکی از مهم ترین مقوله های هر وب سایت، حفظ امنیت آن است. روش های متعددی برای افزایش لایه های امنیتی وب سایت وجود دارد مانند رمزگذاری های قوی، به روز رسانی های منظم، استفاده از موارد امنیتی، استفاده از ویروس یاب ها، انتخاب بهترین میزبانی و غیره. هر کدام از این موارد به خودی خود میتوانند روی امنیت وب سایت تاثیر گذار باشند. یکی از مواردی که می تواند درسترسی این افراد سودجو را محدود کند و موجب افزایش امنیت شود، رمزنگاری دایرکتوری ها است. به عنوان مثال دایرکتوری wp-admin یکی از مهم ترین بخش های وب سایت های وردپرسی است بر همین اساس با رمزگذاری دایرکتوری wp-admin می توان تنها اجازه دسترسی را به افرادی داد که دارای رمز عبور و نام کاربردی مربوطه هستند.
رمزگذاری دایرکتوری wp-admin
در هر زمان و در هر برنامه ای برای محدودسازی دسترسی ها می توان اقدام به رمزگذاری کرد این کار موجب میشود تنها کسانی که رمز عبور و نام کاربری مجاز را دارند بتوانند به وب سایت یا دایرکتوری مورد نظر دسترسی داشته باشند. پنل مدیریت هاستینگ سی پنل نیز به همین صورت است یعنی میتوانید روی دایرکتوری های مورد نظر خود رمز عبور قرار دهید و تنها کسانی که رمز عبور و نام کاربری را در اختیار دارند می توانند اطلاعات دایرکتوری را مشاهده کنند. هر وب سایت شامل چندین دایرکتوری اصلی است. به عنوان مثال وب سایت های وردپرسی دارای یک دایرکتوری بسیار مهم به نام wp-admin هستند این دایرکتوری وظیفه نگهداری اطلاعات خاص و مرتبط با هسته وردپرس را برعهده دارد با رمزگذاری دایرکتوری wp-admin می توانید گامی در جهت افزایش امنیت سایت بردارید و دسترسی افراد غیرمجاز را کوتاه کنید. برای شروع کار مراحل زیر را دنبال کنید.
امنیت وب سایت ها در چه حدی است؟
حتماً میپرسید سیستم مدیریت محتوای وردپرس با وجود تیم امنیتی قوی که شبانه روز بر روی بروزرسانی و انتشار نسخه های جدید کار می کنند چه نیازی به رمز گذاری دارد؟
این گونه میتوان عنوان کرد که میزان امنیت هر سیستم با سطح کیفی آن مطابقت دارد و برای بالا بردن این سطح می توان لایه های امنیتی اضافه تری پیاده سازی کرد. روش رمزنگاری روی دایرکتوری ها نیز یکی از این موارد است. برای شروع کار وارد cPanel خویش شوید، به قسمت های پایین تر مراجعه کنید تا به بخش security برسید. بر روی آیکون “Password Protect Directories” کلیک کنید.
با کلیک بر روی آیکون نامبرده، پیغامی نمایش داده می شود که از شما نام دایرکتوری مورد نظر جهت رمزنگاری را می خواهد. فقط بر روی دایرکتوری ریشه کلیک کنید. در دایرکتوری ریشه، به دنبال دایرکتوری بگردید که وردپرس شما در آن نصب شده است. سپس بر روی پوشه ی /wp-admin/ کلیک کنید. صفحه ای مشابه با تصویر زیر برای شما نمایش داده خواهد شد:
در این صفحه باید فیلدهای مربوطه را تکمیل کنید. گزینه password protect را در حالت فعال قرار دهید سپس یوزر نیم و رمز عبور دلخواهتان را در فیلدهایی پایینی وارد کنید و نهایتا تنظیمات مربوطه را ذخیره کنید. از این به بعد هر زمان که قصد دسترسی به اطلاعات دایرکتوری wp-admin را داشته باشید، باید همین نام کاربری و رمز عبور تعیین شده را وارد کنید. هنگام دسترسی تصویری مشابه تصویر زیر را مشاهده خواهید کرد:
روش دستی رمز نگاری دایرکتوری ها
برای شروع رمزگذاری دایرکتوری wp-admin ابتدا یک فایل .htpasswds ایجاد کنید. می توانید این دایرکتوری را با ژانراتور ایجاد کنید سپس آن را در دایرکتوری /public_html/ قرار دهید. مسیر فایل نامبرده به صورت زیر است:
home/user/.htpasswds/public_html/wp-admin/passwd/
بعد از آن یک فایل .htaccess ایجاد کرده و آن را در دایرکتوری /wp-admin/ قرار دهید. سپس کد های زیر را به فایل خود اضافه کنید:
AuthName "Admins Only" AuthUserFile /home/yourdirectory/.htpasswds/public_html/wp-admin/passwd AuthGroupFile /dev/null AuthType basic require user putyourusernamehere
حالا باید به جای putyourusernamehere اطلاعات مربوطه خود را درج کنید. در برخی موارد با ساخت فایل بالا خطاهای مربوط به عدم دسترسی مشاهده می شود در صورت بروز چنین خطایی باید تنظیمات و پیکربندی های سرور بررسی شوند. برای حل این مسئله، فایل .htaccess اصلی وردپرس اصلی را با یک ویرایشگر متنی مانند نوت پد باز کنید سپس قطعه کد زیر را در ابتدای فایل درج کنید:
ErrorDocument 401 default
خب در اینجا دو تصدیق برای گستره ی مدیریتی وردپرس خویش دارید. این روش برای کوتاه کردن دسترسی افراد غیر مجاز با آدرس IP خاصی است.
اگر دایرکتوری شما پسورد داشته باشد و مشکلات مرتبط با Ajax رخ دهد می توانید از راهنمای زیر کمک بگیرید:
فایل .htaccess خود که در پوشه ی /wp-admin/ قرار دارد را باز کنید (این فایل اصلی که در بالا ویرایش شده است نمی باشد. بله دو فایل در دو مسیر جداگانه هستند.)
در فایل .htaccess کد پایین را اضافه کنید:
<Files admin-ajax.php> Order allow,deny Allow from all
جمع بندی نهایی
سی پنل دارای امکانات متعددی است. یکی از جذاب ترین قابلیت های سی پنل، امکان رمز گذاری روی دایرکتوری های مورد نظر است. هر شخص بنابر نیاز و تصمیم خود می تواند اصلی ترین مسیرها را رمزگذاری کند اما دقت داشته باشید تنها کسانی می توانند به این دایرکتوری دسترسی پیدا کنند که رمز عبور و نام کابری تعیین شده را داشته باشند. از آن جایی که سیستم مدیریت محتوای وردپرس از محبوب ترین cms ها است و مهم ترین دایرکتوری آن wp-admin می باشد، در این آموزش از وب داده سعی بر ان داشتیم که رمزگذاری دایرکتوری wp-admin را بررسی کنیم.
شایان ذکر است این روش بر روی سایر دایرکتوری ها نیز قابلیت پیاده سازی دارد. رمزگذاری دایرکتوری wp-admin یکی از روش های افزایش سطح ایمنی هسته وردپرس است. همان طور که ذکر شد این کار به دو صورت امکان پذیر است:
- به کمک قابلیت Password Protect Directories در سی پنل
- رمز نگاری از طریق درج قطعه کدهای امنیتی
روش اول بسیار ساده تر و بدون دردسر می باشد. در صورت عدم تمایل به رمزنگاری می توانید همان روال را تکرار کرده و گزینه password protect را از حالت فعال خارج کنید. اما در خصوص روش دوم باید ذکر کرد که در برخی موارد خطای دسترسی رخ داده و کاربر با مشکلاتی مواجه شده و ما نیز بر اساس همین روش اول را توصیه می کنیم. در روش دوم در صورت عدم تمایل به رمزنگاری کافیست قطعه کدهای اضافه شده را از فایل های نامبرده حذف کنید. به این صورت گامی در جهت افزایش سطح امنیت و کوتاه کردن دسترسی افراد غیر مجاز خواهید برداشت.
موفق باشید. 🙂