امروزه افزایش امنیت وردپرس به یک موضوع داغ و چالش برانگیز برای مدیران سایتها تبدیل شده است. اما علت آن چیست؟ وردپرس محبوبترین سیستم مدیریت محتوا (CMS) است و بیش از 60% از وبسایتهایی که از یک سیستم مدیریت محتوای شناخته شده استفاده میکنند، یا به عبارتی دیگر نزدیک به 35% از کل وبسایتهای دنیا، از پلتفرم وردپرس استفاده میکنند.
محبوبیت سیستم وردپرس و استفادهی رو به افزایش آن باعث شده است تا این پلتفرم به یک هدف محبوب برای هکرها و اسپمرها تبدیل شود. هکرها ترجیح میدهند وقت خود را برای پلتفرمهایی که افراد کمی از آنها استفاده میکنند، صرف نکنند و با توجه به این که وردپرس نسبت به رقبای خود، از سهم بیشتری در دنیای اینترنت برخوردار است، طبیعی است که توجه هکرها را به خود جلب کند.
ممکن است برخی مدیران وبسایتها چنین تصور کنند که وبسایت آنها جذابیتی برای هکرها ندارد و متاسفانه تنها زمانی اهمیت امنیت در وردپرس را درک میکنند که وبسایت آنها هک شده باشد.
در ادامهی چک لیست کامل افزایش امنیت وردپرس، تکنیکهای امنیت وردپرس و جلوگیری از هک وردپرس را با شما درمیان میگذاریم. با ما همراه باشید.
چرا امنیت وردپرس بسیار مهم است؟
ممکن است بسیاری از صاحبان کسب و کارهای کوچک آنلاین تصور کنند که امکان ندارد وبسایت آنها در معرض خطر هکشدن قرار گیرد؛ زیرا آنها تجارت خود را به اندازهی کافی بزرگ نمیدانند که مورد حملهی هکرها واقع شود. هکرها به طور معمول اهمیتی نمیدهند که تجارت شما بزرگ است یا کوچک. آنها میتوانند به یکباره، در هر زمان و حتی بدون دلیل به چندین وبسایت حمله کنند و موجب از بین رفتن اعتماد مشتریان به کسبوکار آنلاین شما شوند.
آیا وردپرس امن است؟
بله. وردپرس که به عنوان یکی از کاربرپسندترین و پر استفادهترین سیستمهای مدیریت محتوا برای راهاندازی کسب و کارهای اینترنتی شناخته شده است، همواره در معرض بیشترین تهدیدات امنیتی قرار دارد. گزارشی که از تحقیقات Sucuri در سال 2019 منتشر شد، نشان داد که حدودا 94% از کل وبسایتهای هک شده از وردپرس استفاده میکنند.
اما این بدان معنا نیست که وردپرس یک بستر امن نیست و بالعکس، وردپرس بستری امن برای توسعهی کسب وکارهای اینترنتی است. وردرپرس در طی سالها و با بهرهگیری از متخصصان امنیت، بارها به روزرسانی شده و امروزه به یک پلتفرم امن تبدیل شده است که هککردن آن بسیار دشوارتر از گذشته است. با این وجود، جای نگرانی وجود ندارد و شما میتوانید با رعایت راهکارهایی که در ادامه این مقاله به شما معرفی میکنیم، از وبسایت و اطلاعات مشتریان خود حفاظت کنید.
چرا سایتهای وردپرسی هک میشوند؟
حال ممکن است این سوال پیش آید که چرا ممکن است فردی بخواهد به سایت شما حمله کند؛ به خصوص که اگر وبسایت شما ترافیک کمی داشته باشد؟
در واقع بسیاری از هکرها به دنبال سرقت دادههای شما یا حذف پروندههای مهم نیستند. آنچه که آنها خواهان آن هستند، استفاده از منابع سرور شما برای ارسال ایمیلهای اسپم است. آنها برنامههایی را روی سایت شما نصب میکنند که روزانه هزاران ایمیل اسپم ارسال میکنند و شما حتی آنها را نمیشناسید. برخی از هکرها نیز ممکن است با قراردادن قطعه کدهای مخرب در کدهای سایت شما، اقدام به استخراج بیتکوین از طریق مرورگر بازدیدکنندگان کنند.
با وجود اطمینان از امنیت وردپرس، این پلتفرم هنوز هم میتواند هک شود؛ البته به دلایلی مانند عدم انجام اقدامات امنیتی از سوی مدیران سایتها و نه به دلیل نا امن بودن این پلتفرم. هک شدن یک سایت وردپرسی میتواند به یکباره شهرت و اعتبار یک کسب و کار را از بین برده و منجر به ضررهای جبران ناپذیر مالی شود و گوگل نیز با حذف سایتهای هک شده از نتایج جستوجو، شرایط را برای بازگرداندن اعتبار یک کسب و کار و جلب اعتماد مجدد مشتریان سختتر میکند.
این دلایل برخی از دلایلی هستند که نشان میدهند مدیران کسب و کارهای اینترنتی باید ارتقاء امنیت سایت خود را در اولویت قرار دهند. در صورت عدم رعایت راهکارهای ایمنی و هک شدن وبسایت شما، هکرها میتواند دادههای محرمانهی کاربران را به سرقت برده، از منابع سرور شما برای ارسال ایمیلهای اسپم استفاده کند و یا با نصب بدافزارها و قرار دادن کدهای مخرب، از حضور کاربران در وبسایت شما سوء استفاده کند.
بالا بردن امنیت سایت وردپرس با بهروزرسانی هسته وردپرس، افزونهها و قالب ها
اطمینان حاصل کنید که همواره از جدیدترین نسخهی وردپرس و اجزای آن مانند قالب و افزونهها استفاده میکنید. این مورد ممکن است کمی واضح به نظر برسد، اما به روز نگه داشتن بستر و اجزای وبسایت شما برای ایمن نگه داشتن آن امری حیاتی است و در مورد سیستم عامل در حال اجرا روی سرور نیز صدق میکند. علت اهمیت بهروزرسانی و استفاده از جدیدترین نسخهها این است که هکرها در صورت یافتن حفرههای امنیتی در نسخههای قدیمی، سعی میکنند از آنها استفاده کنند. در صورتی که مدیریت شرکت هاستینگ شما بهروزرسانیها را به صورت خودکار انجام میدهد، نیازی نیست که درمورد اعمال بهروزرسانیهای منظم امنیتی سیستم عامل سرور نگران باشید.
بسیاری از توسعهدهندگان از ابزارهایی مانند NPM، Composer یا Ruby Gems استفاده میکنند تا بتوانند بدون نگرانی از بهروزرسانیهای امنیتی خودکار، آسیبپذیریها و وابستگیهای نرمافزاری خود را به آسانی در یک پکیج مدیریت کنند؛ زیرا این راهی آسان برای حل این مشکل است. علاوه بر این به دلیل این که اطمینان خاطر از بهروز بودن تمامی اجزا و نرمافزارها اهمیت بالایی دارد، میتوانید از ابزارهایی مانند Gemnasium برای ارسال اعلانهای خودکار، در هر زمان که در یکی از اجزای سایت شما آسیبپذیری پیدا شود، استفاده کنید.
انتخاب نام کاربری و رمز عبور مناسب برای مدیر سایت و تغییر آن از طریق دیتابیس
بدیهی است که رمزهای عبور پیچیده، امنیت بالاتری نسبت به رمزهای ساده دارند، اما بسیاری از افراد اهمیت این مورد را نادیده میگیرند. استفاده از کلمات عبور قوی برای سرور و داشبورد ادمین وب سایت شما بسیار مهم است. گرچه بسیاری از افراد دوست ندارند از اجرای الزامات رمز عبور قوی مانند استفاده از حداقل 8 کاراکتر که شامل یک عدد و حروف بزرگ باشد، پیروی کنند اما برای محافظت از دادههای سایت و اطلاعات کاربران، اصرار بر استفاده از رمزهای قوی عملی ارزشمند است.
افزایش امنیت وردپرس با تکنیک رمزگذاری SHA1
جهت افزایش امنیت رمزهای ذخیرهشده در دیتابیس میتوانید از متد هش SHA1 استفاده کنید. با کمک متد هشینگ، رمز عبور شما به جای ذخیرهشدن به عنوان یک متن ساده و قابل مشاهده، از طریق یک الگوریتم رمزنگاری، به رشتهای طولانی از حروف و اعداد تبدیل شده و سپس در دیتابیس سایت ذخیره میشوند. هنگام ورود به سایت، زمانی که رمز عبور خود را وارد میکنید، عبارت ورودی شما هش شده و با رمز عبور هش شدهی موجود در دیتابیس مقایسه میشود و در صورت یکسان بودن اجازه ورود به شما داده میشود. این تکنیک به این دلیل استفاده میشود که در صورت نفوذ هکر به سرور شما، رمز عبور و اطلاعات کلیدی شما به سرقت نروند.
برای استفاده از این تکنیک به پنل هاست خود وارد شوید، سپس بر روی دیتابیس مورد نظر خود کلیک کنید تا جداول آن برای شما نمایش داده شود. جدول wp_users را بیابید و روی آن کلیک کنید. برای ویرایش رکورد مربوط به ادمین روی گزینه edit کلیک کرده و در فیلد user_pass پسورد خود را وارد کرده و از لیست کشویی گزینه SHA1 را انتخاب کنید. در انتها نیز تغییرات را ذخیره کنید.
استفاده از تکنیک هش Salt
کلیدهای امنیتی Salt تمامی اطلاعات مدیران و کاربران یک وبسایت را با استفاده از عناصری کاملا تصادفی رمزنگاری کرده و شنود اطلاعات را برای هکرها تقریبا غیرممکن میکنند زیرا به ازای هر بار ورود مدیران و کاربران به وبسایت، اطلاعات آنها مجددا با رشتههای تصادفی رمزگذاری میشوند. با انجام این تکنیک رمزگذاری، در صورتی که وبسایت شما مورد تهاجم قرار گیرد، تمامی کاربران Log out شده و مشکلی برای وبسایت به وجود نخواهد آمد.
برای استفاده از این تکنیک، پس از نصب وردپرس، فایل wp-config.php را باز کرده و لینک ساخت کلید هش Salt وردپرس را در مرورگر خود باز کنید. سپس کلید ساخته شده را با مقدار زیر جایگزین کرده و فایل را ذخیره کنید.
define( 'AUTH_KEY', 'put your unique phrase here' );
define( 'SECURE_AUTH_KEY', 'put your unique phrase here' );
define( 'LOGGED_IN_KEY', 'put your unique phrase here' );
define( 'NONCE_KEY', 'put your unique phrase here' );
define( 'AUTH_SALT', 'put your unique phrase here' );
define( 'SECURE_AUTH_SALT', 'put your unique phrase here' );
define( 'LOGGED_IN_SALT', 'put your unique phrase here' );
define( 'NONCE_SALT', 'put your unique phrase here' );
برای این منظور همچنین میتوانید از افزونهی Salt Shaker استفاده کنید. این افزونه به شما کمک میکند تا بدون نیاز به تغییر دستی کلیدها، در بازههای زمانی مشخص روزانه، هفتگی یا ماهیانه، کلیدهای Salt خود را تغییر دهید.
برقراری امنیت وردپرس با تغییر نام مدیر سایتهای وردپرسی
هکر میتواند با قراردادن عبارت author=1?/ در انتهای آدرس سایت شما نام کاربری مدیر سایت را پیدا کرده تا فرآیند هک کردن سایت برای وی آسانتر شود. برای پنهانسازی نام ورودی مدیر سایت و تغییر آن میتوان از افزونه sx user name security استفاده کرد. پس از نصب این افزونه میتوانید شناسه خود را از منوی کاربران تغییر دهید.
برای جلوگیری از دسترسی به حسابهای کاربری نیز میتوان از افزونه sf author url control استفاده کرد. با استفاده از این افزونه میتوانید پیوند یکتای دسترسی به صفحه نویسندگان را ویرایش کنید و عبارت author را به عبارت دیگری تغییر دهید.
افزایش امنیت وردپرس با تغییر پیشوند جداول دیتابیس
برخی هکرها تلاش میکنند با استفاده از حملات SQL Injection اطلاعات وبسایت شما را تغییر داده یا به سرقت ببرند. یکی از روشهای پیشگیری از این نوع آسیبپذیری، تغییر پیشوند جداول دیتابیس میباشد. به طور پیشفرض پیشوند جدولهای وردپرس ‘wp_’ است و شما میتوانید پیش از اقدام به نصب وردپرس، از طریق فایل wp_config.php، مقدار table_prefix$ را از ‘wp_’ به هر مقدار دیگری تغییر دهید. با کمک این تکنیک، مسیر دسترسی به جداول دیتابیس تغییر کرده و امنیت وبسایت شما تا حد زیادی افزایش خواهد یافت.
اگر وبسایت شما هم اکنون از پیشوند _wp استفاده میکند نیز میتوانید آن را تغییر دهید. برای این منظور به صفحه phpmyadmin سایت خود وارد شوید، دیتابیس مورد نظر خود را انتخاب کنید و روی گزینه sql کلیک کرده و قطعه کد زیر را وارد کنید.
RENAME table wp_commentmeta TO mywp_commentmeta;
RENAME table wp_comments TO mywp_comments;
RENAME table wp_links TO mywp_links;
RENAME table wp_options TO mywp_options;
RENAME table wp_postmeta TO mywp_postmeta;
RENAME table wp_posts TO mywp_posts;
RENAME table wp_terms TO mywp_terms;
RENAME table wp_termmeta TO mywp_termmeta;
RENAME table wp_term_relationships TO mywp_term_relationships;
RENAME table wp_term_taxonomy TO mywp_term_taxonomy;
RENAME table wp_usermeta TO mywp_usermeta;
RENAME table wp_users TO mywp_users;
سپس فایل wp-config.php را باز کرده و مقدار متغیر table_prefix$ را از ‘wp_’ به ‘mywp_’ تغییر دهید.
با این روش، نام جداول دیتابیس شما از wp_ به mywp_ تغییر خواهد یافت.
در ضمن فراموش نکنید که پیش از این اقدام، از دیتابیس خود یک نسخه پشتیبان یا Backup تهیه کنید.
جلوگیری از وارد کردن نام کاربری یا رمز عبور برای تعداد دفعات زیاد توسط افزونه limit login attemts
یکی از حملات معروف سایتهای وردپرسی، حملهای به نام brute force است. با استفاده از این روش، هکر تلاش میکند تا با حدس زدنهای متوالی و تست عبارات منطقی مختلف، رمز عبور مدیر وبسایت را کشف کند. البته این کار به صورت دستی انجام نمیشود و توسط رباتهای نرم افزاری انجام میشود. یکی از متدهای جلوگیری از حملات brute force در وردپرس، استفاده از افزونهی محبوب limit login attemts است. در حالت پیشفرض وردپرس به شما اجازه میدهد تا به دفعات نامحدود برای ورود به سایت تلاش کنید؛ اما شما میتوانید با استفاده از این افزونه، تعداد دفعات واردکردن نام کاربری و رمز عبور را محدود کنید. در بخش تنظیمات این افزونه میتوانید مشخص کنید که کاربران پس از چند بار ورود ناموفق، تحریم شوند و این تحریم چند ساعت به طول بینجامد. همچنین میتوانید لیستی از کاربران تحریم شده را در ایمیل خود دریافت کرده و به صورت دائمی IP آنها را مسدود کنید.
جلوگیری از هک وردپرس با محافظت از پوشه wp-admin با استفاده از رمز گذاری
محافظت از پوشه wp-admin یکی از مهمترین اقدامات امنیتی وبسایتهای وردپرسی است. با رمزگذاری این پوشه، یک لایه احراز هویت دیگر به پنل مدیریت سایت شما افزوده میشود.
برای این منظور به کنترل پنل هاست سایت خود وارد شوید. روی پوشه wp-admin راست کلیک کرده و گزینه Password Protect را انتخاب کنید. در صفحهای که باز میشود، ابتدا گزینه Password protect this directory (یا Directory Privacy) را انتخاب کنید و در فیلد Enter a name for the protected directory نام دلخواه خود را وارد کرده و بر روی دکمه Save کلیک کنید. سپس به صفحه قبل بازگردید و یک نام کاربری و رمز عبور قدرتمند وارد کرده و بر روی دکمه Save کلیک کنید. در پایان، نام کاربری و رمز عبور انتخابی خود را وارد کرده و بر روی add or modify the authorized user کلیک کنید.
سپس برای جلوگیری از ایجاد مشکل در عملکرد ajax سایت، قطعه کد زیر را در فایل htaccess. وارد کنید:
<Files admin-ajax.php>
Order allow,deny
Allow from all
Satisfy any
<Files/>
افزایش امنیت وردپرس با محافظت از پوشه wp-include
برخی از هکرها با آپلودکردن فایلهایی که دارای اسکریپتهای مخرب هستند، امنیت وبسایت و کاربران را به خطر میاندازند. اینگونه فایلها و اسکریپتها بیش از هر جای دیگری از سایت در پوشه wp-include یافت میشوند. شما میتوانید برای جلوگیری از دسترسی هکرها به این پوشه و محافظت از آن، قطعه کد زیر را درون فایل htaccess. قرار دهید.
فایل wp-config یکی از مهمترین فایلهای وردپرس است که اطلاعات کلیدی سایت شما در آن وجود دارد. برخی از اقداماتی که میتوانید برای امنیت این فایل انجام دهید:
مسدودکردن دسترسی به فایل wp-config
برای مسدودکردن دسترسی به این فایل قطعه کد زیر را درون فایل htaccess. قرار دهید.
<files wp-config.php>
order allow,deny
deny from all
</files>
انتقال فایل wp-config
به صورت پیشفرض این فایل در فولدر root وبسایت شما (public_html) قرار دارد و شما میتوانید مسیر این فایل را به یک شاخه بالاتر یعنی home تغییر دهید. اگر سایت وردپرسی خود را به صورت آفلاین استفاده میکنید، تغییر مسیر این فایل تنها با درگ و دراپ کردن ممکن خواهد بود و در محیط آنلاین میتوانید از ابزار move استفاده کنید. در ضمن ممکن است برای این کار نیاز به دسترسی مدیریت هاست داشته باشید.
تغییر نام فایل wp-config
پس از تغییر مسیر میتوانید نام این فایل را نیز تغییر دهید. به عنوان مثال sevenlearn.php سپس در فولدر public_html فایلی با نام wp-config.php ایجاد کرده و مسیر فایل wp-config جدید (در اینجا sevenlearn.php) را به صورت زیر در آن قرار دهید.
جلوگیری از هک سایت وردپرس با غیر فعال کردن گزینهی ویرایشگر در پنل مدیریت
گزینهی ویرایشگر کدها در پنل مدیریت وردپرس این امکان را به شما میدهد تا بدون نیاز به وارد شدن به صفحهی مدیریت هاست و از طریق پنل مدیریت سایت خود، کدهای قالب و افزونهها را ویرایش کنید. شاید در نگاه اول این گزینه، گزینهای کاربردی به نظر برسد اما یکی از تهدیداتی که وبسایتهای وردپرسی را تهدید میکند، ویرایش کدهای قالب توسط افراد غیر مجاز یا سایر مدیران وبسایت است. شما میتوانید با غیر فعال کردن گزینهی ویرایشگر در پنل مدیریت، حتی در صورت هک شدن، از کدهای وبسایت خود محافظت کنید.
مسیر دسترسی به ویرایشگر کدهای قالب وردپرس: نمایش / ویرایشگر
مسیر دسترسی به ویرایشگر کدهای افزونههای وردپرس: افزونهها / ویرایشگر
اگر برای اولین بار از صفحهی ویرایشگر بازدید کنید، وردپرس به شما هشدار خواهد داد که انجام تغییر در کدها میتواند عملکرد سایت شما را مختل کند.
برای غیرفعال کردن ویرایشگر قالب و افزونههای وردپرس به صورت زیر عمل میکنیم:
فایل wp-config.php موجود در دایرکتوری Public_html را پیدا کنید، روی آن راست کلیک کرده و گزینه edit را انتخاب کنید.
سپس قطعه کد زیر را قبل از عبارت ‘That’s all, stop editing! Happy publishing’ قرار دهید.
define( 'DISALLOW_FILE_EDIT', true );
در نهایت تغییرات را ذخیره کنید.
همچنین میتوانید قطعه کد زیر را در فایل functions.php خود قرار دهید.
روش دیگر غیر فعال کردن گزینهی ویرایشگر استفاده از افزونهی امنیتی Sucuri WordPress است که به شما این امکان را میدهد تا بدون نیاز به درگیرشدن با کدنویسی، این قابلیت را تنها با یک کلیک فعال کنید.
ایجاد سوال امنیتی توسط افزونهی Captcha
سوالات امنیتی در وبسایتهای وردپرسی با استفاده از افزونههای ساخت Captcha به منظور جلوگیری از حملات خودکار رباتها، ایجاد میشوند. در این گونه حملات، رباتها به صورت همزمان تعداد زیادی کامنت شامل لینکهای تبلیغاتی یا عضو به سایت شما اضافه میکنند و با این روش باعث ایجاد اخلال در وبسایت شما میشوند. یکی از محبوبترین روشهایی که برای جلوگیری از ورود رباتها به سایت به کار میرود، استفاده از افزونههای ساخت Captcha است. کپچا میتواند شامل سوالات امنیتی، سوالات ریاضی یا تصویری از اعداد و حروف مخدوش باشد. برخی از افزونههای رایج برای ساخت Captcha عبارتند از:
افزایش امنیت وردپرس با افزونهی وردپرس reCaptcha by BestWebSoft
این افزونه با بیش از 200 هزار نصب فعال از یکی محبوبترین افزونههای ساخت کپچا است. این افزونه یک راه حل امنیتی موثر است که از فرمهای وب سایت وردپرس شما در برابر ورود هرزنامه و رباتهای مخرب محافظت میکند، در حالی که به افراد واقعی اجازه میدهد تا با سهولت از آن عبور کنند. شما میتوانید از این افزونه برای ورود به صفحات مدیریت سیستم، ثبت نام کاربران جدید، بازیابی رمز عبور فراموش شده، فرم نظرات، فرمهای تماس و... استفاده کنید.
برای افزودن کپچا به سایت وردپرس خود، ابتدا افزونهی reCaptcha by BestWebSoft را دانلود و نصب کنید. سپس تب جدید Google Captcha که به داشبورد وردپرس شما اضافه شده است را باز کنید. در زیر گزینهی تنظیمات، میتوانید کلیدهای API Google خود را وارد کنید تا سایت شما به ویژگی reCAPTCHA متصل شود. برای دریافت این کلیدها ابتدا باید سایت خود را در کنسول Google ثبت کنید، سپس کلیدها را copy کرده و در افزونه paste و ذخیره کنید. پس از آن میتوانید دکمهی Test reCAPTCHA را انتخاب کنید تا مطمئن شوید که این ویژگی به درستی کار میکند.
همانند تصویر زیر میتوانید فرمهایی که میخواهید reCAPTCHA را روی آنها فعال کنید، انتخاب کنید.
در نسخهی پرمیوم این افزونه میتوانید ریکپچا را به فرمهایی که با استفاده از افزونههایی مانند Contact Form 7 و bbPress ایجاد شدهاند نیز اضافه کنید.
کپچا از دید یک کاربر میتواند اندکی آزار دهنده به نظر برسد (به ویژه اگر ضعیف اجرا شود). با این حال شما میتوانید با استفاده از گزینههای شخصیسازی این افزونه، از مزایای کپچا بدون این که روی تجربهی کاربر تاثیر منفی بگذارد، بهرهمند شوید و یک لایهی امنیتی کارآمد به سایت خود اضافه کنید.
بالا بردن امنیت سایت وردپرس با افزونهی وردپرس WordPress ReCaptcha Integration
افزونهی WordPress ReCaptcha Integration با بیش از 20 هزار نصب فعال و سازگاری با افزونههایی از جمله bbPress، BuddyPress، WooCommerce (فقط فرمهای پرداخت، ثبت نام، ورود به سیستم و تنظیم مجدد رمز عبور)، WP Multisite، Ninja Forms، cformsII و... توانسته است محبوبیت خوبی به دست آورد. برای فعالسازی این افزونه نیز میبایست جهت دریافت کلید، وبسایت خود را در کنسول گوگل ثبت کرده باشید.
تغییر لقب مدیر از طریق دیتابیس
در بخش اول مقاله راهکارهای افزایش امنیت در وردپرس، افزونهای را به شما معرفی کردیم که با کمک آن میتوانید لقب مدیر سایت خود را تغییر دهید. اما روش دیگری نیز برای این کار وجود دارد و شما میتوانید بدون نصب افزونه و از طریق دیتابیس، لقب مدیر را تغییر دهید. در ضمن فراموش نکنید که پیش از انجام این کار یک Backup یا نسخهی پشتیبان از دیتابیس خود تهیه کنید. سپس به صفحهی phpmyadmin سایت خود وارد شوید و در بخش sql قطعه کد زیر را وارد کنید:
UPDATE wp_users SET user_login = 'New' WHERE user_login = 'Old';
توجه داشته باشید که در این قطعه کد به جای New، نام کاربری جدید و به جای Old، نام کاربری قدیمی مدیر را قرار دهید.
روش دوم تغییر نام کاربری از طریق دیتابیس بدین صورت است که پس از وارد شدن به صفحه phpmyadmin، دیتابیس مورد نظر را انتخاب کرده و گزینه wp_users را انتخاب میکنید. سپس روی گزینه edit رکورد مربوط به مدیر سایت کلیک کرده و در فیلد مربوط به نام کاربری، نام جدید مورد نظر خود را وارد میکنید.
افزایش امنیت وردپرس با فعال سازی پروتکل https
وبسایتهایی که از پروتکل HTTPS استفاده میکنند، نسبت به وبسایتهایی که از پروتکل HTTP استفاده میکنند، به مراتب امنیت بالاتری دارند؛ زیرا اطلاعاتی که این سایتها با کاربران خود رد و بدل میکنند، رمزگذاری شده و امکان سرقت اطلاعات از طریق شنود را از بین میبرند. استفاده از پروتکل HTTPS علاوه بر مسائل امنیتی، تاثیر زیادی بر ارتقاء رتبهی سئوی سایت شما خواهد گذاشت زیرا موتورهای جستوجو به زودی وبسایتهایی را که از این پروتکل استفاده نمیکنند، از نتایج جستوجو حذف خواهند کرد. فعالسازی این پروتکل مزایای دیگری نیز برای شما به همراه خواهد داشت زیرا قفلی که در کنار نوار آدرس مرورگر قرار دارد، به رنگ سبز درآمده و موجب افزایش اعتماد کاربران به وبسایت و همچنین افزایش فروش محصولات شما خواهد شد.
پس از خرید SSL (نصب روی هاست توسط شرکت ارائه دهندهی SSL یا توسط خودتان طبق دستورالعمل انجام میشود) از منوی تنظیمات پیشخوان سایت، وارد تنظیمات همگانی شده و نشانی وردپرس و سایت خود را از http به https تغییر دهید. برای تغییر سایر لینکهای سایت میتوانید از افزونهی Really Simple SSL استفاده کنید. پس از نصب این افزونه از منوی Setting، هر چهار گزینهی موجود را انتخاب کنید. این افزونه پروتکل تمامی لینکهای موجود در سایت شما را از http به https تبدیل خواهد کرد در نتیجه اگر از لینک یا محتوای سایت دیگری که از Https استفاده نمیکند، در سایت خود استفاده کنید، دچار اختلال در سایت خود خواهید شد. برای حل این مشکل میتوانید از قطعه کد زیر در فایل functions.php قالب سایت استفاده کنید.
هش گذاری روی نام کاربری و رمز عبور توسط افزونهی chap secure login
افزونهی chap secure login فرآیند رمزگذاری را با استفاده از پروتکل Chap و توسط الگوریتم SHA-256 انجام میدهد. این نوع رمزگذاری به ویژه هنگامی مفید است که شما نمیتوانید از ssl یا سایر پروتکلهای امن استفاده کنید.
بالا بردن امنیت سایت وردپرس با تغییر نام و آدرس صفحهی wp- admin و wp-login
به طور پیش فرض برای دسترسی به صفحهی ادمین وردپرس از آدرس yourdomain.com/wp-login.php استفاده میشود. هکرها با دسترسی به این صفحه میتوانند حملهی Brute Force را روی سایت شما اجرا کرده و با امتحان کردن عبارات منطقی مختلف به نام کاربری و رمز عبور مدیر دسترسی پیدا کنند و هر گونه تغییراتی را روی سایت شما انجام دهند. اما استفاده از یک URL منحصر به فرد، دسترسی هکرها به پنل مدیریت وردپرس را دشوارتر خواهد کرد. در ادامهی این مقاله نحوهی ایجاد URL دلخواه برای ورود به WordPress را به صورت گام به گام به شما نشان خواهیم داد.
ابتدا افزونهی WPS Hide Login را دانلود نمایید. این افزونه با بیش از 600 هزار نصب فعال یکی از محبوبترین افزونههای امنیتی وردپرس است که با سایر افزونهها از جمله BuddyPress، bbPress، Jetpack، WPS Limit Login، User Switching نیز سازگار است. پس از نصب و فعالسازی این افزونه، فیلد جدیدی به داشبورد وردپرس شما افزوده میشود که از طریق آن میتوانید هر دو آدرس yourdomain.com/wp-login.php و yourdomain.com/wp-admin.php را تغییر دهید. در نهایت با ذخیرهی تغییرات، دسترسی به صفحهی ادمین از طریق آدرس پیشفرض، امکانپذیر نخواهد بود و ما به شما توصیه میکنیم آدرسی انتخاب کنید که به راحتی بتوانید آن را به خاطر بسپارید.
احراز هویت دو مرحلهای
یکی از مهمترین روشهای برقراری امنیت در وردپرس استفاده از سیستم احراز هویت دو مرحله ای این سیستم میباشد، به وسیله این سیستم میتوانید از خطرات حملات Brute force در امان باشید. برای استفاده از احراز هویت دو مرحله ای بهتر است از افزونه وردپرسی wordfence Security استفاده کنید که از برقراری امنیت در وردپرس خود مطمئن شوید.
دسترسی دادن به افراد مطمئن
حتی اگر از پسوردهای بسیار سخت نیز استفاده کنید و از سیستم احراز هویت دو مرحله ای نیز استفاده کنید، باز هم ممکن است نویسندههایی که به سایت شما دسترسی دارند بتوانند مشکلات بسیار زیادی را برای امنیت وردپرس شما به وجود بیاورند؛ بنابراین برای برقراری امنیت در وردپرس حتما سعی کنید دسترسی وب سایت خود را تنها به افرادی بدهید که اطمینان کافی را به آنها دارید و همین طور سعی کنید نوع دسترسی که به افراد مختلف میدهید را محدود کنید.
Wp-config.php و htaccess. را پنهان کنید
یکی دیگر از روشهای برقراری امنیت در وردپرس این است که فایلهای نام برده شده را پنهان کنید، این کار باعث میشود تا امنیت بسیار زیادی در وبسایت شما برقرار شود و کمتر در معرض تهاجم قرار بگیرید. برای این کار میتوانید از یکی از افزونههای بسیار معروف وردپرس به نام Yoast SEO استفاده کنید که امکان پنهان کردن فایلهای نام برده شده را برای شما بسیار راحتتر میکند.
افزایش امنیت وردپرس با فعال کردن کلیدهای امنیتی وردپرس
از دیگر روشهای برقراری امنیت در وردپرس این است که از کلیدهای امنیتی وردپرس برای احراز هویت استفاده کنید، این کار باعث میشود تا از کوکیها و رمزهای سیستم شما محافظت شود. بسیاری از افراد استفاده از کلیدهای امنیتی وردپرس برای احراز هویت را با سیستم رندوم اشتباه میگیرند در حالی که چنین نیست و این کار به منظور محافظت از کوکیها صورت میگیرد. برای استفاده کردن از کلیدهای امنیتی در وردپرس برای احراز هویت میتوانید تغییراتی را در wp-config.php صورت دهید.
برقراری امنیت در وردپرس با XML-RPC
این سیستم در واقع یک رابط کاربری است که برای ایجاد کردن آن باید زمان زیادی را صرف کنید که این کار توسط افزونههای زیادی صورت میگیرد. یکی از مهمترین نکاتی که درباره این سیستم باید بدانید این است که برای کار کردن با این سیستم باید تسلط بسیار زیادی به آن داشته باشید در غیر این صورت ممکن است خطراتی سایت شما را تهدید کند.
از یک هاست مطمئن استفاده کنید
بی شک یکی از بهترین روشها برای برقراری امنیت در وردپرس را میتوان استفاده از هاستهای مطمئن دانست، در صورتی که هاست استفاده شده توسط شما دارای امنیت کافی نباشد ممکن است به صورت مستقیم هاست شما مورد حمله قرار گیرد و به این ترتیب وب سایت شما هک شود و اطلاعاتتان از بین برود و یا تغییر کند. پس پیشنهاد میشود از یک هاست وردپرس خوب مثل ایران سرور استفاده کنید.
اطمینان از امنیت قالب وردپرس با استفاده از افزونهی Theme Check
برخی هکرها با یافتن رخنههای موجود در قالب وبسایتهای وردپرسی، به آنها نفوذ میکنند. افزونهی Theme Check یک راه آسان برای تست امنیت قالب سایت شماست. این افزونه با بیش از 70 هزار نصب فعال یکی از محبوبترین افزونههای وردپرس است که قالب سایتهای وردپرسی را با در نظر گرفتن آخرین استانداردهای کدنویسی به صورت خودکار بررسی میکند. پس از نصب و فعالسازی این افزونه، گزینهای با عنوان Theme Check به فیلد نمایش افزوده میشود. با کلیک بر روی این گزینه، صفحهی جدیدی باز میشود و شما میتوانید با انتخاب قالب مورد نظر در فهرست کشویی و کلیک بر روی گزینهی Check it، قالب سایت خود را بررسی کنید. پس از انجام این مرحله، در صورتی که قالب شما مراحل تست را با موفقیت پشت سر بگذارد، به شما اعلام خواهد شد و در غیر این صورت، گزارشی از خطاها را دریافت خواهید کرد. علاوه بر این، به خاطر داشته باشید که هیچ گاه از افزونهها و قالبهای نال شده استفاده نکنید و همواره اجزای مورد نیاز خود را از فروشندگان معتبر تهیه کنید؛ زیرا این گونه افزونهها و قالبها قطعا دارای کدهای مخرب هستند و امنیت سایت و دادههای شما را به خطر میاندازند.
جمع بندی:
وردپرس پلتفرمی رایگان است که درصد بالایی از کل وبسایتهای دنیا از آن استفاده میکنند. این سیستم مدیریت محتوای رایگان، طی سالها بارها به روزرسانی شده و به عنوان یک سیستم مدیریت محتوای امن شناخته میشود که هککردن آن نسبت به گذشته بسیار دشوارتر شده است. البته این سیستم مدیریت محتوا همواره در معرض تهاجم هکرها و مهاجمان قرار دارد و با رعایت نکات سادهای که در این مقاله به آنها پرداخته شد میتوان راههای نفوذ آنها را مسدود کرد.
بسیاری از کسب و کارهای اینترنتی هزینههای زیادی را برای تبلیغات سایت خود، صرف میکنند که در صورت عدم رعایت نکات امنیتی و هکشدن، علاوه بر ضررهای فراوان مالی، اعتماد مشتریان خود را نیز دست میدهند؛ بنابراین سرمایهگذاری روی امنیت وبسایت و رعایت نکات سادهای که در این مقاله به آنها پرداخته شد، بسیار ضروری است. با این وجود جای نگرانی وجود ندارد و با رعایت نکات و راهکارهای امنیتی سادهای که در این مقاله به شما معرفی کردیم به راحتی میتوانید امنیت سایت خود را تامین کنید.
نظر شما در این باره چیست؟ آیا وردپرس را بستری امن برای توسعهی کسب و کارهای اینترنتی میدانید؟ شما چه راهکارهایی را برای افزایش امنیت وردپرس پیشنهاد میکنید؟ نظرات خود را با ما در میان بگذارید.
اگر به یادگیری بیشتر در زمینهی وردپرس علاقه داری، شرکت در دوره آموزش پلاگین نویسی در وردپرس را پیشنهاد میکنیم، با شرکت در این دوره، در کمتر از یکسال به یک متخصص وردپرس همه فن حریف تبدیل میشوی که آماده استخدام، دریافت پروژه و پیادهسازی قالب و پلاگینهای وردپرسی هستی.
۸ دیدگاه
۲۵ خرداد ۱۴۰۱، ۱۳:۵۲
خیلی عالی. فقط این که این تنظیمات با آپدیت کردن وردپرس نمیپرن؟ و راهی نیست که از wordfence استفاده نکنیم؟ این افزونه استفاده منابع زیادی داره و باعث کندی میشه
نازنین کریمی مقدم۳۱ خرداد ۱۴۰۱، ۱۰:۴۵
درود
قاعدتا اینطور نمیشه اما در کل توصیه میکنند همیشه یه بکاپ قبل از آپدیت بگیرید بالاخره حادثه خبر نمیکنه :)
درمورد سوال دومتون میتونید جت پک رو هم بررسی کنید.
محسن۱۲ خرداد ۱۳۹۹، ۱۰:۲۶
با این حساب ما بادی کلی افزونه مختلف نصب کنیم
این کار مشکل ساز نیمشه؟
نازنین گودرزی۱۲ خرداد ۱۳۹۹، ۱۷:۵۵
نیازی به نصب پلاگینهای زیاد نیست. بعضی از پلاگینهای امنیتی مثل <a href="https://wordpress.org/plugins/wordfence/" rel="nofollow ugc">پلاگین وردفنس</a> اکثر موارد امنیتی رو پوشش میدن و باقی موارد رو میتونید بدون استفاده از پلاگین و از طریق تنظیمات و هاست انجام بدید.
حسام روحانی۰۱ خرداد ۱۳۹۹، ۲۱:۳۹
یکی از نکات امنیتی که باید بهش اشاره بشه ، خارج شدن ادمین از پنل مدیریت سایت هست (البته بعد از اینکه کار ادمین تمام شد از پنل خارج بشه دیگه) چرا که از این ناحیه احتمال سوء استفاده به روش CSRF وجود داره ...
نازنین گودرزی۰۲ خرداد ۱۳۹۹، ۱۳:۵۷
بله صحیح میفرمایید.
ممنون از توجه و همراهی شما با تیم سون لرن
احسان۳۰ اردیبهشت ۱۳۹۹، ۱۶:۴۸
خیلی ممنون. چند موردش برای من مفید بود.
اون قسمتی که کد Files admin-ajax.php را در Htaccess قرار میدیم ، باید بگید که در wp-admin یک Htaccess بسازیم و کد را در اون قرار بدیم. اگر در Htaccess که در public_html هست کد را بگذاریم ، همه صفحات سایت با خطای 404 مواجه میشه.
نازنین گودرزی۳۱ اردیبهشت ۱۳۹۹، ۲۱:۲۱
بله، صحیح میفرمایید.
ممنون از توجه و همراهی شما.
راهنمای مقاله
چرا امنیت وردپرس بسیار مهم است؟
آیا وردپرس امن است؟
چرا سایتهای وردپرسی هک میشوند؟
بالا بردن امنیت سایت وردپرس با بهروزرسانی هسته وردپرس، افزونهها و قالب ها
انتخاب نام کاربری و رمز عبور مناسب برای مدیر سایت و تغییر آن از طریق دیتابیس
افزایش امنیت وردپرس با تغییر پیشوند جداول دیتابیس
جلوگیری از وارد کردن نام کاربری یا رمز عبور برای تعداد دفعات زیاد توسط افزونه limit login attemts
جلوگیری از هک وردپرس با محافظت از پوشه wp-admin با استفاده از رمز گذاری
افزایش امنیت وردپرس با محافظت از پوشه wp-include
افزایش امنیت وردپرس با محافظت از فایل wp-config
جلوگیری از هک سایت وردپرس با غیر فعال کردن گزینهی ویرایشگر در پنل مدیریت
ایجاد سوال امنیتی توسط افزونهی Captcha
تغییر لقب مدیر از طریق دیتابیس
افزایش امنیت وردپرس با فعال سازی پروتکل https
هش گذاری روی نام کاربری و رمز عبور توسط افزونهی chap secure login
بالا بردن امنیت سایت وردپرس با تغییر نام و آدرس صفحهی wp- admin و wp-login
احراز هویت دو مرحلهای
دسترسی دادن به افراد مطمئن
Wp-config.php و htaccess. را پنهان کنید
افزایش امنیت وردپرس با فعال کردن کلیدهای امنیتی وردپرس
برقراری امنیت در وردپرس با XML-RPC
از یک هاست مطمئن استفاده کنید
اطمینان از امنیت قالب وردپرس با استفاده از افزونهی Theme Check
راهنما و فهرست مقاله
چرا امنیت وردپرس بسیار مهم است؟
آیا وردپرس امن است؟
چرا سایتهای وردپرسی هک میشوند؟
بالا بردن امنیت سایت وردپرس با بهروزرسانی هسته وردپرس، افزونهها و قالب ها
انتخاب نام کاربری و رمز عبور مناسب برای مدیر سایت و تغییر آن از طریق دیتابیس
افزایش امنیت وردپرس با تغییر پیشوند جداول دیتابیس
جلوگیری از وارد کردن نام کاربری یا رمز عبور برای تعداد دفعات زیاد توسط افزونه limit login attemts
جلوگیری از هک وردپرس با محافظت از پوشه wp-admin با استفاده از رمز گذاری
افزایش امنیت وردپرس با محافظت از پوشه wp-include
افزایش امنیت وردپرس با محافظت از فایل wp-config
جلوگیری از هک سایت وردپرس با غیر فعال کردن گزینهی ویرایشگر در پنل مدیریت
ایجاد سوال امنیتی توسط افزونهی Captcha
تغییر لقب مدیر از طریق دیتابیس
افزایش امنیت وردپرس با فعال سازی پروتکل https
هش گذاری روی نام کاربری و رمز عبور توسط افزونهی chap secure login
بالا بردن امنیت سایت وردپرس با تغییر نام و آدرس صفحهی wp- admin و wp-login
احراز هویت دو مرحلهای
دسترسی دادن به افراد مطمئن
Wp-config.php و htaccess. را پنهان کنید
افزایش امنیت وردپرس با فعال کردن کلیدهای امنیتی وردپرس
برقراری امنیت در وردپرس با XML-RPC
از یک هاست مطمئن استفاده کنید
اطمینان از امنیت قالب وردپرس با استفاده از افزونهی Theme Check