نحوه مانیتور و بررسی لاگ های احراز هویت در سرور مجازی 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