آموزش نصب Lynis روی لینوکس و انجام بررسیهای امنیتی
امنیت، بدون شک باید اولویت اصلی شما باشد. تنها یک حمله سایبری میتواند باعث نشت اطلاعات حساس، ضررهای مالی سنگین و آسیبهای جبرانناپذیر به اعتبار شما شود.
اگر قصد دارید سرور لینوکسی خود را ایمن کنید اما نمیدانید از کجا شروع کنید، یادگیری نحوه نصب و استفاده از Lynis که یکی از ابزارهای مهم امنیتی است، میتواند اولین گام شما برای رسیدن به امنیتی غیرقابل نفوذ باشد.
اگر قصد نصب Lynis بر روی سیستمعاملهایی مانند Ubuntu، Debian، Rocky Linux یا AlmaLinux را دارید، این راهنما تمامی مراحل را به طور کامل پوشش میدهد. از نصب (از طریق GitHub یا مدیر بستهها) گرفته تا پیادهسازی پیشنهادات امنیتی ارائه شده توسط Lynis. در چند دقیقه، یاد میگیرید که چگونه امنیت سرور خود را تقویت کرده و به آرامش خاطر برسید.
Lynis چیست؟
Lynis یک ابزار تخصصی بررسی امنیت است که برای تحلیل سیستمهای مبتنی بر لینوکس و یونیکس طراحی شده است. این ابزار به طور سیستماتیک پیکربندیهای سیستم، سرویسها و کنترلهای امنیتی را بررسی کرده و آسیبپذیریها و پیکربندیهای نادرست احتمالی را شناسایی میکند. Lynis توصیههای دقیقی برای بالا بردن امنیت سیستم شما ارائه میدهد، انطباق با چارچوبهای امنیتی را بررسی میکند و گزارشهای جامع تولید میکند که به اولویتبندی بهبودهای امنیتی و پیگیری روند پیشرفت امنیتی سرور در طول زمان کمک میکند.
پیشنیازها قبل از نصب Lynis برای بررسی امنیت لینوکس
Lynis روی تمام سیستمعاملهای موجود (Ubuntu، Debian و …) در دسترس است و دستورالعملهای نصب و استفاده در همه آنها یکسان است؛ بنابراین این آموزش وابسته به سیستمعامل خاصی نیست.
برای دنبالکردن این آموزش به موارد زیر نیاز دارید:
- یک VPS با هر سیستمعامل لینوکسی
- یک حساب کاربری غیر روت (دستورهایی که به سطح دسترسی بالاتر نیاز دارند با sudo اجرا میشوند)
نحوه نصب Lynis روی لینوکس برای بررسی امنیت
دو روش برای نصب Lynis وجود دارد:
-
نصب از طریق مخازن رسمی توزیع با استفاده از مدیر بستهها (
aptیاdnf) -
نصب از طریق کلونکردن مخزن رسمی GitHub برای دریافت جدیدترین نسخه با آخرین بررسیهای امنیتی
گزینه ۱: نصب بسته رسمی توزیع
برای نصب Lynis و استفاده از آن برای انجام بررسیهای امنیتی، کافی است از مدیر بسته توزیع خود استفاده کنید.
دستور نصب Lynis روی Ubuntu و Debian:
sudo apt install lynis

دستور نصب Lynis روی Rocky Linux / AlmaLinux / CentOS / RHEL:
sudo dnf install epel-release -y
sudo dnf install lynis

برای اطمینان از نصب صحیح، نسخه Lynis را بررسی کنید:
sudo lynis --version
نمونه خروجی :
3.0.9
اکنون میتوانید از نسخه پایدار Lynis که در حال حاضر برای توزیع شما در دسترس است استفاده کنید. با این حال، اگر میخواهید جدیدترین نسخه را اجرا کنید، میتوانید گزینه دوم را انتخاب کرده و Lynis را از طریق Git و از مخزن رسمی GitHub نصب کنید.
گزینه ۲: نصب Lynis از طریق GitHub (آخرین نسخه)
نکته: اگر قبلاً Lynis را از طریق مدیر بسته طبق روش قبلی نصب کردهاید، قبل از ادامه کار ابتدا آن را حذف کنید تا از تداخل بستهها جلوگیری شود.
ابتدا Git را (در صورت نصب نبودن) نصب کنید:
sudo apt install git # Ubuntu/Debian
sudo dnf install git # Rocky Linux/AlmaLinux/CentOS/RHEL
سپس مخزن Lynis را کلون کنید:
git clone https://github.com/CISOfy/lynis
پیشنهاد میشود اسکریپت را به عنوان کاربر روت اجرا کنید، بنابراین از دستور chown برای تغییر مالکیت اسکریپت استفاده خواهیم کرد. اگر دستور را با sudo یا su اجرا کنید بدون اینکه ابتدا مالکیت را تغییر دهید، یک هشدار امنیتی دریافت خواهید کرد که میتوانید آن را نادیده بگیرید و با زدن Enter ادامه دهید یا با استفاده از Ctrl+C آن را لغو کنید. همچنین، اگر بخواهید دستور را با کاربران معمولی خود اجرا کنید، هشدار دریافت خواهید کرد که نتایج به دلیل نیاز به دسترسیهای بالاتر، ناقص خواهند بود.
sudo chown -R 0:0 lynis
cd lynis
برای بررسی نصب، نسخه Lynis را چک کنید:
sudo ./lynis --version
نمونه خروجی :
3.1.4
همانطور که میبینید، نسخه GitHub جدیدتر از نسخه موجود در مدیر بسته است.
مشاهده مستندات و دستورالعملهای Lynis
برای مشاهده تمامی دستورات موجود Lynis و مستندات آن، از دستور زیر استفاده کنید.
در صورت نصب از طریق مدیر بستهها :
sudo lynis show commands
در صورت نصب از طریق GitHub (از دایرکتوری lynis) :
sudo ./lynis show commands
برای دریافت راهنمای دقیق هر دستور :
sudo lynis show help [command]
همچنین میتوانید دستهبندیهای دستورات را به شکل زیر مشاهده کنید:
# نمایش تمامی گزینهها برای بررسی امنیت
sudo lynis show options
# نمایش تمامی آزمایشهای موجود
sudo lynis show tests
#مشاهده دستورات اشکالزدایی موجود
sudo lynis show debug
با دستورات بالا تمامی دستورات موجود و توضیحات آنها نمایش داده میشوند و به شما کمک میکنند تا قابلیتهای کامل Lynis به عنوان یک ابزار بررسی امنیتی را درک کنید.
استفاده از Lynis در لینوکس برای انجام بررسیهای امنیتی
حالا که Lynis را نصب کردهاید، استفاده از آن برای انجام بررسیهای امنیتی در سیستم لینوکسی شما بسیار ساده است.
بیایید نگاهی به لیستی از گزینهها برای کارهایی که میتوانید با Lynis انجام دهید، بیندازیم:
$ sudo lynis show commands
یا اگر از نسخهای که از GitHub دریافت کردهاید استفاده میکنید، مطمئن شوید که در دایرکتوری lynis هستید و دستور زیر را اجرا کنید:
$ sudo ./lynis show commands
دستور lynis show گزینههای زیادی به شما میدهد که میتوانید برای انجام وظایف خاص از آنها استفاده کنید:
lynis show commands

ما بیشتر به دستور lynis audit علاقه داریم تا بررسیهای امنیتی را روی سرور لینوکس خود انجام دهیم. که در بخش بعدی به آن خواهیم پرداخت.
استفاده از دستور lynis audit system
اگر از مدیر بسته توزیع خود استفاده کردهاید، برای انجام بررسیهای امنیتی با استفاده از Lynis کافی است دستور زیر را اجرا کنید:
$ sudo lynis audit system
در غیر این صورت، اگر مخزن Git Lynis را کلون کردهاید، میتوانید به سادگی اسکریپت داخلی را مانند زیر اجرا کنید (دوباره، مطمئن شوید که در دایرکتوری lynis هستید):
$ sudo ./lynis audit system
توجه: فرآیند بررسی و اسکن توسط Lynis ممکن است مقداری زمان ببرد.
درک نتایج Lynis
زمانی که Lynis بررسی امنیتی خود را به اتمام میرساند، هشدارها، پیشنهادات و برخی جزئیات فوری از اسکن امنیتی شما را نمایش میدهد، مانند “شاخص سختافزاری” که میتوانید برای امتیازدهی به تلاشهای خود از آن استفاده کنید.
Lynis انواع مختلفی از اطلاعات را در اختیار شما قرار میدهد:
- هشدارها: مشکلات بحرانی که نیاز به توجه فوری دارند، مانند بستههای آسیبپذیر، قوانین فایروال غیرفعال و مشکلات همگامسازی زمان.
- پیشنهادات: بهبودهایی که میتوانند امنیت را افزایش دهند، اما بحرانی نیستند، مانند نصب بستههای امنیتی (fail2ban، pam_cracklib)، سختافزاری کردن پیکربندی SSH و پیادهسازی نظارت بر یکپارچگی فایلها.
- اطلاعات: یافتهها و بررسی وضعیت کلی اجزای مختلف سیستم مانند بستههای نصبشده، سرویسهای در حال اجرا و وضعیت پیکربندی.
هر پیشنهاد و هشدار با موارد زیر همراه است:
- یک شناسه منحصر به فرد (مثلاً [PKGS-7392])
- یک توضیح کوتاه از مشکل
- یک لینک به مستندات دقیق
برای یک سیستم عامل Ubuntu 24.04 تازه نصب شده ، نتیجه کلی بررسی به شکل زیر است:
جزئیات اسکن امنیتی Lynis:
Lynis security scan details:
Hardening index : 61 [############ ]
Tests performed : 255
Plugins enabled : 1
Components:
- Firewall [V]
- Malware scanner [X]
Scan mode:
Normal [V] Forensics [ ] Integration [ ] Pentest [ ]
Lynis modules:
- Compliance status [?]
- Security audit [V]
- Vulnerability scan [V]
Files:
- Test and debug information : /var/log/lynis.log
- Report data : /var/log/lynis-report.dat
توجه: برخی ورودیها مانند قرار دادن /var در یک پارتیشن جداگانه، در VPS قابل اصلاح نیستند. با این حال، به یاد داشته باشید که اینها فقط پیشنهادات هستند.
همچنین میتوانید گزارش کامل اسکن خود را در مسیر /var/log/lynis.log و گزارش دادهها را در /var/log/lynis-report.dat بررسی کنید.
Lynis تقریباً هر چیز مرتبط با امنیت را بررسی میکند:
- قدرت محافظت سیستم شما (ایمن سازی سیستم)
- سرویسهای در حال اجرا و نحوه پیکربندی آنها
- امنیت شبکه شما
- اینکه آیا کاربران و پسوردها به صورت امن پیکربندی شدهاند یا خیر
- آیا فایلها و پوشههای شما دسترسیهای صحیح دارند یا خیر
برای مثال، در اینجا بخش SSH برای یک سرور Ubuntu 24.04 تازه نصبشده آمده است:
[+] SSH Support
------------------------------------
- Checking running SSH daemon [ FOUND ]
- Searching SSH configuration [ FOUND ]
- OpenSSH option: AllowTcpForwarding [ SUGGESTION ]
- OpenSSH option: ClientAliveCountMax [ SUGGESTION ]
- OpenSSH option: ClientAliveInterval [ OK ]
- OpenSSH option: FingerprintHash [ OK ]
- OpenSSH option: GatewayPorts [ OK ]
- OpenSSH option: IgnoreRhosts [ OK ]
- OpenSSH option: LoginGraceTime [ OK ]
- OpenSSH option: LogLevel [ SUGGESTION ]
- OpenSSH option: MaxAuthTries [ SUGGESTION ]
- OpenSSH option: MaxSessions [ SUGGESTION ]
- OpenSSH option: PermitRootLogin [ SUGGESTION ]
- OpenSSH option: PermitUserEnvironment [ OK ]
- OpenSSH option: PermitTunnel [ OK ]
- OpenSSH option: Port [ SUGGESTION ]
- OpenSSH option: PrintLastLog [ OK ]
- OpenSSH option: StrictModes [ OK ]
- OpenSSH option: TCPKeepAlive [ SUGGESTION ]
- OpenSSH option: UseDNS [ OK ]
- OpenSSH option: X11Forwarding [ SUGGESTION ]
- OpenSSH option: AllowAgentForwarding [ SUGGESTION ]
- OpenSSH option: AllowUsers [ NOT FOUND ]
- OpenSSH option: AllowGroups [ NOT FOUND ]
چگونه پیشنهادات Lynis را پیادهسازی کنیم
پس از دریافت نتایج اسکن خود، زمان آن رسیده که پیشنهادات Lynis را پیادهسازی کنید. اگر هشدارهای Lynis را برطرف کرده و پیشنهادات آن را اجرا کنید، امنیت سرور لینوکسی شما افزایش خواهد یافت. هر هشدار و پیشنهاد همراه با لینک به مستنداتی است که به شما کمک میکند مشکل را درک کنید و مثالهایی برای اصلاح آن ارائه میدهد، بنابراین حتماً از این منابع بهرهبرداری کنید.

از آنجا که همه ما برای اتصال به سرورهای VPS خود از SSH استفاده میکنیم، بیایید به برخی اصلاحات پایهای بپردازیم که به کاهش تعداد هشدارهایی که دریافت میکنیم، کمک میکنند.
توجه: پیکربندی پیشفرض sshd شما ممکن است بسته به سیستمعامل و تغییراتی که ممکن است قبلاً ایجاد کردهاید، کمی متفاوت باشد.
بیایید برخی از پیشنهادات OpenSSH را به عنوان مثال بررسی کنیم:
OpenSSH option: PermitRootLogin [ SUGGESTION ]
OpenSSH option: MaxAuthTries [ SUGGESTION ]
OpenSSH option: MaxSessions [ SUGGESTION ]
OpenSSH option: LogLevel [ SUGGESTION ]
OpenSSH option: AllowTcpForwarding [ SUGGESTION ]
OpenSSH option: X11Forwarding [ SUGGESTION ]
OpenSSH option: AllowAgentForwarding [ SUGGESTION ]
گزینه OpenSSH: PermitRootLogin [ پیشنهاد ]
حساب روت دسترسی نامحدود به سیستم دارد و به همین دلیل هدفی برای مهاجمان است. به طور پیشفرض، بسیاری از سیستمها به روت اجازه ورود از طریق SSH را میدهند که این خطرناک است. به همین دلیل شما باید:
- یک حساب کاربری عادی با دسترسی sudo برای مدیریت ایجاد کنید.
- ورود روت را با ویرایش فایل
/etc/ssh/sshd_configغیرفعال کنید:
PermitRootLogin no
گزینه OpenSSH: MaxAuthTries [ پیشنهاد ] و OpenSSH: MaxSessions [ پیشنهاد ]
این تنظیمات به جلوگیری از حملات brute force و سوءاستفاده از منابع کمک میکنند. MaxAuthTries تعداد دفعات تلاش برای ورود را قبل از قطع اتصال محدود میکند، در حالی که MaxSessions تعداد اتصالات همزمانی که یک کاربر میتواند داشته باشد را کنترل میکند. بخشهای زیر را در فایل /etc/ssh/sshd_config ویرایش کنید:
# مقدار پیشفرض 6 است که خیلی زیاد است، میتوانید آن را کمتر کنید :
MaxAuthTries 4
# مقدار پیشفرض 10 است که معمولاً ضروری نیست
MaxSessions 2
حالا بیایید به سطح لاگگذاری بپردازیم:
OpenSSH option: PermitRootLogin [ SUGGESTION ]
افزایش سطح لاگگذاری به شما کمک میکند تا مشکلات امنیتی احتمالی را شناسایی کنید زیرا اطلاعات دقیقتری از اتصالات SSH و تلاشهای احراز هویت به شما میدهد. فایل /etc/ssh/sshd_config را ویرایش کرده و سطح لاگگذاری را به VERBOSE تغییر دهید:
LogLevel VERBOSE
مقدار پیشفرض INFO است که برخی از جزئیات امنیتی مفید را از دست میدهد.
حالا بیایید به فورواردینگها بپردازیم:
OpenSSH option: AllowTcpForwarding [ SUGGESTION ]
OpenSSH option: X11Forwarding [ SUGGESTION ]
OpenSSH option: AllowAgentForwarding [ SUGGESTION ]
این ویژگیها انواع مختلفی از فورواردینگ را از طریق اتصالات SSH فعال میکنند. بهتر است این قابلیتها غیرفعال شوند مگر اینکه به طور خاص به آنها نیاز داشته باشید،چرا که میتوانند به طور غیر عمدی برای دور زدن فایروالها یا افشای خدمات استفاده شوند. برای غیرفعال کردن آنها، بخشهای زیر را در فایل /etc/ssh/sshd_config ویرایش کنید:
AllowTcpForwarding no
X11Forwarding no
AllowAgentForwarding no
پس از اعمال تغییرات، ابتدا پیکربندی خود را برای خطاهای نحوی تست کنید:
sudo sshd -t
سپس SSH را برای اعمال تغییرات مجدداً راهاندازی کنید:
sudo systemctl restart ssh
#or
sudo systemctl restart sshd
نکات ایمنی: هنگام انجام تغییرات در SSH، همیشه:
- نشست SSH فعلی خود را باز نگه دارید.
- یک ترمینال جدید باز کرده و اتصال با تنظیمات جدید را تست کنید.
- فقط پس از تأیید عملکرد صحیح پیکربندی جدید، نشست اصلی خود را ببندید.
- برای دسترسی در صورت بروز مشکلات، یک برنامه پشتیبان (مانند دسترسی به کنسول) داشته باشید.
به یاد داشته باشید که در حالی که اینها بهترین شیوههای امنیتی هستند، شما باید هر تنظیم را بر اساس نیازهای خاص خود ارزیابی کنید.
با پیادهسازی پیشنهادات، دوباره بررسی Lynis را اجرا کنید:
sudo lynis audit system
خروجی:
Lynis security scan details:
Hardening index : 67 [############# ]
Tests performed : 255
Plugins enabled : 1
بعد از ویرایش فقط چند خط در پیکربندی SSH، شاخص سختافزاری از 61 به 67 افزایش یافته است. برای فقط چند دقیقه کار، نتیجه بدی نیست!
نتیجهگیری
اگر بهدنبال یادگیری نصب Lynis روی لینوکس و انجام بررسیهای امنیتی هستید، این ابزار راهکاری قدرتمند و ساده برای حفظ امنیت هر سرور لینوکسی است. Lynis روی Ubuntu، Debian، AlmaLinux، Rocky Linux و سایر توزیعها بهخوبی کار میکند.
با تمرکز روی هشدارهای بحرانی، پیادهسازی تدریجی پیشنهادها و اجرای منظم بررسیها، میتوانید امنیت سرور خود را بهطور مداوم بهبود دهید.
پرسشهای متداول
امتیاز خوب Lynis چقدر است؟
امتیاز بالای ۷۵ خوب و بالای ۹۰ عالی محسوب میشود، اما مهمتر از امتیاز، رفع هشدارهای بحرانی است.
چگونه Lynis را بهروزرسانی کنیم؟
- در صورت نصب با مدیر بسته با دستور:
sudo apt upgradeیاsudo dnf upgrade - درصورت نصب از GitHub با دستور:
git pull
چگونه Lynis را حذف کنیم؟
- Ubuntu/Debian:
sudo apt remove lynis - Rocky/AlmaLinux:
sudo dnf remove lynis - در صورت نصب از طریق GitHub:
حذف پوشه Lynis باrm -rf