PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : چگونه از هک شدن سایت وردپرس پیشگیری کنیم ؟



SaynaServer
April 4th, 2012, 18:33
چگونه از هک شدن سایت وردپرس پیشگیری کنیم ؟ (http://www.saynaserver.com/%D8%A2wp-config.html)
چگونه از هک شدن سایت وردپرس پیشگیری کنیم ؟


هرگز از کلمه admin به عنوان شناسه ورود خود استفاده نکنید

همیشه سایت خود را به روز رسانی نمائید

تغییر در رمز عبور به طور منظم (وردپرس ، کنترل پنل ، ایمیل و دیتابیس) ، استفاده از رمز های عبور قوی و غیر یکسان

محدود کردن دستری به پوشه wp-admin و فایل wp-config با استفاده از تنظیمات فایل .htaccess

تهیه نسخه پشتیبان از فایل ها و دیتابیس وردپرس در جایی غیر از هاست

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

نکته : در بسیاری از موارد مشکل از سرور و یا حتی از CMS نیست ، و فقط به دلیل سهل انگاری کاربر هکر اقدام به آپلود Shell کرده و سپس با sql injection به رمز عبور و ایمیل هم دسترسی می یابد ! و یا اقدام به deface سایت می کند (برای پیشگیری از این موارد می توان روی پوشه wp-admin از داخل دایرکت ادمین رمز گذاشت ، تا کار برای هکر دشوارتر شود)


http://www.saynaserver.com/perm.gif
پس از اینکه سایت وردپرس ما هک شد چه کارهایی می توانیم انجام دهیم؟


آرامش خود را حفظ کنید

برای مقابله با این وضعیت ابتدا باید ارامش خود را حفظ کنید . گام اول در مواجه با حوادث امنیتی این است که خود را به آرامش دعوت کنید و با بررسی اوضاع مطمئن شوید که اشتباهی مرتکب نشده اید.


اسکن کردن سیستم

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


مطرح کردن موضوع با میزبان وب

بهتر ات موضوع هک را با میزبان وب خود مطرح نمائید چون ممکن است هک کلی باشد و سایت های دیگری جز وبسایت شما هم درگیر این موضوع باشند به خصوص زمانی که از سرور اشتراکی استفاده می نمایید احتمال این نکته بیشتر است


تغییر در رمز عبور

رمز عبور مربوط به کنترل پنل ، وردپرس ، دیتابیس ، FTP (حتی ایمیل اگر به آن اطمینان ندارید) را به رمز های قدرتمند و غیر یکسان تغییر دهید


بررسی فایل ها با نسخه پشتیبان

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


بررسی فایل .htaccess

فایل .htaccess را به دقت و تا انتها بررسی نمائید هکر ها ممکن است کدهایی برای ریدایرکت سایت به سایت های مخرب در آن قرار داده باشند و یا ممکن است سطح دسترسی آن را تغییر داده باشند (دقت کنید سطح دسترسی حتما 644 باشد)


حذف تمامی فایل ها!

مطمئن ترین راه پس از هک حذف تمامی فایل ها و دیتابیس ها از هاست است ! البته این کار مستلزم وجود بکاپ کامل قبل از هک می باشد


بازگرداندن بکاپ

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


جایگزینی فایل های اصلی وردپرس

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


به روز رسانی

حال باید وردپرس خودر را به سرعت ارتقاء دهید ، نسخه های قدیمی تر بیشتر مستعد هک شدن هستند


تغییر دوباره رمز عبور

به یاد داشته باشید که حتما پس از اطمینان از تمیز شدن سایت خود باید رمز عبور را تغییر دهید ، پس اگر بعد از هک شدن رمز را عوض کرده اید ،مجددا آن را به رمز های مناسب تغییر دهید


سایت خود را ایمن کنید

حال که سایت خود را بازگردانده اید ، توصیه می شود با انجام کارهایی آن را ایمن تر نمائید ، توصیه می شود برای این مورد به این صفحه از سایت وردپرس (http://codex.wordpress.org/Hardening_WordPress) مراجعه نمائید


تهیه پشتیبان گیری منظم

حالا که کابوس تمام شده است ، شما باید به روند پشتیبان گیری منظم از سایت ادامه دهید ، همه ما به بشتیبان گیری منظم ، تغییر در رمز عبور ها و Secret Code نیاز داریم
نکته : منظور از رمز عبور قدرتمند ، رمزی است که شامل حروف کوچک ، بزرگ ، اعداد و نشانه ها باشد ، البته باید توجه کرد که تا جای ممکن از عبارات معنی دار مانند تاریخ تولد ، نام ، شماره تماس و ... استفاده نشود .
امیدواریم که مطالعه این مقاله در جهت ایمن کردن وبسایت وردپرس مفید باشد و از این پس با رعایت این موارد کمتر شاهد این اتفاق برای سایت های شما عزیزیان باشیم.

sebastian
April 4th, 2012, 18:54
من هم برای کامل کرد آموزش این دوستمون یه آموزش جامع جهت امنیت وردپرس اینجا پیوست میکنم

هیچ چیز ضد حالی بزرگتر از این نیست که روزی وارد سایت خود بشوید و ببینید هک شده اید! اغلب کاربران عادی که دارای وبلاگ هستند از وردپرس استفاده می کنند. این سیستم مدیریت محتوا ساده و کارامد و دوستدار موتورهای جستجو است و تا حد کافی ایمن. اما اگر هر سیستمی درست تنظیم نشود امکان خرابکاری از طرف هکرها وجود دارد. در این مقال به بحث افزایش امنیت وردپرس می پردازم. فراموش نکنید بالاخره هر سدی قابل شکستن است اما میشود این سد را نفوذناپذیرتر کرد.
با چند قدم میتوانید اقلا” کار خرابکاران را سخت کنید. مراحل را از ساده به پیچیده میگویم:
۱-نام کاربری admin نداشته باشید. نام کاربری غیر از admin بسازید و دسترسی مدیر بدهید و سپس نام کاربری ادمین را پاک کنید و موقع پاک کردن همه پستها را به نام کاربری جدیدی که ساخته اید نسبت دهید. فراموش نکنید پستها را به کاربر جدید منتقل کنید تا اشتباهی همگی پاک نشوند.
۲-فایل نصب وردپرس، افزونه و قالب و … را فقط از سایت وردپرس و یا وردپرس فارسی دریافت کنید. افزونه های نامشخص ممکن است حاوی نقاط ضعف جدی باشند. فراموش نکنید که اغلب افزونه ها و قالبهای پولی کرک شده عمدتا” دارای حفره هستند.
۳-همیشه وردپرس و افزونه ها را به روز نگه دارید.
۴-فایل اصلی تنظیمات وردپرس فایلی به نام config.php است که در آن نام دیتابیس، یوزر کنترل کننده دیتابیس و رمز ورود به دیتابیس وجود دارد. طبیعی است که این فایل اهمیت بالایی داشته باشد. البته این فایل از طرف کسی جز لاگین کننده به داخل هاست و یا اف تی پی به صورت متنی قابل دیدن محتوا نیست اما با این حال بهتر است دسترسیها را به آن کاهش دهید. بهتر است دسترسی تا حد ۴۰۰ یا ۴۴۰ کاهش یابد. برای کاهش دسترسی داخل هاست خود لاگین کنید و Permission را برای این فایل کاهش دهید. برخی با نرم افزار حتی این فایل را کدگذاری میکنند. اما اگر به طور صحیحی دسترسیها را تنظیم کنید مشکل وجود نخواهد داشت.
۵-فایل config.php را می توانید به طور کلی از شاخه اصلی سایت (احتمالا” Public_html) خود بیرون بیاورید و در Root قرار دهید. با این کار عملا” امنیت کار بیشتر میشود زیرا امکان دسترسی به طرز چشمگیری کاهش می یابد. البته وردپرس فقط یک فولدر بالاتر را علاوه بر فولدر اصلی وردپرس برای یافتن این فایل جستجو می کند.
۶-هاست ایمن انتخاب کنید که دارای مشتریان بالایی باشد. مشتریان زیاد نشان میدهد که سیستم مدیریتی مناسبی دارند و سرورها در وضعیت مناسبتری هستند زیرا اینگونه شرکتهای معروف به شدت از فرار ناگهانی تعداد زیاد مشتری در اثر رخداد نامناسب بیمناک هستند و برخلاف هاستهای کوچک دارای نظارت خوبی روی سرورها هستند. هاست وارز معمولا” محل حضور هکرها و … است. اگر روی هاست وارز هستید و مشکل نقض کپی رایت از طریق معرفی برنامه های کرک شده و … در سایت خود ندارید در اولین فرصت به یک هاست پدر و مادر دار مهاجرت کنید.
۷-همواره بک آپ داشته باشید. داشتن بک آپ میتواند در شرایط بحرانی کمک کند بسته به میزان به روز بودن آن بک آپ تا حد زیادی مشکلات خود را کاهش دهید. فراموش نکنید ۹۰ درصد هکهای وردپرس هک در دیتابیس بوده است. معمولا” حجم فشرده دیتابیس شما چیزی بالایی نمیشود پس همواره سعی کنید از طریق PHPMyAdmin بک آپ تهیه کنید.
۸-قابلیت عضویت در وبلاگ خود را اگر نیازی ندارید به روی عوام ببینید. در داخل قسمت تنظیمات وردپرس می توانید تعیین کنید که هر کسی نتواند عضو شود.
۹-رمزهای ساده و حدس زدنی برای اکانت خود و یا دیتابیس انتخاب نکنید.
۱۰-قابلیت انتشار از راه دور در وردپرس یا XML-RPC به طور پیش فرض غیر فعال است. در صورتیکه به دلایلی از این روش استفاده میکنید بدانید که ریسک این روش نسبتا” بالاست. در صورتیکه این روش غیر فعال شود امنیت بالاتری خواهید داشت.
در قسمت بعد نکات پیشرفته تری در این مورد توضیح خواهم داد.


قسمت دوم

در قسمت اول راجع به ایمن سازی وردپرس در برابر حملات ده نکته را مورد بررسی قرار دادیم. اکنون به ادامه مطلب می پردازیم.
۱۱-رمزگذاری بر روی wp-admin
یکی از فولدرهای مهم در نصب وردپرس شما فولدر wp-admin است. همانطور که از نامش بر می آید حاوی فایلهای مربوط به صفحات ادمین وبلاگ است. پس بهتر است که اصلا” در دسترس عادی نباشد. این فولدر برخلاف wp-content که برای نصب افزونه ها و … مدام در حال تغییر است، فقط در زمان به روزرسانی وردپرس دچار تغییر میشود. برای بالا بردن ایمنی در داخل فایل منیجر هاست خود بر روی این فولدر یک رمز قوی بگذارید. فقط مراقب باشید خودتان آن را فراموش نکنید! در اغلب پانلها امکان password protect کردن فولدرها وجود دارد. فراموش نکنید فقط فولدر wp-admin و نه بقیه چیزها!
۱۲-دسترسی فولدرها را چک کنید. فولدرهای وردپرس باید سطح دسترسی ۷۵۵ داشته باشند. به هیچ وجه سطح دسترسی ۷۷۷ ایجاد نکنید. به هیچ وجه! اگر هم به دلایلی مجبور هستید موقتا” این کار را انجام دهید حتما” بعد از انجام کارتان به حالت قبلی برگردانید.
دقت کنید برخی فایلهای وردپرس سطح دسترسی کمتری از ۷۵۵ هم دارند. در شکل زیر دسترسی صحیح را مشاهده می کنید.

(read=4 write=2 execute=1)
http://www.webshahr.org/Pictures/Tips/wordpress-security-tips2.jpg13-فایلی با نام readme.html در فولدر اصلی بلاگ شما روی هاست وجود دارد که حاوی اطلاعات نسخه نصب شده وردپرس شماست. آن را پاک کنید.
۱۴-شما اکنون وردپرس نصب شده دارید پس لزومی ندارد که فایل اجراکننده روند نصب وجود داشته باشد. فایلی با نام install.php در فولدر wp-admin وجود دارد که باید پس از نصب پاک کنید. در صورتیکه نیاز داشتید دوباره فایلهای نصب را به داخل فولدر خود اضافه کنید.
۱۵-احتمالا” هاست شما امکان نصب با یک کلیک انواع سیستم های مدیریت محتوا را در اختیار شما گذاشته است. مثلا” با نامهایی مانند EasyApps یا Fantastico و … برای شما امکان نصب سریع سیستم مدیریت محتوا فراهم میکنند. اما معمولا” به دلیل اینکه تنظیمات این کدهای پیش آماده مشخص است ممکن است وبلاگ شما در معرض خطر و آسیب پذیری قرار گیرد. پس خودتان نصب را دستی انجام دهید.
در قسمت بعدی مهمترین تغییر برای جلوگیری از حملات به دیتابیس که شامل تغییر پیشوند جداول دیتابیس است را خواهم گفت.

قسمت سوم

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

۱۶-ادیتور پلاگین و تم را غیر فعال کنید تا شانس خرابکاری در صورت عبور از سدهای قبلی با محدودیتی جدی برای هکر روبرو شود. برای این کار کد زیر را در داخل فایل wp-config.php خود اضافه کنید. (این کد ممکن است در اینجا نامناسب نمایش داده شود اما اگر کپی کنید و در ویرایشگر متنی وارد کنید درست نمایش داده میشود)
define(‘DISALLOW_FILE_EDIT’,true);
با این کار اگر هکر به نحوی بتواند از مسیری وارد سیستم مدیریت محتوای شما شود قادر نخواهد بود با دستکاری پلاگینها و یا قالبها موفق به خرابی کل سایت شما شود چون ابزار کارش بسته است.
۱۷-مهمترین راه مقابله با حملات تزریق در داخل دیتابیس تغییر پیشوند پیش فرض وردپرس است. این پیش فرض در حالت عادی _wp است. با تغییر دادن این پیشوند کار هکر به میزان بسیار زیادی در تزریق داخل دیتابیس محدود میشود. این پیشوند میتواند شامل حروف و عدد باشد. سعی کنید یک چیز غیر قابل حدس زدن بسازید. مثلا” _w2fx3b1
برای انجام این کار دو راه ساده دارید.
.
الف-با رفتن داخل MyPhpAdmin از دیتابیس خود یک بک آپ بگیرید. سپس فایل SQL را داخل یک ویرایشگر متنی مانند Notepad باز کنید و کلیه پیشوندها را Replace کنید و سپس آن را با فرمت UTF-8 مجددا” ذخیره کنید. سپس یک دیتابیس و کاربر دیتابیس جدید در هاست خود بسازید و این فایل SQL را داخل آن Import کنید. سپس به نحوی که در ادامه خواهم گفت فایل wp-config.php را ویرایش نمایید.
.
ب-اگر به هر دلیلی روش فوق جواب نمی دهد با این روش اقدام کنید. ابتدا خروجی WXR سایت خود که یک فایل xml است از طریق ابزارهای بیرون ریزی که در بخش ابزارهای وردپرس موجود است را دانلود و ذخیره کنید.
حال یک دیتابیس و کاربر دیتابیس جدید بسازید. در نهایت فایل wp-config.php را ویرایش نمایید و در آن مقادیر مربوط به دیتابیس را قرار دهید و همچنین داخل این فایل تعریف پیشوند وردپرس را از _wp به آن چیزی که مد نظرتان است تغییر دهید.
حال از کل هاست خود بک فول بک آپ بگیرید که اگر مشکلی بود برگردید. بعد هم وردپرس خود را پاک کنید و از نو در هاست خود با همین دیتابیس و … که جدیدا” ساختید یک وردپرس نو نصب کنید. حال افزونه و لینکها و کاربران و … را دستی وارد وردپرس جدید نمایید. در نهایت هم محتوای بلاگ خود را از طریق همان فایل WXR از طریق ابزارهای درون ریزی به داخل وردپرس وارد کنید. اگر حجم فایل مذکور بالاست و مستقیم نمی توانید آن را اپلود نمایید با نرم افزار WXR File Splitter آن را چند تکه کنید و یکی یکی درون ریزی نمایید. این برنامه رایگان و کم حجم را با جستجو در گوگل می یابید.
این مرحله شاید کمی وقت گیر باشد اما مهمترین دری است که به روی هکرها می بندید. ۹۰ درصد هکها در داخل دیتابیس صورت میگیرد.
نحوه ویرایش فایل wp-config.php
فایل را داخل ویرایشگری متنی باز کنید و در بخش
$table_prefix = ‘wp_’;
پیشوند خود را وارد کنید. سپس آن را ذخیره کنید.

18-اگر سرور شما آپاچی است با استفاده از تغییر دسترسی در فایل htaccess. محدودیتهایی زیر را اعمال کنید:
الف-دسترسی به طور کامل برای فایل wp-config.php بسته شود.
ب-امکان ایندکس کردن فولدرها حتی اگر حاوی فایل index هم نباشند بسته شود تا محتوای فولدرها برای هکرها مخفی بماند.
ج-امکان درخواست اجرای کد و اسکریپت بسته شود.
برای این کار یک فایل متنی باز کنید و محتویات زیر را در آن بزنید:
شروع کد:
<files wp-config.php> Order deny,allow deny from all</files>
Options +FollowSymLinksRewriteEngine OnRewriteCond %{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]
Options -Indexes
انتهای کد
حال این فایل را با نامhtaccess.txt ذخیره کنید و در ریشه یا root هاست خود اپلود کنید و در انجا نام آن را به htaccess. تغییر دهید. فایل htaccess. یک فایل موروثی است یعنی اگر پوشه ای این فایل را نداشته باشد تنظیماتش را از فایل htaccess. پوشه بالایی یا همان والد خود دریافت می کند و به همین شیوه تا آخر که ریشه هاست است. پس اگر این فایل برای پوشه مورد نظر شما موجود نبود می توانید یک فایل با این نام در پوشه ایجاد نمایید و به دلخواه تنظیم کنید

19-برای مقابله با اسپمهای سیل آسا از افزونه هایی که برای ارسال کامنت نوشتن متن داخل عکس را درخواست میکنند نصب کنید. با این کار عملا” در اسپم را هم به روی هکرها بسته اید زیرا با تعداد بالای ارسال اسپم میتوانند سیستم مدیریت محوتای شما را دچار دردسر کنند. این افزونه ها در نام خود کلمه captcha را دارند. با جستجوی کلمات wordpress captcha comments در گوگل به این افزونه ها دست خواهید یافت.
۲۰-در بخش افزونه (http://wordpress.org/extend/plugins/) های وردپرس با جستجو کردن به دنبال افزونه های با عنوان security باشید و آنهایی که مناسب تشخیص میدهید نصب کنید. چون ممکن است افزونه ای که نام میبرم با ورژن وردپرس شما سازگار نباشد نامی از آنها نمی آورم.
در نهایت هم سعی کنید با سر زدن به فروم فارسی وردپرس (http://forum.wp-persian.com/)در جریان تغییرات لازم و به روز شده که توسط کاربران مختلف بحث میشود قرار بگیرید.
فراموش نکنید امنیت صد در صدی نیست اما با تمهیداتی می توانید راه عبور را به شدت دشوار سازید. راهی که هر کسی امکان عبور نداشته باشد.

منبع: وب شهر

SaynaServer
April 4th, 2012, 19:19
ممنون از لطف و همکاری تون بسیار جالب بود

vahab00
April 4th, 2012, 21:20
با سلام و عرض ادب
سايانا سرور و سپاستين عزيز تقريبا همه موارد رو گفتند
من فقط براي تكميل اين انجمن يه افزونه معرفي ميكنم
افزونه : better wp security رو حتما نصب كنيد و تنظيمات امنيتيش رو انجام بديد
از جمله موارد مهم تغيير نام پوشه هاي wp-admin و فايل هاي عضويت و ورود هست و تغيير نام پوشه wp-contact هست
و مورد خيلي مهم ديگه تغيير پيشوند جداول كه دوستان هم اشاره كردند اين افزونه اتوماتيك رندم يكي براتون انتخاب ميكنه
و مورد بعدي حتما نام كاربري رو از admin و امثال اون تغيير بديد
موارد اين افزونه خيلي مهم و خوب هستش و با انجامش تغريبا امنيتتون رو به 70 الي 75 درصد ميرسونيد و باكارهاي دوستان هم حدودا 95 درصد امنيتتون تضمين شده هست و بقيش بر ميگرده به سرويس دهنده هاستتون كه سرورتون چقدر كانفيگ شده باشه
ببخشيد كه پريدم تو تاپيك
موفق و سربلند باشيد
يا حق

SaynaServer
April 5th, 2012, 00:54
ممنونم از شما دوست عزیز دوستان دیگر هم اگر راه های امنیتی خاصی رو بلدن مطرج کنند تا همه استفاده کنند ممنون می شم