Rdiff-backup
Tartalomjegyzék |
1 Bevezető
1.1 Biztonsági mentés fogalma, célja
- A backup-megoldás elsődleges célja biztonsági mentés készítése a rendszer adott állapotáról
- A biztonsági mentés alapvető védelmet jelent bizonyos hardver- és szoftverhibák ellen
- Emberi hibák ellen is véd (pl. a RAID-el ellentétben)!
- Célja az adatok tárolása, naplózása és helyreállítás lehetőségének biztosítása
(Forrás: https://unixlinux.tmit.bme.hu/Backup)
1.2 Backup megoldások
- Teljes mentés
- Inkrementális mentés
- Kumulatív mentés
- Differenciális mentés
(Forrás: https://unixlinux.tmit.bme.hu/Backup#Backup_megold.C3.A1sok)
1.3 Rdiff-backup
Az rdiff-backup differenciális mentést hajt végre, a hagyományostól kissé eltérő formában. Hagyományosan, egy "régen" készült teljes mentéshez képest lennének a különbségi mentések, ahol csak az előző különbséghez képesti változásokat tartalmazza a következő mentés. Jelen esetben ez kicsit máshogy történik, mert a teljes mentés, mindig egy tükrözése az aktuális állapotnak, és a korábbi állapotok visszaállíthatósága az azokhoz képesti különbségek tárolásával biztosított. Ennek a megoldásnak az az előnye, hogy a legutolsó mentés nagyon gyorsan visszaállítható, gyakorlatilag egy visszamásolással. Minél régebbi mentést szeretnék visszaállítani, annál tovább fog tartani a különbségek összefűzése, így a backupból való visszaállítás. Az első mentés egy teljes mentés, ez hosszú ideig tart, de az differenciák ettől kezdve nagyjából azonos idő alatt készülnek el és jelentősen gyorsabban, mint a teljes mentés.
1.3.1 Előnyök
1.3.2 Hátrányok
2 A backup szerver telepítése
Ez a leírás alapértelmezett beállításokkal telepített Debian Lenny 5.0 rendszert feltételez, úgy szerver, mint kliens oldalon.
Csomagok telepítése:
# apt-get update # apt-get install rdiff-backup sudo openssh-server fail2ban # apt-get install hddtemp smartmontools munin-node munin-plugins-extra
- rdiff-backup
- A backup program.
- sudo
- Ahhoz szükséges, hogy az rdiff-backup-ot szerver módban futtathassuk a célrendszeren. Mivel a backup szerverről önmagáról is akarunk biztonsági másolatot készíteni, ezért ezen a rendszeren is szükség van erre.
- openssh-server
- A távoli bejelentkezéshez.
- fail2ban
- A bejelentkezési próbálkozások letiltására.
- hddtemp, smartmontools, munin-node, munin-plugins-extra
- A rendszer állapotának megfigyelésére.
2.1 SSH szerver beállítása
# nano /etc/ssh/sshd_config
PermitRootLogin no TCPKeepAlive yes AllowUsers <saját felhasználó> lhbackup
- PermitRootLogin
- Letiltjuk a root bejelentkezést SSH-n keresztül
- TCPKeepAlive
- Megbízhatóbban felismerjük a TCP kapcsolat hibáját
- AllowUsers
- Ezzel a direktívával korlátozzuk az SSH-n keresztül csatlakozó felhasználókat. Itt csak a saját felhasználónkat - amivel a szerver irányítását távolról végezzük - és a backupgép saját mentésének felhasználóját engedélyezzük!
2.2 iptables alapkonfig
# nano /etc/init.d/iptablesbuild
#!/bin/bash # SETUP DEFAULT POLICIES iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT DROP iptables -t nat -P PREROUTING ACCEPT iptables -t nat -P POSTROUTING ACCEPT iptables -t nat -P OUTPUT ACCEPT iptables -t mangle -P INPUT ACCEPT iptables -t mangle -P PREROUTING ACCEPT iptables -t mangle -P FORWARD ACCEPT iptables -t mangle -P POSTROUTING ACCEPT iptables -t mangle -P OUTPUT ACCEPT # FLUSH TABLES iptables -F iptables -X iptables -t nat -F iptables -t nat -X iptables -t mangle -F iptables -t mangle -X # ALLOW LOOPBACK INTERFACE iptables -I INPUT -i lo -j ACCEPT iptables -I OUTPUT -o lo -j ACCEPT # ALLOW SSH iptables -I INPUT -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT # ALLOW OUTGOING CONNECTIONS iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -I OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT # LOG TRIALS iptables -I INPUT -m limit --limit 1/s -j LOG # RESTART FAIL2BAN /etc/init.d/fail2ban restart
Létrehozzuk a symlinket az Init részére:
# ln -s /etc/init.d/iptablesbuild /etc/rc2.d/S20iptablesbuild