ค้นหาการเข้าสู่ระบบที่ประสบความสำเร็จล่าสุดและความพยายามที่ล้มเหลวไปยังเซิร์ฟเวอร์ CentOS


29

ฉันกำลังมองหาไฟล์บันทึกหรือบริการใด ๆ เพื่อรายงานความพยายามในการเข้าสู่ระบบล่าสุดที่ล้มเหลวเนื่องจากชื่อผู้ใช้ / รหัสผ่านไม่ตรงกัน CentOS นั้นมีสาธารณูปโภคใดบ้างหรือไม่? (แนะนำให้ใช้ในตัว)

คำถามที่สองของฉันและโดยทั่วไปฉันต้องการไฟล์บันทึกการพยายามเจาะระบบไปยังเซิร์ฟเวอร์ของฉัน ตามหลักการแล้วบันทึกนี้ควรมีความพยายามทั้งหมดรวมถึงการเข้าสู่ระบบกิจกรรม httpd และพอร์ตเปิดทั่วไปอื่น ๆ


2
ตอบคำถามที่สอง: มาดูที่OSSEC
ควอนตั้ม

1
เธรดนี้ถูกย้ายจาก Stackoverflow หลังจากฉันถามคำถามใน Serverfault นี่คือหัวข้อที่พูดถึงคำถามที่สอง
lashgar

คำตอบ:


61

ใน Linux lastคำสั่งแสดงความพยายามในการล็อกอินที่สำเร็จและแสดงข้อมูลเซสชัน (pts, ที่มา, วันที่และความยาว)

lastbคำสั่งบันทึกทุกความพยายามในการเข้าสู่ระบบไม่ดี ทั้งสองแบ่งปันmanหน้าเดียวกันแต่ความแตกต่างคือการlastอ่าน/var/log/wtmpไฟล์ไบนารีและlastbอ่าน/var/log/btmpไฟล์โดยค่าเริ่มต้น

ช่วงของไฟล์เหล่านี้ขึ้นอยู่กับกำหนดการหมุนเวียนการบันทึกของคุณ แต่ควรใช้เวลาสองสามสัปดาห์ การแจกแจงส่วนใหญ่จะหมุนเวียน/var/log/wtmpทุกเดือนดังนั้นคุณสามารถอ่านบันทึกก่อนหน้าโดยปกติจะแสดงรายการเป็น/var/log/wtmp.1โดยการระบุไฟล์ที่มี-fพารามิเตอร์ ...last -f /var/log/wtmp.1


17
+1 สำหรับlastb
lashgar

3
นี่ควรเป็นคำตอบที่เลือก
coder

@acoder เสร็จแล้ว: thumb:
lashgar

14

คำถามอยู่ตรงนี้ แต่คำตอบสั้น ๆ : บางทีคุณควรตรวจสอบ / var / log / secure (เช่น grep สำหรับ "ล้มเหลว")


จริงๆแล้วมันเป็นคำตอบสำหรับคำถามแรกของฉัน ฉันจะถามที่สองใน ServerFault ขอบคุณ
lashgar

1

นี่คือเธรดเก่า แต่ฉันมีงานที่คล้ายกันเช่นนี้ดังนั้นในกรณีของฉันนี่คือรายการบันทึก

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

ดังนั้นเราสามารถทำสิ่งนี้ได้ถ้าเรามั่นใจว่าผู้ใช้คงที่

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

ในกรณีที่เราทราบตามจำนวนผู้ใช้

#!/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"

ดังนั้นสคริปต์ควรดำเนินการเช่น

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

หรือวิธีที่ง่ายกว่า

#!/bin/bash
LOG=/var/log/secure
MESSAGE="Failed password for"
grep -i "$MESSAGE" "$LOG"
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.