حفاظت از سایت‌های وردپرسی با استفاده از فایل htaccess.

نویسنده : سید ایوب کوکبی ۱ بهمن ۱۳۹۶

حفاظت از سایت‌های وردپرسی با استفاده از فایل htaccess.

وردپرس – پراستفاده‌ترین سیستم مدیریت محتوا در قلمرو اینترنت – به خاطر شهرتش، طعمه لذیذی برای هکرها است. یکی از مهمترین فایل‌ها که برای مقاصد امنیتی در هر وب‌سایت از آن استفاده می‌شود فایل htaccess. است. شما با استفاده از این فایل کارهای زیادی می‌توانید انجام دهید. مثلا یکی از رایج‌ترین کاربردهای این فایل محدود کردن دسترسی به قسمتهای مختلف سایت است. با قرار دادن این فایل در هر یک فولدرهای سایت می‌توان رفتار آن فولدر را تغییر داد.

حفاظت از سایت‌های وردپرسی با استفاده از فایل Htaccess.

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

اقدامات احتیاطی:

همانطور که مطلع هستید، htaccess. اتاق کنترل وب‌سایت شماست. بنابراین حتی کوچکترین اشتباهی (در حد فراموش کردن یک نقطه) می‌تواند باعث خراب شدن سایت شود. با این حساب عاقلانه است که پیش از اعمال تغییرات، یک نسخه بکاپ از آن تهیه کرده و در مکانی امن نگه‌داری کنید. خب شروع کنیم! به صورت پیش‌فرض هر هاستی در فولدر ریشه سایت یک فایل htaccess. قرار داده است. اگر این فایل وجود نداشت خودتان می‌توانید با نت‌پد آن را ایجاد کنید. فقط در هنگام نام‌گذاری فایل دقت کنید که دقیقا «htaccess.» باشد (نقطه ابتدای فایل هم حتما وجود داشته باشد.) مطابق تصویر از بخش Save as type گزینه All Files را انتخاب کرده و Encoding هم همان ANSI باشد. حالا این فایل را ذخیره و در فولدر ریشه سایت آپلود کنید (ترجیحا از طریق FTP)

ذخیره فایل .htaccess با استفاده از نت پد

۱- حفاظت از فایل htaccess.

قبل از اینکه بخواهیم از این فایل برای افزایش امنیت سایت استفاده کنیم ابتدا باید از خود آن در مقابل دسترسی غیرمجاز حفاظت کنیم. با استفاده از قطعه کد زیر می‌توانید جلوی دسترسی کاربران غیرمجاز را بگیرید؛ اما هر وقت بخواهید می‌توانید از طریق اف.تی.پی یا ویرایشگر هاست اقدام به تغییر دادن این فایل کنید. لطفا به دقت کدهای پایین را در داخل فایل htaccess. کپی کنید.

بخوانید  کسب و کار شما به سایت احتیاج دارد

<files ~ “^.*\.([Hh][Tt][Aa])”>
order allow,deny
deny from all
satisfy all
</files>

 

۲- محافظت از فایل wp-config.php

در وردپرس این فایل از اهمیت ویژه‌ای برخوردار است چرا که حاوی اطلاعات مهمی مانند یوزرنیم و پسورد دیتابیس و سایر اطلاعات راهبردی برای پیکربندی وردپرس است بنابراین حفاظت از این فایل نیز بسیار ضروری است. برای این کار کدهای پایین را به فایل htaccess. اضافه کنید:

<files wp-config.php>
order allow,deny
deny from all
</files>

۳- حفاظت از پوشه /wp-content/

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

Order deny,allow
Deny from all
<Files ~ “.(xml|css|jpe?g|png|gif|js)$”>
Allow from all
</Files>

اکنون این فایل را به پوشه «www.yourwebsite.com/wp-contents» آپلود کنید تا کدهای نوشته شده تنها بر روی فولدر wp-contents اعمال شود. کدهای فوق باعث می‌شوند تا تنها آپلود کردن فایلهای مدیا شامل XML, CSS, JPG, JPEG, PNG, Gif و جاوا اسکریپت امکان‌پذیر باشد و سایر انواع فایل مجاز به آپلود در این فولدر نباشند.

 

۴- حفاظت از فایل‌های Include-Only

قسمتهایی در وردپرس هست که به هیچ عنوان نباید در دسترس کاربران و بازدیدکنندگان عادی قرار بگیرد بنابراین بهتر است جلوی دسترسی به این فایلها کاملا گرفته شود. برای این کار از کدهای زیر در htaccess. استفاده کنید:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^wp-admin/includes/ — [F,L]
RewriteRule !^wp-includes/ — [S=3]
RewriteRule ^wp-includes/[^/]+\.php$ — [F,L]
RewriteRule ^wp-includes/js/tinymce/langs/.+\.php — [F,L]
RewriteRule ^wp-includes/theme-compat/ — [F,L]
</IfModule>

 

۵- محدود کردن دسترسی به پنل ادمین وردپرس

کسی دوست ندارد کاربران عادی و غیرمجاز به پنل ادمین سایت دسترسی پیدا کند. هکرها معمولا از این نقطه ضعف جهت نفوذ و خرابکاری استفاده می‌کنند. اگر فردی بتواند به پنل ادمین دسترسی پیدا کند تقریبا هر بلایی می‌تواند سر سایت شما بیاورد. برای جلوگیری از این اتفاق تلخ بهتر است دسترسی به پنل ادمین را تنها منحصر به یک IP خاص کنید. برای این کار یک فایل htaccess. دیگر با محتوای پایین ایجاد کرده و آن را در مسیر «www.yourwebsite.com/wp-admin» آپلود کنید.

بخوانید  درون ریزی و برون بری کاربران در وردپرس

# Limit logins and admin by IP
<Limit GET POST PUT>
order deny,allow
deny from all
allow from 12.34.56.78
</Limit>

در این حالت اگر فردی با IP دیگری قصد باز کردن مسیر ادمین را داشته باشد با این خطا مواجه می‌شود:

خطایی که در اثر مسدود کردن فولدر ادمین به بازدیدکننده نمایش داده می‌شود

فراموش نکنید که در کدهای بالا به جای آی.پی ۱۲٫۳۴٫۵۶٫۷۸ از آی.پی خودتان استفاده کنید. برای اینکه بفهمید IP شما چیست، بدون VPN به سایت What is my ip مراجعه کنید. ضمنا اگر سایت شما چندین مدیر دارد می‌توانید چند IP مختلف را با ویرگول جدا کرده و به فایل اضافه کنید؛ به این صورت:

allow from 12.34.56.78, 98.76.54.32, 19.82.73.64

نکته: این روش فقط برای IPهای استاتیک جواب می‌دهد و برای آی.پی‌ های داینامیک کاربرد چندانی ندارد.

 

۶- بلاک کردن یک IP مشخص

اگر متوجه شده‌اید که شخصی با IP مشخصی به صورت پی‌درپی برای سایت شما مزاحمت ایجاد می‌کند، مثلا اسپم ارسال می‌کند و یا به صورت مداوم در حالت تلاش برای هک کردن سایت است، می‌توانید با بلاک کردن IP آن شخص دسترسی او را برای همیشه بر روی سایت خود ببندید. برای این کار با جایگزین کردن IP مورد نظر در داخل کدهای پایین و کپی این کد در داخل فایل htaccess. قادر به بلاک کردن کاربر خواهید بود:

<Limit GET POST>
order allow,deny
deny from 123.456.78.9
allow from all
</Limit>

بعد از این کار اگر این آی.پی از سایت شما بازدید کند با صفحه زیر مواجه می‌شود:

صفحه ای که در هنگام مسدود کردن یک آی پی مشخص به کاربر نمایش داده میشود

 

۷- غیرفعال کردن پیمایش فولدرها

دسترسی غیرمجاز به لیست فایل‌ها و فولدرهای سایت می‌تواند ریسک امنیتی به دنبال داشته باشد؛ بنابراین بهتر است با کدهای پایین قابلیت پیمایش فایل‌ها و فولدرها را غیر فعال کنید.

بخوانید  ابزارک اینستاگرام برای وردپرس

# disable directory browsing
Options All -Indexes

 

۸- ریدایرکت کردن یک URL

خطای ۳۰۱ به موتورهای جستجو اعلام می‌کند که آدرسی که قصد بازدید از آن را دارد به صورت دائم به جای دیگری منتقل شده است. بنابراین اگر دامنه خود را عوض کرده‌اید یا ساختار و مسیر صفحات قبلی را تغییر داده‌اید با استفاده از ریدایرکت ۳۰۱ می‌توانید موتورهای جستجو را در جریان مهاجرت خود قرار دهید. شما می‌توانید این کار را برای فولدر، صفحه یا حتی کل سایت انجام دهید. برای این کار بایستی از فایل htaccess. استفاده کنید. مثلا چند نمونه ریدایرکت را می‌توانید در کدهای پایین مشاهده کنید:

Redirect 301 /oldpage.html http://www.yourwebsite.com/newpage.html
Redirect 301 /oldfolder/page2.html /folder3/page7.html
Redirect 301 / http://www.mynewwebsite.com/

اولین قدم برای ایمن کردن سایت وردپرسی هاست شماست. سعی کنید از هاستینگ‌های معتبر و شناخته شده استفاده کنید. امنیت سایت خود را به خاطر ارزان بودن یک هاست به خطر نیندازید. مرحله بعدی برای ایمن‌سازی سایت استفاده از افزونه‌های امنیتی قدرتمندی است که برای وردپرس توسعه داده شده‌اند. مشهورترین این افزونه‌ها عبارتند از:

  1. Wordfence
  2. iThemes Security
  3. Sucuri Security
  4. All In One WP Security & Firewall

نکته: هیچگاه از چند افزونه همزمان در یک موضوع کاری (مثلا امنیت، کش، بهینه‌سازی و غیره) در وردپرس استفاده نکنید تا با مشکل تداخل و کاهش سرعت و راندمان سایت مواجه نشوید.

امیدواریم از تکنیک‌های بیان شده نهایت استفاده را برای امنیت وب‌سایت وردپرسی خود ببرید. اگر شما هم ترفند یا نکته‌ای دارید خوشحال می‌شویم در بخش نظرات این پست، با ما در میان بگذارید.

سید ایوب کوکبی

نویسنده و مترجم...

0 دیدگاه

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *