Lynis برای audit و هاردنینگ سرورهای لینوکس و یونیکس

هاردنینگ سرور لینوکسی فقط این نیست که چند سرویس را خاموش کنیم و چند دستور معروف را اجرا کنیم. مشکل اصلی این است که بعد از مدتی نمیدانیم دقیقاً چه چیزی تغییر کرده، کدام سرویس دوباره فعال شده، کدام package قدیمی مانده و کدام تنظیم امنیتی از قلم افتاده است. برای همین audit منظم روی خود سیستم، بخش مهمی از کار hardening است.
Lynis یکی از ابزارهای کاربردی برای همین کار است. این ابزار روی خود سرور اجرا میشود و تنظیمات سیستمعامل، سرویسها، فایلسیستم، kernel، authentication، logging، network و بخشهای مختلف امنیتی را بررسی میکند. خروجی آن قرار نیست جای تجربه ادمین یا چکلیستهای رسمی را بگیرد، اما برای پیدا کردن ضعفهای واضح و ساختن مسیر اصلاح، خیلی کمک میکند.
Lynis دقیقاً چه کاری انجام میدهد؟
Lynis یک ابزار audit برای Linux، Unix و چند سیستمعامل مشابه است. وقتی اجرا میشود، سیستم را از داخل بررسی میکند؛ یعنی برخلاف خیلی از اسکنرهای بیرونی، به تنظیماتی دسترسی دارد که از شبکه دیده نمیشوند. مثلاً میتواند permission فایلها، وضعیت ماژولها، تنظیمات SSH، سرویسهای فعال، سیاست password، لاگها و بعضی کنترلهای امنیتی local را بررسی کند.
مزیت این روش این است که ضعفهای عملیاتی را بهتر نشان میدهد. ممکن است یک سرور از بیرون فقط چند پورت باز داشته باشد، اما داخلش سرویسهای اضافی، تنظیمات ضعیف یا packageهای قدیمی وجود داشته باشد. Lynis این موارد را به شکل suggestion و warning نشان میدهد تا بتوانیم مرحلهبهمرحله اصلاح کنیم.
برای چه سناریوهایی مناسب است؟
اگر چند سرور لینوکسی دارید و میخواهید baseline امنیتی آنها را بسنجید، Lynis گزینه خوبی برای شروع است. قبل از تحویل سرور، بعد از نصب سرویسهای مهم، بعد از تغییرات بزرگ و در بازههای دورهای میشود آن را اجرا کرد و خروجیها را با وضعیت قبلی مقایسه کرد.
در پروژههای hardening هم به درد میخورد، چون کمک میکند موارد ساده ولی مهم فراموش نشوند؛ مثل تنظیمات SSH، فعال بودن لاگ، permission فایلهای حساس، سرویسهای غیرضروری، تنظیمات kernel hardening و وضعیت بهروزرسانیها.
اجرای پایه Lynis
بعد از نصب Lynis، اجرای پایه معمولاً با این دستور انجام میشود:
lynis audit system
خروجی را نباید کورکورانه اجرا کرد. بعضی پیشنهادها برای همه محیطها مناسب نیستند. مثلاً ممکن است یک سرویس به دلیل نیاز عملیاتی باز باشد یا یک تنظیم سختگیرانه با نرمافزار فعلی سازگار نباشد. بهتر است خروجی را بر اساس نقش سرور، سطح حساسیت، exposure به اینترنت و سیاستهای داخلی سازمان بررسی کنیم.
ارتباط Lynis با CIS و hardening واقعی
Lynis از ایدهها و کنترلهای امنیتی شناختهشده مثل CIS، NIST، vendor guideها و best practiceهای عمومی الهام میگیرد، اما جایگزین کامل benchmark رسمی نیست. اگر سازمان الزام compliance دارد، باید benchmark مربوط به همان سیستمعامل و نسخه اجرا شود. Lynis بیشتر برای audit سریع، کشف ضعفهای رایج و ساختن backlog اصلاحات کاربرد دارد.
برای کار حرفهایتر، بهتر است خروجی Lynis با inventory، patch management، لاگ مرکزی و یک برنامه hardening مستند ترکیب شود. یعنی فقط گزارش نگیریم؛ هر warning باید owner، اولویت، زمان اصلاح و روش verify داشته باشد.
چکلیست ذهنی برای Lynis برای audit و هاردنینگ سرورهای لینوکس و یونیکس
Lynis ابزار خوبی برای شروع و پایش دورهای امنیت سرور است، مخصوصاً وقتی تعداد سرورها زیاد شده و بررسی دستی همه جزئیات سخت است. اما ارزش واقعی آن وقتی دیده میشود که خروجیاش تبدیل به اقدام شود: سرویس اضافی حذف شود، patch عقبافتاده نصب شود، تنظیم SSH اصلاح شود و بعد دوباره audit بگیریم تا مطمئن شویم تغییر واقعاً اعمال شده است.

مقابله با SYN Flood در روتر Cisco با TCP Intercept
نگهداری، پایش و تحلیل لاگ؛ حافظه قابل اعتماد برای امنیت شبکه
عیبیابی Deploy نشدن Policy در Cisco FMC/FTD
کنترل دسترسیهای مدیریتی؛ ادمین کمتر، امنیت بیشتر
کنترل نرمافزارهای مجاز و غیرمجاز؛ Inventory نرمافزار در امنیت شبکه