Frequente hackeraanvallen bewijzen dat webbeveiliging het belangrijkste probleem blijft voor iedereen die zaken doet op internet. Servers zijn meestal het doelwit van deze aanvallen vanwege de informatie die ze opslaan. Daarom is het noodzakelijk om te zorgen voor betrouwbare serverbeveiliging.
PHP beveiligen op Apache
Start het "phpinfo ()"-protocol en controleer de regel met het "open_basedir"-commando. Met deze opdracht kunt u de basismap voor alle gebruikers definiëren. Nadat ze deze waarde hebben ingesteld, kunnen ze geen bestanden meer openen buiten deze hoofdmap of zijn submappen zoals "C: / Windows".
Als je andere structurele mappen hebt, definieer deze dan als de basismap met het commando "www_root". De ene gebruiker kan echter ook de bestanden van een andere gebruiker lezen en wijzigen. Dit moet worden voorkomen.
Helaas zijn er geen opties in het php.ini-bestand om te voorkomen dat een gebruiker toegang heeft tot de gegevens van een ander.
Maar er is een interessante manier als PHP op Apache draait. In phpinfo () vind je twee kolommen: Primary Value en Local Value. De eerste is de waarde in "php.ini". De tweede is een waarde die wordt bepaald terwijl de server draait.
Als de hoofdwaarde in numerieke termen klein is, kan deze in het script worden gewijzigd met het commando "ini_set ()". Dit is niet van toepassing op "open_basedir" omdat deze waarde van cruciaal belang is voor de beveiliging en alleen door een beheerder kan worden gewijzigd.
In Apache kan het configuratiebestand "httpd.conf" in de handleiding gespecificeerd worden onder de lokale waarde "open_basedir".
Andere PHP-instellingen
Door "disable_functions" in het "php.ini"-bestand in te stellen, moet u functies uitschakelen die mogelijk gevaarlijk zijn.
Denk goed na over elke actie die u onderneemt. Als u de functie uitschakelt, werken sommige scripts niet meer.
Sommige functies zijn echt gevaarlijk en zijn meestal niet vereist voor scripting. Anderen kunnen nodig zijn voor specifieke doeleinden. Daarom is het niet eenvoudig om alle functies die gevaarlijk kunnen zijn uit te schakelen, maar ook uw beslissingen zorgvuldig af te wegen.
Geloof niet dat de functie "safe_mode = On" alleen zal volstaan. Het kan enkele handige functies uitschakelen en het hierboven beschreven beveiligingsprobleem niet oplossen. Veilige modus is verouderd in PHP 5.3.0 en is verwijderd in PHP 6.0.0.
Beveiligingsproblemen
Er zijn verschillende fouten die een webontwikkelaar kan maken en een website onveilig maken.
Als u bijvoorbeeld uw blog maakt en gebruikers toestaat afbeeldingen te uploaden, kan dit een ernstig gevaar opleveren wanneer de code is geschreven door een beginner. Er zijn verschillende fouten die een programmeur kan maken op de inlogpagina, enz. Een van de meest voorkomende is het ontbreken van een verbod op het downloaden van kwaadaardige algoritmen.
Het belangrijke punt is dat één onveilige site op publieke hosting een bedreiging vormt voor de hele server. Ook het installeren van Open Source-projecten zoals PHP-Nuke kan riskant zijn. Er zijn al meerdere kwetsbaarheden in soortgelijke projecten ontdekt.