ล้างคำเตือนการล็อกไฟล์ของ Nextcloud ด้วย Redis
เปิดใช้งานการล็อกไฟล์ที่เชื่อถือได้ของ Nextcloud เลือกแบ็กเอนด์ Redis หรือ Valkey ที่เหมาะสม และตรวจสอบว่าคำเตือนหายไปโดยไม่มีความเสี่ยงต่อการเปลี่ยนแปลงไฟล์พร้อมกัน
เว็บไซต์ Nextcloud ของคุณอาจทำงานได้ตามปกติ แต่ยังคงได้รับคะแนนความปลอดภัยต่ำจากโปรแกรมสแกนความปลอดภัยภายนอก สาเหตุทั่วไป ได้แก่ เวอร์ชันเซิร์ฟเวอร์ที่ล้าสมัยหรือหมดอายุการใช้งาน ไม่มีส่วนหัว HSTS หรือพร็อกซีแบบย้อนกลับที่ซ่อน HTTPS จาก Nextcloud เริ่มต้นด้วยการอัปเดต Nextcloud บังคับใช้ HTTPS ที่ขอบเว็บเซิร์ฟเวอร์สาธารณะ กำหนดค่าความเชื่อถือของพร็อกซีอย่างจำกัด และล้างคำเตือนที่รายงานโดยหน้าการจัดการของ Nextcloud เอง
ไม่มีมาตรฐาน “A+” สากลเพียงหนึ่งเดียว การตรวจสอบความปลอดภัยอย่างเป็นทางการของ Nextcloud จะประเมินเซิร์ฟเวอร์ Nextcloud ที่เปิดเผยต่อสาธารณะโดยใช้คำแนะนำด้านความปลอดภัยที่ทราบและวิธีการตรวจสอบการเสริมความแข็งแกร่งที่สามารถดำเนินการได้จากภายนอก ในขณะที่ SSL Labs จะให้คะแนนการกำหนดค่า TLS โปรดพิจารณาคะแนนใด ๆ ว่าเป็นผลลัพธ์ ณ จุดเวลาหนึ่ง ไม่ใช่หลักฐานยืนยันว่าเซิร์ฟเวอร์ปลอดภัยหรือรับประกันว่าจะไม่มีช่องโหว่ที่ไม่รู้จัก
ก่อนเปลี่ยนการตั้งค่า โปรดจดบันทึกว่าโปรแกรมสแกนใดให้คะแนนดังกล่าว รายงานการสแกนอย่างเป็นทางการของ Nextcloud จะแสดงช่องโหว่ที่ทราบ เวอร์ชันที่หมดอายุการใช้งาน และปัญหาด้านความปลอดภัยที่มองเห็นได้ คะแนน TLS-only อาจมาจาก SSL Labs แทน แก้ไขคำเตือนจากโปรแกรมสแกนที่คุณใช้ จากนั้นเรียกใช้การสแกนเดิมอีกครั้ง เนื่องจากแต่ละบริการใช้เกณฑ์ที่แตกต่างกัน
ในการตั้งค่าการดูแลระบบ Nextcloud ให้ตรวจสอบเวอร์ชันเซิร์ฟเวอร์และคำเตือนด้านความปลอดภัยหรือการตั้งค่าใดๆ อัปเกรดเป็นเวอร์ชัน Nextcloud ที่รองรับและติดตั้งการอัปเดตความปลอดภัยล่าสุดก่อนที่จะปรับแต่งส่วนหัว เวอร์ชันเก่าอาจยังคงมีช่องโหว่แม้ว่าโปรแกรมสแกนส่วนหัวจะแสดงผล A+ ก็ตาม หากไม่มีการอัปเกรดสำหรับแพ็คเกจการติดตั้งของคุณ ให้ทำตามเส้นทางการอัปเกรดที่รองรับของแพ็คเกจนั้นแทนการแทนที่ไฟล์ด้วยตนเอง
ให้บริการ URL สาธารณะของ Nextcloud ผ่าน HTTPS ด้วยใบรับรองที่ถูกต้อง และเปลี่ยนเส้นทางการรับส่งข้อมูล HTTP ที่ไม่ได้เข้ารหัสไปยัง HTTPS คู่มือการรักษาความปลอดภัยของ Nextcloud แนะนำให้ใช้ HTTPS บนเซิร์ฟเวอร์ที่ใช้งานจริง จากนั้นเพิ่ม HTTP Strict Transport Security (HSTS) ที่เซิร์ฟเวอร์หรือพร็อกซีที่ส่งการตอบสนอง HTTPS สาธารณะ คำเตือนสำหรับผู้ดูแลระบบของ Nextcloud ระบุว่าควรตั้งค่าStrict-Transport-Securitymax-age อย่างน้อย 15,552,000 วินาที
สำหรับ Nginx ให้เพิ่มคำสั่งลักษณะนี้ลงในบล็อกเซิร์ฟเวอร์ TLS ที่ใช้งานอยู่ โดยแทนที่ชื่อโฮสต์และคงการตั้งค่า Nextcloud ที่คุณทราบและใช้งานได้ดีไว้:
add_header Strict-Transport-Security "max-age=15552000; includeSubDomains" always;

ใช้includeSubDomainsเฉพาะในกรณีที่ทุกโดเมนย่อยสามารถเข้าถึงได้ผ่าน HTTPS เท่านั้น อย่าเพิ่มpreloadแฟล็กเสริมโดยไม่ระมัดระวัง: รายการโหลดล่วงหน้าของเบราว์เซอร์อาจใช้เวลาหลายเดือนในการลบโดเมนหลังจากส่งแล้ว หากพร็อกซีแบบย้อนกลับจัดการ TLS ให้กำหนดค่า HSTS บนพร็อกซีที่เชื่อมต่อกับสาธารณะนั้น การตั้งค่าเฉพาะบนโฮสต์ Nextcloud ภายในอาจไม่เปลี่ยนแปลงส่วนหัวที่เครื่องสแกนเห็น
Nextcloud ส่งเฮดเดอร์พื้นฐานอยู่แล้ว เช่นX-Content-Type-Options, X-Frame-Options, Referrer-Policy, และX-Robots-Tagในสภาพแวดล้อมเริ่มต้น หลีกเลี่ยงการเพิ่มเวอร์ชันที่ซ้ำซ้อนหรือขัดแย้งกันก่อนตรวจสอบการตอบกลับ ตัวอย่างการกำหนดค่า Nginx ของ Nextcloud แสดงวิธีการส่งเฮดเดอร์เหล่านี้จาก Nginx
หากมีการใช้ Reverse Proxy กับ Nextcloud ให้ระบุเฉพาะที่อยู่ IP จริงหรือช่วงเครือข่ายส่วนตัวของ Proxy นั้นภายใต้ <IP address> เท่านั้นtrusted_proxiesNextcloud จะใช้ส่วนหัว Client-IP ที่ส่งต่อมาเฉพาะกับ Proxy ที่เชื่อถือได้เท่านั้น การเชื่อถือที่อยู่ที่ไม่ถูกต้องอาจทำให้ไคลเอ็นต์ปลอมแปลง IP ที่ปรากฏและบ่อนทำลายการควบคุมการเข้าถึงหรือบันทึกข้อมูลได้
ตัวอย่างเช่น หากพร็อกซีที่ยุติการเชื่อมต่อ TLS อยู่ที่10.0.0.10ให้รวมรายการที่เกี่ยวข้องเข้ากับ$CONFIGอาร์เรย์ที่มีอยู่แล้วในconfig/config.php:
'trusted_proxies' => ['10.0.0.10'],
'overwriteprotocol' => 'https',

ตั้งค่าoverwriteprotocolให้httpsTLS สิ้นสุดที่พร็อกซี และ Nextcloud ตรวจพบการเชื่อมต่อ HTTP ภายในเป็น HTTP สาธารณะ หากพร็อกซีของคุณใช้ส่วนหัว forwarded-IP ที่ไม่เป็นมาตรฐานforwarded_for_headersให้กำหนดค่าให้ตรงกันทุกประการ อย่าตั้งค่าช่วงที่เชื่อถือได้กว้างๆ เช่น0.0.0.0/0หลังจากแก้ไขไฟล์แล้ว ให้ตรวจสอบการกำหนดค่าที่รวมเข้าด้วยกัน และทดสอบการลงชื่อเข้าใช้ การแชร์ และลิงก์ที่สร้างขึ้น
เปิดการตั้งค่าการดูแลระบบและตรวจสอบภาพรวมหรือคำเตือนด้านความปลอดภัยและการตั้งค่า แก้ไขคำเตือนที่ปรากฏขึ้นแทนที่จะใช้คำสั่งเสริมความปลอดภัยที่ไม่เกี่ยวข้องเพื่อหวังให้ได้เกรดที่ดี
overwriteprotocolสำหรับการตั้งค่าพร็อกซีที่เชื่อถือได้debugใช้งานไว้ในสภาพแงการใช้งานจริง เปิดใช้งานเฉพาะเมื่อต้องการแก้ไขปัญหาเฉพาะจุด และปิดใช้งานอีกครั้งจำกัดการดำเนินการของผู้ดูแลระบบเฉพาะallowed_admin_rangesในกรณีที่ผู้ดูแลระบบมีช่วง IP สำหรับการจัดการที่เสถียรและเป็นที่รู้จักเท่านั้น ช่วง IP ที่ไม่ถูกต้องอาจซ่อนฟังก์ชันการดูแลระบบจากผู้ดูแลระบบที่ถูกต้อง คู่มือการรักษาความปลอดภัยของ Nextcloud ยังแนะนำให้ปิดใช้งานการบีบอัด HTTP เพื่อลดความเสี่ยงจาก BREACH ตรวจสอบการกำหนดค่าเว็บเซิร์ฟเวอร์หรือพร็อกซีของคุณว่ามีการเปิดใช้งานการบีบอัดสำหรับหน้าเว็บที่ต้องมีการตรวจสอบสิทธิ์หรือไม่
ตรวจสอบว่าไคลเอ็นต์ภายนอกได้รับอะไรบ้าง ไม่ใช่แค่สิ่งที่ระบุไว้ในไฟล์การกำหนดค่า:
curl -I https://cloud.example.com
ตรวจสอบให้แน่ใจว่าการตอบกลับมีส่วนหัว HSTS ที่มีค่า max-age ตามที่ต้องการ และมีส่วนหัวความปลอดภัยพื้นฐานของ Nextcloud อยู่ด้วย เครื่องมือสำหรับนักพัฒนาของเบราว์เซอร์สามารถแสดงส่วนหัวการตอบกลับเดียวกันได้ หากค่าแตกต่างจากการกำหนดค่าของคุณ ให้ตรวจสอบตัวยุติ TLS, พร็อกซี และตำแหน่ง Nginx ที่แคชไว้หรือซ้อนกันอยู่

ถัดไป ให้ทำการสแกนความปลอดภัยอย่างเป็นทางการของ Nextcloudกับชื่อโฮสต์สาธารณะ จากนั้นตรวจสอบการตั้งค่าการดูแลระบบอีกครั้ง ใช้Qualys SSL Labsเมื่อคุณต้องการระดับ TLS และรายละเอียดเพิ่มเติม การสแกนอย่างเป็นทางการต้องใช้ชื่อโฮสต์ Nextcloud ที่สามารถเข้าถึงได้ ไม่สามารถประเมินอินสแตนซ์ส่วนตัวจากอินเทอร์เน็ตสาธารณะได้

หากเกรดยังคงต่ำกว่า A+ ให้ใช้ข้อมูลที่พบเพื่อระบุเลเยอร์ที่รับผิดชอบ แก้ไขทีละปัญหา ตรวจสอบว่า Nextcloud ยังคงใช้งานได้ผ่าน URL สาธารณะ และสแกนอีกครั้ง เกรด A+ เป็นสัญญาณการกำหนดค่าที่มีประโยชน์ แต่การแก้ไขช่องโหว่ การสำรองข้อมูล การควบคุมการเข้าถึง และการตรวจสอบอย่างต่อเนื่องยังคงจำเป็นหลังจากที่การสแกนผ่านแล้ว
เปิดใช้งานการล็อกไฟล์ที่เชื่อถือได้ของ Nextcloud เลือกแบ็กเอนด์ Redis หรือ Valkey ที่เหมาะสม และตรวจสอบว่าคำเตือนหายไปโดยไม่มีความเสี่ยงต่อการเปลี่ยนแปลงไฟล์พร้อมกัน
แก้ไขปัญหาที่พบได้ทั่วไปในการสแกน Nextcloud ด้วยการอัปเดตล่าสุด, HTTPS และ HSTS, การตั้งค่าความน่าเชื่อถือของพร็อกซีแบบย้อนกลับอย่างแม่นยำ และการตรวจสอบกับเซิร์ฟเวอร์สาธารณะ
กำหนดค่า Nextcloud SSE สำหรับพื้นที่จัดเก็บข้อมูลที่ต้องการ ปกป้องคีย์การเข้ารหัส และวัดผลกระทบต่อการถ่ายโอนข้อมูลและ CPU ก่อนที่จะเข้ารหัสไฟล์ที่มีอยู่
เชื่อมต่อระบบค้นหาไฟล์ของ Nextcloud กับ Elasticsearch จัดทำดัชนีเนื้อหาเอกสาร และเลือกการตั้งค่าที่เหมาะสมกับเซิร์ฟเวอร์และความต้องการด้านความปลอดภัยของคุณ
ตั้งค่า Nextcloud ให้ลบไฟล์ที่ถูกลบหลังจากระยะเวลาการเก็บรักษาที่กำหนดไว้ กำหนดเวลาการทำงานเบื้องหลังอย่างน่าเชื่อถือ และหลีกเลี่ยงคำสั่งที่ล้างถังขยะของผู้ใช้ทุกคน
เรียกใช้ฟังก์ชันซ่อมแซม OCC ของ Nextcloud อย่างปลอดภัย ดูตัวอย่างการเปลี่ยนแปลงฐานข้อมูล และตรวจสอบว่าเหตุใดคำเตือนจึงยังคงปรากฏอยู่
อนุญาตให้ Nextcloud อัปโหลดไฟล์ขนาดใหญ่ขึ้นได้โดยการปรับการตั้งค่า PHP, Nginx หรือ Apache, พื้นที่จัดเก็บชั่วคราว และระยะเวลาหมดเวลาให้ตรงกัน และตรวจสอบว่าข้อจำกัดใดที่กำลังบล็อกไฟล์อยู่
ตั้งค่าขีดจำกัดหน่วยความจำ PHP ที่ Nextcloud ใช้จริง รีสตาร์ทบริการที่ถูกต้อง และยืนยันการตั้งค่า 512 MB ในภาพรวมผู้ดูแลระบบ
เชื่อมต่อบัคเก็ตจัดเก็บข้อมูลแบบอ็อบเจ็กต์ที่เข้ากันได้ใน Nextcloud โดยใช้แบ็กเอนด์ S3 พร้อมด้วยเอนด์พอยต์ ข้อมูลรับรอง ขอบเขตการเข้าถึง และขั้นตอนการตรวจสอบที่ถูกต้อง
ย้ายไดเร็กทอรีข้อมูล Nextcloud บน Linux ไปยังไดรฟ์ภายนอกอย่างปลอดภัย โดยใช้การเมานต์ UUID แบบถาวร โหมดบำรุงรักษา สำเนาที่ตรวจสอบแล้ว และซิมลิงก์เส้นทางเดิม