Menemukan login sukses terbaru dan upaya gagal ke server CentOS

29

Saya mencari file log atau layanan apa pun untuk melaporkan upaya login terbaru yang gagal karena ketidakcocokan nama pengguna / kata sandi. Apakah ada utilitas yang tersedia untuk CentOS? (built-in lebih disukai)

Pertanyaan kedua saya, dan lebih umum, saya membutuhkan file log dari upaya penetrasi ke server saya. Idealnya, log ini harus berisi semua upaya termasuk login, aktivitas httpd, dan port terbuka konvensional lainnya.

lashgar
sumber
2
jawaban untuk pertanyaan kedua: lihat OSSEC .
quanta
1
Utas ini dipindahkan dari Stackoverflow setelah saya mengajukan pertanyaan di Serverfault. Berikut adalah utas yang membahas pertanyaan kedua.
lashgar

Jawaban:

61

Di Linux, lastperintah ini menunjukkan upaya login yang berhasil dan menampilkan informasi sesi (poin, sumber, tanggal dan panjang).

The lastbperintah mencatat semua usaha login yang buruk. Keduanya berbagi manhalaman yang sama , tetapi perbedaannya adalah yang lastmembaca /var/log/wtmpfile biner , dan lastbmembaca /var/log/btmpfile secara default.

Kisaran file-file ini tergantung pada jadwal rotasi log Anda, tetapi harus rentang beberapa minggu. Sebagian besar distribusi akan diputar /var/log/wtmpsetiap bulan, sehingga Anda dapat membaca catatan sebelumnya, biasanya terdaftar /var/log/wtmp.1dengan menetapkan file dengan -fparameter ...last -f /var/log/wtmp.1

putih
sumber
17
+1 untuklastb
lashgar
3
Ini harus menjadi jawaban yang dipilih
coder
@acoder, selesai: ibu jari:
lashgar
14

Pertanyaannya ada di sini offtopic, tetapi jawaban yang sangat singkat: mungkin Anda harus memeriksa / var / log / secure (misalnya grep untuk "gagal").

flolo
sumber
Ini sebenarnya jawaban untuk pertanyaan pertama saya. Saya akan bertanya yang kedua di ServerFault. Terima kasih.
lashgar
1

Ini adalah utas lama tapi saya mendapat tugas serupa seperti ini, jadi dalam kasus saya ini adalah entri log

Nov 15 17:14:47 megatron sshd[4768]: Failed password for git from 192.168.122.1 port 49227 ssh2

Jadi kita bisa melakukannya seperti ini, jika kita yakin pengguna itu statis

#!/bin/bash
LOG=/var/log/secure
MESSAGE="Failed password for git"
grep -i "$MESSAGE" "$LOG

Jika kita tahu berdasarkan per pengguna

#!/bin/bash
LOG=/var/log/secure
if [ -n "$1" ]
then
NEWUSER="$1"
else
NEWUSER="root"
fi
MESSAGE="Failed password for $NEWUSER"
grep -i "$MESSAGE" "$LOG"

Jadi skrip harus dieksekusi seperti

[root@megatron bash1]# ./failedlogin.sh git

ATAU pendekatan yang lebih mudah

#!/bin/bash
LOG=/var/log/secure
MESSAGE="Failed password for"
grep -i "$MESSAGE" "$LOG"
Prashant Lakhera
sumber