Skip to content


Создание шифрованного бекапа с помощью fsbackup

Иногда бывают ситуации, когда требуется создание резервной копии на носителе, к которому есть доступ не только у вас. Если есть желание уберечь свои данные от посторонних глаз, то тут, конечно же, потребуется шифрование. Один из быстрых и простых способов добиться этого – использование связки fsbackup и gnupg. Далее пошаговое руководство.

  1. Устанавливаем fsbackup, правим конфиг.
  2. Создаём ключи:
    1. $ gpg --gen-key
    2. gpg (GnuPG) 1.4.11; Copyright (C) 2010 Free Software Foundation, Inc.
    3. This is free software: you are free to change and redistribute it.
    4. There is NO WARRANTY, to the extent permitted by law.
    5. Please select what kind of key you want:
    6.    (1) RSA and RSA (default)
    7.    (2) DSA and Elgamal
    8.    (3) DSA (sign only)
    9.    (4) RSA (sign only)
    10. Your selection? 1
    11. RSA keys may be between 1024 and 4096 bits long.
    12. What keysize do you want? (2048)
    13. Requested keysize is 2048 bits
    14. Please specify how long the key should be valid.
    15.          0 = key does not expire
    16.       <n>  = key expires in n days
    17.       <n>w = key expires in n weeks
    18.       <n>m = key expires in n months
    19.       <n>y = key expires in n years
    20. Key is valid for? (0)
    21. Key does not expire at all
    22. Is this correct? (y/N) y
    23. You need a user ID to identify your key; the software constructs the user ID
    24. from the Real Name, Comment and Email Address in this form:
    25.     "Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>"
    26. Real name: SysAdmin
    27. Email address: mymbox@avz.org.ua
    28. Comment:
    29. You selected this USER-ID:
    30.     "SysAdmin <mymbox@avz.org.ua>"
    31. Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O
    32. You need a Passphrase to protect your secret key.
    33. Repeat passphrase:
  3. Копируем ключи на сервер бекапов:
    1. $ scp ~/.gnupg/*.gpg backupuser@backupserver.some.where:~/.gnupg
  4. Проверяем, что в конфиг-файле fsbackup-а правильно установлены следующие переменные:
    1. $prog_pgp = "/usr/bin/gpg";
    2. # должно соответствовать имени пользователя при создании ключей
    3. $cfg_pgp_userid = "mymbox";
  5. Запускаем процесс создания бекапа:
    1. # /usr/local/fsbackup/create_backup.sh
    2. OS: linux
    3. Creating system config archive...
    4. Creating package list...
    5. Creating remote_ssh backup: s1
    6. PGP: enabled
    7. Current increment number: 1
    8. Adding /usr/local/fsbackup....
    9. done
    10. Adding /usr/src/linux/.config....
    11. done
    12. Adding /root....
    13. done
    14. Adding /etc....
    15. done
    16. Storing remote ssh backup...
    17. gpg: using PGP trust model
    18. gpg: using subkey 656FA34 instead of primary key 0F36EF13
    19. gpg: This key belongs to us
    20. gpg: reading from `[stdin]'
    21. gpg: writing to stdout
    22. gpg: RSA/AES256 encrypted for: "656FA34 SysAdmin <mymbox@avz.org.ua>"
    23. ***** Backup successful complete.
  6. При необходимости извлечь файлы из бекапа на сервере бекапов делаем так:
    1. $ ls -l
    2. total 50048
    3. -rw-rw-r--. 1 avz avz 50814369 Фев 15 16:15 s1-2012.02.15.16.15.17-0.tar
    4. -rw-rw-r--. 1 avz avz        0 Фев 15 16:15 s1-2012.02.15.16.15.17.del
    5. -rw-rw-r--. 1 avz avz    91076 Фев 15 16:15 s1-2012.02.15.16.15.17.dir
    6. -rw-rw-r--. 1 avz avz   335872 Фев 15 16:15 s1-2012.02.15.16.15.17.hash
    7. -rw-rw-r--. 1 avz avz      373 Фев 15 16:15 s1-2012.02.15.16.15.17.list
    8. -rw-rw-r--. 1 avz avz        0 Фев 15 16:15 s1-2012.02.15.16.15.17.lsize
    9.  
    10. $ file s1-2012.02.15.16.15.17-0.tar
    11. s1-2012.02.15.16.15.17-0.tar: data
    12.  
    13. $ mv s1-2012.02.15.16.15.17-0.tar s1-2012.02.15.16.15.17-0.tar.gpg
    14.  
    15. $ gpg -d s1-2012.02.15.16.15.17-0.tar.gpg > s1-2012.02.15.16.15.17-0.tar
    16. You need a passphrase to unlock the secret key for
    17. user: "SysAdmin <mymbox@avz.org.ua>"
    18. 2048-bit RSA key, ID 656FA34, created 2012-02-15 (main key ID 0F36EF13)
    19. ┌───────────────────────────────────────────────────────────────────────┐
    20. │ Please enter the passphrase to unlock the secret key for certificate: │
    21. "SysAdmin <mymbox@avz.org.ua>"                                        │
    22. 2048-bit RSA key, ID 656FA34,                                         │
    23. │ created 2012-02-15 (main key ID 0F36EF13).                            │
    24. │                                                                       │
    25. │                                                                       │
    26. │ Passphrase ********__________________________________________________ │
    27. │                                                                       │
    28. │            <OK>                           <Cancel>                    │
    29. └───────────────────────────────────────────────────────────────────────┘
    30. gpg: encrypted with 2048-bit RSA key, ID 656FA34, created 2012-02-15
    31.       "SysAdmin <mymbox@avz.org.ua>"
    32.  
    33. $ file s1-2012.02.15.16.15.17-0.tar
    34. s1-2012.02.15.16.15.17-0.tar: POSIX tar archive (GNU)
    35.  
    36. $ tar -xf s1-2012.02.15.16.15.17-0.tar

Что касается быстродействия при расшифровке, то могу сообщить следующее:

  1. $ ls -l s1-2012.02.15.23.02.34.tar.gpg
  2. -rw-rw-r--. 1 avz avz 4164349204 Фев 15 23:23 s1-2012.02.15.23.02.34.tar.gpg
  3.  
  4. $ time gpg -d s1-2012.02.15.23.02.34.tar.gpg > s1-2012.02.15.23.02.34.tar
  5. You need a passphrase to unlock the secret key for
  6. user: "SysAdmin <mymbox@avz.org.ua>"
  7. 2048-bit RSA key, ID 656FA34, created 2012-02-15 (main key ID 0F36EF13)
  8. real    3m19.129s
  9. user    2m4.648s
  10. sys     0m6.255s
  11.  
  12. $ ls -l s1-2012.02.15.23.02.34.tar
  13. -rw-rw-r--. 1 avz avz 5637232640 Фев 16 14:31 s1-2012.02.15.23.02.34.tar
  14.  
  15. $ cat /proc/cpuinfo | grep 'model name' | head -n 1
  16. model name      : Intel(R) Core(TM) i5-2500 CPU @ 3.30GHz
  17.  
  18. $ cat /proc/meminfo | grep MemTotal:
  19. MemTotal:        3835144 kB

Размещено в категории *nix, Howto. Теги: .

Комментариев: 1

Чтобы быть всегда в курсе здесь происходящего, Вы можете подписаться на RSS feed для комментариев на эту заметку.

  1. Последние версии mysql ругаются на

    "mysqldump: ambiguous option '--all' (all-databases, allow-keywords)"

    Чтобы не ругалось, надо в файле scripts/mysql_backup.sh параметр --all заменить на --all-databases

Some HTML is OK

(required)

(required, but never shared)

, или ответить через trackback.

Страница 1 из 11