Енкриптовање и копирање сервера коришћењем Дуплисити програма
Аутор: Ненад Марјановић
Некада је већина системских администратора користила ФТП у сврхе чувања копије података. Временом је утврђено да је овај начин несигуран и да је сваком озбиљном пословању заштита података приоритет. Ако смо успешно заштитили своју инфраструктуру, потребно је заштитити и чување резервне копије података. За то користимо енкрипцију, односно шифровање података.
У овом процесу описаћемо инсталацију програма Дуплисити (енг. 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
Брисање копија старијих од неког периода (у овом случају шест месеци — 6М):
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.