Nội dung
I. Giới Thiệu
Linux là một hệ điều hành đa người dùng và nhiều người dùng có thể đăng nhập vào một hệ thống cùng một lúc.Vì một lý do nào đó, bạn có thể cần kiểm tra lịch sử đăng nhập để xác định những người đã đăng nhập vào hệ thống gần đây hoặc trong một khoảng thời gian nhất định.
Việc này có thể được thực hiện theo nhiều cách và sẽ hướng dẫn bạn cách kiểm tra lịch sử đăng nhập của người dùng một cách chi tiết bằng lệnh “last” trong bài viết này. Tuy nhiên, chúng tôi cũng sẽ cung cấp cho bạn một bản tóm tắt về các lệnh khác.
Nó chứa một loạt thông tin hữu ích về người dùng như tên người dùng, tên terminal được kết nối, địa chỉ IP nguồn (từ địa chỉ IP nào người dùng đã truy cập vào hệ thống), ngày, giờ và thời gian người dùng đã đăng nhập vào hệ thống. Nó sẽ giúp chúng ta phân tích một số loại vấn đề cụ thể. Ví dụ, nếu một số tệp bị xóa vào một thời điểm cụ thể và chúng tôi có thể điều tra xem những người dùng nào đã đăng nhập vào hệ thống trong thời gian đó để khắc phục sự cố cấp độ đầu tiên.
Tất cả các tệp nguồn được đặt ở vị trí sau đây và đây là các tệp nhị phân không thể xem trong bất kỳ trình soạn thảo văn bản nào.
- /var/run/utmp: Chứa thông tin về những người dùng hiện đang đăng nhập vào hệ thống. Lệnh “who” được sử dụng để truy xuất thông tin từ tệp này.
- /var/log/wtmp: Chứa lịch sử utmp. Nó lưu trữ lịch sử đăng nhập và đăng xuất của người dùng. Lệnh “last” sử dụng tệp này để hiển thị thông tin.
- /var/log/btmp: Chứa các lần thử đăng nhập không thành công.
Tùy chọn, thông tin đăng nhập của người dùng cũng có thể được xác minh bằng cách sử dụng công cụ “aureport”, tạo ra các báo cáo tóm tắt về lịch sử đăng nhập của người dùng.
II. Cách Sử dụng lastb, last
Lệnh “lastb” giống như lệnh “last”, mặc định nó hiển thị nhật ký từ tệp ‘/var/log/btmp’, chứa tất cả các lần thử đăng nhập không thành công.
1. Sự khác biệt giữa pts và tty
Bạn có thể đã thấy các giá trị pts và tty trong đầu ra lệnh “who” và phần giải thích dưới đây sẽ chỉ ra sự khác biệt giữa chúng.
- Một tty, viết tắt của TeleTYpe, là một thiết bị terminal nguyên bản (Có thể là bảng điều khiển máy chủ/hệ thống).
- Một pty (thiết bị terminal giả mạo) là một thiết bị terminal được mô phỏng bởi một chương trình khác như putty, xterm hoặc screen, v.v.
2. Kiểm tra lịch sử đăng nhập của tất cả người dùng đang đăng nhập trong Linux
Lệnh last -F
trong Linux sẽ hiển thị thông tin về các sự kiện đăng nhập và đăng xuất dưới dạng “full date format”, tức là hiển thị thời gian cụ thể của sự kiện đó thay vì cách hiển thị mặc định.
Chạy lệnh last mà không có bất kỳ đối số nào để xem lịch sử đăng nhập thành công của tất cả người dùng trên hệ thống. Nếu có quá nhiều giá trị, sử dụng lệnh less hoặc more để xem chúng theo từng trang.
last -15
Lệnh last -15
sẽ hiển thị lịch sử đăng nhập cho 15 phiên đăng nhập gần nhất trên hệ thống.
2. Kiểm tra lịch sử đăng nhập của một người dùng cụ thể
Nếu bạn muốn xem lịch sử của một người dùng cụ thể, hãy sử dụng lệnh bên dưới. Thay thế ‘user_name’ bằng tên người dùng mong muốn mà bạn muốn tìm kiếm
last root
3. Kiểm tra lịch sử đăng nhập trong một khoảng thời gian cụ thể
Nếu bạn muốn xác minh ai đã đăng nhập vào hệ thống trong một khoảng thời gian cụ thể, hãy sử dụng định dạng sau.
last -F | grep -E 'Mar ([ 1-9]|1[0-9]|2[0-9]|30)' | grep 2023
Nếu bạn muốn xác minh rằng một người dùng nhất định đã đăng nhập vào hệ thống trong một khoảng thời gian, hãy sử dụng định dạng sau.
4. Kiểm tra lịch sử đăng nhập dựa trên pty và pts
được kết nối
last pts/0
last tty1
5. Kiểm tra lịch sử đăng nhập trong Linux?
Lệnh lastb
trong Linux được sử dụng để hiển thị thông tin về các lần đăng nhập không thành công trên hệ thống từ tệp nhật ký /var/log/btmp
. Khi một người dùng cố gắng đăng nhập vào hệ thống nhưng không thành công (do nhập sai mật khẩu, tên người dùng không tồn tại, v.v.), một bản ghi sẽ được ghi vào tệp btmp
. Lệnh lastb
cho phép bạn kiểm tra và phân tích các sự cố đăng nhập không thành công này, giúp quản trị viên theo dõi và phát hiện các hoạt động đáng ngờ hoặc cố gắng xâm nhập.
Lưu ý rằng để chạy lệnh lastb
, bạn cần quyền root hoặc quyền truy cập vào tệp /var/log/btmp
.
Tuy nhiên hệ thống sẽ lưu lại thành các file btmp
khác nhau theo thời gian.
ll /var/log/btmp*
/var/log/btmp-20231201
, thì phần “-20231201” thường biểu thị ngày tháng. Có nghĩa là tệp btmp
cho ngày 1 tháng 12 năm 2023.
Lệnh Lastb được sử dụng để kiểm tra lịch sử đăng nhập của người dùng. Để có thể được sử dụng để xem chi tiết hơn.
lastb -f /var/log/btmp-20231201
lastb -f /var/log/btmp
Lệnh last -10 -R
trong Linux sẽ hiển thị 10 lần đăng nhập gần đây nhất và cũng sẽ hiển thị nguyên nhân (reason) cho mỗi sự kiện đăng nhập. Tùy thuộc vào cấu hình và phiên bản Linux cụ thể, nguyên nhân này có thể là một số lỗi hoặc thông tin khác liên quan đến sự kiện đăng nhập.
Để chạy lệnh này, bạn cần có quyền root hoặc quyền truy cập vào tệp nhật ký liên quan.
last -10 -R
Hiển thị thông tin tên người dùng đầy đủ.
last -10 -w
6. Kiểm tra lịch sử đăng nhập bằng tệp nhật ký log
Người dùng có thể xem lịch sử đăng nhập theo cách thủ công từ các tệp nhật ký sau chứa thông tin đăng nhập thành công, thất bại và lỗi.
/var/log/secure
: Đây là tệp nhật ký chính trên các hệ thống Red Hat-based như CentOS và Fedora. Nó chứa thông tin về các sự kiện liên quan đến bảo mật, bao gồm cả quá trình xác thực (ví dụ: đăng nhập, thay đổi mật khẩu, v.v.) và các thông báo bảo mật khác./var/log/auth.log
: Đây là tệp nhật ký trên các hệ thống Debian-based như Debian và Ubuntu. Tương tự như/var/log/secure
, nó cũng chứa thông tin về các sự kiện xác thực và bảo mật.
Cả hai tệp nhật ký này đều rất hữu ích cho việc giám sát và phân tích bảo mật của hệ thống.
File secure
cũng lưu lại theo khoảng thời gian nhất định, để tiện kiểm tra hơn
6.1 Sử dụng lệnh bên dưới để kiểm tra chi tiết đăng nhập thành công và thất bại trên các hệ thống RHEL, CentOS, Oracle Linux và Fedora.
cat /var/log/secure-20231217 | grep Accepted | awk '{print $1,$2,$3,$9}'
- Kiểm tra đang nhập thành công.
- Kiểm tra đăng nhập thất bại.
cat /var/log/secure-20231217 | grep Failed | awk '{print $1,$2,$3,$9}'
- Sử dụng định dạng bên dưới để kiểm tra chi tiết đăng nhập thành công và thất bại trên hệ thống Debian và Ubuntu.
cat /var/log/auth.log | grep Accepted | awk '{print $1,$2,$3,$9}'
cat /var/log/auth.log | grep Failed | awk '{print $1,$2,$3,$9}'
III. Lời kết
Mỗi hệ thống Linux có những vị trí nhật ký đặc trưng, như /var/log/secure
trên các hệ thống Red Hat-based và /var/log/auth.log
trên các hệ thống Debian-based. Việc biết và hiểu rõ cách truy cập và phân tích các tệp này không chỉ giúp người quản trị hiểu rõ về trạng thái và hoạt động của hệ thống mình mà còn giúp tăng cường bảo mật, phát hiện và ứng phó nhanh chóng với các mối đe dọa tiềm ẩn.
Trong bối cảnh ngày nay, khi mối đe dọa an ninh mạng ngày càng phức tạp và nguy hiểm, việc duy trì và sử dụng nhật ký hệ thống một cách hiệu quả là vô cùng quan trọng. Đối với mọi người quản trị hệ thống và chuyên gia bảo mật, việc này không chỉ là một nhiệm vụ mà còn là trách nhiệm của họ đối với sự an toàn và bảo mật của dữ liệu và thông tin trên hệ thống.
Hãy luôn cập nhật kiến thức và công cụ cần thiết, đồng thời đảm bảo rằng bạn luôn nắm bắt và giám sát những thay đổi trong tệp nhật ký của hệ thống. Bảo vệ thông tin và dữ liệu là một trong những yếu tố quan trọng nhất để đảm bảo sự tin cậy và hiệu suất của hệ thống.
Chúc bạn thực hiện thành công.
Nếu các bạn cần hỗ trợ các bạn có thể liên hệ bộ phận hỗ trợ theo các cách bên dưới:
- Hotline 247: 028 888 24768
- Ticket/Email: Bạn dùng email đăng ký dịch vụ gửi trực tiếp về: support@azdigi.com.