ข้อผิดพลาด“ X ไม่ได้อยู่ในไฟล์ sudoers เหตุการณ์นี้จะถูกรายงาน” หมายถึงปรัชญา / เหตุผล?


31

ที่ด้านข้างคำถาม " ชื่อผู้ใช้ไม่ได้อยู่ในไฟล์ sudoers เหตุการณ์นี้จะถูกรายงาน " ซึ่งอธิบายลักษณะเชิงโปรแกรมของข้อผิดพลาดและแนะนำวิธีแก้ไขปัญหาบางอย่างฉันต้องการทราบ: ข้อผิดพลาดนี้หมายถึงอะไร

X is not in the sudoers file.  This incident will be reported.

ส่วนแรกของข้อผิดพลาดจะอธิบายอย่างชัดเจนถึงข้อผิดพลาด แต่ส่วนที่สองบอกว่า "ข้อผิดพลาดนี้จะถูกรายงาน"! แต่ทำไม ทำไมข้อผิดพลาดจะถูกรายงานและที่ไหน ถึงผู้ซึ่ง? ฉันเป็นทั้งผู้ใช้และผู้ดูแลระบบและไม่ได้รับรายงานใด ๆ :)!


12
ปรัชญา?!? หรือในทางเทคนิค?
Jeff Schaller


9
ระบบ (ดี) บันทึกสิ่งต่างๆมากมายเงียบ ๆ สิ่งต่าง ๆ มากมายและมากมาย โดยเฉพาะข้อผิดพลาด โดยเฉพาะอย่างยิ่งหากพิจารณาว่าเป็นเจตนาที่ไม่ดี ฉันคิดว่าการถามเกี่ยวกับ "เชิงปรัชญา" OP จะถามว่าทำไมข้อผิดพลาดเฉพาะที่เป็นรูปธรรมนี้จึงเตือนคุณในลักษณะที่ข่มขู่เกี่ยวกับการรายงานในขณะที่ความล้มเหลวอื่น ๆ ส่วนใหญ่ถูกรายงานอย่างเงียบ ๆ มันอาจเป็นสิ่งที่ coder ดั้งเดิมเขียนขึ้นในขณะนี้ แต่หลังจากหลายเวอร์ชันมันไม่เคยเปลี่ยนและอาจมีความหมายที่ลึกกว่า หรืออาจจะไม่ หากนี่คือจุดสนใจฉันคิดว่านี่เป็นคำถามที่ยอดเยี่ยมที่ฉันสงสัยมาหลายครั้งแล้ว
xDaizu

4
สิ่งนี้น่าจะย้อนกลับไปเมื่อคุณมีทั้งอาคารโดยใช้คอมพิวเตอร์ 1 เครื่องและผู้ดูแลระบบ / ผู้ดูแลระบบดูแลคอมพิวเตอร์เป็นงานเต็มเวลา
253751

1
หลายปีที่ผ่านมาเมื่อฉันอยู่ในมหาวิทยาลัยและก่อนหน้าsudoนี้เป็นสิ่งที่ฉันพยายามทำบางสิ่งบางอย่างในกล่องลินุกซ์ส่วนตัวของฉัน suดังนั้นฉันวิ่ง เมื่อมันปฏิเสธรหัสผ่านของฉันฉันพยายามอีกครั้งหลายครั้งโดยคิดว่าฉันพิมพ์รหัสผ่านผิดพลาด ในที่สุดฉันก็รู้ว่าเทอร์มินัลนั้นถูกบันทึกลงในเซิร์ฟเวอร์อีเมลของโรงเรียน ไม่นานหลังจากนั้นเซิร์ฟเวอร์อีเมลดูแลระบบถามฉันว่าทำไมฉันถึงพยายามรูทบนระบบของเขา ดังนั้นจึงมีการจัดเรียงของการรายงานที่ชัดเจนแม้ว่าจะเป็นในsudoวันก่อน
Scott Severance

คำตอบ:


38

ผู้ดูแลระบบ (s) ของระบบมีแนวโน้มที่จะต้องการที่จะรู้ว่าเมื่อไม่ด้อย sudoแต่พยายามใช้ล้มเหลวในการรันคำสั่งโดยใช้ หากสิ่งนี้เกิดขึ้นอาจเป็นสัญญาณของ

  1. ผู้ใช้ที่ถูกกฎหมายที่อยากรู้อยากเห็นลองทำสิ่งต่าง ๆ หรือ
  2. แฮกเกอร์พยายามทำ "สิ่งเลวร้าย"

เนื่องจากsudoตัวมันเองไม่สามารถแยกแยะระหว่างสิ่งเหล่านี้ได้ความพยายามที่ล้มเหลวในการใช้sudoจะถูกนำไปสู่ความสนใจของผู้ดูแลระบบ

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

/var/log/auth.logในการติดตั้งอย่างเป็นธรรมวานิลลาอูบุนตูที่ฉันมีนี้ถูกบันทึกไว้ใน

หากผู้ใช้ให้รหัสผ่านผิดสามครั้งหรือหากพวกเขาไม่ได้อยู่ในsudoersไฟล์อีเมลจะถูกส่งไปยังรูท (ขึ้นอยู่กับการกำหนดค่าของsudoดูด้านล่าง) นี่คือสิ่งที่ตั้งใจทำโดย "เหตุการณ์นี้จะถูกรายงาน"

อีเมลจะมีหัวเรื่องที่โดดเด่น:

Subject: *** SECURITY information for thehostname ***

เนื้อความของข้อความประกอบด้วยบรรทัดที่เกี่ยวข้องจากล็อกไฟล์ตัวอย่างเช่น

thehostname : Jun 22 07:07:44 : nobody : user NOT in sudoers ; TTY=console ; PWD=/some/path ; USER=root ; COMMAND=/bin/ls

(ที่นี่ผู้ใช้nobodyพยายามเรียกใช้lsผ่านsudoรูท แต่ล้มเหลวเนื่องจากไม่ได้อยู่ในsudoersไฟล์)

ไม่มีการส่งอีเมลหากยังไม่ได้ตั้งค่าจดหมาย (ภายในเครื่อง) ในระบบ

ทุกสิ่งเหล่านี้สามารถกำหนดค่าได้เช่นกันและความแปรปรวนของท้องถิ่นในการกำหนดค่าเริ่มต้นอาจแตกต่างกันระหว่างชุด Unix

ดูที่การmail_no_userตั้งค่า (และmail_*การตั้งค่าที่เกี่ยวข้อง) ในsudoersคู่มือ (ความสำคัญของฉันด้านล่าง):

mail_no_user

หากตั้งค่าเมลจะถูกส่งไปยังผู้ใช้ mailtoหากผู้ใช้ที่เรียกใช้ไม่ได้อยู่ในsudoersไฟล์ ธงนี้เป็นตามค่าเริ่มต้น


หรือบ่อยครั้งที่ ime 3) บางคนพิมพ์ผิด du ที่นายจ้างคนหนึ่งเมื่อฉันทำสิ่งนี้ฉันมักจะได้รับอีเมลที่ส่งกลับมาหาฉันเป็นประจำพร้อมด้วยรายชื่อผู้รับ sig ระบุที่ตั้งสำนักงานและเนื้อหาอีเมลคำเตือนเนื่องจากการตีกลับนอกสำนักงาน ฉันเคยไปที่สำนักงานของพวกเขาเพื่อขอโทษและกลัวพวกเขาทั้งหมดฉันคิดว่า อาจเป็นได้ว่าถึงแม้ว่าจะเป็นเพื่อนที่มีชื่อเสียงที่มีส่วนร่วมในกิจกรรมทางโลกในบางครั้งฉันก็ไปรอบ ๆ ด้วยเสื้อคลุมสีดำและคู่ของ DM เหมือน chaps ในภาพถ่ายสต็อกเนื่องจาก @Kusalananda จะสามารถยืนยันได้
Dannie

15

ใน Debian และตราสารอนุพันธ์sudoรายงานเหตุการณ์จะถูกบันทึกไว้/var/log/auth.logซึ่งมีข้อมูลการอนุญาตระบบรวมถึงการเข้าสู่ระบบของผู้ใช้และกลไกการตรวจสอบความถูกต้องที่ใช้:

$ sudo su
[sudo] password for regularjohn: 
regularjohn is not in the sudoers file.  This incident will be reported.

[as root]

$ tail -n 1 /var/log/auth.log
Jun 21 16:30:26 marvin sudo: regularjohn : user NOT in sudoers ; TTY=pts/19 ; PWD=/home/regularjohn ; USER=root ; COMMAND=/bin/su

โดยทั่วไปไฟล์บันทึกนี้สามารถเข้าถึงได้โดยผู้ใช้ในadmกลุ่มเท่านั้นเช่นผู้ใช้ที่มีการเข้าถึงงานการตรวจสอบระบบ :

$ ls -la /var/log/auth.log
-rw-r----- 1 syslog adm 76189 Jun 21 16:30 /var/log/auth.log

จากDebian Wiki :

Group adm ใช้สำหรับงานการตรวจสอบระบบ สมาชิกของกลุ่มนี้สามารถอ่านล็อกไฟล์จำนวนมากใน / var / log และสามารถใช้ xconsole ประวัติศาสตร์ / var / log เป็น / usr / adm (และต่อมา / var / adm) ดังนั้นชื่อของกลุ่ม

ผู้ใช้ในadmกลุ่มนี้มักจะเป็นผู้ดูแลsuและได้รับอนุญาตกลุ่มนี้มีจุดมุ่งหมายเพื่อช่วยให้พวกเขาในการอ่านไฟล์บันทึกได้โดยไม่ต้อง

โดยค่าเริ่มต้นsudoใช้ Syslogauthสิ่งอำนวยความสะดวกสำหรับการเข้าสู่ระบบ sudoพฤติกรรมการบันทึกของสามารถแก้ไขได้โดยใช้logfileหรือsyslogตัวเลือกใน/etc/sudoersหรือ/etc/sudoers.d:

  • logfileตัวเลือกกำหนดเส้นทางไปยังsudoล็อกไฟล์
  • syslogตัวเลือกที่กำหนดสิ่งอำนวยความสะดวก Syslog เมื่อsyslog(3)ถูกนำมาใช้สำหรับการบันทึก

Syslog authสถานที่เปลี่ยนเส้นทางไปยัง/var/log/auth.logในetc/syslog.confการปรากฏตัวของบทกำหนดค่าดังต่อไปนี้:

auth,authpriv.*         /var/log/auth.log

7

ในทางเทคนิคแล้วมันไม่ได้มีความหมายอะไรมาก การเข้าสู่ระบบซอฟแวร์อื่น ๆ จำนวนมากเข้าสู่ระบบล้มเหลวหรืออื่น ๆ ตัวอย่างsshdและsu:

Jun 21 17:52:22 somehost sshd[25807]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=::1  user=root
Jun 21 17:52:22 somehost sshd[25807]: Failed password for root from ::1 port 37268 ssh2
Jun 21 17:52:23 somehost sshd[25807]: Connection closed by ::1 port 37268 [preauth]
Jun 21 17:52:28 somehost su[25809]: pam_unix(su:auth): authentication failure; logname= uid=1000 euid=0 tty=/dev/pts/15 ruser=someuser rhost=  user=root
Jun 21 17:52:28 somehost su[25809]: pam_authenticate: Authentication failure
Jun 21 17:52:28 somehost su[25809]: FAILED su for root by someuser

นอกจากนี้หลาย ๆ ระบบมีระบบอัตโนมัติบางอย่างสำหรับตรวจสอบข้อผิดพลาดการพิสูจน์ตัวตนที่มากเกินไปเพื่อให้สามารถจัดการกับความพยายามในการใช้กำลังดุร้ายหรือใช้ข้อมูลเพื่อสร้างเหตุการณ์ขึ้นมาใหม่หลังจากที่เกิดปัญหาขึ้น

sudoไม่ทำอะไรเป็นพิเศษที่นี่ ข้อความทั้งหมดหมายความว่าผู้เขียนsudoดูเหมือนจะมีปรัชญาค่อนข้างก้าวร้าวในการสื่อสารกับผู้ใช้ที่เกิดขึ้นเพื่อเรียกใช้คำสั่งที่พวกเขาไม่สามารถใช้


6

หมายความว่ามีคนพยายามใช้sudoคำสั่ง (เพื่อเข้าถึงสิทธิ์ผู้ดูแลระบบ) ซึ่งไม่มีสิทธิ์ในการใช้ (เพราะพวกเขาไม่อยู่ในรายการในไฟล์ sudoers) นี่อาจเป็นความพยายามในการแฮ็กหรือความเสี่ยงด้านความปลอดภัยอื่น ๆ ดังนั้นข้อความที่บอกว่าการใช้ความพยายามsudoจะถูกรายงานไปยังผู้ดูแลระบบเพื่อให้พวกเขาสามารถตรวจสอบได้


1
ในเครื่องของฉันฉันเป็นผู้ใช้และผู้ดูแลระบบคนเดียวและฉันสามารถบอกคุณได้ว่าฉันไม่ได้รับรายงานใด ๆ !
Kasramvd

4
@ Kasramvd คุณอาจทำในไฟล์บางแห่ง ฉันไม่แน่ใจว่าsudoจะส่งรายงานที่ไหน ในสถานการณ์ของคุณมีผู้ใช้เพียงคนเดียวอาจไม่สำคัญมาก
Time4Tea

2
@Kasramvd คุณตรวจสอบอีเมลถึงผู้ใช้รูทหรือยัง? นอกจากนี้คุณเป็นผู้ดูแล แต่คุณไม่มี sudo สำหรับบัญชีของคุณ? คุณจัดการกับการยกระดับสิทธิ์อย่างไร
doneal24

@Kasramvd ไม่มีการรายงานให้คุณ ....
Thorbjørn Ravn Andersen

1
@Kasramvd คุณคิดว่าคุณเป็นผู้ดูแลระบบ ระบบปฏิบัติการกำลังบอกคุณอย่างชัดเจนว่าคุณไม่ได้รับอนุญาตให้ทำหน้าที่เป็นผู้ดูแลระบบ - คุณเป็นเจ้าของฮาร์ดแวร์ที่ดีที่สุด แต่นั่นก็ไม่ได้ทำให้คุณเป็นผู้ดูแลระบบ
slebetman
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.