ผลลัพธ์ระดับ A+ จากโปรแกรมสแกนส่วนหัวความปลอดภัยเป็นเป้าหมายการกำหนดค่าที่มีประโยชน์ แต่ไม่ใช่การรับรองความปลอดภัยที่สมบูรณ์สำหรับเซิร์ฟเวอร์ Nextcloud การจัดอันดับนี้สะท้อนถึงส่วนหัวการตอบสนอง HTTP ที่โปรแกรมสแกนนั้นตรวจสอบที่ URL ที่ทดสอบ ไม่ได้ตรวจสอบฐานข้อมูล ระบบปฏิบัติการ การสำรองข้อมูล บัญชีผู้ใช้ แอปที่ติดตั้ง หรือกระบวนการแพตช์ ดังนั้น แผนการเสริมความปลอดภัยจึงเริ่มต้นด้วยการตรวจสอบสถานะของ Nextcloud เอง จากนั้นรักษาความปลอดภัยของเซิร์ฟเวอร์และเลเยอร์เว็บที่เปิดเผยต่อสาธารณะ และสุดท้ายทดสอบ URL สาธารณะที่แน่นอนอีกครั้ง
คู่มือนี้อ้างอิงจากคู่มือการดูแลระบบ Nextcloud 35 ฉบับปัจจุบัน ซึ่งจะเผยแพร่ในเดือนตุลาคม 2026 ตัวอย่างการกำหนดค่าอาจแตกต่างกันไปตามการใช้งาน Apache, NGINX, คอนเทนเนอร์ และพร็อกซีแบบย้อนกลับ โปรดตรวจสอบการเปลี่ยนแปลงทุกครั้งกับเอกสารประกอบสำหรับเวอร์ชันเซิร์ฟเวอร์และการใช้งานของคุณก่อนนำไปใช้
รายการตรวจสอบอย่างรวดเร็ว
- สำรองข้อมูลฐานข้อมูล โฟลเดอร์ข้อมูล และการตั้งค่าก่อนทำการเปลี่ยนแปลงหรืออัปเกรด
- ติดตั้งการอัปเดต Nextcloud, PHP, ฐานข้อมูล, ระบบปฏิบัติการ และแอปพลิเคชันที่รองรับ
- ใช้ HTTPS สำหรับการเชื่อมต่อสาธารณะทุกครั้ง และเปลี่ยนเส้นทางการเชื่อมต่อ HTTP ไปยัง HTTPS
- เปิดใช้งาน HSTS เฉพาะหลังจากที่ HTTPS ทำงานได้ทั่วทั้งโดเมนและโดเมนย่อยที่เกี่ยวข้องแล้วเท่านั้น
- ควรเก็บไดเร็กทอรีข้อมูลและการตั้งค่าที่สำคัญไว้ภายนอกไดเร็กทอรีหลักของเว็บไซต์ หากทำได้
- ใช้การยืนยันตัวตนแบบหลายปัจจัย (MFA) สำหรับผู้ดูแลระบบ และหากเหมาะสม ให้ใช้ MFA กับผู้ใช้ทุกคนด้วย
- กำหนดค่าพร็อกซีที่เชื่อถือได้อย่างระมัดระวัง อย่าเชื่อถือส่วนหัว IP ของไคลเอ็นต์ที่ส่งต่อมาโดยพลการ
- แก้ไขคำเตือนในภาพรวมการดูแลระบบ Nextcloud และทดสอบส่วนหัวบนเอนด์พอยต์สาธารณะ
1. กำหนดเกณฑ์พื้นฐานที่ปลอดภัย
ก่อนที่จะเปลี่ยนแปลงส่วนหัวหรือการตั้งค่า PHP ให้ระบุวิธีการที่คำขอเข้าถึง Nextcloud: โดยตรงผ่าน Apache หรือ NGINX ผ่านพร็อกซีคอนเทนเนอร์ หรือผ่านตัวจัดการโหลดบาลานเซอร์ บันทึกเวอร์ชัน Nextcloud เวอร์ชัน PHP ประเภทฐานข้อมูล แอปที่เปิดใช้งาน และจุดสิ้นสุด TLS เก็บสำเนาของการกำหนดค่าโฮสต์เสมือนหรือพร็อกซีที่ใช้งานอยู่ เพื่อให้คุณสามารถย้อนกลับการเปลี่ยนแปลงที่ผิดพลาดได้
ทำการสำรองข้อมูลที่สามารถกู้คืนได้ของฐานข้อมูล ไดเร็กทอรีข้อมูลทั้งหมด และการกำหนดค่า Nextcloud รวมถึงไฟล์config.phpต่างๆ การคัดลอกไฟล์เพียงอย่างเดียวไม่ถือเป็นการสำรองข้อมูลที่สมบูรณ์: ตรวจสอบให้แน่ใจว่าคุณรู้วิธีการกู้คืนส่วนประกอบทั้งสามส่วนพร้อมกัน เอกสารการอัปเดตของ Nextcloud เตือนไว้อย่างชัดเจนว่าตัวอัปเดตของ Nextcloud ไม่ได้สำรองข้อมูลฐานข้อมูลหรือไดเร็กทอรีข้อมูล โปรดดูคำแนะนำการอัปเกรดและการสำรองข้อมูลของ Nextcloud
เข้าสู่ระบบในฐานะผู้ดูแลระบบและเปิดการตั้งค่าการดูแลระบบ จากนั้นไปที่ภาพรวม ตรวจสอบคำเตือนด้านความปลอดภัยและการตั้งค่า รวมถึงคำเตือนเกี่ยวกับงานเบื้องหลังและฐานข้อมูล ภาพรวมที่สะอาดหมดจดเป็นการตรวจสอบระดับแอปพลิเคชันที่มีประโยชน์ แต่ไม่สามารถทดแทนการแก้ไขช่องโหว่ของระบบปฏิบัติการหรือการทดสอบส่วนหัวภายนอกได้ หลีกเลี่ยงการระงับคำเตือนจนกว่าคุณจะเข้าใจสาเหตุของมัน
2. อัปเดตแพทช์ Nextcloud และโฮสต์ของ Nextcloud
ใช้งาน Nextcloud เวอร์ชันที่รองรับ พร้อมด้วย PHP และฐานข้อมูลที่รองรับ อัปเดตเวอร์ชันบำรุงรักษาอย่างรวดเร็ว และตรวจสอบความเข้ากันได้ของแอปก่อนที่จะอัปเดตเป็นเวอร์ชันหลักใหม่ อัปเดตระบบปฏิบัติการ เว็บเซิร์ฟเวอร์ PHP runtime เซิร์ฟเวอร์ฐานข้อมูล และแอป Nextcloud ที่ติดตั้งผ่านช่องทางการอัปเดตที่รองรับ ลบแอปที่ไม่ได้ใช้งานหรือไม่ได้บำรุงรักษาอีกต่อไป เนื่องจากแต่ละส่วนประกอบที่เปิดใช้งานจะเพิ่มโค้ดและงานบำรุงรักษา
ก่อนทำการอัปเดต โปรดตรวจสอบข้อมูลสำรองและอ่านบันทึกการเปลี่ยนแปลงสำหรับเวอร์ชันเป้าหมาย ใช้โปรแกรมอัปเดตที่รองรับสำหรับประเภทการติดตั้งของคุณ จากนั้นดำเนินการย้ายฐานข้อมูลที่จำเป็นให้เสร็จสมบูรณ์ และตรวจสอบภาพรวมการดูแลระบบและบันทึกต่างๆ อย่าดาวน์เกรดโดยการคัดลอกไฟล์แอปพลิเคชันเวอร์ชันเก่าทับอินสแตนซ์ที่ย้ายมาแล้ว Nextcloud ระบุว่าการดาวน์เกรดไม่ได้รับการสนับสนุน และแนะนำให้กู้คืนจากข้อมูลสำรองที่เข้ากันได้เมื่อจำเป็นต้องย้อนกลับ
3. ปกป้องข้อมูลประจำตัวและบัญชีผู้ใช้
ใช้ MFA เพื่อลดความเสี่ยงของผู้ดูแลระบบ
เปิดใช้งานผู้ให้บริการการตรวจสอบสิทธิ์แบบสองปัจจัย (2FA) ที่มีการดูแลรักษา และกำหนดให้บัญชีผู้ดูแลระบบต้องใช้ MFA Nextcloud รองรับ 2FA ผ่านแอปพลิเคชัน ดังนั้นโปรดตรวจสอบให้แน่ใจว่าผู้ให้บริการที่เลือกนั้นเข้ากันได้กับเวอร์ชันที่คุณใช้งาน และผู้ใช้มีช่องทางการกู้คืนก่อนที่จะบังคับใช้ เก็บรหัสกู้คืนฉุกเฉินไว้ในที่ปลอดภัยและออฟไลน์ อย่าปิดใช้งานการป้องกันการโจมตีแบบ Brute-force เพื่อแก้ปัญหาการเข้าสู่ระบบล่าช้า ให้ตรวจสอบที่อยู่ IP ต้นทางและการกำหนดค่าพร็อกซีแทน
ใช้บัญชีผู้ดูแลระบบเฉพาะสำหรับงานประจำ และให้สิทธิ์ผู้ดูแลระบบเฉพาะเมื่อจำเป็นเท่านั้น เลือกใช้รหัสผ่านที่ไม่ซ้ำกันและยาว และใช้โปรแกรมจัดการรหัสผ่าน ยกเลิกการใช้งานรหัสผ่านอุปกรณ์และแอปทันที ตรวจสอบบัญชี กลุ่ม การแชร์สาธารณะ และพื้นที่จัดเก็บข้อมูลภายนอกตามกำหนดเวลา และลบสิทธิ์การเข้าถึงที่ไม่จำเป็นต่อธุรกิจอีกต่อไป
รักษาการป้องกันการโจมตีแบบ Brute-force ให้มีประสิทธิภาพ
ระบบป้องกันการโจมตีแบบ Brute-force ของ Nextcloud เปิดใช้งานโดยค่าเริ่มต้น ประสิทธิภาพของระบบขึ้นอยู่กับว่าเซิร์ฟเวอร์มองเห็นที่อยู่ IP จริงของไคลเอ็นต์หรือไม่ หาก Nextcloud อยู่หลังพร็อกซี ให้กำหนดค่าเฉพาะที่อยู่พร็อกซีหรือเครือข่ายจริงในไฟล์ การกำหนด trusted_proxiesค่า และตั้งค่าforwarded_for_headersเฉพาะส่วนหัวที่พร็อกซีของคุณควบคุม การเชื่อถือส่วนหัวที่ไคลเอ็นต์สามารถปลอมแปลงได้อาจบั่นทอนการป้องกันตาม IP หลีกเลี่ยงการเพิ่มรายการไวท์ลิสต์แบบกว้างๆ: ที่อยู่ที่ถูกยกเว้นสามารถพยายามตรวจสอบสิทธิ์ได้โดยไม่มีการจำกัด ตรวจสอบ เอกสารเกี่ยวกับการป้องกันการ โจมตีแบบ Brute-forceและคู่มือการกำหนดค่าพร็อกซีแบบย้อนกลับ
4. ลดความเสี่ยงจากไฟล์และการตั้งค่าเซิร์ฟเวอร์
วางไดเร็กทอรีข้อมูลของ Nextcloud ไว้ภายนอกรูทเว็บ เพื่อลดโอกาสที่ไฟล์ที่จัดเก็บไว้จะถูกเปิดเผยหากเกิดข้อผิดพลาดกับเว็บเซิร์ฟเวอร์ จำกัดความเป็นเจ้าของและสิทธิ์การเข้าถึงไฟล์ระบบให้กับบัญชีบริการและผู้ดูแลระบบที่จำเป็นต้องเข้าถึงเท่านั้น อย่าทำให้ไดเร็กทอรีสามารถอ่านหรือเขียนได้โดยทุกคน ป้องกันไฟล์ `<div class="text/etc/ config.phpnextcloud.com/ NEXTCLOUD_CONFIG_DIRconfig ...
ปิดใช้งานโหมดดีบักการผลิต เปิดใช้งานการรักษาความปลอดภัยระบบปฏิบัติการ เช่น SELinux หากทีมของคุณรองรับและเข้าใจ หากคุณใช้งานในคอนเทนเนอร์ ให้ปกป้องโฮสต์ วอลุ่มถาวร ข้อมูลรับรองรีจิสทรีของคอนเทนเนอร์ และอินเทอร์เฟซการจัดการ รวมถึงแอปพลิเคชัน Nextcloud ด้วย จำกัดการเข้าถึงเครือข่ายขาเข้าเฉพาะบริการที่ต้องเปิดเผยต่อสาธารณะเท่านั้น อย่าเปิดพอร์ตฐานข้อมูลหรือเชลล์การดูแลระบบสู่อินเทอร์เน็ต
Nextcloud รองรับฟีเจอร์ที่สร้างการเชื่อมต่อออกไปยังระบบอื่น ดังนั้นการแบ่งส่วนเครือข่ายและนโยบายไฟร์วอลล์จึงมีความสำคัญ ควรวางอินสแตนซ์ไว้ในโซนเครือข่ายที่มีการจำกัดอย่างเหมาะสม และอนุญาตเฉพาะปลายทางขาออกที่ฟีเจอร์ที่คุณเปิดใช้งานต้องการเท่านั้น รายชื่อปลายทางที่อนุญาตจะขึ้นอยู่กับแอปและตัวเลือกการปรับใช้
5. ตั้งค่า HTTPS และ HSTS อย่างระมัดระวัง
ให้บริการเว็บไซต์ด้วยใบรับรอง TLS ที่ถูกต้อง และเปลี่ยนเส้นทางการร้องขอ HTTP ธรรมดาทั้งหมดไปยัง HTTPS ทดสอบห่วงโซ่ใบรับรอง กระบวนการต่ออายุ และชื่อโฮสต์ทุกชื่อที่ผู้ใช้เข้าถึงจริง คู่มือการเพิ่มความปลอดภัยของ Nextcloud แนะนำให้ใช้ HTTPS และอธิบาย HSTS ไว้ HSTS จะสั่งให้เบราว์เซอร์ใช้ HTTPS ต่อไปอีกระยะหนึ่งหลังจากได้รับนโยบาย ดังนั้นควรเปิดใช้งานเฉพาะเมื่อ HTTPS ทำงานได้อย่างน่าเชื่อถือแล้ว
เริ่มต้นด้วยนโยบาย HSTS ที่เหมาะสมกับสภาพแวดล้อมของคุณ ตัวอย่างเช่นStrict-Transport-Security: max-age=15552000จากนั้นค่อยเพิ่มระยะเวลาหลังจากตรวจสอบแล้ว เพิ่มincludeSubDomainsเฉพาะในกรณีที่ทุกโดเมนย่อยที่ได้รับผลกระทบรองรับ HTTPS เท่านั้น ถือว่าpreloadเป็นการตัดสินใจที่มีผลกระทบสูงแยกต่างหาก: เบราว์เซอร์อาจเก็บโดเมนที่โหลดไว้ล่วงหน้าเป็นเวลานาน และการลบอาจใช้เวลาหลายเดือนกว่าจะถึงผู้ใช้ อย่าคัดลอกตัวอย่างการโหลดล่วงหน้าโดยไม่ตรวจสอบโดเมนย่อยทั้งหมดและข้อกำหนดปัจจุบัน ตัวเลือก TLS จะแตกต่างกันไปตามความต้องการของเซิร์ฟเวอร์และไคลเอ็นต์ ใช้คำแนะนำ TLS ที่เชื่อมโยงของ Nextcloud และทดสอบปลายทางที่ได้
6. ตั้งค่าส่วนหัวการตอบกลับให้อยู่ในเลเยอร์ที่ถูกต้อง
Nextcloud มีส่วนหัวด้านความปลอดภัยหลายรายการอยู่แล้ว รวมถึงX-Content-Type-Options, X-Frame-Options, X-Robots-Tag, และReferrer-Policyเอกสารประกอบแนะนำให้ตรวจสอบให้แน่ใจว่าเว็บเซิร์ฟเวอร์ได้ส่งส่วนหัวที่เกี่ยวข้องกับความปลอดภัยเหล่านั้นด้วย เพื่อให้ยังคงมีประสิทธิภาพสำหรับการตอบสนองแบบคงที่ การใช้งาน Apache ควรตรวจสอบให้แน่ใจว่าโมดูลที่เกี่ยวข้องและ.htaccessกฎของ Nextcloud ทำงานอยู่ การใช้งาน NGINX ต้องใช้การกำหนดค่า NGINX ของ Nextcloud ในปัจจุบัน แทนที่จะสันนิษฐานว่ากฎของ Apache ใช้ได้ โปรดดูคู่มือการเพิ่มความปลอดภัยของ Nextcloudและ การ กำหนดค่า NGINX
สาเหตุทั่วไปที่ทำให้เกิดผลลัพธ์ที่สับสนคือการตั้งค่าส่วนหัวเดียวกันใน Nextcloud, เว็บเซิร์ฟเวอร์ และ CDN หรือพร็อกซีแบบย้อนกลับ ส่งผลให้การตอบสนองอาจมีค่าซ้ำซ้อนหรือขัดแย้งกัน ควรเลือกเลเยอร์ที่เป็นเจ้าของส่วนหัวแต่ละรายการ ตรวจสอบการตอบสนองสุดท้ายที่เบราว์เซอร์เห็น และหลีกเลี่ยงการแทนที่นโยบายความปลอดภัยเนื้อหาของ Nextcloud ด้วยนโยบายทั่วไปที่คัดลอกมาจากเว็บไซต์อื่น นโยบายความปลอดภัยเนื้อหาที่เข้มงวดอาจทำให้สคริปต์หรือฟีเจอร์ที่ Nextcloud และแอปต่างๆ ต้องการใช้งานเสียหายได้ ควรทดสอบการเปลี่ยนแปลงนโยบายบนโฮสต์ทดสอบและตรวจสอบข้อผิดพลาดของเบราว์เซอร์ก่อนที่จะนำไปใช้งานจริง
เพื่อให้โปรแกรมสแกนรายงานผลลัพธ์ที่ต้องการ ให้ทดสอบ URL HTTPS สุดท้ายที่ผู้ใช้เข้าชม รวมถึงการเปลี่ยนเส้นทางและการเชื่อมต่อผ่าน CDN หรือพร็อกซี ตรวจสอบทั้งหน้า Landing Page และไฟล์คงที่ เนื่องจากเลเยอร์ต่างๆ อาจส่งคืนส่วนหัวที่แตกต่างกัน ยืนยันว่า HTTP เปลี่ยนเส้นทางไปยัง HTTPS และการตอบสนองสุดท้ายมีค่าที่สอดคล้องกันเพียงค่าเดียวสำหรับแต่ละส่วนหัว ใช้curl -I https://your-cloud.exampleเป็นการตรวจสอบอย่างรวดเร็ว จากนั้นใช้เครื่องมือสำหรับนักพัฒนาของเบราว์เซอร์หรือโปรแกรมสแกนภายนอกเพื่อตรวจสอบการตอบสนองสาธารณะจริง แทนที่ชื่อโฮสต์ตัวอย่างด้วยชื่อโฮสต์ของคุณเอง อย่าเผยแพร่ชื่อโฮสต์ส่วนตัวหรือข้อมูลประจำตัวในรายงานการสแกน
7. ตรวจสอบผลลัพธ์โดยไม่เข้าใจผิดว่าเกรดคือความปลอดภัย
เรียกใช้การทดสอบ SecurityHeaders.comกับ URL HTTPS สาธารณะ และอ่านผลลัพธ์ทั้งหมด ไม่ใช่แค่ตัวอักษร คำถามที่พบบ่อย (FAQ) ของเว็บไซต์นี้อธิบายว่าเกรดที่ได้เป็นการประเมินส่วนหัวการตอบสนองที่เกี่ยวข้องกับความปลอดภัยที่บริการตรวจสอบ ดังนั้น A+ หมายความว่าการตอบสนองที่ทดสอบตรงตามกฎการให้คะแนนปัจจุบันของบริการนั้น ไม่ได้หมายความว่า Nextcloud ปราศจากช่องโหว่ หรือเซิร์ฟเวอร์ทั้งหมดผ่านการทดสอบการเจาะระบบแล้ว เครื่องมือสแกนที่แตกต่างกันอาจให้คะแนนการกำหนดค่าเดียวกันแตกต่างกัน และเกณฑ์การให้คะแนนอาจเปลี่ยนแปลงได้
หากผลลัพธ์ต่ำกว่า A+ ให้ระบุส่วนหัวที่ขาดหายไปหรือขัดแย้งกันอย่างแม่นยำ กำหนดว่าเลเยอร์ใดควรตั้งค่าส่วนหัวนั้น และแก้ไขทีละรายการ ทดสอบซ้ำหลังจากทำการเปลี่ยนแปลงแต่ละครั้ง และทดสอบการเข้าสู่ระบบ การอัปโหลดและดาวน์โหลดไฟล์ การซิงค์ข้อมูลระหว่างเดสก์ท็อปและมือถือ WebDAV การแชร์ และแอปพลิเคชันที่สำคัญใดๆ หากพบปัญหา ให้ย้อนกลับการเปลี่ยนแปลงส่วนหัวครั้งล่าสุด และตรวจสอบบันทึกของเซิร์ฟเวอร์และเบราว์เซอร์ อย่าเพิ่มนโยบายความปลอดภัยเนื้อหา (Content Security Policy) ในวงกว้างเพียงเพื่อให้ได้เกรดตามที่กำหนดโดยไม่ตรวจสอบข้อกำหนดที่ระบุไว้ในเอกสารของแอปพลิเคชันก่อน
การตรวจสอบความแข็งขั้นสุดท้าย
- คุณสามารถกู้คืนฐานข้อมูล โฟลเดอร์ข้อมูล และการตั้งค่าจากข้อมูลสำรองล่าสุดได้หรือไม่
- Nextcloud, โฮสต์, PHP, ฐานข้อมูล, เว็บเซิร์ฟเวอร์ และแอปพลิเคชันที่เปิดใช้งาน อยู่ในช่องทางการอัปเดตที่รองรับหรือไม่?
- ชื่อโฮสต์สาธารณะทุกชื่อใช้ HTTPS หรือไม่ โดยใช้ HSTS เฉพาะกับโดเมนที่พร้อมใช้งานเท่านั้น?
- ไฟล์ข้อมูลและไฟล์การกำหนดค่าอยู่นอกเหนือการเข้าถึงของสาธารณะและมีสิทธิ์การเข้าถึงที่จำกัดหรือไม่?
- บัญชีผู้ดูแลระบบใช้ MFA หรือไม่ และบัญชี เซสชัน และรหัสผ่านแอปที่ไม่ได้ใช้งานแล้วจะถูกลบออกหรือไม่
- Nextcloud สามารถมองเห็นที่อยู่ IP จริงของไคลเอ็นต์ผ่านการตั้งค่าพร็อกซีที่เชื่อถือได้อย่างจำกัดหรือไม่?
- คำเตือนในภาพรวมการบริหารจัดการได้รับการเข้าใจและแก้ไขแล้วหรือไม่ (หากมี)
- การทดสอบส่วนหัวภายนอกแสดงผลลัพธ์ที่สอดคล้องกันสำหรับการตอบสนองสาธารณะขั้นสุดท้ายหรือไม่ และเวิร์กโฟลว์ Nextcloud ปกติยังคงใช้งานได้หรือไม่
สำหรับขั้นตอนเฉพาะเวอร์ชัน โปรดศึกษาคำแนะนำด้านการเสริมความแข็งแกร่งและความปลอดภัยของ Nextcloud 35คู่มือการอัปเกรดและเอกสารประกอบสำหรับเว็บเซิร์ฟเวอร์หรือแพลตฟอร์มโฮสติ้งของคุณ ผลลัพธ์ที่มีประโยชน์ที่สุดคือเซิร์ฟเวอร์ที่ได้รับการอัปเดตอยู่เสมอ สามารถกู้คืนได้ จำกัดความเสี่ยง และยังคงใช้งานได้หลังจากมีการเปลี่ยนแปลงด้านความปลอดภัยแต่ละครั้ง ไม่ใช่แค่เกรดเพียงอย่างเดียว