جلوگیری از Brute Force Attack با Apache و Firewall

Brute Force Attack

Basic access authentication
Basic access authentication

 

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

راه ساده دیگه امن کردن پوشه قسمت مدیریت توسطHTTP Authentication
هستش، برای اینکه بدونیم چجوری این روش می تونه کمک کنه ، لازم هستش که یه آشنایی کوچک از نحوه کار فایروال ها در لینوکس بگم ، در لینوکس در هنگام انجام بیشتر کار ها و به خصوص در هنگام بروز خطا ، توسط برنامه های مختلف log ایحاد میشه ، مثلا در آپاچی ، هنگامی که یوزر و پسورد اشتباه در HTTP Authentication وارد میشه ، یک خط ، حاوی IP کاربر در فایل لاگ ذخیره میشه به همراه زمان و دیگر اطلاعات ،( در هنگام حملات Brute Force Attack چندین خط ثبت میشه ، یعنی برای هر بار یک خط )
بعد از این عمل فایر وال ها با خواندن این لاگ ها ، و رسیدن به خطا های احراز هویت ، و چک کردن زمان و آی پی ، می تونند بروز حمله رو شناسایی کنند و اقدام به بلاک کردن IP کنند

در کنترل پنل ها برای رمز گذاری بر روی پوشه ها ، به دنبال password protected directory بگردید و اقدام به رمز گذاری این پوشه ها مثل /administrator و یا /admin بسته به cms خودتون کنید ، این نوع رمز گذاری حتی در صورتی که کاربر به پسورد ادمین شما هم دسترسی داشته باشه اجازه ورود به قسمت مدیریت سایت رو نمی ده

نکاتی برای افزایش امنیت وردپرس

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

بروز باشید

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

مخفی کردن نسخه وردپرس 

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

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

در وردپرس نسخه نصب شده در source صفحه و در بخش های meta tag ها ، لود شدن فایل css و js و همچنین در آدرس لود شدن فید ها نمایش داده می شود، اگر مایل به حذف این مقدار هستید می تونید از پلاگین های مختلفی استفاده کنید و یا در فایل functions.php و در. پایین فایل این کد را اضافه کنید

/* Hide WP version strings from scripts and styles
 * @return {string} $src
 * @filter script_loader_src
 * @filter style_loader_src
 */
function fjarrett_remove_wp_version_strings( $src ) {
     global $wp_version;
     parse_str(parse_url($src, PHP_URL_QUERY), $query);
     if ( !empty($query['ver']) && $query['ver'] === $wp_version ) {
          $src = remove_query_arg('ver', $src);
     }
     return $src;
}
add_filter( 'script_loader_src', 'fjarrett_remove_wp_version_strings' );
add_filter( 'style_loader_src', 'fjarrett_remove_wp_version_strings' );

/* Hide WP version strings from generator meta tag */
function wpmudev_remove_version() {
return '';
}
add_filter('the_generator', 'wpmudev_remove_version');

محدود کردن تلاش برای ورود 

به طور پیش فرض وردپرس هم محدودیتی برای تعداد ورود ناموفق قائل نمی شود، اینکار باعث می شود تا وبسایت شما در معرض حملات brute force attack قرار بگیره

برای جلوگیری از این کار می تونید از پلاگین limit Login attempt استفاده کنید،  این پلاگین بعد از تنظیم شدن، در هنگام اشتباه وارد کردن چند باره رمز عبور IP شخص را برای مدتی بلاک می کند

انتخاب پسورد قوی 

تغییر پیشوند جداول 

به طور پیش فرض، پیشوند جداول برای وردپرس wp_است، تغییر ندادن این پیشوند باعث میشه تا در مقابل sql injection آسیب پذیر تر بشید

سعی کنید در هنگام نصب وردپرس این مقدار را تغییر دهید، اگر هم وردپرس را قبلا نصب کرده آید می تونید از پلاگین های موجود برای تغییر آن استفاده کنید

جابجا کردن فایل تنظیمات 

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

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

<FileMatch ^wp-config.php$>deny from all</FileMatch>

استفاده کردن از SSL برای ورود و قسمت Admin

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

define(‘FORCE_SSL_LOGIN’, true);

را اضافع کنید ، همچنین می توانید تمامی قسمت مدیریت را به اجبار تحت https قرار دهید

define(‘FORCE_SSL_ADMIN’, true);

دقت کنید اگر مورد دوم را فعال می کنید ، لینک های داخلی ثبت شده در پست های وردپرس دارای مقدار https نباشند ، زیرا در صورتیکه از certificate خود سرور برای امن کردن این قسمت استفاده کرده باشید ، مطالب وب سایت شما از دسترسی عموم خارج می شود

دسترسی ها

دقت کنید دسترسی مناسب برای پوشه ها ۷۵۵ و برای فایل ها ۶۴۴ است ، در صورتیکه دسترسی فایل ها و پوشه ها بیشتر از این اعداد است ، از طریق file manager در کنترل پنل و یا از طریق FTP دسترسی های فایل ها و پوشه ها رو تنظیم نمایید

دسترسی عموم به PageRank گوگل حذف شد

از دیروز دسترسی عموم به Pagerank وب سایتی هایی که گوگل ارائه می کرد ، حذف شد ، ولی این به معنی حذف این بخش مهم از SEO در دنیای اینترنت نیست ، گوگل همچنان از این قابلیت به عنوان یکی از مهمترین فاکتور هاش استفاده خواهد کرد

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