تو این مقاله قصد داریم تا در رابطه با یکی از ابزار های امنیتی متن باز بنام Lynis صحبت کنیم. خب پس اول بریم این ابزار رو توضیح بدیم و با کاربرد اون در حوزه امنیت آشنا بشیم.
Lynis یک ابزار امنیتی آزمایش شده برای سیستم هایی است که دارای لینوکس، macOS یا سیستم عامل مبتنی بر یونیکس هستند. این ابزار یک اسکن سالم و گسترده از سیستم های شما را برای پشتیبانی و مقاوم شدن سیستم و تست انطباق انجام می دهد. این ابزار یک نرم افزار متن باز با مجوز GPL است و از سال 2007 در دسترس است.
از آنجایی که Lynis انعطاف پذیر است، برای چندین هدف مختلف استفاده می شود. موارد استفاده معمول برای Lynis عبارتند از:
ابزار Lynis تقریبا بر روی تمام سیستم ها و نسخه های مبتنی بر یونیکس اجرا می شود، از جمله:
حتی بر روی سیستم هایی مانند Raspberry Pi ، دستگاه های IoT و دستگاه های ذخیره سازی QNAP اجرا می شود.
اسکن ابزار Lynis کاربردی و تخصصی است. این بدان معناست که فقط از مؤلفه هایی استفاده میکند که میتواند پیدا کند، مانند ابزارهای موجود سیستم و کتابخانههای آن. مزیت آن این است که نیازی به نصب ابزارهای دیگر نیست، بنابراین می توانید سیستم های خود را تمیز نگه دارید.
با استفاده از این روش اسکن، ابزار تقریباً بدون وابستگی اجرا می شود. همچنین، هر چه مولفه های بیشتری را کشف کند، نحوه کار این ابزار گسترده تر خواهد بود. به عبارت دیگر: Lynis همیشه اسکن هایی را انجام می دهد که متناسب با سیستم شما هستند. هیچ اسکن امنیتی مثل سابق نخواهد بود!
برای مثال وقتی Lynis تشخیص داد که شما وب سرویس Apache را اجرا می کنید، یک دور اولیه از تست های مربوط به Apache را انجام می دهد. سپس هنگامی که تست های خاص آپاچی را انجام داد، ممکن است پیکربندی SSL/TLS را نیز کشف کند. سپس مراحل اسکن اضافی را بر اساس آن انجام می دهد. یک مثال خوب جمع آوری گواهی های کشف شده است تا بعداً نیز اسکن شوند.
این چیزی است که در طول یک اسکن معمولی با Lynis اتفاق می افتد که عبارتند از :
علاوه بر گزارش و اطلاعات نمایش داده شده روی صفحه، تمام جزئیات فنی در مورد اسکن در یک فایل گزارش (lynis.log) ذخیره می شوند. یافته هایی مانند هشدارها و پیشنهادها در یک فایل گزارش جداگانه ذخیره میشوند (lynis-report.dat).
Lynis صدها آزمایش فردی انجام می دهد. هر تست به تعیین وضعیت امنیتی سیستم کمک می کند. اکثر تست ها با اسکریپت پوسته (Shell) نوشته میشوند و یک شناسه منحصر به فرد دارند (مانند KRNL-6000).
با شناسه های منحصر به فرد می توان یک اسکن امنیتی را تنظیم کرد. برای مثال، اگر آزمایشی برای اسکن شما خیلی سخت است، به سادگی آن را غیرفعال کنید. به این ترتیب یک اسکن سیستم بهینه تری برای محیط خود دریافت می کنید. Lynis ماژولار است و اجازه می دهد تا تست های خود را اجرا کنید. حتی می توانید آنها را در سایر زبان های برنامه نویسی ایجاد کنید.
پلاگین ها افزونه های کاربردی Lynis هستند. با کمک افزونه ها، Lynis تست های اضافی را انجام می دهد و اطلاعات سیستم بیشتری را جمع آوری می کند. هدف هر افزونه جمع آوری داده های خاص است. این داده ها در فایل گزارش Lynis (lynis-report.dat) ذخیره می شوند. بسته به استفاده شما از Lynis، داده های جمع آوری شده ممکن است بینش های ارزشمندی بین سیستم ها یا بین اسکن های فردی ارائه دهد. افزونه ها بیشترین ارزش را در محیط هایی با بیش از 10 سیستم ارائه می دهند. برخی از افزونه ها در بخش دانلود ها موجود هستند.
Lynis یک ابزار سبک و آسان برای استفاده است. اگرچه اکثر کاربران Lynis را از طریق یک پکیج نصب میکنند، اما نیازی به نصب نیست! کافیست آرشیو (tarball) را استخراج کنید و سیستم حسابرسی ./lynis را اجرا کنید. از طرفی دیگر نصب Lynis بسیار ساده می باشد. به وب سرور خود لاگین کنید و مطمئن شوید که Git بر روی سیستم شما نصب شده و با استفاده از ابزار Git آن را در مکانی دلخواه کلون کنید و به پوشه نصب شده lynis وارد شوید :
git clone https://github.com/CISOfy/lynis
cd lynis
رایج ترین دستور به منظور پیاده سازی ارزیابی سیستم استفاده از ساختار دستوری زیر می باشد :
./lynis audit system
برای مشاهده پارامترهای موجود سوییچ h- , به منظور بروزرسانی ابزار سوییچ check-update– , برای مشاهده تنها هشدارها سوییچ quiet– و برای مشاهده نسخه فعلی ابزار سوییچ version– را می توان استفاده کرد. پس از اجرای اسکن lynis شروع به کار کرده , سیستم عامل را شناسایی کرده و اطلاعات ریز آن را چاپ می کند.
زمانیکه ابزار lynis یک سیستم را اسکن می کند خروجی را در حین اسکن در صفحه چاپ می کند. در بیشتر موارد دو گزینه بیشتر از همه نمایش داده می شود. یکی هشدار یا همان WARNING که با رنگ قرمز بوده و دیگری OK با رنگ سبز. گزینه OK به این معنی است که نتیجه خوب است و دیگری نشان دهنده وجود یک رخداد غیرمنتظره است. دقت داشته باشید که صرف وجود OK همیشه به معنای پیکربندی صحیح سیستم نیست . این تنها یک اسکنر است و کامل نیست. همین طور هشدار WARNING همیشه به معنای چیز بدی نیست و ممکن است خطای اسکنر باشد یا اینکه پیش نیازهای سیستم شما متفاوت باشد. هرچند ارزیاب سیستم باید به این موارد توجه کند و با دانش خود از سیستم آنها را بررسی کند.
با نگاهی به تصویر زیر مشاهده می کنید که کاربران , گروه ها و احراز هویت در سیستم لینوکس بررسی می شود. به عنوان مثال حساب های کاربری ادمین شرایط خوبی دارند. پایداری فایل پسورد شرایط خوبی دارد. در ادامه مورد دیگری با نام SUGGESTION با رنگ زرد نمایش داده می شود که در پایان گزارش پیشنهاد هایی را به ما برای افزایش امنیتی سیستم می دهد.
دقت داشته باشید که Lynis یک ابزار ارزیابی سیستم است و هیچ چیزی را برای شما تغییر نمی دهد. تنها سیستم را اسکن کرده و پیشنهاد هایی به منظور وصله کردن و محکم کاری سرور به شما می دهد.
به منظور جلوگیری از حملات DDOS می توانید Apache mod_evasive را نصب کنید.یکی دیگر از توصیه های خوب نصب اسکنرهای بدافزار و روت کیت همچون rkhunter یا chkrootkit می باشد که به شناسایی روت کیت و بدافزار بر روی سیستم شما کمک می کند.
lynis دارای گزینه pentest– می باشد که امکان اسکن بدون مجوز دسترسی را فراهم می کند. این گزینه برای آزمونگرهای نفوذ که دسترسی به سرور ندارند یا دسترسی آنها محدود است امکان استفاده از lynis را فراهم می کند.ابزار lynis دارای نسخه تجاری می باشد که طبق گفته سازندگان این ابزار از نظر قابلیت ها و عملکرد نسخه رایگان تفاوتی با نسخه تجاری ندارد تنها ارایه پشتیبانی و ارایه پلاگین های اضافی مزیت استفاده از نسخه تجاری می باشد.
در پایان این ابزار نتایج تست و اطلاعات دیباگ را در فایل زیر ذخیره می کند :
/var/log/lynis.log
همچنین گزارش داده ها در فایل زیر ذخیره می شوند :
/var/log/lynis-report/dat
ابزار lynis دارای نسخه تجاری می باشد که طبق گفته سازندگان این ابزار از نظر قابلیت ها و عملکرد نسخه رایگان تفاوتی با نسخه تجاری ندارد تنها ارایه پشتیبانی و ارایه پلاگین های اضافی مزیت استفاده از نسخه تجاری می باشد.
امیدوارم از این مقاله آموزشی لذت برده باشید :)
کانال تلگرام: MehranKiyaNET@
متخصص تست نفوذ و امنیت
مهران کیاء , هکر کلاه خاکستری , فعال در حوزه تست نفوذ و امنیت , علاقه مند به مباحث شبکه و برنامه نویسی عاشق یادگیری و آموزش دادن. دوستان عزیز جهت مطرح کردن سوالات و مشکلات خودشون در دوره های آموزشی بنده میتونن از طریق کانال تلگرام اقدام کنند. https://t.me/MehranKiyaNET
زمان پاسخ گویی روز های شنبه الی چهارشنبه ساعت 9 الی 18
فقط به موضوعات مربوط به محصولات آموزشی و فروش پاسخ داده می شود