รีเซ็ตรหัสผ่านผู้ดูแลระบบ Nextcloud ที่ลืมไปโดยใช้ OCC
ใช้คำสั่ง OCC ของ Nextcloud เพื่อรีเซ็ตรหัสผ่านผู้ดูแลระบบจากเชลล์เซิร์ฟเวอร์ พร้อมคำแนะนำสำหรับชื่อผู้ใช้ สิทธิ์ และผู้ให้บริการเข้าสู่ระบบภายนอก
ตัวอย่างสถานการณ์:ลองนึกภาพผู้ดูแลระบบกำลังเตรียมเซิร์ฟเวอร์ SLES 15 สมมติชื่อ web01 เพื่อโฮสต์เว็บไซต์สาธารณะขนาดเล็ก เป้าหมายคือการอนุญาตให้มีการรับส่งข้อมูล HTTP ขาเข้าบนพอร์ต TCP 80 ในขณะที่ยังคงรักษาเส้นทางการดูแลระบบ SSH ที่มีอยู่ไว้ ตัวอย่างนี้เป็นเพียงตัวอย่างประกอบ ไม่ใช่รายงานการทดสอบหรือการอ้างว่าการติดตั้ง SLES 15 ทุกครั้งจะมีชื่ออินเทอร์เฟซหรือบริการเหมือนกัน
ใน SLES 15 นั้นfirewalldfirewalld เป็นเฟรมเวิร์กไฟร์วอลล์เริ่มต้น และfirewall-cmdควบคุมการทำงานของมัน ขั้นแรกให้ระบุโซนที่ใช้งานอยู่และตรวจสอบการเข้าถึงระยะไกล จากนั้นเพิ่มบริการที่จำเป็นขนาดเล็กที่สุดลงในโซนนั้นในการกำหนดค่าถาวรและโหลดใหม่ เอกสารคู่มือความปลอดภัยและการเสริมความแข็งแกร่งของ SUSE SLES 15 SP7 อธิบายโมเดลแบบโซนนี้และความแตกต่างระหว่างกฎขณะทำงานและกฎถาวร ขั้นตอนเหล่านี้สมมติว่าได้ติดตั้งและใช้งาน firewalld แล้ว ระบบที่อัปเกรดเก่ากว่าอาจต้องตรวจสอบการย้ายข้อมูลแยกต่างหาก
เชื่อมต่อผ่านคอนโซลเซิร์ฟเวอร์หรือเซสชันการจัดการที่คุณสามารถกู้คืนได้หากการเข้าถึงเครือข่ายถูกขัดจังหวะ หากคุณเชื่อมต่อผ่าน SSH ให้เปิดเซสชันนั้นไว้ในขณะที่ทำการเปลี่ยนแปลงไฟร์วอลล์ ตรวจสอบให้แน่ใจว่า firewalld ทำงานอยู่ และดูว่าโซนใดเป็นเจ้าของอินเทอร์เฟซ:
sudo firewall-cmd --state
sudo firewall-cmd --get-active-zones
sudo firewall-cmd --get-default-zone
คำสั่งแรกควรรายงานrunningคำสั่ง active-zones จะแสดงรายการโซนที่มีอินเทอร์เฟซหรือที่อยู่ต้นทางที่กำหนดไว้ อาจแสดงมากกว่าหนึ่งรายการ ในตัวอย่าง web01 สมมุติ สมมติว่ามันรายงานpublicอินเทอร์เฟซens192ให้ใช้โซนที่เชื่อมต่อกับอินเทอร์เฟซเครือข่ายขาเข้าในคำสั่งถัดไป อย่าสันนิษฐานว่าอินเทอร์เฟซมีชื่อว่าeth0และอย่าสันนิษฐานว่าpublicทำงานอยู่เพียงเพราะเป็นค่าเริ่มต้นทั่วไป

หากบริการไม่ได้ทำงานอยู่ ให้ตรวจสอบสถานะก่อนเริ่มใช้งาน: sudo systemctl status firewalldในการติดตั้ง SLES 15 มาตรฐาน firewalld จะถูกติดตั้งและเปิดใช้งานโดยค่าเริ่มต้น แต่โปรไฟล์รูปภาพ การอัปเกรด หรือนโยบายภายในเครื่องอาจแตกต่างกันไป หากติดตั้งแล้วแต่หยุดทำงาน ให้เริ่มและเปิดใช้งานหลังจากยืนยันแล้วว่านโยบายปัจจุบันจะรักษาสิทธิ์การเข้าถึงที่คุณต้องการไว้: sudo systemctl enable --now firewalldบนโฮสต์ที่จัดการจากระยะไกล ให้ยืนยันการเข้าถึงคอนโซลและการอนุญาต SSH ของคุณก่อนเปิดใช้งานไฟร์วอลล์ที่ไม่ทราบกฎปัจจุบัน
บริการ firewalld คือกลุ่มของพอร์ตและโปรโตคอลที่มีชื่อ โปรดตรวจสอบการกำหนดค่าในเครื่องก่อนเปิดใช้งาน:
sudo firewall-cmd --info-service=http
sudo firewall-cmd --zone=public --list-all
บน SLES httpบริการที่กำหนดไว้ล่วงหน้าจะตรงกับพอร์ต TCP 80 รายการโซนช่วยให้คุณตรวจสอบบริการและพอร์ตที่อนุญาตในปัจจุบันได้ แทนที่publicด้วยโซนที่ใช้งานอยู่ที่คุณพบ หากคุณใช้ SSH ในการจัดการเซิร์ฟเวอร์ โปรดตรวจสอบให้แน่ใจว่าsshได้รับอนุญาตในโซนนั้นก่อนดำเนินการต่อ พฤติกรรมการติดตั้ง SLES และนโยบายที่มีอยู่สามารถแตกต่างกันได้ ดังนั้นควรตรวจสอบให้แน่ใจแทนที่จะใช้การคาดเดา หากเดมอน SSH ที่ติดตั้งไว้รับฟังบนพอร์ตที่ไม่ใช่มาตรฐานsshรายการบริการทั่วไปอาจไม่ตรงกัน โปรดตรวจสอบพอร์ตการรับฟังจริงของเดมอนและนโยบายไฟร์วอลล์ที่มีอยู่ก่อน

Firewalld จะเก็บรักษาการกำหนดค่าระหว่างการทำงานและการกำหนดค่าถาวรแยกจากกัน คำสั่งปกติจะเปลี่ยนเฉพาะกฎการทำงานที่ใช้งานอยู่เท่านั้น โดย--permanentจะบันทึกการกำหนดค่าไว้ แต่จะไม่เปิดใช้งานการเปลี่ยนแปลงนั้นทันที สำหรับ web01 ให้เพิ่มบริการ HTTP ลงในโซนที่เป็นเจ้าของอินเทอร์เฟซสาธารณะ:
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --reload
ระบุ--zoneอย่างชัดเจนเพื่อป้องกันไม่ให้กฎไปอยู่ในโซนเริ่มต้นที่ไม่ต้องการ การรีโหลดจะใช้กฎถาวรกับการทำงานในขณะรันไทม์ การเปลี่ยนแปลงเฉพาะในขณะรันไทม์ที่ไม่ได้บันทึกไว้จะถูกทิ้งไปในระหว่างการรีโหลด ดังนั้นควรตรวจสอบและเก็บรักษากฎชั่วคราวใดๆ ที่คุณต้องการใช้ก่อนที่จะรัน เพื่อทดสอบบริการก่อนที่จะทำให้เป็นแบบถาวร คุณสามารถรันsudo firewall-cmd --zone=public --add-service=httpโดยไม่มีตัวเลือก ก่อน --permanentหากใช้งานได้ ให้เพิ่มกฎถาวรและรีโหลด การทดสอบเฉพาะในขณะรันไทม์จะหายไปหลังจากการรีโหลดหรือรีสตาร์ทไฟร์วอลล์

หากคุณต้องการพอร์ตเดียวแทนที่จะเป็นบริการที่กำหนดไว้ล่วงหน้า ให้ระบุทั้งพอร์ตและโปรโตคอล เช่น--add-port=8080/tcpทำเช่นนี้เฉพาะเมื่อแอปพลิเคชันกำลังรับฟังบนพอร์ตนั้นจริง ๆ เท่านั้น การอนุญาตไฟร์วอลล์ไม่ได้เป็นการเริ่มต้นเว็บเซิร์ฟเวอร์ สร้างกฎกลุ่มความปลอดภัยบนคลาวด์ หรือกำหนดค่าเราเตอร์ต้นทาง เลเยอร์เครือข่ายทั้งหมดต้องอนุญาตการรับส่งข้อมูล
ตรวจสอบการตั้งค่าที่กำลังทำงานและที่บันทึกไว้:
sudo firewall-cmd --zone=public --list-services
sudo firewall-cmd --permanent --zone=public --list-services
sudo firewall-cmd --check-config
ผลลัพธ์ควรแสดงอยู่httpในรายการบริการทั้งสองรายการ และการตรวจสอบการกำหนดค่าควรเสร็จสมบูรณ์โดยไม่รายงานข้อผิดพลาด นอกจากนี้ ให้ตรวจสอบว่าแอปพลิเคชันกำลังทำงานอยู่บนเครื่องโลคอล ตัวอย่างเช่น ด้วยคำสั่ง `npm run listen` sudo ss -lntpและทดสอบเว็บไซต์จากไคลเอ็นต์บนเครือข่ายที่ต้องการ รายการไฟร์วอลล์ยืนยันกฎ ไม่ใช่การเข้าถึงแบบ end-to-end: DNS, ไฟร์วอลล์บนคลาวด์, การกำหนดเส้นทาง และเว็บเซิร์ฟเวอร์เองยังคงสามารถบล็อกหรือทำให้คำขอไม่สำเร็จได้

หากไม่จำเป็นต้องใช้ HTTP อีกต่อไป ให้ลบกฎที่บันทึกไว้แล้วโหลดใหม่: sudo firewall-cmd --permanent --zone=public --remove-service=httpตามด้วยsudo firewall-cmd --reloadตรวจสอบรายการรันไทม์และรายการถาวรอีกครั้งหลังจากนั้น หลีกเลี่ยงการล้างกฎทั้งหมดหรือการเปลี่ยนไปใช้โซนที่เชื่อถือได้เพื่อแก้ไขปัญหาการเข้าถึงเพียงปัญหาเดียว การเปลี่ยนแปลงในวงกว้างเหล่านั้นอาจทำให้บริการที่ไม่เกี่ยวข้องได้รับผลกระทบ
สำหรับคำแนะนำเฉพาะรุ่น โปรดดูคู่มือความปลอดภัยและการเสริมความแข็งแกร่งของ SUSE SLES 15 SP7สำหรับพฤติกรรมของคำสั่งในเวอร์ชัน firewalld ต่างๆ โปรดดูเอกสาร firewall-cmdและข้อมูลอ้างอิงเกี่ยวกับการกำหนดค่าขณะทำงานเทียบกับการกำหนดค่าถาวรตัวเลือกที่มีให้ใช้งานอาจแตกต่างกันไปตามเวอร์ชัน firewalld ที่มาพร้อมกับ service pack ของ SLES ดังนั้นโปรดตรวจสอบความช่วยเหลือในพื้นที่firewall-cmd --helpหากคำสั่งนั้นไม่สามารถใช้งานได้
ใช้คำสั่ง OCC ของ Nextcloud เพื่อรีเซ็ตรหัสผ่านผู้ดูแลระบบจากเชลล์เซิร์ฟเวอร์ พร้อมคำแนะนำสำหรับชื่อผู้ใช้ สิทธิ์ และผู้ให้บริการเข้าสู่ระบบภายนอก
ล้างคำเตือน HSTS ของ Nextcloud โดยการตั้งค่าส่วนหัวที่ Apache, NGINX หรือพร็อกซี TLS ของคุณ จากนั้นตรวจสอบการตอบสนอง HTTPS สาธารณะอย่างปลอดภัย
ตรวจสอบหาสาเหตุของการติดตั้งแอปจาก App Store ที่ล้มเหลว ไม่ว่าจะเป็นปัญหาจาก DNS, HTTPS, พร็อกซี, TLS หรือปัญหาการตั้งค่าจากเซิร์ฟเวอร์ Nextcloud เอง
ย้ายการสร้างภาพขนาดย่อไปไว้ในกำหนดการพื้นหลังที่ควบคุมได้ ตัดขนาดภาพตัวอย่างที่ไม่ได้ใช้ และตรวจสอบคิวโดยไม่ทำให้เซิร์ฟเวอร์ Nextcloud ของคุณทำงานหนักเกินไป
ค้นหาไฟล์ กฎการยกเว้น ปัญหาการเชื่อมต่อ หรือสถานะฐานข้อมูลไคลเอ็นต์ที่ทำให้การซิงค์ Nextcloud หยุดชะงัก จากนั้นตรวจสอบการอัปโหลดและดาวน์โหลดอย่างปลอดภัย
ค้นหาข้อจำกัดของ PHP OPcache ที่ทำให้เกิดคำเตือนของ Nextcloud อัปเดตการตั้งค่า PHP สำหรับเว็บให้ถูกต้อง รีสตาร์ทอย่างปลอดภัย และตรวจสอบผลลัพธ์
เปรียบเทียบ CODE ที่ติดตั้งมากับระบบและ CODE ที่ใช้ Docker จากนั้นเชื่อมต่อ Collabora Online กับ Nextcloud ผ่านพร็อกซีแบบย้อนกลับ HTTPS ที่ปลอดภัย
วางแผนการใช้งาน Nextcloud HA ที่เชื่อถือได้ โดยใช้พื้นที่จัดเก็บข้อมูลร่วมกัน การล็อก Redis การกำหนดเส้นทาง MariaDB ที่คำนึงถึงจำนวนเสียงข้างมาก และการตรวจสอบการทำงานล้มเหลวที่ใช้งานได้จริง
กำหนดค่าและตรวจสอบรีเลย์ TURN ที่สามารถเข้าถึงได้สำหรับ Nextcloud Talk เมื่อไฟร์วอลล์หรือ NAT ที่จำกัดปิดกั้นสื่อการโทรโดยตรง
ใช้รายงานไฟล์ที่ไม่ถูกต้องเพื่อระบุโค้ด Nextcloud ที่เปลี่ยนแปลง หายไป หรือเกินมา กู้คืนไฟล์ที่เชื่อถือได้อย่างปลอดภัย และตรวจสอบผลลัพธ์