کاملاً منطقی است برای سایتی که زحمت طراحی و بهینهسازی آن را کشیدهاید، تمام تدابیر امنیتی را بینیدیشید. خوشبختانه وردپرس سامانه مدیریت محتوایی است که تمام امکانات مورد نیاز را در اختیارتان میگذارد.
ممکن است زمانی که وردپرس را نصب میکنید، به برخی نکات ایمنی بیتوجه باشید و پیکربندیها را از قلم بیندازید. اگر نمیخواهید از این غفلتها پشیمان شوید تا انتهای مطلب همراه لیمومگ باشید و ده قطعه کد کاربردی را برای افزایش امنیت وردپرس با htaccess بخوانید.
از آنجایی که خیلیها از این پیکربندی بیخبرند، ممکن است این مراحل برگ برنده امنیت سایت شما باشند. پیش از این که به سراغ این قطعه کدها برویم، اجازه بدهید یک مرور کوتاه بر چیستی فایل htaccess داشته باشیم.
فایل htaccess. چیست؟
htaccess. یکی از مهمترین فایلها در وردپرس است که خیلی ساده هم ساخته میشود. با استفاده از این فایل، شما میتوانید به سادگی برای سرور سایت خود قوانینی تعیین کنید و کنترل تمام فایلها و دایرکتوریهای سایت را در دست بگیرید.
به این ترتیب فایل htaccess. میتواند در بهبود امنیت و عملکرد وردپرس،ِ نقش پررنگی را بازی کند.
بیایید قبل از انجام مراحل افزایش امنیت وردپرس با htaccess، پیشنیازها را فراهم کنیم.
پیشنهاد خواندنی: وردپرس چیست؟
مرحله صفر: آمادهسازی
فایل htaccess. هم مثل تمام فایلهایی که نامشان با نقطه شروع میشود، یک فایل مخفی است؛ یعنی بهطور پیشفرض قابل مشاهده نیستند.
بنابراین اگر این فایل را پیدا نکردید، نگران نشوید. فقط تنظیمات «Show Hidden Files» را در سرویس گیرنده FTP یا File Manager خود روشن کنید. اگر بازهم چنین فایلی را در روت سایت خود نداشتید، اشکالی ندارد. میتوانید به سادگی یک فایل نوت پد با نام htaccess. ایجاد کنید و کدهای زیر را در آن قرار دهید:
# BEGIN WordPress RewriteEngine On RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] # END WordPress
سپس فایل را ذخیره کنید و با استفاده از File Manager آن را آپلود کنید.
در نهایت فایل htaccess. شما باید در مسیر زیر آپلود شود:
…/home/yourweb/public_html/.htaccess.
نکته: فایل .htaccess فایلی قدرتمند و در عین حال خطرناک است؛ بهخصوص اگر دانش کمی در مورد روش کار htaccess. دارید یا آشنایی کافی با کدنویسی ندارید، باید بیشتر مراقب باشید.
از آنجایی که یک اشتباه کوچک در کدنویسی میتواند باعث خطاهای سرور داخلی شود، باید از فایل htaccess. موجود خود، نسخه پشتیبان تهیه کرده و آن را در دسکتاپ یا دراپ باکس ذخیره کنید. تا در صورت بروز مشکل، بتوانید از فایل پشتیبان استفاده کنید.
نکته دیگری که باید به آن توجه کنید این است که در این آموزش با ترفندهای زیادی برای ویرایش فایل آشنا میشوید. اما یادتان باشد که در آن واحد فقط یکی از آنها را اعمال کنید.
پیشنهاد خواندنی: IP چیست؟
۱۰ ترفند حرفهای افزایش امنیت با htaccess.
در این بخش بهترین ترفندهای افزایش امنیت وردپرس را بررسی میکنیم.
۱. افزایش امنیت وردپرس با htaccess.: حفاظت از ناحیه مدیریت وردپرس
شما میتوانید با استفاده از htaccess. برای محدود کردن دسترسی IP به wp-admin از ناحیه مدیریت وردپرس خود محافظت کنید. دایرکتوری wp-admin حاوی تمام فایلهای مورد نیاز برای اجرای داشبورد وردپرس است. این شامل توابع مدیریتی مانند نصب تمها، استفاده از افزونهها یا نوشتن پست و غیره است.
اجازه دسترسی به آدرسهای IP منتخب به دایرکتوری wp-admin به محافظت از سایت وردپرس شما در برابر هکرها کمک میکند. برای محدود کردن دسترسی IP به ناحیه مدیریت، قطعه کد زیر را کپی و در فایل htaccess. خود جایگذاری کنید:
AuthUserFile /dev/null AuthGroupFile /dev/null AuthName "WordPress Admin Access Control" AuthType Basic <LIMIT GET> order deny,allow deny from all # whitelist User1's IP address allow from xx.xx.xx.xxx # whitelist User2's IP address allow from xx.xx.xx.xxx # whitelist User3's IP address allow from xx.xx.xx.xxx # whitelist User4's IP address allow from xx.xx.xx.xxx # whitelist User5 IP address allow from xx.xx.xx.xxx </LIMIT>
۲. افزایش امنیت وردپرس با htaccess.: حفاظت از رمز عبور
یکی از ویژگیهای جذاب دیگری که فایل htaccess. برای افزایش امنیت وردپرس در اختیارتان قرار میدهد، افزایش کنترل روی پسوردها است. شما میتوانید یک مرحله پسورد اضافی برای دایرکتوریهای دلخواهتان در نظر بگیرید. کافی است مراحل زیر را طی کنید:
- با استفاده از ابزارهایی نظیر htpasswd-generator یک فایل .htpasswd ایجاد کنید.
- فایل htpasswd را در پوشه wp-admin وردپرس خود آپلود کنید.
- یک فایل htaccess ایجاد کنید و آن را در پوشه wp-admin آپلود کنید.
- کد زیر را به فایل htaccess خود اضافه کنید:
AuthType Basic AuthName "Restricted Area" AuthUserFile /home/public_html/wp-admin/.htpasswd require valid-user
۳. افزایش امنیت وردپرس با htaccess.:غیرفعال کردن browsing دایرکتوری
Options -Indexes
پیشنهاد خواندنی: وب سرور آپاچی چیست؟ آشنایی با رقبای Apache HTTP Server
۴. افزایش امنیت وردپرس با htaccess. : غیرفعال کردن اجرای PHP در پوشههای خاص
- یک فایل htaccess خالی بسازید.
- فایل را ذخیره کرده و در پوشههای wp-includes و wp-content/upload آپلود کنید.
- کدهای زیر را به فایل اضافه کنید:
<Files *.php> deny from all </Files>
۵. افزایش امنیت وردپرس با htaccess.: ایمنسازی فایل wp-config.php
فایل wp-config.php یکی از مهمترین فایلهای سایت شما در وردپرس است؛ زیرا در آن نام دیتابیسها، اعتبار دسترسی و دادههای مهم دیگری نگهداری میشود. برای ایمنسازی فایل wp-config.php، میتوانید کدهای زیر را به فایل htaccess. اضافه کنید و از دسترسی به این فایل جلوگیری کنید:
<files wp-config.php> order allow,deny deny from all </files>
۶. افزایش امنیت وردپرس با htaccess.: مسدود کردن IPهای مشکوک
برای مسدود کردن آیپیهای مشکوک که سعی میکنند به سایت شما دسترسی پیدا کنند، میتوانید کد زیر را به فایل htaccess. اضافه کنید:
order allow, deny deny from xx.xx.xx.xxx allow from all
یادتان باشد که به جای “xx.xx.xx.xxx” آدرس آیپی که میخواهید محدود شود را در کد جایگذاری کنید.
۷. افزایش امنیت وردپرس با htaccess.: از دسترسی غیرمجاز به htaccess جلوگیری کنید
تا اینجای کار، متوجه اهمیت فایل htaccess شدهاید. بنابراین میدانید که اگر هکرها به این فایل دسترسی پیدا کنند، وبسایت شما در مخمصه بدی میافتد. کپی و جایگذاری کدهای زیر در فایل htaccess. به محافظت از آن در برابر دسترسی غیرمجاز کمک میکند:
<files ~ "^.*\.([Hh][Tt][Aa])"> order allow,deny deny from all satisfy all </files>
نکته: این قطعه کد دسترسی به همه فایلهایی که با «Hh»، «Tt»، «Aa» شروع میشوند، از جمله فایل htaccess. شما را محدود میکند.
۸. افزایش امنیت وردپرس با htaccess.: دسترسی XML-RPC را غیرفعال کنید
بهطور پیشفرض، فایل XML-RPC در تمام سایتهای وردپرسی نصب میشود. این فایل به سایت شما امکان میدهد از افزونههای شخص ثالث استفاده کند. مشکل اینجاست که مهاجمان خارجی هم برای نفوذ به سایت شما از همین فایل استفاده میکنند. بنابراین اگر از برنامههای شخص ثالث استفاده نمیکنید، توصیه میکنیم این ویژگی را غیرفعال کنید.
راههای زیادی برای غیرفعال کردن فایل XML-RPC وجود دارد که یکی از آنها درج کدهای زیر در فایل htaccess. است:
<Files xmlrpc.php> order deny,allow deny from all </Files>
۹. افزایش امنیت وردپرس با htaccess.: ایمنسازی افزونههای وردپرس
افزونههای وردپرسی از مهمترین ویژگیهای مثبت این سامانه مدیریت محتوا هستند و کمک شایانی به طراحی و مدیریت سایت وردپرسی میکنند. اما این افزونهها گاهی میتوانند حملات سایبری به سایت را سادهتر کنند. به همین دلیل منطقیتر است که در صورتی که از افزونههای زیادی استفاده میکنید، با جایگذاری این کد در فایل htaccess، آنها را ایمن کنید:
<Files ~ "(.js|.css)">
Order allow,deny
Deny from all
</Files>
۱۰. افزایش امنیت وردپرس با htaccess.: غیرفعالسازی اسکن نویسنده در وردپرس
اسکن نویسنده یکی از تکنیکهای رایجی است که در حملات brute force استفاده میشود. هکرها وبسایت شما را اسکن و سعی میکنند شناسه نویسنده را دریافت کنند. در مرحله بعد، آنها رمز عبور را با استفاده از ترکیبهای مختلف رمز عبور میشکنند و سپس به پیشخوان وردپرس شما دسترسی پیدا میکنند. سادهترین راه برای جلوگیری از اسکن نویسنده در وردپرس از طریق فایل htaccess. افزودن کد زیر است:
# BEGIN block author scans RewriteEngine On RewriteBase / RewriteCond %{QUERY_STRING} (author=\d+) [NC] RewriteRule .* - [F] # END block author scans
با افزودن این کد به فایل htaccess خود، می توانید شناسه نویسنده را مخفی نگه دارید و سایت خود را از حملات brute force نجات دهید.
سخن پایانی
در این مقاله با ده ترفند جذاب و ساده برای افزایش امنیت وردپرس با htaccess. آشنا شدید. این فایل در بخشهای دیگری مثل بهینهسازی وردپرس برای بهبود عملکرد و همچنین سرعت سایت نیز میتواند مفید واقع شود.
در مقالات بعدی لیمومگ به سراغ این کاربردها نیز خواهیم رفت. اگر درباره هریک از موارد بیان شده در این مطلب، سوالی دارید، میتوانید از بخش نظرات زیر همین پست از ما بپرسید و پاسخ بگیرید.
سلام، عالی بود ممنون ولی گزینه ۹ کدهاش درسته؟
سلام آرمان جان،
مقاله توسط تیم فنی بررسی و آپدیت شده.
ممنون از همراهیتون 🍋🙏🏻
با سلام، اگر wordfence فایروال فعال باشه، باز لازمه همه این موارد در نظر گرفته بشه؟
آزاد عزیز سلام
رعایت تمام این موارد ضریب خطا رو کمتر میکنه؛ ولی جواب اینکه با وجود فعال بودن wordfence فایروال لازمه که این موارد رعایت بشه یا نه رو میتونید تیکت بزنید تا همکارای پشتیبانی بیشتر راهنماییتون کنن 🍋