การเปิดใช้งานฟีดกิจกรรมไฟล์ของ ownCloud เพียงอย่างเดียวไม่ได้สร้างบันทึกการตรวจสอบของผู้ดูแลระบบ สำหรับ ownCloud Server Enterprise ส่วนประกอบที่เกี่ยวข้องคือ แอป Auditing สำหรับ Enterprise เท่านั้น แอปนี้จะบันทึกการกระทำของผู้ใช้และผู้ดูแลระบบในวงกว้างขึ้นในระบบบันทึกของเซิร์ฟเวอร์ ซึ่งคุณสามารถกำหนดเส้นทางการบันทึกเหล่านั้นไปยังไฟล์เฉพาะ และหากจำเป็น ก็ไปยังแพลตฟอร์มวิเคราะห์บันทึกได้
คู่มือนี้อ้างอิงถึงการติดตั้ง ownCloud Server รุ่นคลาสสิกตามเอกสารสำหรับเวอร์ชัน 11.0 ป้ายกำกับเมนูและวิธีการกำหนดค่าอาจแตกต่างกันไปตามรุ่นและแพ็กเกจ ownCloud Infinite Scale (oCIS) ใช้บริการตรวจสอบแยกต่างหาก ดังนั้นอย่าใช้คำแนะนำเหล่านี้กับระบบ oCIS
ระบบตรวจสอบของ ownCloud บันทึกอะไรบ้าง?
แอปตรวจสอบ (Auditing app) สามารถบันทึกเหตุการณ์ต่างๆ เช่น การเข้าสู่ระบบและออกจากระบบของผู้ใช้ การสร้าง ลบ และย้ายไฟล์ การดำเนินการถังขยะและเวอร์ชัน การแชร์และการเปลี่ยนแปลงสิทธิ์ การจัดการกลุ่มและผู้ใช้ ความคิดเห็น แท็ก การเปลี่ยนแปลงการตั้งค่าผู้ใช้ การเปิดใช้งานหรือปิดใช้งานแอป การปลอมแปลงตัวตน และการเรียกใช้คำสั่ง OCC รายการที่บันทึกจะมีฟิลด์ทั่วไป เช่น เวลา ผู้ใช้ รายละเอียดคำขอ ที่อยู่ระยะไกล แอป ข้อความ และชื่อการดำเนินการที่ไม่ซ้ำกัน ฟิลด์เหตุการณ์ที่แน่นอนจะแตกต่างกันไปตามการดำเนินการ
การตรวจสอบ (Auditing) แตกต่างจากแอปกิจกรรม (Activity) แอปกิจกรรมแสดงเหตุการณ์เกี่ยวกับไฟล์และโฟลเดอร์ให้ผู้ใช้เห็น ในขณะที่การตรวจสอบมีไว้สำหรับการตรวจสอบโดยผู้ดูแลระบบ กระบวนการทำงานด้านการปฏิบัติตามข้อกำหนด และการวิเคราะห์เหตุการณ์ที่เกี่ยวข้องกับความปลอดภัย เปิดใช้งานแอปการตรวจสอบระดับองค์กร (Enterprise Auditing) เมื่อคุณต้องการบันทึกข้อมูลฝั่งเซิร์ฟเวอร์ และใช้แอปกิจกรรมเมื่อผู้ใช้ต้องการรับข้อมูลการเปลี่ยนแปลงเนื้อหาอย่างสะดวก
ก่อนที่คุณจะเปิดใช้งานการตรวจสอบ
- ยืนยันว่าการติดตั้งใช้งานคือ ownCloud Server Enterprise และแอป Auditing พร้อมใช้งานสำหรับอินสแตนซ์นั้นแล้ว
- ใช้บัญชีผู้ดูแลระบบ ownCloud เพื่อเปิดใช้งานแอป ผู้ดูแลระบบอาจต้องเข้าถึงเชลล์หรือคอนเทนเนอร์เพื่อตั้งค่าการบันทึกข้อมูลด้วย
- เลือกที่เก็บข้อมูลบันทึกเฉพาะที่มีพื้นที่ดิสก์เพียงพอ ตรวจสอบให้แน่ใจว่าเว็บเซิร์ฟเวอร์หรือคอนเทนเนอร์สามารถเขียนข้อมูลลงในที่เก็บข้อมูลนั้นได้ และกำหนดว่าใครได้รับอนุญาตให้อ่านข้อมูลนั้นได้
- กำหนดนโยบายการเก็บรักษาและการหมุนเวียนข้อมูลก่อนเปิดใช้งานสตรีมการตรวจสอบปริมาณมาก บันทึกการตรวจสอบอาจรวมถึงรหัสผู้ใช้ ที่อยู่ IP เส้นทางไฟล์ รายละเอียดลูกค้า และข้อมูลเมตาการแชร์
ขั้นตอนที่ 1: เปิดใช้งานแอปตรวจสอบ (Auditing app)
ลงชื่อเข้าใช้ในฐานะผู้ดูแลระบบ ownCloud และเปิดพื้นที่แอปในอินเทอร์เฟซการดูแลระบบ ค้นหาการตรวจสอบ (Auditing)และเปิดใช้งาน หากไม่พบแอป ให้ตรวจสอบสิทธิ์การใช้งานระดับองค์กร (Enterprise entitlement) เวอร์ชันเซิร์ฟเวอร์ของคุณ และ ownCloud Marketplace หรือช่องทางการสนับสนุนของผู้จำหน่ายสำหรับแพ็กเกจแอปที่เข้ากันได้ อย่าคิดว่าแอปกิจกรรมมาตรฐานสามารถใช้ทดแทนได้
ตัวอย่างมุมมองแอปพลิเคชัน: แถวการตรวจสอบ (Auditing) ถูกเปิดใช้งาน ซึ่งเป็นขั้นตอนแรกในการเปิดใช้งานแอปตรวจสอบระดับองค์กร (Enterprise audit app)
ขั้นตอนที่ 2: ส่งข้อความตรวจสอบไปยังไฟล์เฉพาะ
ownCloud แนะนำให้แยกข้อความตรวจสอบออกจากบันทึกเซิร์ฟเวอร์ทั่วไป การใช้ไฟล์เฉพาะจะช่วยให้ตั้งค่าสิทธิ์ การเก็บรักษา และกฎการรวบรวมข้อมูลตรวจสอบได้ง่ายขึ้น เอกสารประกอบเวอร์ชัน Server 11.0 ปัจจุบันมีตัวอย่างตัวแปรสภาพแวดล้อมของคอนเทนเนอร์ ปรับปลายทางให้เป็นพาธที่มีอยู่ในระบบของคุณและสามารถเขียนได้โดยบริการ ownCloud:
OWNCLOUD_LOG_CONDITIONS=[{"apps":["admin_audit"],"loglevel":0,"logfile":"/mnt/data/files/admin_audit.log"}]
เงื่อนไขนี้จะส่งข้อความจากadmin_auditแอปไปยังไฟล์ที่ระบุ ในตัวอย่างที่แสดง การส่งข้อความตรวจสอบไปยังไฟล์แยกต่างหากจะข้ามตัวกรองระดับการบันทึกโดยรวมและบันทึกข้อความโดยไม่คำนึงถึงระดับของข้อความนั้น เส้นทางที่แสดงนั้นเชื่อมโยงกับวอลุ่มข้อมูลที่ติดตั้งบน Docker ซึ่งเป็นเพียงตัวอย่าง ไม่ใช่เส้นทางสากล บันทึกการเปลี่ยนแปลงสภาพแวดล้อมโดยใช้วิธีการกำหนดค่าสำหรับการปรับใช้ของคุณ และรีสตาร์ทหรือสร้างบริการใหม่เฉพาะเมื่อจำเป็นโดยกระบวนการจัดการคอนเทนเนอร์ของคุณเท่านั้น
สำหรับการติดตั้งที่กำหนดค่าผ่านconfig.phpownCloud เอกสารอ้างอิงการกำหนดค่าแอปของ ownCloud ยังได้บันทึกlog.conditionsคีย์นี้ไว้ด้วย ปรับเส้นทางให้ตรงกับไดเร็กทอรีข้อมูลจริงของโฮสต์ของคุณ และรักษาข้อมูลการกำหนดค่าที่มีอยู่แทนที่จะแทนที่อาร์เรย์ทั้งหมด:
'log.conditions' => [
[
'apps' => ['admin_audit'],
'logfile' => '/var/www/owncloud/data/admin_audit.log'
],
],
หากคุณเก็บข้อมูลการตรวจสอบไว้ในไฟล์บันทึกปกติของ ownCloud แทนที่จะแยกเก็บไว้ต่างหาก คู่มือการตรวจสอบของ ownCloud ระบุว่าระดับการบันทึกของเซิร์ฟเวอร์ต้องตั้งค่าเป็น1(INFO) หรือ0(DEBUG) มิฉะนั้นข้อความตรวจสอบอาจไม่ถูกบันทึก การตั้งค่าเป็นไฟล์แยกต่างหากจะช่วยหลีกเลี่ยงการพึ่งพาระดับการบันทึกส่วนกลาง แต่ไม่ได้หมายความว่าจะไม่ต้องตรวจสอบพื้นที่ดิสก์ที่ว่างอยู่
ภาพแสดงตัวอย่างการกำหนดค่า OWNCLOUD_LOG_CONDITIONS ตามเอกสารประกอบ โปรดใช้เส้นทางที่ถูกต้องและสามารถเขียนได้ในระบบของคุณ
ขั้นตอนที่ 3: ตรวจสอบว่าเหตุการณ์จริงถูกส่งไปยังไฟล์แล้ว
หลังจากเปิดใช้งานแอปและตั้งค่าการบันทึกแล้ว ให้สร้างเหตุการณ์ควบคุมหนึ่งเหตุการณ์ที่นโยบายของคุณอนุญาต เช่น สร้างหรือลบไฟล์ทดสอบชั่วคราวในบัญชีทดสอบที่กำหนด จากนั้นตรวจสอบบันทึกการตรวจสอบที่กำหนดค่าไว้บนเซิร์ฟเวอร์ รายการทั่วไปจะเป็นข้อมูลที่มีโครงสร้างมากกว่าลำดับเหตุการณ์ที่เน้นมนุษย์เป็นหลัก มองหาเวลาของเหตุการณ์ ผู้กระทำ แอปพลิเคชัน การกระทำ และรายละเอียดที่เกี่ยวข้อง การดำเนินการกับไฟล์อาจรวมถึงเส้นทาง เจ้าของ หรือตัวระบุไฟล์ด้วย ประเภทเหตุการณ์อื่นๆ จะมีฟิลด์ของตนเอง
ตรวจสอบว่ามีการสร้างแอ็กชันใหม่ปรากฏขึ้นหลังจากการเปลี่ยนแปลงการกำหนดค่า ตรวจสอบว่าเวลาประทับของแอ็กชันนั้นเหมาะสมกับเขตเวลาของเซิร์ฟเวอร์ และตรวจสอบว่าแอ็กชันและผู้ใช้ตรงกับการทดสอบ หลีกเลี่ยงการใช้ไฟล์การผลิตที่มีความละเอียดอ่อนในการทดสอบการบันทึกการลบ หากไม่มีอะไรปรากฏขึ้น ให้ตรวจสอบว่าแอปตรวจสอบ (Auditing app) เปิดใช้งานอยู่ ปลายทางของบันทึกถูกต้องและสามารถเขียนได้ ตัวแปรสภาพแวดล้อมหรือการกำหนดค่า PHP ถูกโหลดจริง ระดับการบันทึกของเซิร์ฟเวอร์เหมาะสมเมื่อใช้บันทึกเริ่มต้น และประเภทของแอ็กชันอยู่ในกลุ่มที่บันทึกโดยเวอร์ชันแอปตรวจสอบที่ติดตั้งไว้
ตัวอย่างโครงสร้างบันทึกการตรวจสอบ ownCloud ระบุฟิลด์ทั่วไป ได้แก่ เวลา ผู้ใช้ แอป ที่อยู่ระยะไกล และตัวระบุการกระทำ ส่วนฟิลด์เฉพาะเหตุการณ์จะแตกต่างกันไป
ขั้นตอนที่ 4: ปกป้อง เก็บรักษา และตรวจสอบไฟล์การตรวจสอบ
การบันทึกการตรวจสอบจะมีประโยชน์ก็ต่อเมื่อบันทึกเหล่านั้นยังคงอยู่และมีการควบคุมการเข้าถึง จำกัดสิทธิ์การเข้าถึงไฟล์และไดเร็กทอรีให้กับบัญชีระบบปฏิบัติการและบทบาทการตรวจสอบที่จำเป็นต้องเข้าถึง วางแผนการหมุนเวียนหรือการรวบรวมบันทึกเพื่อให้ระบบที่มีการใช้งานหนักไม่สามารถทำให้พื้นที่จัดเก็บข้อมูลเต็มได้ กำหนดระยะเวลาการเก็บรักษาบันทึกตามนโยบายภายในและข้อผูกพันทางกฎหมายของคุณ ownCloud ไม่ได้กำหนดระยะเวลาการเก็บรักษาที่เป็นมาตรฐานสำหรับทุกองค์กร
เพื่อให้การแบ่งแยกหน้าที่ชัดเจนยิ่งขึ้น ควรเก็บไฟล์ตรวจสอบไว้นอกพื้นที่ไฟล์ที่เข้าถึงได้ทั่วไปผ่านเว็บ หากทำได้ และกำหนดว่าผู้ดูแลระบบและผู้ตรวจสอบคนใดบ้างที่สามารถอ่านหรือจัดการไฟล์นั้นได้ เอกสาร ownCloud ระบุบทบาทของผู้ตรวจสอบและอธิบายวิธีการแยกบันทึกการตรวจสอบออกจากบันทึก ownCloud ทั่วไป รวมถึงการกำหนดค่าที่ผู้ดูแลระบบไม่สามารถเข้าถึงไฟล์ตรวจสอบได้ ผลลัพธ์นั้นขึ้นอยู่กับการกำหนดค่าสิทธิ์และการปรับใช้ของโฮสต์ ดังนั้นควรตรวจสอบกับทีมรักษาความปลอดภัยของคุณก่อนที่จะสันนิษฐานว่าการใช้ชื่อไฟล์ที่แยกต่างหากจะสร้างการแบ่งแยกได้โดยอัตโนมัติ
หากคุณใช้ Splunk เอกสารการตรวจสอบของ ownCloud จะอธิบายการตรวจสอบadmin_audit.logด้วย Splunk Universal Forwarder และการแยกวิเคราะห์เอาต์พุตเป็น JSON เอกสารประกอบด้วยตัวอย่างinputs.confและprops.confการตั้งค่า ให้ถือว่าระบบส่งต่อและระบบรับข้อมูลเป็นส่วนหนึ่งของขอบเขตการตรวจสอบ: ปกป้องข้อมูลประจำตัว เข้ารหัสการส่งข้อมูลหากสถาปัตยกรรมการบันทึกของคุณรองรับ ยืนยันว่าเหตุการณ์มาถึงแล้ว และแจ้งเตือนเมื่อมีช่องว่างหรือความล้มเหลวในการนำเข้าข้อมูล
ภาพรวมการรวบรวมบันทึก: เอกสารของ ownCloud อธิบายถึงการส่งต่อบันทึกการตรวจสอบเฉพาะไปยัง Splunk เพื่อการค้นหาและวิเคราะห์
ตัวเลือกเสริม: จำกัดชื่อกลุ่มที่จะปรากฏในรายการ
โดยค่าเริ่มต้น บริบทการตรวจสอบสามารถรวมถึงผู้ใช้ที่เกี่ยวข้องกับเหตุการณ์และกลุ่มที่ผู้ใช้เหล่านั้นสังกัดอยู่OWNCLOUD_ADMIN_AUDIT_GROUPSการตั้งค่านี้สามารถจำกัดชื่อกลุ่มที่จะรวมอยู่ได้ ควรใช้เฉพาะเมื่อนโยบายการกรองมีความเหมาะสมเท่านั้น การลดบริบทกลุ่มอาจทำให้การตรวจสอบในภายหลังมีข้อมูลน้อยลง ตรวจสอบบันทึกที่ได้และข้อกำหนดด้านความเป็นส่วนตัวของคุณก่อนที่จะใช้ตัวกรอง
ปัญหาการตั้งค่าทั่วไป
- ไม่พบบันทึกการตรวจสอบ:โปรดยืนยันว่าแอป Enterprise Auditing เปิดใช้งานอยู่ หากใช้บันทึกมาตรฐาน ให้ตรวจสอบว่าระดับทั่วโลกเป็น INFO (1) หรือ DEBUG (0) หากใช้ไฟล์แยกต่างหาก ให้ตรวจสอบเงื่อนไขของแอปและเส้นทางที่สามารถเขียนได้
- ไฟล์ที่คาดหวังหายไป:เส้นทาง Docker ที่ระบุไว้ในเอกสารนั้นสันนิษฐานว่ามีการเชื่อมต่อวอลุ่มอยู่แล้ว โปรดตรวจสอบการกำหนดค่าคอนเทนเนอร์ การแมปวอลุ่ม และสิทธิ์ของผู้ใช้บริการ
- ข้อมูลปรากฏในตำแหน่งที่ไม่ถูกต้อง:ตรวจสอบการตั้งค่า
OWNCLOUD_LOG_CONDITIONSหรือlog.conditionsการกำหนดค่า และหลีกเลี่ยงกฎที่ซ้ำซ้อนหรือขัดแย้งกัน - ฟีดข้อมูลดูไม่สมบูรณ์:กิจกรรมและการตรวจสอบเป็นแอปพลิเคชันที่แตกต่างกัน และความครอบคลุมของแอปตรวจสอบขึ้นอยู่กับประเภทเหตุการณ์และเวอร์ชัน ตรวจสอบเหตุการณ์ที่ทราบซึ่งได้รับการสนับสนุนโดยเวอร์ชันที่ติดตั้งก่อนที่จะสรุปว่าการบันทึกข้อมูลมีปัญหา
- ไม่มีเหตุการณ์ที่เรียกใช้ผ่านบรรทัดคำสั่ง: ownCloud มีเหตุการณ์ที่เรียกใช้ผ่าน CLI เป็นค่าเริ่มต้น ตรวจสอบว่า
admin_audit ignore_cli_eventsได้ตั้งค่าเป็น ` true` แล้วหรือ yesไม่
รายการตรวจสอบการยืนยันขั้นสุดท้าย
- การใช้งานระบบคือ ownCloud Server Enterprise และได้เปิดใช้งานแอปตรวจสอบ (Auditing app) ที่ใช้งานร่วมกันได้แล้ว
- ปลายทางที่กำหนดค่าไว้มีอยู่จริง สามารถเขียนข้อมูลได้โดย ownCloud และไม่ได้ถูกเปิดเผยในฐานะเนื้อหาของผู้ใช้ทั่วไป
- การดำเนินการทดสอบที่ได้รับอนุญาตจะสร้างบันทึกที่ตรงกันพร้อมการประทับเวลาและผู้กระทำที่สมเหตุสมผล
- สิทธิ์การเข้าถึง การหมุนเวียน การเก็บรักษา และความรับผิดชอบในการเข้าถึงได้รับการบันทึกไว้เป็นเอกสารแล้ว
- หากมีการส่งบันทึกข้อมูลไปยังระบบภายนอก ระบบที่รับข้อมูลจะแสดงเหตุการณ์ล่าสุด และการตรวจสอบจะสามารถตรวจจับการหยุดชะงักได้
สำหรับรายละเอียดเฉพาะรุ่น โปรดดูเอกสารประกอบการตรวจสอบเซิร์ฟเวอร์ ownCloud , เอกสารอ้างอิงการกำหนดค่าแอป ownCloudและคำแนะนำเกี่ยวกับบทบาทและการแยกการตรวจสอบของ ownCloudสำหรับผลิตภัณฑ์ Infinite Scale ที่แยกต่างหาก โปรดดูเอกสารประกอบบริการตรวจสอบ oCIS