Cadangan inkremental otomatis ke drive eksternal

8

Latar Belakang

Klien membutuhkan solusi cadangan otomatis ke drive eksternal (harus dibawa keluar setiap minggu). Saya biasanya menyarankan rsnapshot (atau mungkin meluncurkan rsyncskrip khusus ), tetapi pertanyaan ini sedikit lebih terlibat.

Sistem berbasis Linux Arch adalah tanpa kepala dan oleh karena itu solusinya harus sepenuhnya otomatis, tidak memerlukan intervensi pengguna.

Skenario yang ideal adalah sebagai berikut:

  1. Pengguna memasang hard drive USB
  2. Cadangan inkremental lengkap dibuat
  3. Hard drive tidak terpasang
  4. Pengguna diberitahu bahwa hard drive dapat dicabut

Usul

Solusi yang saya usulkan terdiri dari:

  1. Sebuah udevaturan secara otomatis memasang drive
  2. Cadangan dimulai dengan:

    1. udevAturan yang sama juga memicu rsnapshotskrip
    2. Sebuah baris tidak valid membuat acara mendeteksi baru titik dan pemicu me-mountrsnapshot
  3. Setelah rsnapshotkeluar, umountdijalankan di drive

  4. Kemungkinan cara untuk memberi tahu hard drive dapat dihapus:

    1. Drive CD terbuka
    2. Suara dimainkan melalui speaker PC

Jika terjadi kesalahan pada titik mana pun, kirim email kepada pengguna dan lepaskan drive.

Pertanyaan

  1. Proposal saya tampaknya layak tetapi apakah ada kekurangan yang jelas? Bagaimana saya bisa membuatnya kuat?
  2. Untuk tujuan keamanan, bagaimana saya bisa memastikan hard drive yang terpasang adalah pengguna? sshkunci? Label drive?
  3. Apakah ada solusi (Linux) yang ada yang mencakup ini?
Sejak itu
sumber

Jawaban:

7

Solusi Anda tampaknya relatif cocok, namun:

  • Pastikan rsnapshotskrip tidak menganggap tahu perangkat blokir. Idealnya alamat sistem file dengan UUID atau labelnya untuk menghindari pembantaian.
  • Tambahkan batas waktu. Dengan cara ini, jika ada kesalahan yang tidak kita ketahui, atau sesuatu menyebabkan skrip tidak pernah selesai, itu bisa dianggap sebagai kesalahan alih-alih terus tanpa batas.
  • Anda menyatakan bahwa pada akhirnya bahwa "[i] f kesalahan terjadi pada titik mana pun, kirim email kepada pengguna dan unmount drive" - ​​apa yang terjadi jika drive tidak dapat dilepas, atau unmount di mana ia gagal? Apa yang terjadi jika email gagal? Pastikan Anda membuat kegagalan di sistem Anda.
  • Untuk keamanan dasar, UUID harus baik-baik saja (kecuali jika penyerang mungkin memiliki pengetahuan tentang UUID Anda), namun, jika keamanan lebih menjadi perhatian, pertimbangkan untuk menulis beberapa data ke area kode MBR (byte 0-440), dan meminta skrip untuk memeriksanya sebelum memulai pencadangan. Anda harus diingatkan bahwa ini lebih aman melalui ketidakjelasan daripada yang lain, namun dalam situasi ini saya tidak melihat metode yang mudah tersedia yang lebih unggul. Namun, jika Anda ingin melanjutkan, Anda dapat menentukan apakah drive tersebut diotorisasi dengan menganalisis sertifikat terenkripsi yang disimpan di disk. Kapanudevmendeteksi drive, skrip mendekripsi sertifikat menggunakan kuncinya. Sertifikat berisi parameter yang berkaitan dengan drive, seperti nomor seri drive, nomor model, kapasitas, dll, kemudian membandingkan parameter yang diekstrak dari sertifikat terenkripsi dengan parameter yang terlihat saat menganalisis drive. Jika parameter cocok, drive ditentukan untuk menjadi otentik, jika drive ditolak, dan skrip berakhir.

Ada solusi Linux yang ada yang termasuk dalam pengiriman ini, namun, untuk kebutuhan spesifik Anda, saya pikir Anda akan lebih baik membuat solusi yang dipesan lebih dahulu daripada mengutak-atik sumber program lain untuk membuat mereka melakukan apa yang Anda inginkan.

Untuk menulis data acak ke area kode MBR, yang dapat Anda periksa, lakukan sesuatu seperti dd if=/dev/urandom of=/dev/sdX bs=440 count=1.

Chris Down
sumber
Terimakasih Chris. Saya tidak akan berpikir untuk menggunakan UUID, yang sangat menyederhanakan banyak hal. Karena minat, dapatkah Anda membagikan tautan dari solusi yang ada? Mereka mungkin memberi saya lebih banyak ide atau berguna bagi pembaca lain.
tlvince
Saya pikir saya ingat beberapa, tetapi saya tidak dapat menemukannya sekarang. Namun, sepertinya cukup menarik, mungkin saya akan mengembangkannya sendiri. Aku akan memberitahu Anda.
Chris Down