لینوکس نیز مانند سایر سیستم عاملها دارای برخی حفرههای امنیتی است. با انجام ترفندهایی برای امنیت لینوکس میتوان تا حدودی توجه بیشتری به سیستم عامل و اطلاعات روی سرور و هاست داشت.
با توجه به نحوه عملکرد سیستم بروزرسانی لینوکس ممکن است بستههای بروزرسانی که حفرههای امنیتی را رفع میکنند، دریافت نکنید، با استفاده از این ترفندها امنیت بیشتر لینوکس را فراهم کنید تا بتوانید این حفره ها را مسدود کنید.
ترفندهایی برای امنیت لینوکس:
1. امنیت سیستم فیزیکی
برای غیرفعال کردن و بوت شدن از CD / DVD، دستگاه های خارجی، فلاپی دیسک در پیکربندی BIOS استفاده کنید. بعد از فعال کردن رمز عبور BIOS و همچنین حفاظت از GRUB رمز عبور را برای دسترسی فیزیکی سیستم خود محدود کنید.
2. پارتیشن دیسک
پارتیشن های مختلف برای به دست آوردن امنیت اطلاعات بیشتر در صورت هر گونه فاجعه ای، مفید هستند. با ایجاد پارتیشن های مختلف، داده ها می توانند از هم جدا شده و گروه بندی شوند.
هنگامی که یک تصادف غیرمنتظره رخ می دهد، تنها داده های آن پارتیشن آسیب می بینند، در حالی که داده ها در پارتیشن های دیگر جان سالم به در میبرند.
مطمئن شوید که پارتیشن های جداگانه داشته باشید و اطمینان حاصل کنید که برنامه های شخص ثالث در سیستم فایل های جداگانه نصب شوند.
3. کم کردن بسته ها برای کاهش آسیب پذیری
توصیه میکنیم که از نصب بسته های بی فایده اجتناب کنید تا از آسیب پذیری در آنها جلوگیری شود. ممکن است که سازه یک سرویس به خطر بیفتد و منجر به تداخل با سایر خدمات شود.
یافتن و حذف یا غیرفعال کردن خدمات ناخواسته از سرور برای به حداقل رساندن آسیب پذیری آن ضروری است. از دستور ‘chkconfig’ برای پیدا کردن سرویس هایی که در سطح 3 اجرا می شوند استفاده کنید.
4. بررسی شنوایی پورت های شبکه
با کمک دستور netstat میتوانید تمام پورت های باز و برنامه های مرتبط را مشاهده کنید. همانطور که قبلا گفتم دستور chkconfig را برای غیر فعال کردن تمام سرویس های ناخواسته شبکه از سیستم مورد استفاده قرار میگیرد.
5. استفاده از پوسته امن (SSH)
پروتکل های Telnet و Rlogin از متن ساده استفاده می کنند، نه فرمت رمزگذاری شده. SSH یک پروتکل امن است که در هنگام ارتباط با سرور از تکنولوژی رمزگذاری استفاده می کند.
همچنین توصیه می شود که شماره پورت SSH 22 پیش فرض را به تعدادی شماره پورتها در سطح بالاتر تغییر دهید. فایل اصلی پیکربندی SSH را باز کنید و برخی از پارامترهای زیر را برای محدود کردن دسترسی کاربران ایجاد کنید.
6. سیستم را به روز نگه دارید.
همیشه سیستم را با آخرین بخش های منتشر شده، رفع امنیت و هسته سرور، به روز نگه دارید.
7. قفل کردن Cronjobs
Cron دارای ویژگی خود ساخته شده است، جایی که اجازه می دهد مشخص کند که چه کسی میتواند و یا چه کسی نمی تواند کارهای خود را انجام دهد. این امر با استفاده از فایل هایی به نام /etc/cron.allow و /etc/cron.deny کنترل می شود.
برای قفل کردن کاربر با استفاده از cron، به سادگی اسامی کاربر را در cron.deny اضافه کنید و به کاربر اجازه دهید cron را در cron.allow اجرا کند. اگر می خواهید همه کاربران را از استفاده از cron غیرفعال کنید، گزینه “ALL” را به فایل cron.deny اضافه کنید.
8. کارت USB را برای شناسایی غیرفعال کنید.
چندین بار اتفاق افتاده است که ما میخواهیم کاربران را از استفاده از USB در سیستم ها محدود کنیم تا از دزدی اطلاعات محافظت کرد و سرور ایمن شود. ایجاد یک فایل ‘/etc/modprobe.d/no-usb’ و اضافه کردن گزینه ای زیر ذخیره سازی USB را تشخیص نخواهد داد.
9. SELinux را فعال کنید.
امنیت پیشرفته لینوکس (SELinux) مکانیسم امنیتی کنترل دسترسی اجباری است که در هسته آن ارائه شده است. غیر فعال بودن SELinux به معنی از بین بردن مکانیزم امنیتی سیستم است. قبل از بین بردن و حذف کردن چیزی کمی فکر کنید، زیرا سیستم شما به اینترنت متصل شده و توسط عموم قابل مشاهده و دسترسی است.
10. حذف دسکتاپ KDE / GNOME
بدون نیاز به اجرای دسکتاپ X Window مانند KDE یا GNOME چیزی در سرور LAMP اختصاصی شما وجود ندارد. شما می توانید آنها را حذف یا غیر فعال کنید تا امنیت سرور و عملکرد خود را افزایش یابد.
11. IPv6 را خاموش کنید.
اگر از پروتکل IPv6 استفاده نمی کنید، باید آن را غیرفعال کنید زیرا اکثر برنامه ها یا سیاست های پروتکل IPv6 مورد نیاز نیست. به پیکربندی شبکه بروید و آن را غیرفعال کنید.
12. کاربران را مجبور به استفاده از گذرواژه های قدیمی کنید.
این بسیار مفید است اگر شما بخواهید کاربران را به استفاده از کلمه عبور قدیمی تشویق کنید. فایل رمز عبور قدیمی در / etc / security / opasswd قرار دارد و آن را می توان با استفاده از ماژول PAM بدست آورد.
13. چگونگی بررسی تأیید رمز عبور کاربر
در لینوکس، گذرواژه های کاربر در فایل «/ etc / shadow» ذخیره می شوند. برای بررسی تاریخ انقضای کاربر، باید از دستور change استفاده کنید. این اطلاعات مربوط به جزئیات انقضای رمز عبور با آخرین تاریخ تغییر رمز میباشند. این جزئیات توسط سیستم مورد استفاده قرار می گیرد تا تصمیم بگیرد که یک کاربر باید رمز عبور خود را تغییر دهد.
14. قفل کردن و بازکردن حساب بصورت دستی
ویژگی قفل و باز کردن بسیار مفید است، به جای حذف حساب کاربری از سیستم، شما می توانید آن را برای یک هفته یا یک ماه قفل کنید.
15. اجرای کلمات عبور قوی
تعدادی از کاربران از کلمه عبور نرم و یا ضعیف استفاده می کنند و رمز عبور آنها ممکن است با حملات فرهنگ لغت و یا خشونت آمیز هک شود. ماژول pam_cracklib در پشته ی ماژول PAM کاربر را مجبور می کند password های قوی را استفاده کند.
16. Iptables را فعال کنید (فایروال)
به شدت توصیه می شود که فایروال لینوکس را فعال کنید تا دسترسی غیرمجاز سرورهای خود را تضمین کنید. قوانین iptables را برای فیلتر کردن بسته های ورودی، خروجی و حمل و نقل اعمال کنید.