در این مقاله قصد داریم تا شما را با امن کردن grub به وسیله قرار دادن پسورد در لینوکس آشنا کنیم. grub نرم افزار کنترل لودینگ در سیستم های لینوکسی است که به شدت منعطف است و این امکان را در اختیار ما قرار می دهد تا علاوه بر مدیریت صحیح بر روی اولویتبندی بوت لودر آن را در برابر نفوذ هکرها کاملا امن کنیم.
امن کردن grub به عنوان بخش فیزیکی کانفیگ سرور محسوب میشود بدین معنا که اگر هکر بخواهد از طریق بوت لودر به سرور دسترسی روت بگیرد حتما باید به سرور به صورت فیزیکی در دیتاسنتر دسترسی داشته باشد و با بوت کردن سرور و ورود از طریق مد single user دسترسی روت به سرور گرفته و هر کاری که بخواهد با سرور انجام دهد.
ریسک امن نکردن grub تا چه حد جدی است؟
در حالت نصب پیشفرض لینوکس، هر شخصی توسط حالت single user mode میتوانید در سرور شما تغییراتی را اعمال کرده و حتی دسترسی روت سرور شما را به دست گیرد.
البته این مورد زمانی محقق خواهد شد که شخص مهاجم بتواند سیستم شما را ریبوت کرده و آن را کنترل کند. خوب حالا شاید بپرسید کجا ممکنه این مشکل پیش بیاد؟
خوب این مورد زمانی نمود پیدا میکنه و میتونه به شدت خطرناک باشه که شما از سرویسدهنده هاستینگ خودتان یک سرور مجازی خریداری کرده باشید.
بدین صورت مدیر سرور قادر خواهد بود سیستم شما را تحت اختیار گرفته و به آن لاگین کند و یا فردی دسترسی مجازی ساز سرور شما را دارد که بعضاً به آن شخص اعتماد هم دارید و فکر میکنید آن شخص وارد سرور لینوکسی شما نمیتواند بشود و یا دسترسی به یک سرور فیزیکی در یک شرکت توسط افراد دیگر
خوب کافیه بحث تئوری، بریم سراغ کار عملی
توجه: مسئولیت این تغییرات بر عهده خود شما بوده پس خوب دقت کنید و قبل شروع، از اطلاعات خود بکاپ بگیرید.
امن کردن grub با قرار دادن پسورد
مرحله اول: خوب ابتدا باید با دسترسی root توسط سرویس ssh وارد سرور خود شده و توسط دستور زیر یک پسورد مناسب برای grub خود بسازید.
grub-md5-crypt
با واردکردن پسورد موردنظرتون یک رشته کد هش شده به فرمت md5 از پسوردتان برای شما همانند عکس زیر نمایش داده میشه که باید آن را در جایی کپی کنید که در ادامه به آن احتیاج خواهیم داشت.
خوب حالا باید فایل اصلی grub سرور خودتونو توسط یک ویرایشگر بازکنید که توصیه ما nano هستش، مسیرهای زیر رو بررسی کنید.
boot/grub/menu.lst/ boot/grub/grub.conf/
البته این مسیرها برای لینوکس centos هستش که تو توزیع های دیگه میتونه متفاوت باشه که با یک سرچ ساده میتونید مسیر grub تو توزیع لینوکس خودتان رو پیدا کنید.
nano /boot/grub/grub.conf
توصیه میشه حتما قبل از شروع کار یک بکاپ از فایل grub خود بگیرید که در صورت بروز مشکل بتوانید آن را جایگزین کرده و سیستم خود را نجات دهید.
خوب حالا با زدن دکمههای ترکیبی clt+w به دنبال عبارت timeout در محتویان فایل grub خود باشید، بعد پیدا کردن خط مربوطه زیر این آن با فرمت password –md5 yourhash خط رو اضافه کنید.
در عبارت بالا yourhash همان هش تولیدی از پسورد شماست که در مرحله قبل آن را ذخیره کردید.
خوب کار تقریباً تمام هستش حالا یکبار سرور خودتونو ریست کنید و موقع بوت کلید p را بفشارید حالا به وضوح متوجه خواهید شد که با امن کردن grub چه اتفاقی خواهد افتاد و از شما برای ورود کجا پسورد خواسته خواهد شد که این موضوع نیز از احتمال ایجاد ریسکهای امنیتی بسیار خطرناک خواهد کاست.
همین موارد به ظاهر در مبحث امنیت سرور میتواند ریسک هک شدن سرور و سایتهای موجود بر روی آن را به شدت کاهش دهد پس حتماً سعی کنید امن کردن grub سیستم لینوکسی خود را در اولویت قرار دهید و بهترین زمان برای این کار همین حالاست.