четвртак, 25 априла, 2024
Како да...?

Енкриптовање и копирање сервера коришћењем Дуплисити програма

Аутор: Ненад Марјановић

Некада је већина системских администратора користила ФТП у сврхе чувања копије података. Временом је утврђено да је овај начин несигуран и да је сваком озбиљном пословању заштита података приоритет. Ако смо успешно заштитили своју инфраструктуру, потребно је заштитити и чување резервне копије података. За то користимо енкрипцију, односно шифровање података.

У овом процесу описаћемо инсталацију програма Дуплисити (енг. Duplicity) на серверима са Дебијаном и Ред Хетом. За почетак, инсталирајмо Дуплисити:

yum update && yum install epel-release

Затим,

yum install duplicity

За Дебијан и његове деривате:

aptitude update && aptitude install duplicity

За трансфер између два сервера можемо користити неколико метода, као што су Р-синк (енг. rsync), раније поменути ФТП, СЦП, ССХ, СФТП и друге. У овом примеру користимо СФТП.

За потребе овог упутства, ЦентОС 7 систем се налази на главном серверу, а за чување копија датотека, сервер са Дебијаном 8.

За потребе трансфера и за комуникацију између ове две машине, потребно је креирати ССХ кључ на ЦентОС систему.

ssh-keygen -t rsa -b 2048

Затим копирамо добијени кључ на наш удаљени (енг. backup) сервер, у овом случају уређај са Дебијаном.

ssh-copy-id -p xxxx root@1.2.3.4

Вредности xxxx замените портом који је намењен ССХ комуникацији, а 1.2.3.4 са ај-пи (енг. IP) адресом сервера са Дебијаном 8.

За потребе енкриптовања датотека креирамо гпг кључ. Понуђене опције током овог процеса су:

  • тип кључа који ћемо користити (бирамо RSA),
  • величина кључа (уносимо 2048, или само „Ентер”),
  • дужина валидности кључа (не дуже од три године — 3y),
  • лозинка (не краћа од осам карактера).

Потребно је у отвореном терминалу покренути „миш” у сврху генерисања кључа. На крају проверимо да ли смо успешно извршили претходну акцију.

gpg –list-keys

Јавни кључ који ћемо користити за енкрипцију датотеке је F8DAA8FC.

У даљем процесу повежемо се на сервер са Дебијаном и креирамо фасциклу у којој ћемо чувати копију података. То радимо командом:

mkdir -p /kopija/centos7

Ово је уједно и једина команда коју ћемо покренути у читавом процесу на серверу са Дебијаном, мада касније можемо проверити величину резервне копије и слично.

Време је да направимо нашу прву копију података. У овом примеру копирамо лог датотеке, са изузетком Апачијевих (енг. Apache) и Мај-ес-кју-елових (енг. MySQL) логова:

PASSPHRASE="LozinkaGPGKljuca" duplicity --encrypt-key javni-kljuc-ovde --exclude   /var/log/apache --exclude /var/log/mysql /var/log scp://root@1.2.3.4:xxxx//kopija/centos7

Рестаурација података коришћењем Дуплиситија

Оно што је карактеристично за Дуплисити је да у овом случају на машини са ЦентОС-ом морамо уклонити фасциклу, документ или компресовану датотеку уколико они већ постоје. Ово радимо у већини случајева када су подаци корумпирани или избрисани и када нам је потребна њихова реконструкција.

У овом примеру радићемо са Енџиниксовим (енг. nginx) логовима:

rm -f /var/log/nginx

Затим покрећемо Дуплисити:

PASSPHRASE="LozinkaGPGKljuca" duplicity --file-to-restore ime_fajla sftp://root@1.2.3.4:xxxx//kopija/centos7 /var/log/nginx

Дуплисити има и друге интегрисане функције.

Листање архива:

duplicity list-current-files sftp://root@1.2.3.4:xxxx//kopija/centos7

Брисање копија старијих од неког периода (у овом случају шест месеци — ):

duplicity remove-older-than 6M sftp://root@1.2.3.4:xxxx//kopija/centos7

Рестаурација датотеке старе четири дана и два сата:

duplicity -t 4D2h --file-to-restore var/log/nekifajl sftp://root@1.2.3.4:xxxx//kopija/centos7 /var/log/nekifajl

У последњем примеру користимо функцију -t која нам омогућава да прецизирамо одређене периоде као што су s, m, h, D, W, M, и Y (секунду, минут, сат, дан, недељу, месец и годину).

На крају ћемо напоменути да више детаља о могућностима Дуплисити програма можете пронаћи на сајту аутора http://duplicity.nongnu.org/index.html.