Gentoo Logo

[ << ] [ < ] [ Home ] [ > ] [ >> ]


6. Bestand-permissies

Inhoud:

6.a. Wereldleesbaar (world readable)

Gewone gebruikers zouden geen toegang moeten hebben tot configuratiebestanden of paswoorden. Een hacker kan paswoorden stelen van een database of website en deze defacen of, nog erger, verwijderen. Dit is waarom het belangrijk is dat de permissies correct zijn. Indien je er zeker van bent dat een bestand enkel door root gebruikt moet worden, geef deze dan 0600 permissies en verander de eigenaar via chown.

6.b. Wereld/Groep schrijfbaar

Codevoorbeeld 2.1: Zoeken naar wereldschrijfbare bestanden en directories

# /usr/bin/find / -type f \( -perm -2 -o -perm -20 \) \ 
   -exec ls -lg {} \; 2>/dev/null >writable.txt
# /usr/bin/find / -type d \( -perm -2 -o -perm -20 \) \ 
   -exec ls -ldg {} \; 2>/dev/null >>writable.txt

Dit zal een groot bestand aanmaken met de permissies van alle bestanden die ofwel schrijfbaar zijn voor de groep of voor iedereen. Bekijk deze permissies en elimineer bestanden die door iedereen schrijfbaar zijn, dit door /bin/chmod o-w uit te voeren op die bestanden.

6.c. SUID/SGID files

SUID/SGID bestanden (bestanden met de superuser bit geplaatst) zijn vaak uitvoerbare bestanden waardoor de gebruiker zaken kan uitvoeren met rootpermissies. Deze bestanden kunnen leiden tot een lokale root-escalatie (indien de bestanden/programmas fouten bevatten). Dergelijke bestanden zijn gevaarlijk en moeten vermeden worden. Indien je de bestanden niet nodig hebt, doe dan chmod 0 op deze bestanden, of unmerge de pakketten die deze bestanden levert (dat kan je controleren met qpkg -f dat door gentoolkit geleverd wordt). Anders kan je de SUID bit verwijderen met chmod -s.

Codevoorbeeld 3.1: Zoeken van suid-bestanden

# /usr/bin/find / -type f \( -perm -004000 -o -perm -002000 \) \ 
  -exec ls -lg {} \; 2>/dev/null >suidfiles.txt

Dit zal een bestand aanmaken dat alle SUID/SGID bestanden vermeldt.

Codevoorbeeld 3.2: suid-bestanden op een default Gentoo Linux systeem

/bin/su
/bin/ping
/bin/mount
/bin/umount
/var/qmail/bin/qmail-queue
/usr/bin/chfn
/usr/bin/chsh
/usr/bin/crontab
/usr/bin/chage
/usr/bin/expiry
/usr/bin/sperl5.6.1
/usr/bin/newgrp
/usr/bin/passwd
/usr/bin/gpasswd
/usr/bin/procmail
/usr/bin/suidperl
/usr/lib/misc/pt_chown
/usr/sbin/unix_chkpwd
/usr/sbin/traceroute
/usr/sbin/pwdb_chkpwd

Per default heeft Gentoo niet veel SUID bestanden (dit hangt natuurlijk af van wat je geinstalleerd hebt), maar je lijst zal er ongeveer zo uitzien. De meeste commando's moeten niet gebruikt worden door gewone gebruikers, maar enkel door root. Schakel de SUID bit uit van ping, mount, umount, chfn, chsh, newgrp, suidperl, pt_chown en traceroute dmv chmod -s op elk van die bestanden. Verwijder niet de bit van su, qmail-queue of unix_chkpwd. Als je dat zou doen zou je niet meer kunnen su'en en mail ontvangen. Maar het is natuurlijk een extra veiligheid (wat betreft su) indien er niemand hoeft te su'en.

De enige SUID bestanden die ik op mijn systeem staan heb zijn su, passwd, gpasswd, qmail-queue, unix_chkpwd en pwdb_checkpwd. Maar indien je X gebruikt zal je er waarschijnlijk nog enkele hebben, aangezien sommige X-tools de SUID-bit vereisen.


[ << ] [ < ] [ Home ] [ > ] [ >> ]


Print

View all

Upgedate op 31 mei 2005

De originele versie van dit document was laatst geupdate om 2 april 2010

Korte inhoud: Beveilig je bestanden.

Kim Nielsen
Author

John P. Davis
Editor

Eric R. Stockbridge
Editor

Carl Anderson
Editor

Jorge Paulo
Editor

Sven Vermeulen
Editor

Benny Chuang
Editor

Sune Jeppesen
Editor

Tiemo Kieft
Editor

Zack Gilburd
Editor

Dan Margolis
Editor

Dimitry Bradt
Translator

Donate to support our development efforts.

Copyright 2001-2014 Gentoo Foundation, Inc. Questions, Comments? Contact us.