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 |