شاید اوایل راهاندازی سایتتان خیلی به فکر تامین امنیت آن نباشید؛ اما با گذر زمان و پیشرفت، قطعا امنیت از ارکان اصلی مدیریت وبسایت خواهد شد. چرا که زحمات چندین ساله شما و تیمتان ممکن است در کسری از ثانیه از بین برود! خطر همیشه در کمین است.
توسعه دهندههای وردپرس از سراسر جهان روی راهکارهای محافظت از وردپرس کار میکنند که آن هم مدیون متن باز بودن وردپرس هستند. حدود 30 درصد وبسایتهای موجود با وردپرس ساخته شدهاند و امنیت آن قطعا برای هر کدام از این سایتها حائز اهمیت است. با آموزش وردپرس امروز همراه ما باشید تا با یک روش عالی ایمنی سایت آشنا شوید.
محافظت از وردپرس
چند روز پیش یک افزونه حرفهای برای تامین امنیت وردپرس iTheme Security معرفی کردیم که در دو نسخه رایگان و حرفهای موجود است. امروز نیز میخواهیم یکی دیگر از افزونههای مطلوب امنیتی با عنوان Secupress را در محافظت از وردپرس بررسی کنیم. امیدوارم همانقدر که ما بر امنیت تاکید میکنیم، شما هم حواستان به آن باشد.
امنیت وردپرس با افزونه Secupress
افزونه Secupress را به لحاظ امکانات زیادی که دارد، می توان در دسته افزونههای امنیتی جهت محافظت از وردپرس جای داد. افزونه امنیتی Secupress برای تامین امنیت وردپرس راهکارهای جالبی ارائه میدهد. گرافیک جذاب این افزونه در کنار عملکرد خوبش، آن را جزو یکی از محبوبترین افزونههای امنیتی وردپرس قرار داده. این افزونه با بیش از 10000 نصب فعال توانسته 4.5 ستاره در مخزن وردپرس را از آن خود کند.
ویژگیهای این افزونه
- دارای فایروال
- عدم اجازه دسترسی به سایت برای کاربرانی با موقعیت جغرافیایی خاص
- بلاک کردن IP های مشکوک
- تشخیص قالبها و افزونههای آسیبپذیر
- ارائه گزارش امنیتی در قالب PDF
- بلاک کردن رباتهای مخرب
- عدم اجازه دسترسی به خزندههای مخرب
- و …
این افزونه دارای دو نسخه رایگان و پرمیوم است که در نسخه پولی میتوانید از قابلیت انجام خودکار وظیفهها توسط خود افزونه استفاده کنید. نسخه رایگان هم امکانات خوبی را به همراه دارد.
نصب و راهاندازی افزونه Secupress
بسیار خوب! اگر موافق باشید افزونه را نصب کنیم. افزونه را از انتهای همین آموزش دریافت کرده و آن را در مسیر افزونهها نصب و فعال نمایید.
پس از نصب و فعال شدن افزونه، بنری در بالای صفحه ظاهر میشود که مربوط به اسکن امنیتی سایت است. ما این کار را پس از پیکربندی افزونه انجام خواهیم داد. فعلا روی دکمه ضربدر روی بنر کلیک کنید.
در سمت راست پیشخوان وردپرس، منوی SecuPress اضافه خواهد شد که تنظیمات افزونه را می توان از این بخش تغییر داد و امکان محافظت از وردپرس را با همین گزینهها فراهم کرد.
منوی افزونه شامل 3 بخش است:
- Scanners: از این بخش میتوانید سایت خود را از لحاظ امنیتی اسکن کرده و براساس رتبه امنیت سایتتان، درجه A تا D را دریافت کنید.
- Mosules: تنظیمات افزونه از این بخش در دسترس هستند.
- More Security: این گزینه برای خرید دلاری نسخه پولی این افزونه است که عملا برای ما کاربردی ندارد.
پیکربندی افزونه
برای پیکربندی افزونه روی گزینه Modules کلیک کنید. در صفحه باز شده سربرگهای مختلفی وجود دارند که به شرح هر کدام میپردازیم:
تذکر: دقت کنید که از ذکر بخشهایی که مخصوص نسخه پرمیوم هستند چشم پوشی شده است.
سربرگ Dashboard
سربرگ اول Dashboard است که عملا کار خاصی با اینجا نداریم؛ زیرا امکاناتی مثل خروجی گرفتن از تنظیمات افزونه و … در نسخه پرمیوم در دسترس هستند. اما در آخر صفحه میتوانید در صورت نیاز، تنظیمات افزونه را به حالت اولیه برگردانید. در واقع امکان ریست کردن برایتان فراهم است.
سربرگ Users & Login
در این بخش میتوانید انواع تنظیمات مربوط به ورود به سایت را مشاهده نمایید.
Login Control: در این بخش میتوانید با تیک زدن گزینه اول تعیین کنید یک کاربر چند بار میتواند ورود ناموفق داشته باشد تا مسدود شود. این عدد به صورت پیش فرض روی 10 بار تنظیم شده است. همچنین میتوانید مدت زمانی که کاربر باید مسدود بماند نیز تغییر دهید که پیشنهاد میشود بین 5 تا 15 دقیقه را برای محافظت از وردپرس انتخاب کنید. در صورتی که گزینه دوم را هم تیک بزنید، افزونه کاربرانی را که قصد دارند با یوزنیمهایی که اصلا وجود ندارند به سایتتان وارد شوند، مسدود میکند.
Login Errors: با تیک زدن گزینه مربوطه، در صورتی که کاربر ورود ناموفق داشته باشد، جزئیات دلیل ناموفق بودن ورودش را دریافت نخواهد کرد. به عنوان مثال کاربری یوزنیم را درست وارد کرده و رمز عبورش را اشتباه وارد میکند؛ در صورتی که این گزینه غیر فعال باشد، پیام “رمز عبور برای این یوزنیم اشتباه است” نمایش داده خواهد شد؛ که در این حالت کاربر مطمئن است یوزرنیم درست وارد شده و فقط رمز عبور اشتباه است. اما در صورت فعال بودن گزینه مذکور، پیام “عملیات ورود با شکست مواجه شد” را نمایش میدهد. این گزینه زمانی کاربرد دارد که افرادی قصد حدس زدن یوزرنیم و پسورد کاربری خاص در سایت شما را دارند.
Use a Captcha for everyone: با تیک زدن گزینه مربوطه، در فرمهای ورود، گزینهای فعال میشود که کاربر باید علاوه بر وارد کردن یوزنیم و پسورد خود، گزینه امنیتی را نیز باید تیک بزند تا ثابت کند ربات نیست. این امر میتواند در افزایش امنیت ورود به سایت و محافظت از وردپرس تاثیر چشم گیری داشته باشد؛ اما ممکن است برای برخی کاربران خسته کننده باشد.
Password changement: میتوانید با تیک زدن این گزینه، کاربران را هنگام تعویض رمز عبور خود، محبور به وارد کردن رمز عبور قبلیشان کنید.
Usernames: با تیک زدن گزینه اول، هنگام ثبت نام کاربران، آنها را محبور میکنید تا از یوزرنیمهای معمول و کم ارزش مانند admin یا www و … استفاده نکنند و یوزرنیم یونیک خود را داشته باشند. گزینه دوم برای محدود کردن اسکریپتهای مخرب برای پیدا کردن یوزنیم کاربران خاص است که به صورت author=1 یوزنیمهای کاربران را اسکن میکنند.
Login Page: میتوانید آدرس ورود ادمین سایت یا ورود کاربران را که به صورت پیشفرض wp-admin و wp-login است، تغییر دهید. این مورد می تواند در امنیت سایتتان کارآمد باشد.
سربرگ Plugins & Themes
در وردپرس میتوان به صورت پیشفرض، قالبها و افزونههای مختلف را از طریق منوی افزودن روی هاست آپلود کرد. با فعال کردن گزینه Disallow .zip Uploads، این قابلیت وردپرس غیر فعال خواهد شد. چرا که ممکن است قالبها و افزونههای آپلود شده از این طریق دارای کدهای مخرب باشند. زمانی که این گزینه فعال باشد، فقط از طریق مخزن وردپرس و یا FTP میتوانید قالبها و افزونههای جدید را به سایت خود اضافه کنید. در نظر داشته باشید در صورتی که از قالبها و افزونههای ایرانی استفاده میکنید، این ویژگی، کار را برای شما سختتر خواهد کرد و مجبورید قالبها و افزونهها را از طریق هاست خود آپلود کنید. در کل این ویژگی برای محافظت از وردپرس خیلی پیشنهاد نمیشود.
دو گزینه Plugin installation و Theme installation مربوط به عدم فعالسازی هر قالب یا افزونه جدید است. به اینصورت که به شما (یا مدیران دیگر سایتتان) اجازه فعال سازی یا به طور کلی آپلود قالب یا افزونه جدید را نمیدهد. فرق این گزینه با بخش قبلی این است که میتوان اجازه آپلود فایلهای zip را محدود به نوع آن (قالب یا افزونه) کرد.
سربرگ WordPress Core
بخشهای مختلف این سربرگ تنظیماتی را اعمال میکنند که از آنها به عنوان “ترفندهای وردپرس” یاد میشود.
بخش Minor Updates: وردپرس به صورت خودکار، هنگامی که آپدیتهای جزئی ارائه میشوند، خودش را آپدیت میکند. اما ممکن است یکی از افزونههای سایت شما اجازه این کار را ندهد. اما معمولا آپدیتهای جزئی وردپرس مربوط به مسائل امنیتی هستند و به طور معمول اختلالی در افزونههای شما ایجاد نمیکنند. با فعال کردن این گزینه به وردپرس اجازه میدهید بدون در نظر گرفتن افزونهها، آپدیتهای جزئی مثل 4.3.9 را به طور خودکار انجام دهد و گامی در محافظت از وردپرس بردارد.
بخش Major Updates: با فعال کردن این گزینه، وردپرس را مجبور میکنید آپدیتهای کلی را مثل 4.4 به صورت خودکار انجام دهد. توجه داشته باشید که فعال کردن این گزینه اجباری نیست اما از طرف سازنده برای محافظت از وردپرس پیشنهاد شده است.
بخش File edition: به صورت پیشفرض، مدیران سایت میتوانند کدهای قالب و افزونهها را از طریق ویرایشگر وردپرس و در فضای پیشخوان، تغییر دهند. از نظر افزونه امنیتی Secupress این قابلیت مطلوب نیست و باید غیر فعال شود. با تیک زدن این گزینه میتوانید این قابلیت را غیر فعال کنید تا تغییر در کدها فقط از طریق هاست امکانپذیر باشد.
بخش Unfiltered Uploads: مدیران و نویسندگان سایت میتوانند فایلهای مختلفی را از طریق پرونده چند رسانهای وردپرس روی سایتتان آپلود کنند. فعال کردن این گزینه فقط به فایلهایی با پسوند مجاز مثل pdf ، mp3 ، و… اجازه آپلود میدهد.
سربرگ Sensitive Data
در این سربرگ تنظیمات مختلفی وجود دارد که با استفاده از آنها میتوانید با محدود کردن برخی از دادههای حساس، امنیت سایت وردپرسیتان را افزایش دهید.
بخش XML-RPC: فایل xml-rpc.php در وردپرس برای ایجاد ارتباط بین وردپرس و نرم افزارهای دیگر استفاده میشود. مانند اپلیکیشنهای مدیریت سایت وردپرسی روی تلفنهای همراه که اطلاعات را از طریق این فایل منتقل میکنند. این فایل راه نفوذی به سایت شما ایجاد میکند. در صورتی که از اپلیکیشنهای مدیریت وردپرس روی گوشی خود استفاده نمیکنید یا اپلیکیشن خبری یا فروشگاهی به سایتتان متصل نیست، بهتر است با فعال کردن این گزینه، فایل مذکور را از دسترس خارج کنید و محافظت از وردپرس را امکانپذیر سازید.
بخش Blackhole: فعال کردن این گزینه، اطلاعاتی را در فایل robots.txt اضافه میکند که در صورت مشاهده رفتار مخرب رباتها، IP آنها را مسدود میکند.
بخش Directory Listing: گاهی اوقات با وارد کردن آدرس یک پوشه، محتویات آن به صورت لیست نمایش داده میشود. این اتفاق برای پوشههایی میافتد که خودمان ایجاد کردهایم. در آن به عنوان مثال آهنگها را آپلود کردهایم. با وارد کردن آدرس پوشه اصلی، لیست تمام آهنگها به نمایش در میآید که از لحاظ امنیتی مناسب نیست و کاربر باید آدرس دقیق فایل را وارد کند تا به آن دسترسی داشته باشد. بعد از فعال کردن این گزینه، کاربر به جای مشاهده لیست فایلها، با خطای 403 مواجه میشود.
بخش PHP disclosure: زبان PHP به طور اشتباه اطلاعاتی از ماژولهای نصب شده را افشا میکند که برای امنیت سایت چندان خوشایند نیست و با فعال کردن این گزینه میتوانید از آن جلوگیری کرده و محافظت از وردپرس را امکانپذیر سازید.
بخش PHP version disclosure: در برخی از صفحات سایت روی بعضی از سرورها، ورژن PHP را که شما در حال استفاده از آن هستید نمایش میدهد که میتواند کمکی برای حمله به سایت شما باشد. با فعال کردن این گزینه، اطلاعات ورژن PHP نمایش داده نخواهد شد.
بخش WordPress version disclosure: اگر از صفحه سایت خود Inspect بگیرید، متوجه میشوید که شماره نسخه وردپرس شما را در جاهای مختلف نمایش میدهد که میتواند برای هکرها کمکی جهت حمله بهتر باشد. با فعال کردن این گزینه، تمامی اعداد مربوط به نسخه وردپرس از کدهای سایتتان حذف خواهد شد.
بخش Bad URL Access: دسترسی مستقیم به برخی از فایلهای حساس وردپرس را محدود میکند که برای محافظت از وردپرس میتوانید آن را فعال کنید.
بخش Protect readme files: فایلهای readme.txt میتوانند اطلاعات خوبی را به هکرها برای یک حمله محاسبه شده بدهند. با فعال کردن این گزینه آنها را از دسترس هکرها خارج کنید.
سربرگ Firewall
در این سربرگ تنظیمات مختلفی برای بلاک کردن درخواستهای مخرب و مشکوک وجود دارد.
بخش Bad Headers: در این بخش 3 گزینه مختلف وجود دارد که به ترتیب برای محافظت از وردپرس از کاربران مخرب همانند رباتها، درخواستهای غیر مجاز و رباتهای ناشناخته برای بررسی سئو وردپرس است.
بخش Malicious URLs: با تنظیمات این بخش میتوانید، URL های مخرب را کنترل کنید یا جلوی دستکاری آنها را بگیرید. گزینه اول این بخش برای بلاک کردن URL های مخرب است که ممکن است توسط افزونهها یا کاربران سایتتان ایجاد شده باشد. گزینه دوم اسکنرهای SQLi را بلاک میکند و گزینه سوم هم افرادی را که دنبال فایل PHP خاص یا مخربی هستند، با صفحه 404 رو به رو میکند و سپس آنها را بلاک میکند. این تنظیمات، تخصصی هستند و شاید خیلی کارامد نباشند. اما با گذشت زمان در صورت نیاز میتوانید آنها را فعال کنید.
سربرگ Anti Spam
اسپمها همیشه آزاردهنده هستند. ماژول آنتی اسپم افزونه Secupress امکانات خوبی برای مقابله با اسپمها برای ما فراهم میکند. اسپمها معمولا در بخش کامنتها به چشم میخورند. مبارزه با آنها از راهکارهای امنیتی مهم برای هر سایتی به شمار میآید. با فعال کردن این ماژول، تنظیمات آن نمایش داده خواهد شد.
در بخش Handling Spam تعیین می کنید که اسپمها برای همیشه در دیتابیس ذخیره بمانند یا پس از 30 روز حذف شوند. با فعال کردن بخش Shortcode Usage، اگر کاربری در ارسال دیدگاه در متن آن از شورت کدها استفاده کند، به عنوان اسپم شناخته خواهد شد.
Improve the WordPress comments blacklist این امکان را برای شما فراهم می کند تا از بیش از 20000 کلمه از قبل آماده شده که به عنوان اسپم شناخته میشوند استفاده کنید. این کلمات در زبانهای مختلف آماده شدهاند که میتواند کار شما را راحتتر کند.
بخش آخر Pingbacks & Trackbacks است که در صورتی که از آنها استفادهای ندارید، برای امنیت بیشتر میتوانید آنها را با تیک زدن گزینه مربوطه غیرفعال کنید.
سربرگ Logs
در این سربرگ 2 بخش مهم وجود دارد که به شرح آنها میپردازیم:
بخش Actually Banned IPs: لیستی از IP های بلاک شده را نشان میدهد که در صورت تمایل میتوانید آنها را در صورت نیاز از این حالت خارج کنید. همچنین میتوانید IP جدیدی را برای مسدود شدن به لیست اضافه کنید.
بخش IPs :Whitelist IP هایی که هرگز نباید مسدود شوند در این لیست قرار میگیرند. همانند IP مدیران سایت. این بخش تنها زمانی کاربرد دارد که شما از IP ثابت استفاده کنید.
با فعال کردن گزینه WordPress action logs، لیستی از فعالیت های روزمره وردپرس، همانند تغییرات پسورد و پروفایل کاربران، تغییرات ایمیل و … نمایش داده میشود. گزینه Error Pages Log 404 لیستی از صفحههای 404 که برخی افراد مکرر با آن مواجه شدهاند را به شما نمایش میدهد که ممکن است برخی رباتهای مخرب برای پیدا کردن صفحاتی خاص در سایت شما با این صفحات رو به رو شده باشند.
سربرگ Alerts
در این ماژول فقط یکی از ویژگیها در نسخه رایگان فعال است. در بخش Email Notifications، ایمیل خود را وارد کنید تا خلاصه رویدادهای امنیتی سایتتان برای شما ایمیل شود. اگر میخواهید گزارشها به چند ایمیل مختلف ارسال شود، در هر خط یکی از ایمیلها را وارد کنید.
سایر ماژولهای این افزونه در نسخه پولی و حرفهای آن در دسترس است.
اسکن امنیت وردپرس با Secupress
بسیار خوب! تا اینجا با ماژول های افزونه امنیت وردپرس Secupress آشنا شدیم. حالا میخواهیم از اسکنر این افزونه برای اسکن امنیت وردپرس و محافظت از وردپرس استفاده کنیم. در منوی سمت راست وردپرس، در منوی افزونه Secupress، روی گزینه Scanners کلیک کنید.
در صفحه باز شده، 4 مرحله اسکن امنیت را مشاهده میکنید. روی دکمه Scan My Website کلیک کنید تا فرایند اسکن شروع شود.
همانطور که مشاهده می کنید، اسکنر این افزونه تمامی موارد امنیتی را که قبلا معرفی کردیم، بررسی میکند. اگر پیغام BAD یا WARNING را کنار هر مورد دریافت کردید، با رفتن به منوی Modules افزونه، مورد را رفع کنید. همچنین افزونه به شما درجهای را نشان میدهد که نشاندهنده میزان امنیت سایت شماست. وقتی این درجه به A تبدیل شد، یعنی امنیت سایت شما قابل قبول است. دقت کنید بعضی هشدارهای اسکنر با ماژولهایی رفع میشوند که در نسخه رایگان در دسترس نیستند و برای حل این مشکل باید نسخه حرفهای را خریداری کنید.
با کلیک کردن روی گزینه Next Step، به مرحله دوم اسکن که Auto Fix است، می روید. این مرحله در نسخه حرفهای در دسترس است و خطاهای صفحه قبل را به طور خودکار رفع میکند. اما در نسخه رایگان شما باید به صورت دستی ماژولهای لازم را فعال نمایید. در مرحله سوم هم میتوانید به صورت دستی از صحت فعال بودن ماژولها اطمینان حاصل کنید و در مرحله آخر، نتیجه اسکن و لینکهای ماژولها و همچنین نتیجه محافظت از وردپرس را در اختیارتان قرار میدهد.
نتیجه گیری
اگر محافظت از وردپرس برایتان اهمیت دارد و به دنبال یک افزونه کاربردی، با گرافیک خوب و تنظیمات راحت هستید، می توانید از افزونه امنیت وردپرس Secupress استفاده کنید. این افزونه با ماژولهای متعددی که در اختیار شما میگذارد، امنیت سایتتان را به درجه خوبی میرساند.
چنانچه سوالی درباره این افزونه برایتان پیش آمده حتما در بخش دیدگاهها مطرح کنید.