اعتماد به میزبان پک؛ با ابزارهای روز، امنیت استاندارد و سخت‌افزارهای برتر
بیش از ۳ سال فعالیت حرفه‌ای، میزبان ۱۶.۰۰۰ هزار وب‌سایت هستیم.

افزایش امنیت وردپرس با بالا بردن امنیت فایل .htaccess

افزایش امنیت وردپرس با بالا بردن امنیت فایل .htaccess

امنیت وردپرس تنها به نصب افزونه های امنیتی یا استفاده از رمز عبور قوی محدود نمی شود. یکی از موثرترین روش های افزایش امنیت در سرورهای مبتنی بر Apache و LiteSpeed، استفاده صحیح از فایل .htaccess است. این فایل قبل از اجرای وردپرس و حتی قبل از پردازش بسیاری از درخواست ها توسط PHP، قوانین امنیتی را در سطح وب سرور اعمال می کند و می تواند بسیاری از حملات متداول را متوقف کند.

اگر از هاست وردپرس، هاست ووکامرس یا سرور اختصاصی استفاده می کنید، با اعمال چند قانون ساده در فایل .htaccess می توانید از دسترسی به فایل های حساس جلوگیری کنید، حملات Brute Force را کاهش دهید، اجرای فایل های مخرب را محدود کنید و سطح امنیت وب سایت را بدون افزایش مصرف منابع سرور ارتقا دهید.

در این مقاله، مهم ترین روش های افزایش امنیت وردپرس با استفاده از فایل .htaccess را به صورت مرحله به مرحله بررسی می کنیم.

فایل .htaccess چیست؟

فایل .htaccess یک فایل پیکربندی برای وب سرور Apache و LiteSpeed است که امکان مدیریت موارد مختلفی مانند:

  • قوانین Rewrite

  • محدودیت های دسترسی

  • ریدایرکت ها

  • تنظیمات امنیتی

  • کنترل کش

  • مدیریت هدرهای HTTP

را فراهم می کند.

از آنجایی که این فایل در سطح وب سرور پردازش می شود، بسیاری از درخواست های مخرب قبل از رسیدن به وردپرس مسدود خواهند شد.

قبل از هر تغییری از فایل .htaccess نسخه پشتیبان تهیه کنید

پیش از اعمال هرگونه تغییر:

  • فایل فعلی را دانلود کنید.

  • یک نسخه با نامی مانند .htaccess.bak نگهداری کنید.

  • پس از هر تغییر، عملکرد سایت را بررسی کنید.

وجود یک قانون اشتباه ممکن است باعث خطای 500 یا از دسترس خارج شدن سایت شود.

غیرفعال کردن Directory Listing

در صورت فعال بودن Directory Listing، کاربران می توانند فایل های موجود در پوشه هایی که فایل Index ندارند را مشاهده کنند.

کد زیر را به ابتدای فایل اضافه کنید:

Options -Indexes

این قانون از مشاهده ساختار فایل ها توسط کاربران و ربات های مخرب جلوگیری می کند.

جلوگیری از دسترسی به فایل wp-config.php

فایل wp-config.php مهم ترین فایل وردپرس است و اطلاعات حساسی مانند تنظیمات پایگاه داده را در خود نگهداری می کند.

برای جلوگیری از دسترسی مستقیم:

<Files wp-config.php>
Require all denied
</Files>

این قانون حتی در صورت حدس زدن مسیر فایل، اجازه مشاهده آن را نمی دهد.

محافظت از فایل .htaccess

فایل .htaccess نیز نباید قابل مشاهده باشد.

<Files .htaccess>
Require all denied
</Files>

این قانون مانع دانلود یا مشاهده فایل تنظیمات توسط کاربران خواهد شد.

جلوگیری از اجرای فایل PHP در پوشه Uploads

پوشه wp-content/uploads تنها برای نگهداری فایل های رسانه ای طراحی شده است.

در صورتی که مهاجم بتواند یک فایل PHP در این پوشه بارگذاری کند، احتمال اجرای کد مخرب وجود خواهد داشت.

در پوشه Uploads یک فایل .htaccess ایجاد کرده و کد زیر را قرار دهید:

<Files *.php>
Require all denied
</Files>

این روش یکی از مهم ترین اقدامات امنیتی برای جلوگیری از اجرای شل های مخرب است.

جلوگیری از اجرای PHP در wp-includes

در اغلب وب سایت ها نیازی نیست فایل های PHP داخل برخی مسیرهای wp-includes مستقیما اجرا شوند.

با اعمال قوانین مناسب می توان بخشی از درخواست های مخرب را مسدود کرد. البته قبل از اعمال این محدودیت ها، سازگاری قالب و افزونه های نصب شده را بررسی کنید.

جلوگیری از مشاهده فایل های حساس

می توانید دسترسی به فایل هایی مانند موارد زیر را مسدود کنید:

  • readme.html

  • license.txt

  • install.php

این فایل ها ممکن است اطلاعاتی درباره نسخه وردپرس یا ساختار سایت در اختیار مهاجم قرار دهند.

فعال سازی HTTPS

در صورتی که SSL روی سایت فعال است، بهتر است تمام کاربران به نسخه HTTPS هدایت شوند.

این کار علاوه بر امنیت بیشتر، برای سئو نیز مفید است.

نمونه قانون:

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

استفاده از Security Headers

در صورت پشتیبانی سرور می توانید برخی هدرهای امنیتی را نیز اضافه کنید؛ مانند:

  • X-Frame-Options

  • X-Content-Type-Options

  • Referrer-Policy

این هدرها احتمال برخی حملات سمت مرورگر را کاهش می دهند.

محدود کردن دسترسی به wp-admin

اگر تنها یک یا چند مدیر مشخص وارد پنل مدیریت می شوند، می توانید دسترسی به wp-admin را فقط برای IP های مشخص مجاز کنید.

این روش تاثیر بسیار زیادی در کاهش حملات Brute Force دارد اما در صورتی مناسب است که IP ثابتی داشته باشید.

ارتباط فایل .htaccess با هاست وردپرس و هاست ووکامرس

بخش مهمی از امنیت یک وب سایت به کیفیت زیرساخت هاست وابسته است. حتی اگر بهترین قوانین .htaccess را پیاده سازی کنید، در صورت استفاده از هاستی که نسخه های قدیمی Apache، PHP یا LiteSpeed را اجرا می کند یا به روزرسانی های امنیتی را دریافت نمی کند، همچنان در معرض خطر خواهید بود.

در یک هاست وردپرس یا هاست ووکامرس استاندارد، قوانین .htaccess در کنار فایروال، نسخه های به روز PHP، WAF، اسکن بدافزار و محدودسازی دسترسی ها، یک لایه امنیتی موثر ایجاد می کنند.

خطاهای رایج هنگام ویرایش فایل .htaccess

خطای 500 Internal Server Error

علت:

  • وجود خطای نگارشی

  • ناسازگاری دستورات با نسخه Apache

  • قرار گرفتن قوانین در محل نامناسب

راه حل:

  • فایل را از نسخه پشتیبان بازیابی کنید.

  • لاگ Apache را بررسی کنید.

  • قوانین را مرحله به مرحله اضافه کنید.

از کار افتادن لینک های سایت

گاهی پس از ویرایش فایل .htaccess، قوانین Rewrite وردپرس حذف می شوند.

راه حل:

در پیشخوان وردپرس وارد تنظیمات > پیوندهای یکتا شوید و بدون تغییر تنظیمات، روی «ذخیره تغییرات» کلیک کنید تا قوانین پیش فرض مجددا ایجاد شوند.

از کار افتادن برخی افزونه ها

برخی افزونه های کش، امنیت یا CDN قوانین اختصاصی در .htaccess اضافه می کنند.

پس از اعمال تغییرات، عملکرد افزونه ها را بررسی کنید و در صورت نیاز قوانین را ادغام نمایید.

روش های عیب یابی حرفه ای

اگر پس از اعمال تغییرات با مشکل مواجه شدید:

  1. فایل .htaccess را موقتا تغییر نام دهید.

  2. فایل جدید پیش فرض وردپرس را ایجاد کنید.

  3. حالت Debug وردپرس را فعال کنید.

  4. فایل debug.log را بررسی کنید.

  5. لاگ Apache یا LiteSpeed را مشاهده کنید.

  6. افزونه های امنیتی و کش را موقتا غیرفعال کنید.

  7. قوانین امنیتی را به صورت مرحله ای اضافه کنید تا قانون مشکل ساز شناسایی شود.

نکات فنی پیشرفته

برای افزایش بیشتر امنیت توصیه می شود:

  • دسترسی نوشتن روی فایل .htaccess را فقط به کاربر اصلی سرور محدود کنید.

  • سطح دسترسی فایل را روی مقادیر مناسب مانند 644 تنظیم کنید.

  • از ویرایش مداوم این فایل توسط افزونه های ناشناس جلوگیری کنید.

  • در کنار قوانین .htaccess از WAF مانند ModSecurity یا سرویس هایی مانند Cloudflare نیز استفاده کنید؛ زیرا بسیاری از حملات را پیش از رسیدن به سرور مسدود می کنند.

نتیجه گیری

فایل .htaccess یکی از قدرتمندترین ابزارهای افزایش امنیت وردپرس در سرورهای Apache و LiteSpeed است. با اعمال چند قانون ساده مانند غیرفعال کردن Directory Listing، محافظت از فایل های حساس، جلوگیری از اجرای PHP در پوشه Uploads، محدود کردن دسترسی به بخش مدیریت و استفاده از هدرهای امنیتی، می توانید بخش قابل توجهی از حملات رایج را در همان لایه وب سرور متوقف کنید.

البته باید توجه داشت که امنیت تنها به .htaccess محدود نمی شود. به روز نگه داشتن وردپرس، قالب ها و افزونه ها، استفاده از نسخه های جدید PHP، انتخاب هاست امن و تهیه نسخه پشتیبان منظم، در کنار این تنظیمات، یک راهکار کامل برای محافظت از وب سایت ایجاد می کند.

سوالات متداول

آیا فایل .htaccess روی همه هاست ها وجود دارد؟

خیر. این فایل مخصوص وب سرورهای Apache و LiteSpeed است و در سرورهای Nginx از فایل های پیکربندی متفاوتی استفاده می شود.

آیا ویرایش .htaccess ممکن است باعث از کار افتادن سایت شود؟

بله. وجود حتی یک خطای کوچک در این فایل می تواند باعث بروز خطای 500 شود. بنابراین همیشه قبل از ویرایش، نسخه پشتیبان تهیه کنید.

آیا افزونه های امنیتی جایگزین قوانین .htaccess هستند؟

خیر. قوانین .htaccess در سطح وب سرور اجرا می شوند و می توانند بسیاری از درخواست های مخرب را قبل از اجرای وردپرس متوقف کنند.

آیا جلوگیری از اجرای PHP در پوشه Uploads ضروری است؟

در اکثر وب سایت های وردپرسی بله. این کار یکی از موثرترین روش ها برای جلوگیری از اجرای فایل های مخرب بارگذاری شده توسط مهاجمان است.

آیا این تنظیمات باعث افزایش سرعت سایت نیز می شوند؟

برخی قوانین مانند ریدایرکت صحیح HTTPS و جلوگیری از پردازش درخواست های غیرضروری می توانند فشار روی سرور را کاهش دهند، اما هدف اصلی آن ها افزایش امنیت است.

اشتراک‌گذاری:
تیم تولید محتوا
نویسنده

تیم تولید محتوا

ما توی میزبان پک جدیدترین آموزش ها و راهکارهای وب و هاستینگ را آماده میکنیم تا با خیال راحت سایتت را رشد بدی

دیدگاه‌ها

0 دیدگاه
اولین نفری باشید که دیدگاه می‌گذارید.
×