امنیت وردپرس و روشهای موثر برای جلوگیری از هک شدن
دلیل اهمیت دادن به امنیت وردپرس :
در سال ۲۰۱۳ حدود ۹۰۰۰۰ سایت وردپرس برای استفاده در یک بات نت ربوده شدند لذا آگاهی داشتن از روشهای موثر برای امنیت وردپرس و جلوگیری از هک شدن برای هر توسعه دهنده وردپرس ضروری می باشد.
هر یک سایت از ۵ سایت موجود در اینترنت سایت وردپرسی می باشد ، لذا جای تعجب نیست که سایت های وردپرسی یک هدف بسیار محبوب ، هم برای هکرهای با تجربه و هم برای هکرهای تازه کار باشند.
این کمبود امنیت ، برخی اوقات به دلیل تخصص امنیتی ناکافی توسعهدهنده می باشد و برخی اوقات به دلیل استفاده از افزونههای موجود که نمیتوان امنیت آن ها را تضمین کرد.
راهکار تامین امنیت وردپرس چیست؟
در این مقاله ما ۱۳ تکنیک برای جلوگیری از هک شدن سایت وردپرسی را جهت رفع حفرههای امنیتی اساسی یا اشتباهاتی که معمولاً در هزاران سایت وردپرس وجود دارد و میتواند به جلوگیری از هک وردپرس کمک کند را بیان می کنیم.
اولین تکنیک از تکنیک های جلوگیری از هک اجرای آخرین نسخه وردپرس می باشد.
اجرای آخرین نسخه هر نرم افزار احتمالاً در ابتدا واضح ترین اقدام امنیتی است که باید انجام شود.
با این حال، با توجه به اینکه بیش از ۸۶٪ از نصب های وردپرس نسخه های قدیمی وردپرس را اجرا می کنند ، این نکته هنوز هم یکی از مواردی است که باید بر آن تاکید شود.
هر بهروزرسانی وردپرس نه تنها ویژگیهای جدیدی را به همراه دارد، بلکه مهمتر از آن، رفع اشکالها و رفع باگ های امنیتی را با خود به همراه میآورد که به سایت وردپرس شما کمک میکند در برابر آسیبپذیریهای رایج و قابل استفاده آسان، ایمن بماند.
امنیت وردپرس و روشهای موثر برای جلوگیری از هک شدن
اجرای آخرین نسخه تم ها و پلاگین ها
۲. دومین تکنیک از تکنیک های جلوگیری از هک ، اجرای آخرین نسخه تم ها و پلاگین ها در سایت وردپرس خواهد بود.
اجرای آخرین نسخه وردپرس به تنهایی کافی نیست ، حتی پلاگین ها و تم های سایت شما همچنان می توانند دارای آسیب پذیری هایی باشند که می تواند امنیت سایت وردپرس شما را به خطر بیندازد، که به نوبه خود قربانی هک وردپرس می شود.
افزونه Slider Revolution نمونه خوبی از این است که چگونه افزونه ها و تم های قدیمی می توانند امنیت سایت شما را به خطر بیندازند.
Slider Revolution یک افزونه بسیار محبوب وردپرس است که اتفاقاً توسط تعداد زیادی از تم های وردپرس فروخته شده در بازار Envato نیز استفاده می شود .
این افزونه آسیبپذیر به کاربران مخرب اجازه میدهد تا اعتبار پایگاه داده را به سرقت ببرند، که پس از آن به طور بالقوه امکان به خطر افتادن کامل سایت وردپرس را از طریق پایگاه داده آن میدهد.
بنابراین، اطمینان از اینکه تمها و افزونههایی که در حال اجرا هستند همگی به آخرین نسخههای خود بهروزرسانی شدهاند، ضروری است.
با به روز نگه داشتن پلاگین ها و تم های خود، می توانید مطمئن شوید که سایت شما با آخرین به روز رسانی های امنیتی پوشش داده شده است.
۳. سومین تکنیک از تکنیک های جلوگیری از هک احتیاط هنگام انتخاب پلاگین ها و تم ها در سایت وردپرس می باشد.
وردپرس به شما اجازه می دهد تا سایت خود را با هزاران افزونه و تم سفارشی کنید. اگر چه گسترش قابلیت ها و سفارشی سازی سایت شما مهم است، اما نباید به قیمت امنیت وب سایت شما تمام شود.
حتی اگر نصب وردپرس، افزونه ها و تم ها همه به روز باشد، به این معنی نیست که سایتی در برابر حمله آسیب پذیر نیست. شمارش افزونه ها به مهاجمان این امکان را می دهد که بفهمند سایت وردپرس شما از چه افزونه هایی استفاده می کند. با اجتناب از نصب افزونه های غیر ضروری، به طور خودکار سطح حمله سایت خود را کاهش می دهید.
هنگام انتخاب پلاگین ها و تم های مورد استفاده، محتاط باشید. قبل از نصب یک افزونه یا تم، در مورد آن (در منابعی غیر از سایت توسعه دهنده افزونه یا تم) مطالعه کنید.
بررسی کنید که افزونه یا تم چند بار دانلود شده است؟
آخرین بار چه زمانی توسط نویسندگان آن به روز شده است؟
هر چه تعداد دانلودها و بهروزرسانیهای اخیر افزونه یا تم بیشتر باشد، نشاندهنده استفاده گسترده از آن است و به طور فعال توسط نویسندگان آن نگهداری میشود، به این معنی که اگر آسیبپذیری پیدا شود، احتمالاً سریعتر برطرف میشود.
امنیت وردپرس و روشهای موثر برای جلوگیری از هک شدن
کاربران غیر فعال را حذف کنید
۴. چهارمین تکنیک از تکنیک های جلوگیری از هک ، حذف کاربران غیر فعال در سایت وردپرس هست.
کاربران، به خصوص مدیران و سایرین که توانایی تغییر محتوا را دارند، احتمالاً یکی از ضعیف ترین نقاط هر سایتی هستند، زیرا متأسفانه اکثر کاربران تمایل به انتخاب رمزهای عبور ضعیف دارند.
اگر نیاز دارید که کاربران غیرفعال را در پایگاه داده وردپرس خود نگه دارید، حتما نقش آنها را به “مشترک” تغییر دهید تا هرگونه اقدامی را که می توان انجام داد محدود کنید.
۵.پنجمین تکنیک از تکنیک های جلوگیری از هک اهمیت دادن به تنظیمات امنیتی و جلوگیری از فهرست دایرکتوری در سایت وردپرس می باشد.
فهرست دایرکتوری زمانی اتفاق میافتد که وب سرور یک فایل فهرست به عنوان مثال یک index.php یا index.html پیدا نکند، اگر فهرست دایرکتوری روشن باشد، سرور یک صفحه HTML را نشان میدهد که محتویات دایرکتوری را فهرست میکند.
فهرست دایرکتوری در سرور HTTP آپاچی در یک سایت وردپرس
افشای این اطلاعات میتواند با افشای اطلاعاتی که میتواند توسط مهاجمی که میخواهد از آسیبپذیری در افزونه وردپرس، قالب یا حتی خود وب سرور استفاده کند، در برابر حملات آسیبپذیر کند.
در حالی که غیرفعال کردن فهرست دایرکتوری یک اقدام امنیتی خاص وردپرس نیست، چندین سایت وردپرسی که روی نصب های پیش فرض سرور HTTP Apache اجرا می شوند ، فهرست دایرکتوری را فعال کرده اند.
برای غیرفعال کردن فهرست دایرکتوری ها در سرور Apache HTTP، باید پیکربندی زیر را در فایل htaccess. سایت وردپرس خود اضافه کنید (این فایل معمولاً در دایرکتوری ریشه وب سایت شما قرار دارد).
| Options -Indexes |
۶. کلیدهای امنیتی پیچیده در سایت وردپرس
وردپرس از مجموعه ای از کلیدهای امنیتی طولانی، تصادفی و پیچیده استفاده می کند.
کلیدهای امنیتی رمزگذاری بهتر اطلاعات ذخیره شده در کوکی های کاربران را تضمین می کنند.
در مجموع هشت کلید امنیتی وجود دارد که وردپرس از آنها استفاده می کند
- AUTH_KEY
- SECURE_AUTH_KEY
- LOGGED_IN_KEY
- NONCE_KEY
- AUTH_SALT
- SECURE_AUTH_SALT
- LOGGED_IN_SALT
- NONCE_SALT
یک کلید امنیتی مشابه یک رمز عبور یا عبارت عبور بسیار قوی عمل می کند و باید حاوی عناصری باشد که ایجاد گزینه های کافی برای شکستن را دشوارتر می کند
شما می توانید کلیدهای تصادفی خود را بسازید یا می توانید از تولید کننده کلید آنلاین وردپرس برای انجام این کار استفاده کنید.به سادگی کلیدهای تولید شده توسط ژنراتور را در فایل wp-config.php خود کپی و جایگذاری کنید.
امنیت وردپرس و روشهای موثر برای جلوگیری از هک شدن
دسترسی به فهرست wp-admin را محدود کنید
۷. دسترسی به فهرست wp-admin در سایت وردپرس را محدود کنید
محافظت از گذرواژه از ناحیه مدیریت وردپرس شما از طریق لایه ای از احراز هویت HTTP، اقدامی موثر برای خنثی کردن مهاجمانی است که سعی در حدس زدن رمز عبور کاربران دارند.
علاوه بر این، اگر مهاجمان موفق به سرقت رمز عبور یک کاربر شوند، برای دسترسی به فرم ورود به وردپرس باید از احراز هویت HTTP عبور کنند.
۸. ویرایش فایل را در سایت وردپرس غیرفعال کنید
به طور پیشفرض، وردپرس به کاربران اداری اجازه میدهد تا فایلهای PHP افزونهها و تمها را در داخل رابط مدیریت وردپرس ویرایش کنند.
این اغلب اولین چیزی است که یک مهاجم در صورت دسترسی به یک حساب مدیریتی به دنبال آن است زیرا این عملکرد امکان اجرای کد روی سرور را فراهم می کند.
با وارد کردن ثابت زیر در wp-config.php، ویرایش از داخل رابط مدیریتی غیرفعال می شود.
DEFINE(‘DISALLOW_FILE_EDIT’, TRUE);
۹. از شمارش نام کاربری در سایت وردپرس جلوگیری کنید
در بسیاری از وبلاگ های وردپرس، این امکان وجود دارد که کاربران وردپرس را با استفاده از صفحه آرشیو نویسنده برشمارید.
در صورتی که پیوندهای دائمی وردپرس فعال باشد و کاربر یک یا چند پست منتشر کرده باشد،شمارش نام کاربری وردپرس کار می کند.
به منظور جلوگیری از شمارش نام کاربری وردپرس، می توانید قانون زیر را به فایلhtaccess . سایت وردپرس خود اضافه کنید
(این فایل معمولاً در فهرست اصلی وب سایت شما قرار دارد).
# Begin block author scans
rewriteengine on
Rewritebase /
Rewritecond %{query_string} (author=\d+) [nc]
Rewriterule .* – [f]
# end block author scans
امنیت وردپرس و روشهای موثر برای جلوگیری از هک شدن
فعال کردن HTTPS برای همه لاگین ها و wp-admin
۱۰. فعال کردن HTTPS برای همه لاگین ها و wp-admin در سایت وردپرس
HTTPS به خودی خود یک پروتکل نیست، بلکه HTTP در TLS/SSL محصور شده است .
TLS یا SSL، وب سایت ها و برنامه های کاربردی وب را با رمزگذاری داده های در حال انتقال و احراز هویت برای تأیید هویت یک میزبان ارائه می دهد.
HTTPS معمولاً مترادف با سبد خرید و بانکداری اینترنتی است، اما در واقعیت، هر زمان که کاربر اطلاعات حساسی را به وب سرور منتقل می کند باید از آن استفاده کرد و بالعکس.
TLS/SSL ممکن است به میزان قابل توجهی منابع سرور را بسته به ترافیک سایت مصرف کنند.
در نتیجه، برای اکثر سایتها نیازی به سرویس دهی کل سایت با استفاده از HTTPS نیست.
از طرف دیگر، فرم ورود و ناحیه مدیریت وردپرس، احتمالاً حساس ترین قسمت های یک سایت وردپرس هستند. بنابراین اکیداً توصیه میشود که TLS/SSL در چنین مناطقی اجرا شود.
وردپرس یک راه آسان برای اعمال TLS/SSL در هر دو صفحه wp-login و wp-admin ارائه می دهد . این با تعریف دو ثابت در wp-config.phpفایل سایت شما به دست می آید .
توجه – قبل از اینکه سایت شما با این ثابت ها روی true تنظیم شده باشد، باید TLS/SSL را پیکربندی کرده و روی سرور کار کنید.
برای اطمینان از اینکه اعتبار ورود به سیستم در حین انتقال به وب سرور رمزگذاری شده است، ثابت زیر را درwp-config.php. قرار دهید.
define(‘FORCE_SSL_LOGIN’, true);
برای اطمینان از اینکه داده های حساس در حال انتقال (مانند کوکی های جلسه) هنگام استفاده از پنل مدیریت وردپرس رمزگذاری شده اند، ثابت زیر را در.wp-config.php قرار دهید
define(‘FORCE_SSL_ADMIN’, true);
۱۱. دسترسی مستقیم به فایل های PHP در Plugin و Themeرا در سایت وردپرس محدود کنید.
برخی از افزونهها و فایلهای تم میتوانند حاوی فایلهای PHP باشند که برای فراخوانی مستقیم طراحی نشدهاند، زیرا فایل فراخوانی توابعی هستند که در فایلهای دیگر تعریف شدهاند.
این ممکن است باعث شود مفسر PHP خطاها یا هشدارهایی را نمایش دهد که ممکن است منجر به افشای اطلاعات شود.
یکی دیگر از دلایل محدود کردن دسترسی مستقیم به فایلهای PHP، جلوگیری از دور زدن یا اجتناب مهاجمان از اقدامات امنیتی (مانند احراز هویت) هنگام تقسیم کد به فایلهای کوچکتر (که سپس همراه با کدهای دیگر گنجانده شده و استفاده میشوند) است.
برخی از افزونهها و تمها کد را به فایلهای کوچکتر تقسیم میکنند و این فایلها را در قطعات بزرگتر کد قرار میدهند.
یک مهاجم ممکن است گاهی اوقات بتواند مستقیماً یکی از فایل های کوچکتر را فراخوانی کند و از اقدامات امنیتی مختلف مانند بررسی اعتبار ورودی جلوگیری کند.
بیشتر اوقات این اتفاق می افتد زیرا اعتبار سنجی در فایل های دیگر و در ماژول های کوچکتر ذکر شده انجام نمی شود.
علاوه بر این، اگردستورالعمل Register_Globals روی سرور فعال باشد (دستورالعمل به طور پیشفرض در نسخههای PHP 4.2.0 و بالاتر غیرفعال است)، با دسترسی مستقیم به فایل PHP، مهاجم ممکن است بتواند چندین اقدام مخرب را انجام دهد.
متغیرهای PHP از درخواستهای GET/POST و برای دور زدن مکانیسمهای حفاظتی مختلف.
اکثریت قریب به اتفاق افزونهها و تمها نیازی به درخواست کاربر HTTP برای فایلهای PHP ندارند، با این حال، در صورت وجود استثنا، میتوانید فایلها و دایرکتوریهایی را که نیاز به دسترسی مستقیم به فایلهای PHP دارند، در لیست سفید قرار دهید.
قانون زیر هرگونه درخواست مستقیم به فایل های PHP را به صفحه دلخواه شما هدایت می کند (در مثال زیر سرور با صفحه ۴۰۴ و کد وضعیت پاسخ می دهد).
دسترسی به فایل های PHP را از فهرست پلاگین ها و تم ها محدود کنید
RewriteCond %{REQUEST_URI} !^/wp-content/plugins/file/to/exclude\.php
RewriteCond %{REQUEST_URI} !^/wp-content/plugins/directory/to/exclude/
RewriteRule wp-content/plugins/(.*\.php)$ – [R=404,L]
RewriteCond %{REQUEST_URI} !^/wp-content/themes/file/to/exclude\.php
RewriteCond %{REQUEST_URI} !^/wp-content/themes/directory/to/exclude/
RewriteRule wp-content/themes/(.*\.php)$ – [R=404,L]
۱۲. از اجرای فایل های PHP در سایت وردپرس جلوگیری کنید
“وردپرس به کاربران خود اجازه میدهد تا محتوای جدید را آپلود کنند. به همین دلیل، باید دایرکتوری آپلود وردپرس را به گونهای تنظیم کنید که کاربران قادر به نوشتن در آن باشند. این تنظیمات باعث میشود که دایرکتوری شما به عنوان یک نقطه ورود بالقوه محسوب میشود.”
بزرگترین تهدید بالقوه آپلود فایل های PHP است.
وردپرس به کاربران اجازه نمیدهد فایلهای PHP را در کنسول مدیریتی خود آپلود کنند، با این حال، ممکن است یک افزونه یا تم اجازه آپلود فایلها را بدون استفاده از APIهای تعیینشده وردپرس برای انجام این کار بدهد.
این می تواند منجر به آپلود شدن یک فایل PHP مخرب و در نتیجه اجرا شدن روی سرور شود.
محدود کردن اجرای فایلهای PHP اضافه شده ، بهترین روش برای کاهش خطر اجرای فایل های PHP ، می باشد.
برای محدود کردن اجرای فایل های PHP کد زیر را به پوشه آپلود خود اضافه کنید.
<Directory “/var/www/wp-content/uploads/”>
<Files “*.php”>
Order Deny,Allow
Deny from All
</Files>
</Directory>
۱۳. گزارش های اشکال زدایی خود در سایت وردپرس را ایمن کنید
در طول توسعه پلاگین ها یا تم ها، و همچنین در طول استقرار یک سایت وردپرس، توسعه دهندگان یا مدیران سیستم ممکن است گزارش های اشکال زدایی را فعال کنند تا هرگونه خطای PHP رخ دهد.
وردپرس از ثابت WP_DEBUG استفاده می کند که در wp-config.php تعریف می شود.
ثابت برای راه اندازی حالت اشکال زدایی در سراسر وردپرس استفاده می شود.
WP_DEBUG پیش فرض روی مقدار false تنظیم می شود.
توسعه دهندگان و سرپرستان سایت ها همچنین می توانند ثابت های همراه WP_DEBUG_LOG و WP_DEBUG_DISPLAY را در WP_DEBUG فعال کنند.
WP_DEBUG_LOG یک فایل گزارش در پوشه wp-contents ایجاد میکند.
WP_DEBUG_DISPLAY کنترل میکند که آیا پیامهای اشکالزدایی در HTML صفحات نشان داده میشوند یا نه.
هر یک از موارد بالا در زمانی که یک تم، افزونه یا سایت در حال توسعه است مفید خواهد بود، اما اگر در یک وب سایت تولیدی فعال شود، ممکن است باعث افشای اطلاعات شود – به کاربران مخرب اجازه می دهد خطاها و اطلاعات ثبت اضافی را مشاهده کنند.
ثابت WP_DEBUG باید در سیستم های تولیدی با حذف ثابت از فایل wp-config.php یا تنظیم آن بر روی false به صورت زیر غیرفعال شود.
define(‘WP_DEBUG’, false );
۱۳ نکته بالا شما را در جلوگیری از هک وردپرس کمک میکند.
-
کلیدواژهها:
- روشهای موثر برای جلوگیری از هک شدن سایت وردپرسی
- چگونه از حملات سایبری به سایتهای وردپرسی جلوگیری کنیم؟
- افزونههای امنیتی برتر برای جلوگیری از هک شدن سایت وردپرس
- اقدامات امنیتی اساسی برای حفاظت از سایت وردپرسی شما
- راهنماییها و ابزارهای مفید برای تقویت امنیت سایت وردپرسی
- چگونه رمزهای عبور قوی و امنیتی برای سایت وردپرس ایجاد کنیم؟
- اقدامات پیشگیرانه برای مقابله با نفوذ و هک سایتهای وردپرسی
- بهترین شیوههای بهروزرسانی و نگهداری امنیت سایت وردپرس
- نحوه تنظیم و استفاده از فایروالهای وب برای سایتهای وردپرسی
- پیکربندی صحیح تنظیمات امنیتی در وردپرس برای جلوگیری از هک شدن
- آموزش نصب و پیکربندی افزونههای ضد هک برای سایت وردپرس
- چگونه با استفاده از SSL و گواهینامههای امنیتی سایت وردپرس را محافظت کنیم؟
- روشهای بکاپگیری و بازیابی اطلاعات برای سایت وردپرسی در برابر هک
- چگونه با استفاده از پایش و نظارت امنیتی از هک شدن سایت وردپرس جلوگیری کن







