تغییرات اخیر

در اینجا اطلاعیه‌ها، نسخه‌ها و تغییرات جدید لیارا فهرست می‌شوند.

نحوه مانیتور و بررسی لاگ های احراز هویت در سرور مجازی Ubuntu


۲۵ بهمن ۱۴۰۳

یکی از اجزای اساسی بخش مدیریت احراز هویت، نظارت بر ورود کاربران به سیستم پس از پیکربندی آن‌ها است. در این آموزش، این مفاهیم را در سرور Ubuntu نسخه ۲۲.۰۴ بررسی می‌کنیم، اما می‌توانید آن را در هر توزیع مدرن دیگری از لینوکس دنبال کنید. اگر هنوز سرور اوبونتو نسخه ۲۲.۰۴ را راه‌اندازی نکرده‌اید، می‌توانید از راهنمای نحوه راه‌اندازی اولیه سرور مجازی با اوبونتو Ubuntu استفاده کنید. در صورتی که نیاز به یک سرور مجازی سریع با زیرساخت قدرتمند دارید، می‌توانید از سرور مجازی ارزان لیارا، استفاده کنید.

در ادامه، بخوانید:

  • بررسی تلاش‌های احراز هویت در سیستم
  • استفاده از دستور last برای بررسی آخرین ورودهای کاربران
  • استفاده از دستور lastlog برای مشاهده آخرین ورود هر کاربر
  • استفاده از دستور who برای بررسی کاربران فعال در لحظه
  • استفاده از دستور w برای بررسی فعالیت کاربران
  • فعال‌سازی مانیتورینگ ورود با auditd
  • نتیجه گیری

بررسی تلاش‌های احراز هویت در سیستم

در سیستم‌های لینوکسی، تمام تلاش‌های احراز هویت، در یک فایل لاگ اختصاصی، ثبت می‌شوند. این لاگ‌ها در مسیر زیر ذخیره می‌شوند:

/var/log/auth.log

برای مشاهده این فایل، از دستور less استفاده کنید:

sudo less /var/log/auth.log

خروجی نمونه:

May  3 18:20:45 localhost sshd[585]: Server listening on 0.0.0.0 port 22.
May  3 18:20:45 localhost sshd[585]: Server listening on :: port 22.
May  3 18:23:56 localhost login[673]: pam_unix(login:session): session opened fo
r user root by LOGIN(uid=0)
May  3 18:23:56 localhost login[714]: ROOT LOGIN  on '/dev/tty1'
Sep  5 13:49:07 localhost sshd[358]: Received signal 15; terminating.
Sep  5 13:49:07 localhost sshd[565]: Server listening on 0.0.0.0 port 22.
Sep  5 13:49:07 localhost sshd[565]: Server listening on :: port 22.
. . .

هنگامی که مشاهده لاگ‌ها تمام شد، می‌توانید با فشردن کلید q از less خارج شوید.

استفاده از دستور last برای بررسی آخرین ورودهای کاربران

معمولاً، شما فقط به جدیدترین تلاش‌های ورود کاربران، علاقه‌مند هستید. برای مشاهده آخرین ورودهای کاربران، از دستور last استفاده کنید:

last

خروجی نمونه:

demoer   pts/1        rrcs-72-43-115-1 Thu Sep  5 19:37   still logged in   
root     pts/1        rrcs-72-43-115-1 Thu Sep  5 19:37 - 19:37  (00:00)    
root     pts/0        rrcs-72-43-115-1 Thu Sep  5 19:15   still logged in   
root     pts/0        rrcs-72-43-115-1 Thu Sep  5 18:35 - 18:44  (00:08)    
root     pts/0        rrcs-72-43-115-1 Thu Sep  5 18:20 - 18:20  (00:00)    
demoer   pts/0        rrcs-72-43-115-1 Thu Sep  5 18:19 - 18:19  (00:00)

دستور last اطلاعات را از فایل /var/log/wtmp استخراج می‌کند و به‌صورت ساختارمند، نمایش می‌دهد. خط اول و سوم نشان می‌دهند که کاربر هنوز درون سیستم است (still logged in).در سایر خطوط، مدت‌زمان sessionهای بسته‌شده بین دو خط تیره (-) نمایش داده شده است.

استفاده از دستور lastlog برای مشاهده آخرین ورود هر کاربر

برای مشاهده آخرین باری که هر کاربر به سیستم وارد شده است، از دستور lastlog استفاده کنید:

lastlog

خروجی نمونه:

Username         Port     From             Latest
root             pts/1    rrcs-72-43-115-1 Thu Sep  5 19:37:02 +0000 2013
daemon                                     **Never logged in**
bin                                        **Never logged in**
sys                                        **Never logged in**
sync                                       **Never logged in**
games                                      **Never logged in**
. . .

این اطلاعات از فایل /var/log/lastlog استخراج می‌شود و بر اساس فایل /etc/passwd مرتب شده است. بیشتر حساب‌های سیستمی مقدار Never logged in را دارند، زیرا این حساب‌ها برای ورود مستقیم به سیستم استفاده نمی‌شوند.

استفاده از دستور who برای بررسی کاربران فعال در لحظه

اگر می‌خواهید بدانید چه کاربرانی در حال حاضر در سیستم حاضر هستند، می‌توانید از دستور who استفاده کنید:

who

خروجی نمونه:

sammy    pts/0    2025-02-11 10:35 (192.168.1.10)
root     pts/1    2025-02-11 10:40 (192.168.1.20)

این دستور، نام کاربر، ترمینال مورد استفاده، زمان ورود و آدرس IP سیستم کاربر را نمایش می‌دهد. اگر کاربری به‌صورت غیرمجاز به سیستم متصل شده باشد، می‌توانید به‌سرعت او را شناسایی کنید.

استفاده از دستور w برای بررسی فعالیت کاربران

دستور w مشابه who است اما اطلاعات بیشتری درباره پردازش‌های کاربران فعال، نشان می‌دهد:

w

خروجی نمونه:

 10:45:01 up 3 days,  4:12,  2 users,  load average: 0.34, 0.27, 0.19
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU  WHAT
sammy    pts/0    192.168.1.10     10:35    10:00   0.05s  0.05s -bash
root     pts/1    192.168.1.20     10:40    2:00    0.10s  0.03s sshd

در خروجی فوق، مشخص شده که کاربران به چه مدت، در سیستم فعال بوده‌اند و چه فرمان‌هایی اجرا کرده‌اند.

فعال‌سازی مانیتورینگ ورود با auditd

برای نظارت پیشرفته بر ورود کاربران، می‌توانید از سرویس auditd استفاده کنید. ابتدا این ابزار را با اجرای دستور زیر، نصب کنید:

sudo apt update && sudo apt install auditd -y

سپس بررسی کنید که آیا سرویس در حال اجرا هست یا نه:

sudo systemctl status auditd

اکنون، می‌توانید با اجرای دستور زیر، برای مانیتور کردن ورود و خروج کاربران، یک قانون، به سرور مجازی خود، اضافه کنید:

sudo auditctl -w /var/log/auth.log -p wa -k logins

این قانون، تغییرات فایل /var/log/auth.log را مانیتور خواهد کرد. برای مشاهده لاگ‌های ثبت‌شده از دستور زیر استفاده کنید:

sudo ausearch -k logins --start today

نتیجه گیری

مدیریت احراز هویت در لینوکس، یک بخش انعطاف‌پذیر از مدیریت سیستم است و ابزارهای مختلفی برای بررسی ورود کاربران وجود دارد. به عنوان مثال، دستور last برای مشاهده‌ی ورودهای اخیر و دستور lastlog برای بررسی آخرین ورود هر کاربر به سیستم استفاده می‌شود. با درک این فایل‌های لاگ و ابزارهای نظارت بر لاگین‌ها، می‌توانید فعالیت‌های غیرعادی را شناسایی کنید و امنیت سرور خود را افزایش دهید.

همچنین بخوانید: نحوه حفاظت از SSH با استفاده از Fail2Ban در Ubuntu