Elke website onder eigen gebruiker middels mod-ruid2

Middels mod-ruid2 is het mogelijk om elke website onder zijn eigen gebruiker te draaien, hierdoor wordt het mogelijk om op een shared webhosting server de websites te separeren.

Hierdoor krijgt de website geen rechten op bestanden buiten zijn DocumentRoot, dit zorgt er voor dat wanneer een website lek ik, de misbruiker krijgt hierdoor geen toegang tot bestanden van andere website op de server.

De installatie is een simpel proces, wij gebruiken hiervoor een ubuntu. Wij moeten mod_ruid2 compileren, wij gebruiken hiervoor een schoon compileer server, zodat de ontwikkel tools niet op de productie server staan geïnstalleerd.

Voor mod-ruid2 moeten we apxs installeren voor het compileren van de module.

1. Installeer apache2-threaded-dev voor apxs

2. Aangezien wij een schoon compiling systeem gebruiken moeten we eerst unzip installeren en daarna downloaden we de mod-ruid2 vanaf github.

3. De apache module maakt gebruik van libcap. Voor het compileren van deze module moeten we libcap-dev installeren.

4. Wij compileren de module middels:

5. Kopieer het bestand .libs/mod_ruid2.so naar de webserver en zet deze op de locatie: /usr/lib/apache2/modules/

Maak in de directory /etc/apache2/mod-available/ het bestand mod_ruid2.load aan geef het de volgende content:

Maak in de directory /etc/apache2/mod-available/ het bestand mod_ruid2.conf aan geef het de volgende content:

Met deze drie regels bepalen wij dat de apache2 DocumentRoot bepaald onder welke gebruiker de website geladen wordt. mod_ruid2 kijkt dan wat de gebruiker en groep ID is van deze director en laad de website dan als deze gebruiker.

De RMinUidGid optie bepaald als de gebruiker id van de directory van de DocumentRoot lager is dan 1000, gebruik dan de id van RDefaultUidGid, te betekend in ons geval www-data wat traditioneel is.

Creëer een cronjob die dagelijks runt en de rechten van de gebruiker recht trekt zodat de others rechten geen rechten heeft zoals: