مسدود کردن درخواستهای مخرب در وردپرس با BBQ Firewall
- امنیت وردپرسافزونه وردپرس
- بروزرسانی شده در

درخواستهای مخرب همیشه شبیه یک تلاش واضح برای ورود به سایت نیستن. گاهی یک ربات، آدرسی پر از کد و عبارتهای مشکوک رو باز میکنه. گاهی هم اطلاعات دستکاریشدهای رو برای یکی از فرمهای سایت میفرسته. افزونه رایگان BBQ Firewall این درخواستها رو با قانونهای آماده خودش بررسی میکنه و موارد مشکوک رو پیش از پردازش عادی مسدود میکنه.
توی این آموزش، نصب و راهاندازی افزونه رو از صفر جلو میبریم، روش آزمایشش رو یاد میگیریم و میبینیم دقیقا چه کاری انجام میده. همین اول یادتون باشه که BBQ Firewall یک فایروال سبک و فقط یکی از لایههای امنیت سایتتونه؛ پس جای بهروزرسانی، رمز قوی، نسخه پشتیبان و امکانات امنیتی هاست رو نمیگیره.
آنچه در این مقاله میخوانید
افزونه BBQ Firewall چیه و چطور کار میکنه
فایروال یا دیوار آتش، درخواستهایی رو که به سایت میرسن زیر نظر میگیره. BBQ Firewall هم هر درخواست ورودی رو با مجموعهای از الگوهای امنیتی مقایسه میکنه. اگه درخواست با یکی از الگوهای مخرب افزونه جور باشه، اجازه نمیده وردپرس اون رو بهشکل عادی پردازش کنه.
برای شروع لازم نیست خودتون قانون امنیتی بسازید. قانونها از قبل داخل افزونه هستن و بهمحض فعالسازی وارد عمل میشن. برای همین، اگه تازه سایت وردپرسیتون رو راه انداختید و نمیخواید درگیر تنظیمات پیچیده بشید، کار با این افزونه براتون سادهست.
BBQ مخفف چه عبارتیه
BBQ مخفف Block Bad Queries و به معنی «مسدود کردن درخواستهای بد» هست. نام افزونه در مخزن رسمی وردپرس با عنوان BBQ Firewall نمایش داده میشه، ولی شناسه اون همچنان block-bad-queries هست. بررسی این شناسه کمکتون میکنه موقع جستوجو، افزونه اصلی رو با نمونههای مشابه اشتباه نگیرید.
این افزونه چه درخواستهایی رو بررسی میکنه
هر بار که کسی صفحهای رو باز میکنه، فرمی رو میفرسته یا نرمافزاری با سایتتون ارتباط میگیره، یک درخواست به سرور میرسه. BBQ Firewall بخشهایی از این درخواست رو بررسی میکنه و دنبال نشونههایی مثل عبارتهای کدنویسی مشکوک، دادههای غیرعادی، رشتههای خیلی طولانی و بعضی رباتها یا ارجاعدهندههای بد میگرده.
این افزونه فقط آدرس صفحه رو نگاه نمیکنه. درخواستهای GET، POST، PUT و DELETE هم توی محدوده بررسی اون هستن. GET معمولا برای دریافت یک صفحه به کار میره و POST بیشتر برای فرستادن اطلاعات فرم استفاده میشه. PUT و DELETE هم روشهای دیگه کار با اطلاعات هستن که بیشتر موقع ارتباط سایت با نرمافزارهای دیگه دیده میشن.
آیا خود وردپرس درخواستهای مخرب رو مسدود میکنه
هسته وردپرس چند لایه امنیتی داخلی داره، ولی توی پیشخوان یک فایروال عمومی شبیه BBQ Firewall در اختیارتون نمیذاره. پس نصب افزونه برای اضافه کردن این نوع بررسی درخواستها هنوز کاربردیه. البته ممکنه شرکت هاستینگتون هم فایروال سرور یا سرویس امنیتی جداگانهای داشته باشه.
قابلیتهای امنیتی هسته وردپرس
وردپرس موقع پردازش اطلاعات، سطح دسترسی کاربران، نشستهای ورود و بعضی دادههای ورودی رو کنترل میکنه. بهروزرسانیهای امنیتی هسته هم ایرادهای شناختهشده رو برطرف میکنن. ولی امنیت نهایی سایت فقط به هسته وردپرس وابسته نیست؛ کیفیت قالب، افزونه، هاست و رمزهای ورود هم نقش مهمی دارن.
اگه میخواید این موضوع رو بهتر بشناسید، مقاله آیا وردپرس امن هست تصویر روشنتری از امنیت هسته و مسئولیت مدیر سایت بهتون میده.
چرا به یک فایروال جدا نیاز پیدا میکنید
یک فایروال جدا میتونه بعضی درخواستهای مشکوک رو زودتر متوقف کنه. به این شکل، احتمال رسیدن داده مخرب به بخشهای دیگه سایت کمتر میشه و بعضی درخواستهای بیفایده هم پردازش نمیشن. BBQ Firewall همین کار محدود و مشخص رو بدون داشبورد شلوغ یا تنظیمات تخصصی انجام میده.
ولی هیچ فایروالی همه حملهها رو تشخیص نمیده. مثلا اگه مهاجم رمز واقعی مدیر رو داشته باشه یا یکی از افزونهها ایراد امنیتی ناشناختهای داشته باشه، قانونهای BBQ لزوما جلوی اون رو نمیگیرن. پس بهتره این افزونه رو بخشی از یک برنامه امنیتی چندلایه بدونید.
نصب افزونه رایگان BBQ Firewall
توی این آموزش فقط نسخه رایگان افزونه رو از مخزن رسمی وردپرس نصب میکنیم. برای شروع کار با این نسخه لازم نیست هزینهای پرداخت کنید یا توی سایت دیگهای حساب بسازید.
پیشنیازهای نصب افزونه
قبل از نصب، مطمئن بشید به یک حساب مدیر وردپرس دسترسی دارید. بهتره وردپرس، قالب و افزونههای فعال رو هم بهروز کنید و یک نسخه پشتیبان تازه داشته باشید. اگه بعد از هر تغییر مهم مشکلی پیش بیاد، این پشتیبان کمکتون میکنه سایت رو به وضعیت سالم برگردونید.
اگه سایت فروشگاهی یا عضویتمحور دارید، افزونه رو زمانی نصب کنید که برای آزمایش ورود، ثبتنام، فرمها و خرید آزمایشی وقت داشته باشید. فعالسازی افزونه معمولا سادهست، ولی با بررسی این بخشها میتونید هر تداخل احتمالی رو زودتر پیدا کنید.
پیدا کردن نسخه درست در مخزن وردپرس
وارد پیشخوان بشید و از منوی «افزونهها» روی «افزودن افزونه تازه» بزنید. داخل کادر جستوجو عبارت BBQ Firewall رو بنویسید. قبل از نصب، نام افزونه و شناسه block-bad-queries رو بررسی کنید تا افزونه مشابهی رو اشتباهی نصب نکنید.
بهتره اطلاعات همون صفحه، مثل سازگاری افزونه با نسخه وردپرس سایتتون و توضیحات توسعهدهنده رو هم بخونید. این جزئیات ممکنه با انتشار نسخههای جدید عوض بشن، پس صفحه مخزن رسمی بهترین جا برای بررسی وضعیت فعلی افزونهست.
نصب و فعالسازی قدمبهقدم افزونه
- از پیشخوان وردپرس وارد «افزونهها» و بعد «افزودن افزونه تازه» بشید.
- عبارت
BBQ Firewallرو داخل کادر جستوجو وارد کنید. - افزونه درست رو پیدا کنید و روی دکمه «هماکنون نصب نمایید» بزنید.
- بعد از تموم شدن نصب، روی دکمه «فعال نمایید» بزنید.
- صفحه افزونههای نصبشده رو باز کنید و مطمئن بشید BBQ Firewall فعاله.

بعد از فعالسازی لازم نیست قانونی بنویسید یا کدی به فایلهای سایت اضافه کنید. افزونه با قانونهای آماده خودش بررسی درخواستها رو شروع میکنه.
راهاندازی BBQ Firewall بعد از فعالسازی
راهاندازی نسخه رایگان بیشتر به این معنیه که از فعال بودن افزونه مطمئن بشید و بخشهای مهم سایت رو آزمایش کنید. چون قانون قابلویرایشی در اختیارتون نیست، نیازی ندارید معنی تکتک الگوهای امنیتی رو بدونید.
چرا نسخه رایگان به تنظیمات اولیه نیاز نداره
قانونهای مسدودسازی از قبل داخل نسخه رایگان تعریف شدن. افزونه بعد از فعال شدن، درخواستها رو با همین قانونها مقایسه میکنه. این روش احتمال تنظیم اشتباه رو برای کاربران تازهکار کمتر میکنه؛ ولی از طرف دیگه، امکان تغییر جزئی قانونها رو هم بهتون نمیده.
پس اگه داخل پیشخوان با صفحهای پر از گزینههای قابلتغییر روبهرو نشدید، نگران نباشید. ساده بودن بخش مدیریت، بخشی از روش کار نسخه رایگانه.
روش آزمایش فایروال با Test Firewall
افزونه گزینهای با عنوان Test Firewall داره که یک درخواست آزمایشی میسازه. این درخواست طوری طراحی شده که قانونهای BBQ اون رو مشکوک بدونن. برای استفاده از این گزینه، صفحه افزونههای نصبشده یا صفحه مربوط به BBQ Firewall رو باز کنید و روی لینک Test Firewall بزنید.

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

البته این نتیجه فقط عملکرد همین آزمایش رو تأیید میکنه و تضمینی برای محافظت سایت در برابر همه تهدیدها نیست.

بررسی فرمها، ورود کاربران و بخش خرید سایت
بعد از آزمایش فایروال، سایت رو درست مثل یک بازدیدکننده عادی بررسی کنید. فرم تماس رو بفرستید، وارد یک حساب آزمایشی بشید و اگه فروشگاه دارید، محصولی رو به سبد اضافه کنید و تا صفحه پرداخت جلو برید. اگه از فرم ثبتنام، جستوجوی سایت یا آپلود فایل استفاده میکنید، اونها رو هم آزمایش کنید.
اگه همهچیز مثل قبل کار کرد، افزونه رو فعال نگه دارید. ولی اگه یک درخواست سالم مسدود شد، زمان خطا، آدرس صفحه و کاری رو که انجام دادید یادداشت کنید. این اطلاعات برای پیدا کردن علت مشکل خیلی به دردتون میخورن.
نسخه رایگان BBQ Firewall چه چیزهایی رو مسدود میکنه
BBQ Firewall درخواستهایی رو مسدود میکنه که با الگوهای امنیتی تعریفشده داخل افزونه هماهنگ باشن. تشخیص افزونه بر پایه نشونههای داخل درخواست انجام میشه؛ یعنی قرار نیست هویت یا هدف واقعی هر بازدیدکننده رو با قطعیت تشخیص بده.
- درخواستهای مشکوک GET و POST: افزونه آدرسها و دادههای ارسالی بعضی فرمها رو بررسی میکنه تا الگوهای مخرب رو پیدا کنه.
- درخواستهای PUT و DELETE مخرب: وقتی این روشهای ارسال درخواست نشونههای مشکوکی داشته باشن، قانونهای افزونه اونها رو هم بررسی میکنن.
- رشتههای طولانی و الگوهای کدنویسی مشکوک: بعضی حملهها کد یا عبارتهای غیرعادی رو داخل آدرس و دادههای ارسالی میذارن. BBQ بخشی از این الگوها رو شناسایی میکنه.
- بعضی رباتها و ارجاعدهندههای مخرب: افزونه میتونه تعدادی از عاملهای کاربری و ارجاعدهندههای شناختهشده مشکوک رو مسدود کنه. ارجاعدهنده هم اطلاعاتی هست که نشون میده درخواست از چه صفحهای به سایت رسیده.
این فهرست به این معنی نیست که افزونه همه رباتها یا هر نوع کد مخربی رو مسدود میکنه. قانونهای افزونه محدوده مشخصی دارن و فقط درخواستهایی رو متوقف میکنن که با همون قانونها جور باشن.
مزایا و محدودیتهای BBQ Firewall
مزیت اصلی BBQ Firewall سادگی و تمرکز اون روی یک کار مشخصه. همین موضوع استفاده از افزونه رو راحت میکنه، ولی نباید از اون انتظار امکانات یک مجموعه امنیتی کامل رو داشته باشید.
مزایای افزونه برای کاربران تازهکار
- نسخه رایگان اون از مخزن رسمی وردپرس نصب میشه.
- بعد از فعالسازی به تنظیمات پیچیده نیاز نداره.
- برای استفاده معمول لازم نیست خودتون قانون فایروال بنویسید.
- گزینه Test Firewall کمکتون میکنه عملکرد پایه افزونه رو راحت آزمایش کنید.
- محیط مدیریت افزونه بهخاطر تمرکز روی یک کار مشخص، برای تازهکارها گیجکننده نیست.
تهدیدهایی که این افزونه بهتنهایی پوشش نمیده
BBQ Firewall اسکن بدافزار، تهیه نسخه پشتیبان، ترمیم فایل آلوده یا مدیریت رمزهای ورود رو انجام نمیده. اگه سایت از قبل آلوده شده باشه، نصب این افزونه بهتنهایی فایلهای مخرب رو پاک نمیکنه. توی چنین شرایطی باید از راهنمای پاکسازی سایت وردپرسی ویروسی کمک بگیرید یا با یک متخصص امنیت و پشتیبانی هاست در ارتباط باشید.
این افزونه توی همه شرایط جلوی حدس زدن رمز رو هم نمیگیره. برای کم کردن خطر تلاشهای ورود پیاپی، راهکارهای مقاله جلوگیری از حملات Brute Force در وردپرس رو اجرا کنید. Brute Force یعنی مهاجم تعداد زیادی رمز رو پشتسرهم امتحان میکنه تا بالاخره یکی از اونها درست از آب دربیاد.
تفاوت فایروال سبک با راهکار امنیتی کامل
فایروال سبک روی مسدود کردن مجموعه مشخصی از درخواستهای مشکوک تمرکز داره. یک راهکار امنیتی کامل ممکنه علاوه بر فایروال، ورود کاربران، تغییر فایلها، بدافزار، گزارش رویدادها و هشدارها رو هم بررسی کنه. امکانات هر راهکار با بقیه فرق داره، پس بهتره قبل از استفاده جزئیاتش رو بررسی کنید.
برای خیلی از سایتهای ساده، BBQ میتونه یکی از لایههای محافظتی باشه. اگه سایتتون فروشگاهیه، ترافیک زیادی داره یا اطلاعات حساسی نگه میداره، بهتره امکانات امنیتی هاست، نسخه پشتیبان خارج از سرور و پایش منظم سایت رو هم جدی بگیرید.
کارهای ضروری برای کاملتر کردن امنیت وردپرس
بعد از فعالسازی BBQ Firewall، این پنج کار رو هم انجام بدید. هرکدوم خطر متفاوتی رو کمتر میکنن و وقتی کنار هم باشن، نتیجه بهتری میدن.
- بهروزرسانی وردپرس، قالب و افزونهها: نسخههای جدید معمولا علاوه بر قابلیتهای تازه، اصلاحات امنیتی و رفع خطا هم دارن. قبل از بهروزرسانی مهم پشتیبان بگیرید و بعد از اون بخشهای اصلی سایت رو آزمایش کنید.
- انتخاب رمز قوی و محافظت از صفحه ورود: برای مدیر سایت یک رمز طولانی و منحصربهفرد بسازید. رمز حساب مدیر رو توی سایت دیگهای استفاده نکنید و دسترسی مدیریت رو فقط به افراد ضروری بدید.
- حذف قالبها و افزونههای بدون استفاده: غیرفعال بودن یک افزونه به معنی بیخطر بودن فایلهای اون نیست. مواردی رو که لازم ندارید کامل حذف کنید و فقط یک قالب پیشفرض سالم رو برای عیبیابی نگه دارید.
- گرفتن نسخه پشتیبان منظم و قابلبازیابی: پشتیبان باید هم فایلها و هم پایگاه داده رو پوشش بده. یک نسخه رو خارج از فضای اصلی هاست نگه دارید و پیش از روز دردسر، روش بازیابی اون رو یاد بگیرید.
- استفاده از امکانات امنیتی هاست در کنار افزونه: از پشتیبانی هاست درباره فایروال سرور، گواهی SSL، اسکن بدافزار، گزارش دسترسی و نسخه پشتیبان بپرسید. این امکانات میتونن لایههای بیشتری به محافظت سایتتون اضافه کنن.
برای بررسی دقیقتر تنظیمات بخش مدیریت هم میتونید راهنمای افزایش امنیت مدیریت وردپرس رو مرحلهبهمرحله دنبال کنید.
رفع مشکلات احتمالی بعد از فعالسازی BBQ Firewall
گاهی ممکنه یک درخواست سالم بهخاطر شباهت با الگوهای مشکوک مسدود بشه. به این اتفاق «مثبت کاذب» میگن؛ یعنی فایروال یک درخواست بیخطر رو اشتباهی خطرناک تشخیص داده. اگه چنین مشکلی دیدید، با چند آزمایش کنترلشده میتونید علتش رو پیدا کنید.
بررسی علت مسدود شدن یک درخواست سالم
اول مشخص کنید خطا دقیقا توی کدوم صفحه و بعد از انجام چه کاری دیده میشه. متن پیام، زمان رخ دادن مشکل، آدرس صفحه و اطلاعاتی رو که داخل فرم وارد کردید یادداشت کنید. اطلاعات حساس مثل رمز، شماره کارت یا کلید دسترسی رو توی یادداشت یا پیام پشتیبانی ننویسید.
بعد همون کار رو با داده سادهتر و توی یک مرورگر دیگه آزمایش کنید. اگه به گزارش دسترسی سرور دسترسی دارید، مقاله Access Log و کاربرد گزارش دسترسی سرور کمکتون میکنه درخواست مربوط به زمان خطا رو راحتتر پیدا کنید.
روش پیدا کردن تداخل با قالب یا افزونهها
قبل از عیبیابی یک نسخه پشتیبان بگیرید. بعد BBQ Firewall رو موقت غیرفعال کنید و همون درخواست رو دوباره بفرستید. اگه مشکل برطرف شد و بعد از فعالسازی دوباره برگشت، احتمال اینکه خطا به قانونهای BBQ مربوط باشه بیشتره.
اگه با غیرفعال کردن BBQ چیزی عوض نشد، مشکل احتمالا از بخش دیگهایه. توی سایت اصلی همه افزونهها رو یکباره غیرفعال نکنید، چون ممکنه فرمها، فروشگاه یا ورود کاربران از کار بیفته. بهتره آزمایش تداخل رو روی نسخه آزمایشی سایت انجام بدید یا از پشتیبانی هاست کمک بگیرید.
چه زمانی بهتره افزونه رو موقت غیرفعال کنید
اگه BBQ یک کار ضروری مثل ورود مدیر، ارسال فرم اصلی یا تکمیل خرید رو مسدود کرده و راه فوری دیگهای ندارید، میتونید افزونه رو موقت غیرفعال کنید. این کار فقط برای عیبیابیه. بعد از پیدا کردن علت، افزونه رو دوباره فعال کنید یا برای انتخاب راهکار مناسب از توسعهدهنده افزونه و پشتیبانی هاست کمک بگیرید.
اگه بهخاطر خطا به پیشخوان دسترسی ندارید، بدون آشنایی کافی فایلهای افزونه رو حذف یا ویرایش نکنید. پشتیبانی هاست میتونه گزارش خطا رو بررسی کنه، افزونه رو بهشکل کنترلشده غیرفعال کنه و جلوی آسیب ناخواسته به سایت رو بگیره.
جمعبندی؛ آیا BBQ Firewall برای سایت شما مناسبه
اگه یک فایروال رایگان و ساده میخواید که بعد از فعالسازی با قانونهای آماده کار کنه، BBQ Firewall گزینه مناسبی برای اضافه کردن یک لایه محافظتی سبکه. این افزونه انواع مختلفی از درخواستها رو بررسی میکنه و بعضی الگوهای مخرب، رباتهای بد و دادههای غیرعادی رو مسدود میکنه.
در عین حال، BBQ امنیت کامل سایت رو تأمین نمیکنه. وقتی نتیجه بهتری میگیرید که اون رو کنار بهروزرسانی منظم، رمز قوی، محافظت از ورود، پشتیبان قابلبازیابی و امکانات امنیتی هاست به کار ببرید. بعد از نصب هم Test Firewall و همه فرمها و مسیرهای مهم سایتتون رو حتما آزمایش کنید.
سؤالات متداول درباره BBQ Firewall
آیا افزونه BBQ Firewall رایگانه؟
بله، نسخهای که توی این آموزش نصب کردیم رایگانه و از مخزن رسمی وردپرس دریافت میشه. برای استفاده معمول از قانونهای آماده اون لازم نیست هزینهای پرداخت کنید.
آیا BBQ Firewall به تنظیمات خاصی نیاز داره؟
نه، نسخه رایگان بعد از فعالسازی با قانونهای آماده خودش کار میکنه. فقط بهتره Test Firewall و بخشهای مهم سایتتون مثل فرمها، ورود و خرید رو آزمایش کنید.
آیا خود وردپرس فایروال مشابهی داره؟
هسته وردپرس قابلیتهای امنیتی مختلفی داره، ولی یک فایروال عمومی شبیه BBQ Firewall رو توی پیشخوان در اختیارتون نمیذاره. برای این نوع بررسی باید از افزونه یا امکانات فایروال هاست و سرور کمک بگیرید.
آیا BBQ Firewall سرعت سایت رو کم میکنه؟
افزونه برای بررسی درخواستها طراحی شده، ولی اثر واقعی هر افزونه به هاست، ترافیک و ساختار سایتتون بستگی داره. بهتره سرعت و عملکرد سایت رو قبل و بعد از فعالسازی توی شرایط یکسان آزمایش کنید.
آیا این افزونه برای امنیت کامل سایت کافیه؟
نه، BBQ Firewall فقط یک لایه امنیتی سبکه. بهروزرسانی وردپرس، قالب و افزونهها، رمز قوی، محافظت از ورود، نسخه پشتیبان و امنیت هاست همچنان ضروری هستن.

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