Video: Stakenet (XSN) - What is Stakenet? 2024
Als uw toepassing op Apache wordt uitgevoerd (als meer dan de helft de websites op internet doen), wilt u misschien overwegen om SuExec in uw Apache-configuratie in te schakelen. SuExec is een mechanisme dat is gebundeld met Apache waardoor scripts worden uitgevoerd als de gebruiker die eigenaar is van het script, in plaats van ze uit te voeren als de webservergebruiker.
In een niet-SuExec-omgeving worden alle scripts uitgevoerd als hetzelfde gebruikers-ID als de webserver zelf. Helaas kan een kwetsbaar script een kwaadwillende gebruiker toegang tot de achterdeur geven tot de volledige webserver, inclusief scripts die worden uitgevoerd op andere sites die op dezelfde server worden gehost.
SuExec probeert dit probleem te beperken door webtoepassingen te beperken tot hun eigen gebieden en ze uit te voeren onder de gebruikers-ID's van hun eigenaars, in plaats van onder de gebruikers-ID van de webserver. Dit script zou bijvoorbeeld worden uitgevoerd onder de gebruikers-ID van jsmith:
/ home / ~ jsmith / public_html / scripts / please_hack_me. php
Een kwaadwillende gebruiker zou dit script kunnen misbruiken, maar hij of zij zou alleen toegang hebben tot bestanden en programma's die de jsmith-gebruiker mag gebruiken. Elke andere gebruiker op de server zou worden beschermd tegen het onveilige script van jsmith.
virtuele hosts, of meerdere onafhankelijke websites die zich fysiek op dezelfde webserver bevinden. SuExec is ontworpen om scripts uit te voeren die bestaan in de documentroot van de webserver. De meeste virtuele hosts zijn zo ingesteld dat elke afzonderlijke website een eigen documentroot krijgt en de documentroot van elke site zich niet onder de documentroot van de webserver bevindt. Om deze beperking te omzeilen, moet de systeembeheerder de documentroot van elke virtuele host toevoegen aan de documentrootvariabele van de webserver in het Apache-configuratiebestand.
Voor tamelijk eenvoudige webservers kan SuExec één onveilige applicatie van al het andere trappelen. In een complexere omgeving met virtuele servers, vooraf gecompileerde modules en tientallen of honderden gebruikers heeft u echter een beveiligingsmodel nodig dat wat robuuster is.