اگر روزی وبسایت خود را بررسی کنید و متوجه شوید که وبسایت شما هک شده و یا مورد حمله قرار گرفته است چندین حالت برای شما پیش میآید! یا وبسایت شما تنها یک گاه نگار شخصی بوده و داده های آنچنان با ارزشی در آن نبوده، در اینصورت خیلی از این مشکل ناخشنود نمیشوید! حالت دیگر آن است که وبسایت شما داده های با ارزشی دارد و چند صد کاربر دارد، بنابراین نفوذ به وبسایت شما آزار دهنده خواهد؛ در بدترین حالت ممکن است وبسایتی با هزاران کاربر و اطلاعات بسیار با ارزشی مانند اطلاعات حساب های بانکی را داشته باشید، در اینصورت هک شدن وبسایت شما مکن است بدترین اتفاق زندگی شما باشد!
اما اگر میخواهید پیش از رخ دادن این اتفاق از آن پیشگیری کنید؛ جای درستی آمدید! در دو بخش به شما در این باره کمک میکنیم!
فکر میکنید که وردپرس ایمن است؟ اگر فکر میکنید که اینگونه نیست اشکالی ندارد؛ بسیاری فکر میکنند وردپرس یک سیستم مدیریت محتوای نا امن است؛ اما باید بگوییم که هنوز خیلی زود است که چنین ادعایی کنیم! دست کم تا امروز!
MicrosSoft Windows، Android، Google Chrome و WordPress در چه چیز مشترک هستند؟
همگی آنها نرم افزار های پر هوادار هستند که همیشه هم کاربرانشان حفره های امنیتی در آنها پیدا میکنند؛ با اینکه همیشه هم کوشش میشود مشکلات و حفره های امنیتی بدست گسترش دهندگان رفع و حل شود اما آیا این دلیل میشود تا این نرم افزار ها را نا امن بدانیم؟
اگر فکر میکنید جواب مثبت است باید بگوییم در اششتباه هستید! بروزرسانی های امنیتی که در قالب Patch ارائه میشوند تا کاربران بروی سیستم نصب کنند به معنای ضعیف بودن بخش از برنامه در برابر هکر ها نیست؛ بازی موش و گربه بین گسترش دهندگان نرم افزاری و هکر ها همیشه ادامه دارد و همیشه هکر ها راهی برای نفوذ پیدا میکنند، مخصوصا سیستم هایی که توسعه پذیری و سفارشی سازی بسیار بالایی دارند مانند وردپرس بیشتر دستخوش این ترس قرار میگیرند.
به یاد داشته باشید که هیچ چیز 100 درصد ایمن و بدون حفره امنیتی نیست؛ اما با این حال برای هر سیستم پرکاربرد همیشه جامعه و انجمنی وجود دارد که بروی امنیتی آن سیستم هم کار میکنند؛ شاید رفع یک حفره امنیتی در مرورگر Google Chrome چندین روز به درازا بکشد اما در مورد وردپرس، باید بگوییم که تیمی فعال آماده هستند تا مشکلات امنیتی موجود در هسته وردپرس را در سریع ترین زمان ممکن رفع کنند؛ اگرچه باز هم باید تاکید کنیم که سیستمی مانند وردپرس بسیار گسترده است و رسیدگی به همه وسعت آن کار سختی است.
بخشی از نکته هایی که در ادامه برای افزایش امنیتی سیستم مدیریت محتوای وردپرس میگوییم بدست آمده از تجربه شخصی است
برای شروع با ساده ترین بخش ها پیش میرویم
اگر وبسایت وردپرسی شما بروی سروری میزبانی میشود که وب سرور آن apache است و در تنظیمات این وبسرور تنظیمات “pretty permalinks” بدست مدیر سرور و یا خود شما فعال شده باشد، سیستم وردپرس یک فایل بنام .htaccess برای ذخیره اطلاعاتی پایه ای درباره ساختار پیوند های یکتا وردپرس میسازد.
اگر تنظیمات “pretty permalinks” در وبسرور فعال نباشد، هسته وردپرس فایل .htaccess را خودکار نمیسازد ولی این نکته مشکلی در روند کار ایجاد نمیکند و تنها کافی است خودتان بصورت دستی این فایل را بسازید.
نکته: اگر این فایل در مسیر ریشه فضای میزبانی (هاست) شما وجود ندارد، کافی است یک فایل با هرنامی چه در هاست چه بروی سیستم خود بسازید و در نهایت ان را دقیقا به شکل .htaccess تغییر نام دهید.
نخستین کاری که باید درباره این فایل کرد، ایمن سازی آن است؛ برای آغاز کافی است کد های دستوری زیر را به این فایل اضافه کنید.
# protect .htaccess <Files .htaccess> order allow,deny deny from all </Files>
کار سختی است که بخواهیم از این فایل در مقابل بخش هایی که میخواهند به آن دسترسی داشته باشند محافظت کنیم.
برای گام بعد بهتر است امکان نمایش محتویات داخل هر فولدر را غیرفعال کنیم؛ برای این کار کد های زیر را هم به فایل اضافه کنید.
# disable directory browsing Options All –Indexes
با اضافه کردن آخرین دستور امکان اینکه هر برنامه بخواهد به فولدر های موجود بروی فضای میزبانی شما دسترسی داشته باشد و در آنها جستجو کند گرفته میشود؛ به عنوان نمونه پیش از اضافه کردن این دستور امکان دسترسی به آدرسی مانند myblog.com/wp-content/uploads/ بود اما با اضافه کردن این دستور ها و ذخیره فایل حالا درخواست ها برای دسترسی با خطای 403 Forbidden از سمت سرور روبرو میشود.
برای فایل .htaccess تا همین جا کافی است، حالا به سراغ فایل wp-config.php میرویم.
فایل wp-config یکی مهمترین فایل هایی است که در هنگام پیکربندی وبسایت خودتون مقادیری رو بهش میدید؛ دوباره به فایل .htaccess به ریشه فضای میزبانی خود برگردید و کد های زیر رو برای محدود کردن دسترسی به فایل wp-config.php اضافه کنید.
# protect wpconfig.php <files wp-config.php> order allow,deny deny from all </files>
یک پیشنهاد دلنشین! با افزودن کد زیر به wp-config.php توانایی ویرایش فایل های پوسته و افزونه های خود را حذف میکنید!
define( 'DISALLOW_FILE_EDIT', true );
اگر تنظیماتی از این دسته بسیار براتون مهمه، پس شاید بخواین حتی امکان نصب و پیکربندی پوسته و افزونه رو هم حذف کنید؟! در اینصورت کد زیر رو هم درست زیر کد بالایی بیافزایید!
define( 'DISALLOW_FILE_MODS', true );
اگر باز هم بیشتر میخواین بروی فایل wp-config.php کار کنید و ایمن تر کنید بهتره در همین فایل پیشوند یا همون prefix جدول پایگاه داده رو تغییر بدید و یک کلید امنیتی که با نام security key یا salt keys هستند اضافه کنید!
برای نمونه در فایل wp-config تکه کد زیر وجود دارد.
$table_prefix = 'wp_';
برای افزایش امنیت بهتر هست wp_ به عبارتی دیگه تغییر پیدا کنه و از اونجایی که نیازی نیست این عبارت رو به یاد بسپارید میتونید هر عبارتی باشه، برای نمونه میتونید به wp_fd884vg_
تغییر بدید.
امیدوارم تا اینجای آموزش که با فایل های .htaccess و wp-config کار کردیم بهره برده باشید! در آموزش “افزایش امنیت وردپرس – بخش دو” برای ایمن تر کردن وردپرس شماری افزونه و تکنیک های بیشتر برای افزایش امنیتی معرفی میکنیم!
اگر پرسشی در این باره دارید، بی درنگ اون رو در انتهای همین برگه با ما در میون بگذارید! 🙂
دیدگاه خود را در میان بگذارید