چگونه از حملات تزریق SQL وردپرس جلوگیری کنیم (7 نکته)
چگونه از حملات تزریق SQL وردپرس جلوگیری کنیم (7 نکته)
آیا می خواهید از حملات تزریق SQL وردپرس جلوگیری کنید؟
تزریق SQL یک آسیب پذیری امنیتی است که هکرها می توانند از آن برای حمله به پایگاه داده وب سایت شما استفاده کنند. پس از انجام این کار، مهاجم میتواند دادههای حساس شما را بخواند، آنها را اصلاح کند و کنترل کل پایگاه داده شما را در دست بگیرد.
در این مقاله، گام به گام چند نکته کاربردی برای جلوگیری از حملات تزریق SQL در وردپرس به اشتراک خواهیم گذاشت.
چرا از حملات تزریق SQL وردپرس جلوگیری کنیم؟
SQL مخفف Structured Query Language است که یک زبان برنامه نویسی است که با سایت وردپرس. بدون این ویژگی، سایت شما نمی تواند محتوای پویا تولید کند.
با این حال، ورودی غیرمجاز کاربر، نرمافزار قدیمی، یا افشای اطلاعات حساس میتواند آسیبپذیری امنیتی ایجاد کند و انجام حملات تزریق SQL را برای هکرها آسان کند.
این حمله سرور پایگاه داده شما را هدف قرار می دهد و کد یا عبارات مخرب را به SQL شما اضافه می کند. پس از انجام این کار، هکرها می توانند از اطلاعات حساس ذخیره شده در پایگاه داده شما مانند داده های کاربر برای سرقت هویت، تصاحب حساب، کلاهبرداری مالی و موارد دیگر استفاده کنند.
آنها همچنین می توانند ورودی های پایگاه داده یا مجوز حساب را تغییر دهند و حملات DDOS، بازدید از وب سایت شما را برای کاربران واقعی دشوار می کند.
این می تواند به اعتماد مشتری آسیب برساند، بر تجربه کاربر تأثیر منفی بگذارد و ترافیک وب سایت شما را کاهش دهد که برای رشد کسب و کار کوچک.
با گفتن این موضوع، اجازه دهید نگاهی به چند نکته کاربردی بیندازیم که می تواند از حملات تزریق SQL در وردپرس جلوگیری کند.
توجه: قبل از ایجاد هرگونه تغییر در پایگاه داده خود برای اقدامات پیشگیرانه، توصیه می کنیم یک نسخه پشتیبان برای آن ایجاد کنید. به این ترتیب، اگر مشکلی پیش آمد، می توانید از نسخه پشتیبان برای رفع آن استفاده کنید. برای جزئیات، به آموزش ما در نحوه تهیه نسخه پشتیبان از پایگاه داده وردپرس به صورت دستی.
1. بهروزرسانیهای سایت را به طور منظم انجام دهید و از فایروال استفاده کنید
یک راه موثر برای جلوگیری از حملات تزریق SQL، به روز رسانی منظم سایت وردپرس خود به آخرین نسخه است. این بهروزرسانیها اغلب آسیبپذیریهای امنیتی، از جمله مشکلات نرمافزار پایگاه داده را برطرف میکنند و حمله هکرها به سایت شما را دشوار میکنند.
اگر از نسخه قدیمی وردپرس استفاده می کنید، فعال کردن به روز رسانی خودکار برای آخرین نسخه با مراجعه به صفحه داشبورد » به روز رسانی ها.
در اینجا، به سادگی روی پیوند «فعال کردن بهروزرسانیهای خودکار برای همه نسخههای جدید وردپرس» کلیک کنید. اکنون همه بهروزرسانیهای اصلی پس از انتشار در سایت شما نصب میشوند.
برای اطلاعات بیشتر، ممکن است دوست داشته باشید راهنمای مبتدیان ما را در نحوه به روز رسانی ایمن وردپرس.
پس از انجام این کار، میتوانید برای امنیت بیشتر یک فایروال نیز اضافه کنید. این ویژگی به عنوان یک سپر بین سایت شما و ترافیک ورودی عمل می کند و تهدیدات امنیتی رایج از جمله حملات SQL را قبل از رسیدن به وب سایت شما مسدود می کند.
برای این عملکرد، Sucuri، که بهترین نرم افزار فایروال وردپرس است در بازار این یک فایروال در سطح برنامه، پیشگیری از brute force، و همچنین خدمات حذف بدافزار و لیست سیاه ارائه می دهد که آن را به یک انتخاب عالی تبدیل می کند.
بهعلاوه، این ابزار به ما کمک کرد حدود 450000 حمله وردپرس در گذشته در وب سایت ما مسدود شود.
برای جزئیات بیشتر، راهنمای امنیتی وردپرس.
2. نسخه وردپرس خود را مخفی کنید
به طور پیش فرض، وردپرس شماره نسخه فعلی نرم افزاری را که در وب سایت خود استفاده می کنید نمایش می دهد. به عنوان مثال، اگر از وردپرس 6.4، سپس این نسخه برای پیگیری در سایت شما نمایش داده می شود.
با این حال، مشاهده عمومی شماره نسخه شما میتواند باعث تهدیدات امنیتی شود و انجام حملات تزریق SQL وردپرس را برای هکرها آسانتر کند.
این به این دلیل است که هر نسخه از وردپرس دارای آسیب پذیری های منحصر به فرد خود است که مهاجمان می توانند پس از کشف نسخه شما از آنها سوء استفاده کنند. این به آنها اجازه می دهد تا قطعه کدهای مخرب را از طریق فیلدهای ورودی آسیب پذیر به سایت شما اضافه کنند.
با افزودن قطعه کد زیر به functions.php.
add_filter('the_generator', '__return_empty_string');
وقتی این کار را انجام دادید، هکرها نمیتوانند شماره نسخه وردپرس شما را از طریق اسکنرهای خودکار یا هر روش دیگری پیدا کنند.
توجه: به خاطر داشته باشید که یک خطای جزئی در هنگام افزودن کد می تواند وب سایت شما را غیر قابل دسترس کند. به همین دلیل است که WPCode را توصیه می کنیم. این بهترین افزونه قطعه کد است که اضافه کردن کد سفارشی به سایت شما را بسیار ایمن و آسان می کند.
برای جزئیات بیشتر، به آموزش ما در روش صحیح حذف شماره نسخه وردپرس.
3. پیشوند پایگاه داده وردپرس
را تغییر دهید
بهطور پیشفرض، وردپرس پیشوند wp_ را به همه فایلهای پایگاه داده شما اضافه میکند که به هکرها کمک میکند با هدف قرار دادن پیشوند، حمله را برنامهریزی کنند.
ساده ترین راه برای جلوگیری از حملات تزریق SQL این است که پیشوند پایگاه داده پیش فرض را با چیزی منحصر به فرد تغییر دهید که هکرها نتوانند حدس بزنند.
این کار را به راحتی می توانید با وب سایت خود را با استفاده از FTP متصل کنید. پس از آن، فایل wp-config.php را باز کنید و تغییر خط $table_prefix
را پیدا کنید. سپس، میتوانید آن را از حالت پیشفرض wp_
به چیزی شبیه به این تغییر دهید: wp_a123456_
.
$table_prefix = 'wp_a123456_';
در مرحله بعد، باید از cPanel حساب میزبانی وب خود بازدید کنید. برای این آموزش، ما از Bluehost استفاده خواهیم کرد. با این حال، cPanel شما بسته به شرکت میزبانی وب شما ممکن است کمی متفاوت به نظر برسد.
در اینجا، به برگه «پیشرفته» بروید و روی دکمه «مدیریت» در کنار بخش «PHPMyAdmin» کلیک کنید.
این صفحه جدیدی را باز می کند که در آن باید نام پایگاه داده خود را از ستون سمت چپ انتخاب کنید و از بالا به برگه “SQL” بروید.
پس از آن، می توانید پرس و جوی SQL زیر را به کادر متن اضافه کنید.
فقط به خاطر داشته باشید که پیشوند پایگاه داده را به پیشوندی که هنگام ویرایش فایل wp-config.php انتخاب کرده اید، تغییر دهید.
تغییر نام جدول «wp_comments» به «wp_a123456_comments».
تغییر نام جدول «wp_links» به «wp_a123456_links».
تغییر نام جدول «wp_options» به «wp_a123456_options».
تغییر نام جدول «wp_postmeta» به «wp_a123456_postmeta».
RENAME جدول «wp_RENAME جدول «wp_commentmeta» به «wp_a123456_commentmeta»؛
ارسالها به «wp_a123456_posts».
تغییر نام جدول «wp_terms» به «wp_a123456_terms».
تغییر نام جدول «wp_termmeta» به «wp_a123456_termmeta».
تغییر نام جدول «wp_term_relationships» به «wp_a123456_term_relationships».
تغییر نام جدول «wp_term_taxonomy» به «wp_a123456_term_taxonomy».
تغییر نام جدول «wp_usermeta» به «wp_a123456_usermeta».
تغییر نام جدول «wp_users» به «wp_a123456_users».
برای دستورالعملهای بیشتر، میتوانید آموزش ما را در نحوه تغییر پیشوند پایگاه داده وردپرس برای بهبود امنیت.
4. اعتبارسنجی داده های کاربر
هکرها معمولاً با استفاده از فیلدهایی که برای وارد کردن دادههای کاربر مانند بخش های نظر یا فیلدهای فرم در فرم های تماس.
به همین دلیل مهم است که تمام دادههایی را که در وبلاگ وردپرس. این بدان معنی است که اگر از قالب خاصی پیروی نکند، داده های کاربر در سایت شما ارسال نمی شود.
برای مثال، اگر فیلد آدرس ایمیل نماد «@» را نداشته باشد، کاربر نمیتواند فرم خود را ارسال کند. با افزودن این اعتبارسنجی به اکثر فیلدهای فرم خود، می توانید از حملات تزریق SQL جلوگیری کنید.
برای انجام این کار، به نیاز دارید Formidable Forms که یک افزونه فرم ساز پیشرفته است. این دارای یک گزینه “Input Mask Format” است که در آن می توانید قالبی را اضافه کنید که کاربران برای ارسال داده های فیلد فرم باید از آن پیروی کنند.
می توانید یک قالب خاص برای شماره تلفن یا فیلدهای متنی تکی اضافه کنید.
اگر نمی خواهید فیلدهای فرم خود را تأیید کنید، WPForms زیرا بهترین افزونه فرم تماس که با محافظت کامل از هرزنامه و پشتیبانی Google reCAPTCHA ارائه میشود.
همچنین میتوانید منوهای کشویی و کادرهای تأیید را در فرمهای خود با آن اضافه کنید. این کار اضافه کردن داده های مخرب را برای هکرها دشوار می کند.
برای جزئیات بیشتر، به آموزش ما در عنوان چگونه یک فرم تماس امن در WordPress ایجاد کنیم.
5. دسترسی و مجوزهای نقش کاربر را محدود کنید
یک نکته دیگر برای جلوگیری از حملات تزریق SQL وردپرس محدود کردن دسترسی کاربر به وب سایت شما است.
به عنوان مثال، اگر یک وبلاگ چند نویسنده، سپس نویسندگان مختلفی به همراه مشترکین و مدیران خواهید داشت. در این صورت، میتوانید امنیت سایت را با محدود کردن دسترسی کامل سرپرست فقط به سرپرست بهبود ببخشید.
میتوانید همه نقشهای کاربر دیگر را به عملکردهای خاصی که برای انجام کارشان نیاز دارند محدود کنید. این کار دسترسی کاربر به پایگاه داده شما را کاهش می دهد و از حملات تزریق SQL جلوگیری می کند.
می توانید این کار را با عنوان Remove Dashboard Access. پس از فعالسازی، به سادگی از صفحه تنظیمات » دسترسی به داشبورد دیدن کنید، جایی که میتوانید نقشهای کاربری را تعیین کنید به داشبورد دسترسی پیدا کنید.
اگر می خواهید کاربران را بسته به توانایی آنها محدود کنید، می توانید آموزش ما را در نحوه افزودن یا حذف قابلیت ها از نقش های کاربر در WordPress.
به طور مشابه، همچنین میتوانید نویسندگان را به پستهای خودشان در ناحیه مدیریت خود برای امنیت بیشتر محدود کنید.
6. پیام های خطای پایگاه داده سفارشی
ایجاد کنید
گاهی اوقات ممکن است کاربران شما با خطای پایگاه داده در وب سایت شما، که می تواند اطلاعات مهمی را در مورد پایگاه داده شما نمایش دهد و آن را در برابر حملات تزریق SQL آسیب پذیر کند.
در این صورت، توصیه میکنیم یک پیام خطای پایگاه داده سفارشی ایجاد کنید که در صورت مواجهه با این خطای رایج. برای انجام این کار، باید محتوای زیر را کپی کرده و در یک برنامه دفترچه یادداشت پیست کنید و فایل را بهعنوان «db-error.php» ذخیره کنید.
<سر>
خطای پایگاه داده
<سبک>
body { padding: 20px; پس زمینه: قرمز؛ رنگ سفید؛ اندازه فونت: 60px; }
<بدن>
شما مشکلاتی دارید