สำรองข้อมูลภายนอกอย่างปลอดภัยแม้ในกรณีที่แฮ็คเข้าใช้รูท


24

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

ฉันได้ลองสำรองข้อมูลภายนอกสองวิธีแล้ว:

  • webdav แบบเมาท์รูทแบบเขียนได้ง่าย (และกำหนดค่าใน fstab) ซึ่งข้อมูลสำรองถูกคัดลอก ปัญหา : ไม่ใช่การสำรองข้อมูลนอกสถานที่จริง ๆ เนื่องจากการเชื่อมต่อ - และการเข้าถึงไปยังตำแหน่งนอกสถานที่นั้นเปิดทิ้งไว้เป็นโฟลเดอร์ในระบบแฟ้มอย่างต่อเนื่อง นี่เป็นการป้องกันที่เพียงพอต่อการโจมตีหลายชนิดหากการเมาท์มีสิทธิ์การเข้าถึงที่ จำกัด (อ่านเฉพาะการเข้าถึงรูท) แต่ไม่ได้ป้องกันผู้ประสงค์ร้ายที่มีสิทธิ์เข้าถึงรูท

  • สำรองข้อมูล Borg ผ่าน SSH พร้อมการตรวจสอบสิทธิ์ที่สำคัญ ปัญหา : การเชื่อมต่อกับเซิร์ฟเวอร์ภายนอกนั้นสามารถทำได้ด้วยคีย์ที่เก็บไว้ในโฮสต์หากผู้ใช้ที่ประสงค์ร้ายมีสิทธิ์เข้าถึงรูทไปยังโฮสต์

เป็นวิธีแก้ปัญหาฉันกำลังคิดถึงวิธีที่เป็นไปได้เหล่านี้ แต่ฉันไม่รู้ว่าจะทำอย่างไรและด้วยวิธีใด:

  • การสำรองข้อมูลสามารถเขียนหรือผนวกเข้ากับปลายทาง แต่ไม่สามารถลบได้
  • การใช้ซอฟต์แวร์สำรองข้อมูลที่จัดการการสำรองข้อมูลนอกสถานที่และไม่สนับสนุนการลบการสำรองข้อมูลนอกสถานที่จำนวนมากจากโฮสต์แรก

โซลูชันที่ไม่น่าสนใจในสถานการณ์ของฉัน:

  • งานสำรองเพิ่มเติมในโฮสต์ภายนอกซึ่งถ่ายโอนไปยังตำแหน่งที่โฮสต์แรกไม่สามารถเข้าถึงได้ (เนื่องจากข้อ จำกัด ทางเทคนิค)

ทุกคนสามารถให้คำแนะนำเกี่ยวกับวิธีการใช้การสำรองข้อมูลนอกสถานที่ที่เหมาะสมสำหรับกรณีของฉันได้หรือไม่


7
ก่อนอื่นคุณทำการสำรองข้อมูลภายในเซิร์ฟเวอร์ จากเซิร์ฟเวอร์อื่นคุณดาวน์โหลดข้อมูลสำรองให้กับตัวคุณเอง (โดยไม่ต้องติดตั้งไดเรกทอรี)
TheDESTROS

2
30 หรือ 40 ปีที่ผ่านมามีเซิร์ฟเวอร์ FTP ที่มีไดเรกทอรี "ขาเข้า" ที่ไม่ระบุชื่อ คุณสามารถอัปโหลดไฟล์ แต่ไม่สามารถเขียนทับหรือแสดงรายการไฟล์ได้ ทำงานได้ง่ายๆโดยการตั้งค่าการอนุญาตของไดเรกทอรีให้สอดคล้อง ดังนั้น ... รากในท้องถิ่นหรือไม่ไม่แตกต่าง
Damon

@TheDESTROS คำตอบในคำตอบโปรดไม่ได้อยู่ในความคิดเห็น
wizzwizz4

ฉันไม่คิดว่าควรใช้ FTP แบบไม่ระบุชื่ออีกต่อไป
Lucas Ramage

คำตอบ:


54

ข้อเสนอแนะทั้งหมดของคุณในปัจจุบันมีสิ่งหนึ่งที่เหมือนกัน: แหล่งข้อมูลสำรองทำการสำรองข้อมูลและเข้าถึงปลายทางการสำรองข้อมูล ไม่ว่าคุณจะเมานต์ตำแหน่งหรือใช้เครื่องมือเช่น SSH หรือ rsync ระบบต้นทางก็สามารถเข้าถึงการสำรองข้อมูลได้ ดังนั้นการประนีประนอมบนเซิร์ฟเวอร์อาจทำให้การสำรองข้อมูลของคุณเสียหายด้วยเช่นกัน

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

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


คำแนะนำเกี่ยวกับตำแหน่งที่จะค้นหาคำแนะนำในการตั้งค่าโซลูชันการเข้าถึงแบบอ่านอย่างเดียว?
EarthMind

5
นี่คือวิธีที่ฉันสำรองข้อมูลผ่าน ssh: เซิร์ฟเวอร์สำรองจะ ssh ลงในเซิร์ฟเวอร์ที่จะทำการสำรองข้อมูล
Michael Hampton

4
rsync บน ssh เป็นตัวเลือกที่ดีและช่วยให้สามารถสำรองข้อมูลเพิ่มเติมได้ ตรง scp เหมาะกว่าสำหรับการสำรองข้อมูลเต็มรูปแบบ
GoFundMonica - codidact.org

10
+1 - "pull" แทน "push"
Criggie

1
นี่เป็นวิธีที่โซลูชันสำรองข้อมูลเช่นBackupPCหรือIBM Tivoli Storage Manager (aka Spectrum Protect)ทำงานได้
Dubu

9

การจัดเก็บข้อมูลที่ไม่เปลี่ยนรูป

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

มีบริการหลายอย่างที่สามารถทำได้สำหรับคุณ AWS S3, BackBlaze B2 และฉันสงสัยว่า Azure และ Google ต่างก็ให้บริการที่คล้ายกัน คุณอาจตั้งค่าเซิร์ฟเวอร์ให้ทำเช่นนี้ได้ แต่ฉันไม่แน่ใจ

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

* AWS S3 **

ฉันคุ้นเคยกับ AWS S3 มากที่สุด S3 ให้พื้นที่จัดเก็บข้อมูลที่เข้ารหัสรุ่นที่มีความทนทานสูง

S3 รองรับการกำหนดเวอร์ชันซึ่งทำให้คุณไม่สามารถเปลี่ยนได้อย่างมีประสิทธิภาพ คุณสามารถเลือกที่จะใช้กฎวงจรชีวิตเพื่อลบไฟล์เวอร์ชันเก่าหลังจากช่วงเวลาที่คุณสามารถกำหนดค่าได้ นอกจากนี้คุณยังสามารถจัดเก็บรุ่นไปยังห้องเย็น (เก็บน้ำแข็งเย็น) ซึ่งมีค่าใช้จ่ายประมาณ $ 1 / TB / เดือน

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

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

ซอฟต์แวร์ที่แนะนำ

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

Borg เป็นอีกทางเลือกหนึ่ง ฉันเคยใช้ Borg แต่ฉันพบว่าด้วยการสำรองข้อมูลขนาดปานกลางของฉันหลายร้อย MB นั้นอัปโหลดข้อมูลของฉันทุกวันอย่างมีประสิทธิภาพตั้งแต่ EC2 ถึง S3 สำหรับฉันมันไม่ได้เพิ่มขึ้นดังนั้นฉันจึงหยุดใช้ ฉันหาเอกสารเกี่ยวกับเรื่องนี้แล้ว แต่ไม่มีลิงค์

มีซอฟต์แวร์หลายสิบชิ้นที่สามารถอัปโหลดไปยังที่เก็บข้อมูลบนคลาวด์

ที่เก็บที่ได้รับการป้องกัน

ด้วยซอฟต์แวร์สำรองข้อมูลบางอย่างคุณสามารถลองให้สิทธิ์ผู้ใช้ IAM เพื่อเขียนไฟล์ใหม่ แต่ไม่อัปเดตไฟล์ที่มีอยู่ เป็นเรื่องง่ายที่จะทำการ จำกัด นี้ด้วย AWS IAM แต่ตามความคิดเห็นด้านล่าง Restic จะไม่ทำงานกับการอนุญาตเหล่านั้น คุณยังสามารถใช้การรับรองความถูกต้องแบบหลายปัจจัยสำหรับการลบไฟล์จาก S3

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


1
ดูเพิ่มเติมS3 ล็อควัตถุ มันสามารถกำหนดค่าเช่นว่าไม่มีใครแม้แต่ผู้ใช้รูทสามารถลบหรือเขียนทับวัตถุในช่วงเวลาที่กำหนด
user71659

ฉันสงสัยว่าการล็อควัตถุอาจมีความสำคัญมากในการสำรองข้อมูลเนื่องจากบางครั้งคุณอาจต้องการลบไฟล์ สามารถหมดอายุเพื่อให้คุณสามารถลบไฟล์ในภายหลัง
ทิม

1
Restic ชอบที่จะสร้างและลบไฟล์ในไดเรกทอรี "ล็อค" เพื่อควบคุมการเข้าถึงแบบเอกสิทธิ์เฉพาะบุคคลดังนั้นหากคุณไม่ได้รับอนุญาตให้ลบไฟล์ที่อยู่ด้านหลัง ทางออกหนึ่งที่เสนอที่นี่คือการใช้สองถัง (หนึ่งฝากข้อมูลการอ่าน / เขียนสำหรับล็อคและหนึ่งฝากข้อมูลต่อท้ายเพียงอย่างเดียวสำหรับทุกอย่างอื่น) จากนั้นใช้อินสแตนซ์ tinyproxy ในเครื่องเพื่อส่งข้อมูลผ่านหนึ่งในสองอินสแตนซ์ Rclone ขึ้นอยู่กับพา ธ คำขอและแต่ละ Rclone ยื้อคำสั่งไปยังที่ฝากข้อมูลที่เหมาะสม
Scott Dudley

8

แอนเดอสนับสนุนการสำรองข้อมูลผนวกเท่านั้นที่เก็บระยะไกล การประนีประนอมของเซิร์ฟเวอร์ที่มีการสำรองข้อมูลสามารถส่งผลให้เกิดการสร้างการสำรองข้อมูลใหม่เท่านั้นไม่ใช่การเขียนทับข้อมูลเก่าเท่านั้น


2
สิ่งหนึ่งที่ฉันไม่ชอบเกี่ยวกับแอนเดอร์สก็คือถ้าการสำรองข้อมูลส่วนเพิ่มของคุณมีขนาดที่กำหนดเพียงแค่อัปโหลดทุกครั้งที่สำรองข้อมูล ฉันย้ายไปที่ Restic เพราะมันไม่มีประสิทธิภาพกับแบนด์วิดท์ ฉันไม่รู้ว่าเกณฑ์คืออะไร แต่ก็เพียงพอแล้วว่ามันน่ารำคาญเล็กน้อย
ทิม

ดังนั้นใครจะลบการสำรองข้อมูลเก่าในระบบดังกล่าว ฉันได้ลองเพิ่มและไม่ลบสิ่งใด ๆ ไปยังฮาร์ดไดรฟ์หนึ่งครั้งกลับกลายเป็นว่าพื้นที่จัดเก็บของฉันหมดเร็ว
เสา

7

โซลูชันที่ไม่น่าสนใจในสถานการณ์ของฉัน:

งานสำรองเพิ่มเติมในโฮสต์ภายนอกซึ่งถ่ายโอนไปยังตำแหน่งที่โฮสต์แรกไม่สามารถเข้าถึงได้

ปัญหาพื้นฐานคือถ้าคุณสามารถเข้าถึงการสำรองข้อมูลจากระยะไกลได้แฮ็กเกอร์ก็สามารถทำได้เช่นกัน

(เนื่องจากข้อ จำกัด ทางเทคนิค)

ข้อ จำกัด ทางเทคนิคถูกสร้างขึ้นเพื่อเอาชนะ

ทุกคนสามารถให้คำแนะนำเกี่ยวกับวิธีการใช้การสำรองข้อมูลนอกสถานที่ที่เหมาะสมสำหรับกรณีของฉันได้หรือไม่

เทปไดรฟ์ให้การป้องกันนอกสถานที่อย่างปลอดภัยกับภัยพิบัติทุกประเภทรวมถึงแฮกเกอร์มาเป็นเวลาเกือบ 70 ปี


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

@Greg ไม่ใช่วิธีแก้ปัญหาสำหรับทุกคนเช่นในกรณีของฉันเนื่องจากข้อ จำกัด ของบริการที่ฉันใช้ซึ่งอนุญาตเฉพาะการเชื่อมต่อ webdav, Borg, SMB และ NFS นอกจากนี้ยังเป็นโซลูชันราคาแพงมาก (เมื่อเทียบกับทางเลือกที่เหมาะสม) และไม่น่าสนใจในทุกกรณี ฉันไม่เห็นตัวเองสำรองข้อมูล€ 10 / m VPS ด้วยโซลูชันการสำรองข้อมูลออฟไลน์ราคาแพง หากข้อมูลหายไปมันไม่ใช่จุดจบของโลกสำหรับฉัน เป็นการดีที่จะเห็นคำแนะนำของช่วงราคาที่แตกต่างกันที่นี่ แต่โซลูชันนี้น่าสนใจอย่างน้อยสำหรับกรณีการใช้งานของฉัน
EarthMind

นี้. สำรองข้อมูลลงบนสื่อบันทึกทางกายภาพและหมุนสื่อทางกายภาพผ่านสถานที่ปลอดภัยนอกสถานที่โดยมีความเสี่ยงที่แตกต่างกันสำหรับภัยธรรมชาติ
arp

@asp sysadmins ของฉันสองตัว (ฉันเป็น DBA) เก็บเทปไว้ในกางเกงในรถของพวกเขา ... หนึ่งในพวกเขามาทำงานที่ WTC ในวันที่ 9/11 (ระบบเหล่านี้ต่างกันที่ DC) ดังนั้นในวันที่ 9 / 12 หรือ 9/13 (ฉันลืมที่) เขาขับรถไปที่ DC สำรองพร้อมเทปรายสัปดาห์
RonJohn

3

คุณสามารถใช้บริการจัดเก็บข้อมูลเช่น AWS S3 (หรืออาจเทียบเท่าของ Google หรือ Azure) ซึ่งคุณสามารถให้สิทธิ์ในการรูท PUT ของบัญชีรูทของคุณ แต่ไม่ลบสิทธิ์ ด้วยวิธีนี้คุณสามารถใช้โมเดลการส่งข้อมูลและผู้โจมตีจะไม่สามารถลบข้อมูลสำรองได้

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

นอกจากนี้ความคิดเห็นนอกขอบเขตที่คุณอาจพบว่าน่าสนใจ / มีประโยชน์มีหลายวิธีในการกำหนดค่า S3 และบริการที่คล้ายกันสำหรับการเฟลโอเวอร์อัตโนมัติในกรณีที่แหล่งข้อมูลหลักออฟไลน์


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

3

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

คุณสามารถใช้คำสั่ง option ได้ใน authorized_keys ของคุณ คุณแก้ไขคำสั่งที่อนุญาตในระยะไกล

วิธีเพิ่มคำสั่งใน ssh authorized_keys

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


1

เทคนิคที่คุณสามารถตั้งค่าได้คือการใช้ syncthing ระหว่างเซิร์ฟเวอร์ของคุณกับเซิร์ฟเวอร์สำรองข้อมูลระยะไกลและปล่อยให้เซิร์ฟเวอร์สำรองข้อมูลระยะไกลทำสแน็ปช็อตหรืออะไรก็ตามที่อยู่ด้านท้าย

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