امنیت وردپرس و جلوگیری از هک شدن سایت

امنیت وردپرس و جلوگیری از هک شدن سایت – نگهبان سایت خود باشید!

وردپرس را تقریباً همه می شناسند. بارزترین ویژگی مثبت این سیستم مدیریت محتوا، فراوانی پوسته ها و افزونه ها و مهمتر از همه، راحتی کار با آن است. در نقطه مقابل برخی وردپرس را به عنوان یک سیستم مدیریت محتوای غیر امن می شناسند! در این مقاله بررسی خواهیم کرد که آیا این گفته صحت دارد یا خیر. همینطور راهکارهایی برای افزایش امنیت وردپرس ارائه خواهیم داد.

امنیت وردپرس پائین می آید اگر:

  • پوسته های خود را از سایت های مافیایی و نالر دانلود کنید.
  • افزونه های غیر رسمی و آزاد را بدون بررسی نصب کنید.
  • به روز رسانی های هسته وردپرس و افزونه های آنرا مرتباً انجام ندهید.
  • لاگ خطاها و اخطارهای وب سایت خود را بررسی نکنید.
  • از نام کاربری پیشفرض (admin) استفاده کنید.
  • از رمزهای غیر ترکیبی استفاده کنید (ترکیب اعداد، حروف و symbol ها)
  • دسترسی کاربران سایت را مدیریت نکنید.
  • از اسکریپت های خارجی (external) مانند ماژول ها و اسکریپت هایی که API از سایت های غیر امن می گیرند، استفاده کنید.
  • فیلدهای موجود در سایت (جستجو، فیلد های فرم تماس با ما و سایر فرم ها) را ایمن (sanitize) نکنید.
  • سرویس دهنده وب (هاستینگ) مطمئن که روی سرور خود فایروال نصب شده دارد، انتخاب نکنید.
  • و …

امنیت وردپرس بالا می رود اگر:

  • مواردی که در بالا ذکر شد را انجام ندهید.
  • کد زیر را که سایت PerishablePress به عنوان یک نوع فایروال ارائه داده را در htaccess داشته باشید:

# ۵G FIREWALL from PerishablePress.com

# ۵G:[QUERY STRINGS]
<ifModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} (environ|localhost|mosconfig|scanner) [NC,OR]
RewriteCond %{QUERY_STRING} (mod|path|tag)=.?/? [NC,OR]
RewriteCond %{QUERY_STRING} boot.ini [NC,OR]
RewriteCond %{QUERY_STRING} echo.*kae [NC,OR]
RewriteCond %{QUERY_STRING} etc/passwd [NC,OR]
RewriteCond %{QUERY_STRING} =\%27$ [NC,OR]
RewriteCond %{QUERY_STRING} =\’$ [NC,OR]
RewriteCond %{QUERY_STRING} ../ [NC,OR]
RewriteCond %{QUERY_STRING} : [NC,OR]
RewriteCond %{QUERY_STRING} [ [NC,OR]
RewriteCond %{QUERY_STRING} ] [NC]
RewriteRule .* – [F]
</ifModule>

# ۵G:[USER AGENTS]
<ifModule mod_setenvif.c>
SetEnvIfNoCase User-Agent ^$ keep_out
SetEnvIfNoCase User-Agent (casper|cmsworldmap|diavol|dotbot) keep_out
SetEnvIfNoCase User-Agent (flicky|ia_archiver|jakarta|kmccrew) keep_out
SetEnvIfNoCase User-Agent (libwww|planetwork|pycurl|skygrid) keep_out
<limit GET POST PUT>
Order Allow,Deny
Allow from all
Deny from env=keep_out
</limit>
</ifModule>

# ۵G:[REQUEST STRINGS]
<ifModule mod_alias.c>
RedirectMatch 403 (https?|ftp|php)://
RedirectMatch 403 /(cgi|https?|ima|ucp)/
RedirectMatch 403 (=\’|=\%27|/\’/?|).css()$
RedirectMatch 403 (,|//|)+|/,/|{0}|(/(|…|+++||)
RedirectMatch 403 .(cgi|asp|aspx|cfg|dll|exe|jsp|mdb|sql|ini|rar)$
RedirectMatch 403 /(contac|fpw|install|pingserver|register).php
RedirectMatch 403 (base64|crossdomain|localhost|wwwroot)
RedirectMatch 403 (eval(|_vti_|(null)|echo.*kae)
RedirectMatch 403 .well-known/host-meta
RedirectMatch 403 /function.array-rand
RedirectMatch 403 );$(this).html(
RedirectMatch 403 proc/self/environ
RedirectMatch 403 msnbot.htm)._
RedirectMatch 403 /ref.outcontrol
RedirectMatch 403 com_cropimage
RedirectMatch 403 indonesia.htm
RedirectMatch 403 {$itemURL}
RedirectMatch 403 function()
RedirectMatch 403 labels.rdf
</ifModule>

  • دسترسی به ایندکس دایرکتوری را در htaccess محدود کنید:

# ۴۰۳ Forbidden for directory listing
Options -Indexes

  • فایل config  را یک مرحله به عقب ببرید: به این معنی که فایل کانفیگ، در public_html نباشد و به یک پوشه قبل تر انتقال یابد(وردپرس به طور اتوماتیک آنرا شناسایی می کند)!
  • Prefix جداول دیتابیس را تغییر دهید.
  • با افزونه های اسکنر، سایت را مرتباً اسکن کنید.

 

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *