راهکارهای امنیت و محافظت از سایت وردپرسی( بخش اول)

با توجه به محبوبیت وردپرس در بین سیستم های تولید محتوا، بحث امنیت وردپرس و یادگیری آن از مباحث بسیار مهمی تلقی می شود.

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

 

محافظت از wp-config

 wp-config

wp-config.php یکی از فایل‌های هسته وردپرس می‌باشد. این فایل شامل اطلاعاتی در مورد پایگاه داده مانند نام (معمولاً localhost)، نام کاربری و گذرواژه‌ها می‌باشد. این اطلاعات به وردپرس اجازه می‌دهند تا برای ذخیره سازی و دریافت اطلاعاتی (مثل پست‌ها، کاربران، تنظیمات و…) با پایگاه داده در ارتباط باشند. همچنین از این فایل برای تعریف تنظیمات پیشرفته وردپرس نیز استفاده می‌شود.

فایل wp-config.php در بسته پیش فرض که از سایت وردپرس دانلود می‌کنید قرار ندارد. به جای این فایل، یک فایل با نام wp-config-sample.php وجود دارد که می‌توانید آن را تغییر نام داده و به عنوان فایل wp-config.php استفاده کنید.

// ** MySQL settings – You can get this info from your web host ** //
/** The name of the database for WordPress */
define(‘DB_NAME’, ”);

/** MySQL database username */
define(‘DB_USER’, ‘root’);

/** MySQL database password */
define(‘DB_PASSWORD’, ”);

/** MySQL hostname */
define(‘DB_HOST’, ‘localhost’);

/** Database Charset to use in creating database tables. */
define(‘DB_CHARSET’, ‘utf8mb4’);

/** The Database Collate type. Don’t change this if in doubt. */
define(‘DB_COLLATE’, ”);

یکی از بخش‌های مهمی که در فایل wp-config.php قرار دارد، بخش وارد کردن پایگاه داده است که در تصویر مشاهده می‌کنید.

بقیه بخش‌های فایل wp-config.php را در تصویر مشاهده می‌کنید.

در این بخش‌ تنظیمات پیشرفته‌تری برای پیکربندی عناصر دیگر پایگاه در اختیار شما قرار گرفته است. همچنین می‌توان یک کلید سری (secret keys) اختصاصی در این فایل قرار دهید تا امنیت سایت شما چندین برابر شود. برای این کار ابتدا به آدرس زیر مراجعه کنید.

https://api.wordpress.org/secret-key/1.1/salt

بعد از وارد شدن، اطلاعاتی را به این شکل در اختیار شما قرار می‌دهد.

define(‘AUTH_KEY’,         ‘VwBH+{W)a(ATZ=nOovIf/<fj$/cQ!)y/`:e;{V{Z]!|]0-*RsgFf2mlg+-0lMca~’);
define(‘SECURE_AUTH_KEY’,  ‘EGnyV}8beDQ7)Hr@N99R-Gyt~52<yCWXsj$Kp9H6,8hYD$t9|@H<vl3Hm^^1+0D`’);
define(‘LOGGED_IN_KEY’,    ‘n1pc1+/Y7 D-IA-)M,PgV/g|/&dOs>>UpA.vkFT#ge}/i|m49hZ(,4T:==S(8eu3’);
define(‘NONCE_KEY’,        ‘dz ^#Qxq+!E@8;VE]8h2QP%G+3-c!pPviz<Xq~E~(k<8@-^ON!m[JiD6:1$HU@#U’);
define(‘AUTH_SALT’,        ‘)fcuLB`@wTfv]&1gL`!-Dpr-EZ;?z@vpKbCLT ]UB|E-8_9!5VC,Q=@wD5-~ !G~’);
define(‘SECURE_AUTH_SALT’, ‘kwy23|z4Su|R8!!x,mr6G@Dx}#YM56JNiN@R8>(65 t!5$rKg1tsAJi?Zo>G(Ep_’);
define(‘LOGGED_IN_SALT’,   ‘4(+O DR/bYL*o%>6$inet9yz/oX8^#xm{i#ea-k;p+-kz[+8v?m|+oG=r0r/*75[‘);
define(‘NONCE_SALT’,       ‘*I+0,_.m{L Gud>PwA-3ER,C7UPSOB?@G?vg|ya-tw>{KvnDxAULA7)d]g_jE:d$’);

این اطلاعات را کپی کرده و در جای مخصوص در wp-config قرار دهید و ذخیره کنید.

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

تغییر مسیر فایل wp-config

قدم بعدی برای افزایش امنیت و حفاظت از فایل wp-config تغییر مسیر این فایل می‌باشد.wp-config از آن دسته فایل‌هایی است که نفوذگران سعی در پیدا کردن آن و به دست آوردن اطلاعات درون آن دارند، زیرا با داشتن این اطلاعات می‌توانند به دیتابیس سایت متصل شوند و حتی در سایت برای خود یوزر و پسوردی را بعنوان مدیر سایت ایجاد کنند.

وردپرس در حالت پیشفرض و بدون اعمال هیچگونه تغییرات خاص، می‌تواند فایل تنظیمات خودش را حتی زمانیکه یک سطح بالاتر از محل نصب خودش باشد نیز پیدا کند. یعنی اگر شما فایل wp-config را از public_html به Home جابجا کنید، وردپرس بدون مشکل این فایل را یافته و مورد استفاده قرار خواهد داد. برای تغییر مسیر wp-config ابتدا آن را به بخش Home منتقل می‌کنیم.

فایل شما باید در مسیر Home قرار گیرد و دقیقاً کنار فایل‌هایی باشد که در تصویر بالا مشاهده می‌کنید. در این حالت فایل شما در دسترس نفوذگران نخواهد بود و امنیت وب سایت وردپرسی شما یک مرحله افزایش یافته است.

مشکلات پیش فرض وردپرس در صفحه ورود

سیستم مدیریت محتوای وردپرس علیرغم نکات مثبت زیادی که دارد، مشکلاتی نیز به همراه دارد. یکی از مواردیکه به صورت پیش فرض و ثابت در همه ورژن های وردپرس وجود دارد و امنیت وب سایت را به خطر می‌اندازد، وجود صفحه ورود ثابت به بخش مدیریت سایت است. همانطور که اطلاع دارید صفحه ورود به بخش مدیریت در همه ورژن های وردپرس wp-login.php است و این مورد از آن جهت باعث کاهش امنیت می‌شود که نفوذگر نیازی برای یافتن صفحه مدیریت ندارد، زیرا این صفحه همیشه ثابت است و در کمترین زمان می‌تواند وارد آن شود. برای اینکه بدانیم چرا این مورد خطرناک است نیاز داریم تا در ابتدا با حملاتی موسوم به Brute Force آشنا شویم.

حملات Brute Force

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

مختصری در مورد حملات کرکینگ ( Cracking )

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

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

بروت فورس چیست؟

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

چون در این نوع از حملات همه احتمالات بررسی می شود، برای عباراتی با اندازه بیش از 5 تا 6 کاراکتر ( برای کامپیوتر های عادی) پر هزینه و بی ارزش خواهد بود. در اینجا مثالی می اوریم تا علت پر هزینه بودن این عملیات قابل درک باشد.

برای مثال نفوذ گر Handshake یک شبکه وای فای که از امنیت WPA یا WPA2 استفاده می کند را به دست آورده است.در این مرحله نفوذگر اقدام به بروت فورس کردن آن در سیستم خود و یا یک سیستم قدرتمند مانند سرور مجازی(vps ) می کند.

چون نفوذگر مقدار رمز گذاری شده را در دست دارد، به این نوع حمله بروت فورس آفلاین گفته می شود. روش کاری به این صورت خواهد بود که ابتدا اقدام به بررسی همه احتمالات و ترکیب های موجود 8 رقمی می کند.چون حداقل تعداد کاراکتر های رمز وای فای باید 8 رقم باشد.در حمله بروت فورس نفوذ گر کاراکتر ها را مشخص کرده سپش اقدام به کرک کردن آن مقدار رمز گذاری شده می کند. برای مثال از عبارت 00000000 شروع کرده و بعد 00000001 و 00000011 و…. و 99999998 و 99999999 را امتحان می کند و زمانی که تعداد به پایان رسید همین کار را برای حروف انجام خواهد داد.

در هربار رمزگذاری کردن یک عبارت، مقدار رمز گذاری شده جدید با مقدار رمز گذاری شده در هند شیک شبکه وای فای مقایسه می شود. هرگاه هر دو مقدار یکی بود، یعنی رمز وای فای همان است اما اگر مقادیر یکی نباشد سراغ ترکیب بعدی می رود.

همانطور که واضح است حملات بروت فورس برای رمزهایی که فقط از اعداد یا کاراکتر های کمی استفاده شده باشد موثر خواهد بود. مثلا یک رمز 8 رقمی که از اعداد 0 تا 9 استفاده شده است می تواند در کمتر از یک روز با یک کامپیوتر عادی به دست آید.

حال به موضوع اصلی می پردازیم.

بروت فورس چگونه می تواند تهدیدی برای سایت های وردپرسی باشد؟

برای توضیح این مورد کافی است به ذکر این نکته بپردازیم که اگر نفوذ گر به نام کاربری ما دست پیدا کند این حمله را روی صفحه ورود سایت ما پیاده سازی می کند. در این حالت هکر یوزر نیم را دارد و فقط به پسورد نیاز دارد.اما یک هکر چگونه می تواند به پسورد ما دسترسی پیدا کند؟

برای مشکل مشخص شدن یوزر مدیریت در سایت های وردپرسی راه های مختلفی وجود دارد که هکر به کمک آن میتواند پسورد سایت ما را پیدا کند.

الف ) نمایش نام کاربری در پست ها

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

ب) کمک صفحه ورود به نفوذگران

مشکلی به صورت پیش فرض در وردپرس وجود دارد و آن نمایش خطاهایی است که به نفوذگران در یافتن نام کاربری مدیر کمک می کند. برای درک بهتر موضوع به تصاویر زیر نگاه کنید.

3

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

4

همانطور که در تصویر مشاهده می کنید، پیغام خطا به این شکل است: “نام کاربری نادرست است”. حالا من یوزر یا همان نام کاربری را صحیح وارد میکنم و فقط پسورد را اشتباه می زنم.

5

باز هم پیغام خطا داریم اما به این شکل: “رمز عبوری که برای elnazfaraji وارد کردید صحیح نیست”. در این پیغام خطا نکته مهمی وجود دارد.

وردپرس با این خطا اعلام می کند که نام کاربری درست است و فقط پسورد مشکل دارد بنابراین کار هکر را بسیار راحت تر کرده است. پس همانطور که می بینید این مورد میتواند راهنمای بسیار عالی برای نفوذ هکر ها باشد.

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

امیدواریم این مقاله آموزشی مفید واقع شده باشد.

http://bashgahwp.com/

 

 

توصیه میکنیم این مطالب را هم حتما بخوانید



تا کنون دیدگاهی ارسال نشده است،

1 دقیقه وقت دارید؟

با باشگاه وردپرس آشنا شوید
دیدن این ویدئو فقط یک دقیقه زمان شما را می گیرد

لطفا نام و ایمیل خود را وارد کنید

تا این آموزش ارزشمند همین الان برایتان ایمیل شود
فیلم آموزشی را همین الان برایم ایمیل کن
close-link

لطفا نام و ایمیل خود را وارد کنید

تا این آموزش ارزشمند همین الان برایتان ایمیل شود
فیلم آموزشی را همین الان برایم ایمیل کن
close-link

برای دانلود فیلم وبینار لطفا فرم زیر را تکمیل کنید

لینک دانلود بلافاصله برایتان ایمیل خواهد شد
فیلم آموزشی را همین الان برایم ایمیل کن
close-link

برای دانلود ماهنامه لطفا فرم زیر را تکمیل کنید
 
دانلود ماهنامه باشگاه وردپرس
close-link

فیلم آموزشی ساخت اپلیکیشن به زودی آماده خواهد شد
پس از آماده شدن برایتان ایمیل می شود
لطفا فرم زیر را تکمیل کنید

دریافت فیلم آموزشی
close-link

لطفا فرم زیر را تکمیل کنید

تا دو جلسه اول این دوره همین الان برایتان ایمیل شود
ثبت و دریافت فیلم 2 جلسه
close-link