Installerad som en Apache-modul
Installerad som en Apache-modul
När PHP används som en Apache-modul ärver den Apaches användarbehörigheter (vanligtvis de för användaren "nobody"). Detta har flera konsekvenser för säkerhet och åtkomstkontroll. Till exempel, om du använder PHP för att komma åt en databas, såvida den databasen inte har inbyggd åtkomstkontroll, måste du göra databasen tillgänglig för användaren "nobody". Detta innebär att ett skadligt skript skulle kunna komma åt och modifiera databasen, även utan användarnamn och lösenord. Det är helt möjligt att en webbcrawler kan snubbla över en databasadministratörs webbsida och radera alla dina databaser. Du kan skydda mot detta med Apache-åtkomstkontroll, eller så kan du designa din egen åtkomstmodell med hjälp av LDAP, .htaccess-filer, etc. och inkludera den koden som en del av dina PHP-skript.
Ofta, när säkerheten har etablerats till den punkt där PHP-användaren (i detta fall Apache-användaren) har väldigt liten risk kopplad till sig, upptäcks det att PHP nu förhindras från att skriva några filer till användarkataloger. Eller kanske har det förhindrats från att komma åt eller ändra databaser. Den har lika mycket säkrats från att skriva bra och dåliga filer, eller genomföra bra och dåliga databastransaktioner.
Ett vanligt säkerhetsmisstag vid denna punkt är att ge Apache rotbehörigheter, eller att eskalera Apaches förmågor på något annat sätt.
Att eskalera Apache-användarens behörigheter till rot är extremt farligt och kan kompromettera hela systemet, så att använda sudo, chroot eller på annat sätt köra som rot bör inte övervägas av dem som inte är säkerhetsproffs.
Det finns några enklare lösningar. Genom att använda open_basedir kan du kontrollera och begränsa vilka kataloger som får användas av PHP. Du kan också ställa in områden enbart för Apache, för att begränsa all webbaserad aktivitet till icke-användar- eller icke-systemfiler.
Sidslut
Orginalhemsidan på Engelska :https://www.php.net/manual/en/security.apache.php
PHP
Installerad som CGI-binär
Säkerhet
Det här är en maskinöversättning av PHP-manualen till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på
https://www.linux.se/kontaka-linux-se/
Tack till Datorhjälp som har sponsrat Linux.se med webserver.