Ik denk dat ik hier nog wel wat leuks aan kan toevoegen.
Veel mensen draaien hun Apache's zoals ze worden geleverd door hun CP, dat is leuk, maar iedereen draait dan onder de zelfde gebruiker, dat is vaak "nobody", "apache" of "www-data".
Alle files die je nu aanmaakt via PHP worden dan van deze gebruiker, nu kan dus ook iedereen via PHP jouw file aanpassen.
Zoiets kan je proberen tegen te gaan met safemode of open_basedir, maar dat is echt allemaal schijnveiligheid, daarmee zit je echt niet veilig.
Een optie is te kiezen voor mod_ruid in combinatie met Apache 2.
Daarmee kan je iedere vhost onder zijn eigen gebruiker laten draaien, het voordeel hiervan is dat je elke directory op 700 kan zetten en elke file op 600. (Pas wel even de umask op je systeem aan zodat nieuwe files ook de juiste rechten krijgen).
Mocht er dan nu een deface plaats vinden via een lekke Joomla ofzo, dan is alleen die ene website getroffen, die gebruiker kan namelijk verder helemaal niets, hij kan geen enkele andere directory van een gebruiker in aangezien die allemaal op 700 staan.
Ook alle files die via PHP worden aangemaakt komen onder de eigen gebruiker.
Om nog veiliger te zitten leg je daar RSBAC nog eens overheen (www.rsbac.org), daarmee kan je vervolgens per gebruiker policy's maken, welke directory hij wel en niet in mag, elke directory hij "ls" mag doen en elke niet.
Zo kan je ook nog eens voorkomen dat die nasty bots iets doen als: find / -name 'index.php'; ze mogen namelijk helemaal niets behalve in hun eigen homedir spelen.
Zoiets opzetten (met RSBAC erbij) kost tijd, veel tijd, maar als je het eenmaal werkend hebt, dan heb je wel een superveilig systeem.
Wij draaien er nu al 2 jaar mee en hebben sindsdien nooit een deface gehad die verder kwam dan een homedir van die gebruiker. Wij gebruiken het ook op onze SSH-servers (alleen RSBAC) en daar hebben we ook nog nooit een security breach gehad.
Over RSBAC en mod_ruid is weinig te vinden, je zal dus veel zelf moeten uitzoeken. mod_ruid is niet zo moeilijk, maar RSBAC is flink doorbijten. Je kan overwegen om professional RSBAC support te nemen, kost je wat per maand, maar dan heb je je problemen wel stukken sneller opgelost.
Uiteraard kan je ook SELinux of GRSEC nemen, dat werkt het zelfde (naja, lijkt er op). Wij werken met RSBAC en dat bevalt ons prima.
Een echte howto is het niet, maar meer iets om over na te denken.

Likes:


Quote
