راهکار های امنیت وردپرس

(جزوه بان) #1

سلام میخواستم بدونم بهترین افزونه امنیتی برای وردپرس چی هست و برای افزایش امنیت چه کار هایی باید انجام داد؟ لطفاً راهنمایی کنید

0 Likes

(lord) #2

سلام
1- قالبتون باید امن باشه
2- افزونه های نال شده استفاده نکنید یا اگر میکنید از جای قابل اعتماد تهیه کنید ( به قول آرتا عزیز دزدان دریایی (ژاکت ، راست چین )
3- افزونه iThemes Security کامل ترین افزونه امنیتی هستش که پرفروش ترین هستش
ولی اگر خودت بتونی امنیت قسمت ادمین رو کاملا تامین کنی و پسورد قوی بزاری براش نیاز بهش نداری فکر کنم من خودم خریدمش ولی

0 Likes

(کابوس ) #3

از کجا بفهمیم افزونه نالی که استفاده میکنیم امنیت مارو مشکل دار میکنه یا اصلا بک لینک تولید میکنه؟

0 Likes

(جزوه بان) #4

خودتون از همین افزونه استفاده میکنید؟؟

0 Likes

(آرتا سیدزاده) #5

مهم ترین مورد اینه که سعی کنید از افزونه یا پوسته های نال شده استفاده نکنید. همچنین تمامی افزونه ها و پوسته رو مرتب بروزرسانی کنید. جدای از این موارد تنها چند تا مورد می مونه که باید در نظر بگیرید.

  • از هاستی استفاده کنید که CXS یا Imunify یا به طور کلی بگم یه آنتی ویروس و شلر تحت سرور نصب داشته باشن. امنیت اولیه وردپرس می بایست از سمت میزبان تامین بشه که این موارد در سون هاست ارایه میشه. اگر در سون هاست میزبانی نمی شوید اطمینان پیدا کنید که میزبان شما حداقل CXS رو نصب دارن
  • برای ورود به وردپرس ReCaptcha بزارید (افزونه Login No Captcha Recaptcha مناسب هست)
  • دسترسی فایل wp-config.php و .htaccess رو روی 444 تنظیم کنید

همین چند تا مورد مهم ترین هستن. بقیه موارد با بروز بودن مشکلی براتون پیش نمیاد و الزاما نیازی به افزونه برای تامین امنیت ندارید. یادتون نره که افزونه های امنیتی به دلیل فعالیت ۲۴ ساعته کلی از منابع هاستتون رو مصرف می کنه. در کل سنگین هستن و به نظرم حیاتی نیستن.

4 Likes

(رحیم) #6

آقا @arta
این مشکل 444 رو تو مواردی که htaccess قابلیت write رو از دست میده چجوری حل کنیم؟

image

1 Like

(یوسف رمضانی) #7

این موردی هست که باید در مواقع نیاز بصورت دستی تغییر رو ایجاد کنید و بعد دوباره به حالت قبل بر گردونید… مثلا فلان افزونه رو می خواین نصب کنین که نیاز داره فایل .htaccess رو ویرایش کنه، اون موقع ۲ تا اپشن دارید.

کدی که بهتون داده رو تو فایل بزارید و ذخیره کنید، یا سطح دسترسی فایل رو به صورت موقتی به 644 تغییر بدین تا افزونه بتونه تغییراتش رو انجام بده و بعد دوباره به 444 تغییر بدین.

4 Likes

(lord) #8

گاهی استفاده می کنم ، ولی اجباری نیست ! بعضی جا ها برای کسایی که خیلی حساس اند روی امنیتشون

1 Like

(یوسف رمضانی) #9

افزونه های امنیتی کلی جدول تو دیتابیس اضافه می کنن و بعد از حذف هم پاک نمیشن. این یک نامنظمی ایجاد می کنه. یه سری افزنه های هستن مثل WordFence که می تونه برای اسکن کردن هاست مفید باشه که فقط نصب کنید اسکن کنید و بعد از اتمام کار غیر فعال و حذف کنید.

یادتون نره که افزونه های از قبل نصب شده ای که حتی غیر فعال هستن می تونن از منابع هاست شما استفاده کنن.

البته اگر هاست شما CXS یا Imunify رو نصب داشته باشه ویروس هم همشون از سمت سرور ناکوت میشن و نیازی به این افزونه هم ندارید. به نظر طبق فرمایشات مهندس سیدزاده، اگر از افزونه یا پوسته نال شده استفاده نکنید و تمامی امکانات (افزونه های و پوسته ها) رو به موقع بروزرسانی کنید هیچ مشکلی براتون پیش نمیاد.

سعی کنید کمتری افزونه ممکن رو نصب کنید. تعداد افزونه بیشتر باعث ایجاد مشکلاتی میشه که می تونه روی عملکرد ب سایتتون تاثیر منفی بزاره. اینجا دیگه بحث میزان منابع و هاست پر سرعت نیست و کاملا بر میگرده به نوع استفاده.

2 Likes

(جزوه بان) #10

ممنون از راهنمایتون.

0 Likes

(حسین) #12

سلام
از htaccess سایت خودم نمونه ای تهیه کردم که اینجا قرار میدم
دوستان نیاز داشتن بر حسب نیاز از کد ها استفاده کنند
بخشی برای امنیت و بخشی برای بهینه سازی سرعت سایت هست

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

# Header Security CVE By WAnony
<IfModule mod_headers.c>
    Header set Access-Control-Allow-Origin "*"
</IfModule>
# End Header


# BEGIN DEFLATE COMPRESSION
<IfModule mod_deflate.c>
# Compress HTML, CSS, JavaScript, Text, XML and fonts
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
AddOutputFilterByType DEFLATE application/x-font
AddOutputFilterByType DEFLATE application/x-font-opentype
AddOutputFilterByType DEFLATE application/x-font-otf
AddOutputFilterByType DEFLATE application/x-font-truetype
AddOutputFilterByType DEFLATE application/x-font-ttf
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE font/opentype
AddOutputFilterByType DEFLATE font/otf
AddOutputFilterByType DEFLATE font/ttf
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE image/x-icon
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/xml
</IfModule>
# END DEFLATE COMPRESSION

# BEGIN GZIP COMPRESSION
<IfModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file \.(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</IfModule>
# END GZIP COMPRESSION

#BEGIN EXPIRES HEADERS
<IfModule mod_expires.c>
# Enable expirations
ExpiresActive On
# Default expiration: 1 hour after request
ExpiresDefault "now plus 1 hour"
# CSS and JS expiration: 1 week after request
ExpiresByType text/css "now plus 1 week"
ExpiresByType application/javascript "now plus 1 week"
ExpiresByType application/x-javascript "now plus 1 week"
# Image files expiration: 1 month after request
ExpiresByType image/bmp "now plus 1 month"
ExpiresByType image/gif "now plus 1 month"
ExpiresByType image/jpeg "now plus 1 month"
ExpiresByType image/jp2 "now plus 1 month"
ExpiresByType image/pipeg "now plus 1 month"
ExpiresByType image/png "now plus 1sByType image/svg+xml "now plus 1 month"
ExpiresByType image/tiff "now plus 1 month"
ExpiresByType image/vnd.microsoft.icon "now plus 1 month"
ExpiresByType image/x-icon "now plus 1 month"
ExpiresByType image/ico "now plus 1 month"
ExpiresByType image/icon "now plus 1 month"
ExpiresByType text/ico "now plus 1 month"
ExpiresByType application/ico "now plus 1 month"
# Webfonts
ExpiresByType font/truetype "access plus 1 month"
ExpiresByType font/opentype "access plus 1 month"
ExpiresByType application/x-font-woff "access plus 1 month"
ExpiresByType image/svg+xml "access plus 1 month"
ExpiresByType application/vnd.ms-fontobject "access plus 1 month"
</IfModule>
#END EXPIRES HEADERS

# BEGIN Cache-Control Headers
<ifModule mod_headers.c>
<filesMatch "\.(ico|jpe?g|png|gif|swf)$">
Header set Cache-Control "max-age=2592000, public"
</filesMatch>
<filesMatch "\.(css)$">
Header set Cache-Control "max-age=604800, public"
</filesMatch>
<filesMatch "\.(js)$">
Header set Cache-Control "max-age=216000, private"
</filesMatch>
<filesMatch "\.(x?html?|php)$">
Header set Cache-Control "max-age=600, private, must-revalidate"
</filesMatch>
</ifModule>
# END Cache-Control Headers

# Header Security
Header set X-XSS-Protection "1; mode=block"
Header always append X-Frame-Options DENY
Header set X-Content-Type-Options nosniff
# End Header Security

# Protect Important WP and Server Files
<FilesMatch "^.*(error_log|wp-config\.php|php.ini|\.[hH][tT][aApP].*)$">
Order deny,allow
Deny from all
</FilesMatch>

# Disable Index Browsing
Options All -Indexes

# Prevent Script Injections 
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{QUERY_STRING} (<|%3C).*script.*(>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|[|%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|[|%[0-9A-Z]{0,2})
RewriteRule ^(.*)$ index.php [F,L]

# Protect WP Includes Directory 
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^wp-admin/includes/ - [F,L]
RewriteRule !^wp-includes/ - [S=3]
RewriteRule ^wp-includes/[^/]+\.php$ - [F,L]
RewriteRule ^wp-includes/js/tinymce/langs/.+\.php - [F,L]
RewriteRule ^wp-includes/theme-compat/ - [F,L]
</IfModule>

# Prevent Username Enumeration
RewriteCond %{QUERY_STRING} author=d
RewriteRule ^ /? [L,R=301]

htaccess.zip

1 Like

(بختیاری) #13

از افزونه و قالب نال شده پرهیز کنید که موجب هلاکت است!
روی یه هاست برای تمرین و ازمایش از قالب و افزونه ی نال شده استفاده می کردیم که هک شد! بیشتر ساب دامین هامون هک شدن.البته چون برای تمرین بود ارزشی برامون نداشت. یکی از ساب دامین ها هم همون admin و pass مونده بود.
ولی من احتمال خیلی زیاد رو روی استفاده از قالب و افزونه های نال شده می دونم
البته خب یه سوالی که این جا پیش میاد اینه که چاره چیه؟ به قول ارتا واقعا اگر کسی کارش براش مهم باشه مستقیم از تم فارست می خره و خودش رو راحت می کنه.ولی خرید مستقیم از تم فارست برای یه قالب تقریبا نزدیک 800 هزار تومن در میاد یکی دو تا پلاگین هم بگیره 400-500 هم اونا می شن که برای هر سری باید این مبلغ رو پرداخت کرد.نزدیک 200 هزار تومن هم هاست و دامین می شه و تقریبا چیزی برای خود طراح نمی مونه.(البته اگه فریلنسر باشه نه شرکت)
با این اوصاف چاره چیه؟ یه راهی که هم برای طراح صرفه داشته باشه و هم مشکل امنیتی جدی نداشته باشه.
بعضی ها می گن خودشون یک بار از تم فارست می خرن و نال می کنن و برای دفعات بعدی استفاده می کنن.یه عده هم از مارکت های ایرانی که اون ها هم اکثرا نال شده هستن.
@arta @Hosein نظر شما چیه؟

1 Like

(آرتا سیدزاده) #14

در کل با نظرتون موافقم. حقیقت همین هست، هیچ چیز خوبی چه در ایران و چه در خارج از ایران با قیمت کم بدست نمیاد. این پوسته ها براشون زحمت کشیده شده و دلیل موفق بودن شانس و قیمتشون نیست. بروزرسانی مداوم، اضافه کردن امکانات و پشتیبانی خوب هست که فروششون رو هر روز بیشتر می کنه.

صفحه پوسته آوادا رو هر ۱۰ دقیقا یک بار رفرش کنید متوجه میشید که تعداد فروشش چقدر افزایش پیدا می کنه. اینا اومدن یه پوسته رو با امکانات خوب و همه چیز رو بصورت اصولی با در نظر گرفتن امنیت، واکنشگرایی، نیاز کاربران اینترنت و از همه مهم تر پشتیبانی حرفه ای ارایه میدن. اینها اتفاقی نیست.

اگر واقعا می تونستن پا به پای نویسنده ها بروزرسانی های لازمه رو انجام بدن که مشکلی نبود. مشکل اینجاست بعضی ها اینقدر پررو هستن فقط ورژن های توی فایل CSS رو تغییر میدن و میگن آپدیت کردن.

4 Likes

(بختیاری) #15

ممنونم ارتا جان
با این وجود بهترین راه رو خرید مستقیم از خود تم فارست می دونید؟
به نظرم واقعا جای یه تیم حرفه ای و متعهد توی ایران برای این کار خالیه.
در حد 5 تا قالب و افزونه ی اصلی رو بعد از هر بروزرسانی منتشر می کردن.مثل اوادا و انفولد و تو این مایه ها
مارکتای ایرانی موجود مثل ژاکت بیشتر مثل کاروانسرا می مونن.تقریبا تعهد انچنانی گریبان گیر فروشنده نیست.ژاکت هم از سر خودش وا کرده همه رو انداخته گردن فروشنده اونم هر موقع دلش بخواد می تونه شونه خالی کنه.تازه این در بهترین حالت ممکنه. اگر فروشنده قصد سوءاستفاده داشته باشه که دیگه واویلاست.
البته واقعا بعضی از فروشنده هاش هم پیگیر هستن و مرتب بروزرسانی می کنن. مثلا اقای حاتم پور فکر می کنم یکی از این دسته فروشنده ها باشه.به نظرم نسبت به بقیه شون برخورد خیلی بهتری داره.قالب انفولد رو می فروشن. ولی خب تعداد زیادی هم فروشنده ی بی تعهد داره.

1 Like

(آرتا سیدزاده) #16

اگر اسم این تاپیک رو درست خونده باشم به امنیت وردپرس اشاره کرده، خرید محصولات خارجی از وب سایت های ایرانی جدا از غیر اخلاقی و غیر قانونی بودن، ریسک امنیتی محسوب میشه. چون هیچ نوع ضمانتی وجود نداره. شما هستید و خودتون.

3 Likes

(کابوس ) #17

این وبسایت کلا برای ایدی ایران بسته است! بعدا هم اگر بفهمه ایران هستی اکانت رو میبنده و پولت میره تو این شرایط دلاری اخه
در یکی از گروه های تلگرای بحث بود کسی باگیفت کار خرید کرده بود. بعدا سایت دیگه آپ دیت های بعدی رو مسدود کرده بوده

1 Like

(آرتا سیدزاده) #18

درود

عزیز خرید رو که خودتون نمی زنید. شما به یه شرکتی که پرداخت دلاری انجام میده هزینه رو به تومان پرداخت می کنید اونا براتون انجام میدن. تو بخش مالی سون هاست هم پرداخت دلاری انجام میشه و برای خیلی از کاربران بدون پورسانت و قیمت روز دلار خرید کردیم. ما برای اینکار هیچ هزینه ای دریافت نمی کنیم و فقط عین هزینه رو دریافت می کنیم تا دست سوء استفاده گر ها کوتاه بشه.

تحت هر شرایطی پول شما بلاک نمیشه. در نهایت برگشت می خوره به همون حسابی که ازش پرداخت شده. همه جای دنیا قانون داره غیر از…

4 Likes

(Mohammad) #19

سلام
این حرف اصلا درست نیست ، اگر درست پیش برن هیچ اتفاقی نمیفته ، دوستان ایرانی زیادی هستند دارند تو انواتو فعالیت میکنن و خداروشکر فروش های خوبی هم دارن گویا ، متاسفانه محصولاتشن رو فراموش کردم وگرنه قرار میدادم ، و بازهم متاسفانه بدون نام از ایران دارن فعالیت میکنن

0 Likes

(Mohammad) #20

سلام آرتا جان ببخشید اینجا مطرح میکنم ، شما خدمات دریافت مبالغ هم دارید از انواتو؟
مرسی

0 Likes

(Mohammad) #21

با سلام
افزونه زیر رو امتحان کنید ، حتی نسخه رایگانش هم امکانات و موارد بسیار خوبی داره ، اسکنر و… کوچکترین اتفاقات و تغییرات در سایت رو با ایمیل بهتون اطلاع میده و … بعد از نصب روی سایت و بعد از گذشت چند وقت آمار جالبی از این افزونه میتونید بگیرید که چندین آیپی مسدود شدن و … در کل به نظرم در حال حاضر بهترین افزونه رایگان هست.
تو مخزن وردپرس نسخه رایگانش وجود داره : Wordfence Security

و یکسری تنظیمات اولیه وردپرس نیاز داره تا امنیت رو تا حدی ارتقا بده ، مثل تغییر نام کاربری از ادمین ، تغییر پیشوند های وردپرس و … برای تمامی این تنظیمات از افزونه زیر استفاده کنید :
All In One WP Security Firewall
این افزونه هم موارد جالب توجهی داره

دوستانی که اگر حتی برای امتحان قصد نصب این دو افزونه رو دارن ، قبل از هر اقدامی از دیتابیس و فایل htaccess. حتما و حتما بکاپ بگیرید.

موفق باشید

1 Like