เปลี่ยนตำแหน่งไฟล์บันทึก sshd บน CentOS หรือไม่


14

ฉันจะเปลี่ยนตำแหน่งsshdไฟล์บันทึกบน CentOS ได้อย่างไร sshdบันทึกการแทน/var/log/messages /var/log/secureฉันจะเปลี่ยนการตั้งค่าเพื่อsshdหยุดส่งบันทึกได้/var/log/messagesอย่างไร


1
คุณเขียนต่อไป/var/log/messageว่ามันคือสถานที่จริงเหรอ? /var/log/messagesมันเป็นเรื่องทั่วไป
slm

1
@slm นี่มัน/var/log/messagesอาจ OP มีทั้ง ;-)
Anthon

ในระบบอูบุนตูบันทึก ssh อยู่ใน/var/log/auth.log
Eric Wang

คำตอบ:


18

โปรดโพสต์sshd_configสิ่งที่คุณต้องการ ระบบ CentOS /var/log/secureหุ้นเสมอที่จะบันทึก

ตัวอย่าง

$ sudo tail -f /var/log/secure
Feb 18 23:23:34 greeneggs sshd[3545]: pam_succeed_if(sshd:auth): requirement "uid >= 1000" not met by user "root"
Feb 18 23:23:36 greeneggs sshd[3545]: Failed password for root from ::1 port 46401 ssh2
Feb 18 23:23:42 greeneggs unix_chkpwd[3555]: password check failed for user (root)
Feb 18 23:23:42 greeneggs sshd[3545]: pam_succeed_if(sshd:auth): requirement "uid >= 1000" not met by user "root"
Feb 18 23:23:43 greeneggs sshd[3545]: Failed password for root from ::1 port 46401 ssh2
Feb 18 23:23:48 greeneggs sshd[3545]: Accepted password for root from ::1 port 46401 ssh2
Feb 18 23:23:48 greeneggs sshd[3545]: pam_unix(sshd:session): session opened for user root by (uid=0)
Feb 18 23:24:05 greeneggs sshd[3545]: Received disconnect from ::1: 11: disconnected by user
Feb 18 23:24:05 greeneggs sshd[3545]: pam_unix(sshd:session): session closed for user root
Feb 18 23:27:15 greeneggs sudo:     saml : TTY=pts/3 ; PWD=/home/saml ; USER=root ; COMMAND=/bin/tail /var/log/secure

สิ่งนี้ถูกควบคุมผ่าน/etc/ssh/sshd_config:

# Logging
# obsoletes QuietMode and FascistLogging
#SyslogFacility AUTH
SyslogFacility AUTHPRIV
#LogLevel INFO

เช่นเดียวกับเนื้อหาของ/etc/rsyslog.conf:

# Log anything (except mail) of level info or higher.
# Don't log private authentication messages!
*.info;mail.none;authpriv.none;cron.none                /var/log/messages

# The authpriv file has restricted access.
authpriv.*                                              /var/log/secure

ปัญหาของคุณ

ในหนึ่งในความคิดเห็นของคุณคุณพูดถึงว่าrsyslogdไฟล์/etc/rsyslog.configกำหนดค่าของคุณ นั่นไม่ใช่ชื่อที่ถูกต้องสำหรับไฟล์นี้และเป็นไปได้ว่าเหตุผลที่ทำให้การบันทึกของคุณมีปัญหา เปลี่ยนชื่อของไฟล์นี้เป็น/etc/rsyslog.confแล้วเริ่มบริการการบันทึก

$ sudo service rsyslog restart

ขอบคุณฉันสงสัยว่าถ้า "SyslogFacility AUTHPRIV" แสดงความคิดเห็น sshd รู้ได้อย่างไรว่าค่าเริ่มต้นคืออะไร? ค่าเริ่มต้นถูกเก็บไว้ในบางแห่งที่คุณสามารถแก้ไขได้หรือไม่?
Jidrick

ค่าเริ่มต้นจะอยู่ในซอร์สโค้ดที่ใช้ในการรวบรวมsshdไฟล์ปฏิบัติการ หากคุณต้องการแทนที่ค่าเริ่มต้นคุณสามารถsshdกำหนดตัวเลือกบรรทัดคำสั่งหรือแก้ไขไฟล์กำหนดค่า
Mark Plotnick

@MarkPlotnick - ใช่ตามปกติแล้วจะทำในไฟล์การกำหนดค่า (ตามที่เห็นด้านบน) ค่าเริ่มต้นจะแสดงในไฟล์กำหนดค่า แต่จะถูกคอมไพล์แล้ว ดังนั้นsshคอมไพล์จึงLogLevelถูกตั้งค่าเป็นค่าINFOเริ่มต้น หากต้องการลบล้างคุณต้องยกเลิกการใส่เครื่องหมายบรรทัดนั้นแล้วเปลี่ยนค่าของมัน
slm

3

เริ่มต้นsshdสิ่งอำนวยความสะดวก syslog เป็นAUTHดังนั้นมันจะถูกบันทึกไว้ใน syslog /var/log/messagesเพื่อ

ในการสร้างsshdบันทึกไปยังไฟล์ใหม่คุณสามารถเปลี่ยนสิ่งอำนวยความสะดวก syslog เป็นอย่างอื่นจากนั้นกำหนดค่า syslog เพื่อบันทึกสิ่งอำนวยความสะดวกใหม่นี้เป็นไฟล์ใหม่เช่น:

ใน sshd_config เพิ่มบรรทัดนี้:

SyslogFacility AUTHPRIV

จากนั้นใน syslog.conf:

authpriv.* /var/log/secure

@Jidrick - มีบางอย่างผิดปกติกับกล่องของคุณ ดูเหมือนจะเป็นสิ่งที่ขาดหายไป
slm

@Jidrick: คุณสามารถตรวจสอบอื่น ๆ เช่น rsyslog?
cuonglm

@Gnouc - SyslogFacility AUTHPRIVเป็นค่าเริ่มต้นสำหรับ RH distros แล้ว พวกเขาแทนที่มันเป็นส่วนหนึ่งของบรรจุภัณฑ์
slm

@Gnouc ใช่ แต่การเปลี่ยนแปลงนี้ดูเหมือนจะไม่ทำงาน
Jidrick

@Jidrick - เปลี่ยนชื่อของไฟล์ที่จะ/etc/rsyslog.config /etc/rsyslog.conf
slm
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.