Het maken van een backup

Ik ga er van uit dat u versie 1.1.2 van RSBAC al gebruikt en dat u zowel uw oude RSBAC configuratie als ook uw kernel-configuratie wilt behouden. Het eerste wat we moeten doen is een backup maken van alle RSBAC instellingen.

Dit is een van de weinige keren dat we een prijs betalen voor een sterk verbeterde beveiliging: op een draaiend RSBAC systeem is het niet denkbaar of gewenst dat er een proces is dat "overal bij kan". U kunt natuurlijk een kernel booten die geen RSBAC extensies heeft, maar dan werken de RSBAC administratieve tools uiteraard niet en die zijn nodig om de backup van de RSBAC data te kunnen maken. Om tijdelijk de beveiligingen uit te schakelen is het mogelijk een uw systeem in softmode te schakelen. Maar wat is softmode?

In het eerste artikel legde ik uit dat er binnen de kernel een beslissingsketen wordt doorlopen. Als een module binnen die keten vindt dat toegang tot een target niet toegestaan is, wordt dit gelogged en wordt de toegang geweigerd. In softmode wordt ook de hele keten van modules doorlopen en worden afwijzingen zoals gewoonlijk gelogged, maar het afdwingen van de beveiliging blijft achterwege. Het systeem wordt een leeuw zonder tanden: wel brullen, niet bijten. RSBAC softmode aanzetten houdt effectief in dat er geen extra beveiligingen worden afgedwongen en uw systeem dus niet langer beveiligd is. Vandaar ook dat deze modus niet standaard aan staat en by default niet aan te zetten is.

De mogelijkheid om softmode aan te zetten is een optie, die u moet aanvinken bij het compileren van de kernel. Indien u dit nog niet had gedaan, kunt u uiteraard deze optie alsnog aanvinken en de kernel code opnieuw bouwen. Herhaal daartoe de stappen die we in het laatste artikel al uitgebreid beschreven:
# cd <uw-kernel-source-code-directory>
# make menuconfig
Kies nu de optie RSBAC en vink in het dan verschijnende menu de optie 'softmode' aan. Sla uw configuratie op en voer dan de volgende commando's uit:
# make dep
# make bzImage 
# make modules
# make modules_install
Zo nodig brengt u de volgende symlink aan:
# ln -s /lib/modules/2.2.20-rsbac /lib/modules/2.2.20
en u kopieert de nieuwe kernel naar uw boot directory:
# cp arch/i386/boot/bzImage /boot/vmlinuz.rsbac.sm
Editeer het file /etc/lilo.conf en voeg regels voor de nieuwe kernel toe, bijvoorbeeld:
[...]

  image  = /boot/vmlinuz.rsbac.sm
  label  = rsbac.soft
  root   = /dev/hda2

[...]
.. en draai vervolgens lilo. Als u nu uw systeem reboot (en eventueel de juiste kernel kiest) heeft u de mogelijkheid om - als security officer - softmode aan te zetten.

Softmode aanzetten doet u als volgt:
secoff:~ > echo debug softmode 1 > /proc/rsbac-info/debug
Softmode uitzetten gaat - zoals u mogelijk al verwacht - als volgt:
secoff:~ > echo debug softmode 0 > /proc/rsbac-info/debug
Bij de nieuwe versie van RSBAC wordt een backup programma meegeleverd wat u kunt draaien. Dit programma genereert een script wat u op uw nieuwe system kunt draaien om de instellingen die u op uw oude systeem had gemaakt over te nemen. Gesteld dat u softmode aan heeft gezet kunt u als volgt een backup maken van uw RSBAC 1.1.2 data:
# cd <directory-waar-u-de-nieuwe-tars-hebt-gedownload>
# tar zxf rsbac-admin-v1.2.0.tar.gz "*/src/scripts/backup_all_1.1.2"
# cd src/scripts
Het script bevat helaas een aantal fouten. De auteur heeft inmiddels een patch op de website gepubliceerd die u moet overhalen en middels patch op dit script moet aanbrengen:
 
# patch -p1 < rsbac-bugfix-v1.2.0.-2.diff
Daarna voert u het script uit:
# ./backup_all_1.1.2 >/home/secoff/restore_rsbac.sh
Omdat zelfs in softmode de rsbac directories waar RSBAC de permanente administratie bijhoudt niet toegankelijk zijn, zult u bij het afzoeken van deze directories door het backup programma een foutmelding te zien krijgen (Operation not permitted), deze kunt u negeren. Afhankelijk van de configuratie van uw systeem kunt u wel een enorme hoop foutmeldingen in uw logfile aantreffen: dit is het woeste brullen van onze tijdelijk tandeloos gemaakte leeuw. Nu we onze data veilig hebben gesteld, kunnen we het upgrade traject in gaan. Als laatste maken we het script nog uitvoerbaar:
# chmod +x /home/secoff/restore_rsbac.sh