Differences
This shows you the differences between two versions of the page.
| sterretje-cluster:cluster-hosting_filesystem-layout [2016/10/10 15:19] – aangemaakt matthias | sterretje-cluster:cluster-hosting_filesystem-layout [2026/05/27 14:01] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 63: | Line 63: | ||
| verwijzing (symlink) naar applicatiedirectory X, dwz /e/ap/X gemaakt worden. | verwijzing (symlink) naar applicatiedirectory X, dwz /e/ap/X gemaakt worden. | ||
| + | ===== Read-only en Read-write filesystemen ===== | ||
| + | In onze omgeving maken wij onderscheid tussen read-only en read-write | ||
| + | filesystemen. Voor de read-only filesystemen geldt dat deze vanaf de | ||
| + | web, applicatie en database servers **niet** gewijzigd kunnen worden. | ||
| + | Deze filesystemen worden gebruikt om de uitvoerbare delen en de | ||
| + | configuratie van applicaties op te slaan. | ||
| + | In onze omgeving is het zo dat alle web-app en pages directories op read-only | ||
| + | filesystemen liggen. Verder ligt alle configuratie (frontproxy, | ||
| + | applicatieserver) op een read-only filesysteem. De read-write filesystemen | ||
| + | worden alleen gebruikt voor logfiles, temp-directories en databases. | ||
| + | |||
| + | De reden hiervoor is dat als een site gehacked wordt, het voor de | ||
| + | hacker onmogelijk is om b.v. jsp of php files te wijzigen. | ||
| + | Concreet houdt dit in dat | ||
| + | bij een geslaagde hack poging de applicatie zichzelf niet kan wijzigen | ||
| + | (op instigatie van de hacker), en dat het dus bijzonder moeilijk zal | ||
| + | zijn om b.v. aan de database inhoud te komen. | ||
| + | |||
| + | Dit houdt in dat het voor applicaties dus niet mogelijk is om | ||
| + | self-modifying code te gebruiken (bv een PHP die een nieuwe versie van | ||
| + | zichzelf neerzet). | ||
| + | Bij sommige Content Management Systems betekent dat dat het niet | ||
| + | mogelijk is om via het web-interface -zeg- extenties te installeren. | ||
| + | (want daarvoor moet de webserver kunnen schrijven in z'n eigen docroot | ||
| + | en dat mag dus niet in onze omgeving). | ||
| + | Zelfs als u bijvoorbeeld "chmod 777" (= unix speak voor world writable) | ||
| + | op een php bestand zou doen, dan nog is het niet te wijzigen vanaf | ||
| + | een applicatieserver, | ||
| + | schrijfbaar is voor de applicatie servers. | ||
| + | |||
| + | De enige plek vanaf waar naar de read-only filesystemen geschreven mag | ||
| + | worden is de upload server. Da's ook nodig, anders zouden er b.v. nooit nieuwe | ||
| + | php bestanden geplaatst kunnen worden. | ||
| + | |||
| + | Indien het toch gewenst is om via het CMS wel dit soort acties te doen, | ||
| + | dan kunnen wij in zo'n geval een zgn "admin server" | ||
| + | een webserver die op een upload server draait en dus wel mag schrijven | ||
| + | in code directories. Wij zorgen ervoor dat deze webserver afgeschermd is | ||
| + | van de buitenwereld, | ||