Sigurnosne postavke poslužitelja za Apache i PHP

Sadržaj
Neki zadaci koje treba provesti radi veće sigurnosti i izbjegavanja problema su:
Onemogućite prikaz pogreške i upozorenja u php -u, to se može koristiti u fazi programiranja kako bi se pomoglo razvojnom programeru da uvidi greške, a zatim ga deaktivira kada web uđe u fazu proizvodnje.
Onemogućite sve obavijesti o pogreškama
Koristeći sljedeće varijable u php.ini:
error_reporting (0);
// Prijavi samo greške u izvršenju
izvješćivanje o pogrešci (E_ERROR | E_WARNING | E_PARSE);
// Prijavite sve pogreške osim E_NOTICE
prijavljivanje greške (E_ALL ​​E_NOTICE);
// Prijavi sve PHP pogreške (error_reporting (E_ALL);
Također se mogu aktivirati i deaktivirati stavljanjem koda na početak stranice za izvršavanje.

Uvijek je važno ispraviti, a ne sakriti pogreške, mnogi programeri koriste error_reporting (0) za skrivanje pogrešaka, ali one su još uvijek tu i mogu se iskoristiti. Uvijek moramo izbjegavati da bilo koji kôd koji razvijemo ima greške, bilo da se radi o php -u, javascript ili jezik koji koristimo.
Važno je kontrolirati varijable i koje podatke unose.
Promijenite nastavak datoteke
Proširenje možete promijeniti pri pozivanju i izvršavanju skripti u php -u, u datotekama s html nastavkom.
U apache konfiguracijskoj datoteci (httpd.conf)
Tražimo liniju:
AddType aplikacija / x-httpd-php

Dodamo .htm i .html do kraja, bilo bi ovako:
AddType aplikacija / x-httpd-php .htm .html

Također možemo stvoriti prilagođeno proširenje za skrivanje vrste datoteke od posjetitelja
AddType aplikacija / x-httpd-php .bo .sol .tf
Ovo je vrlo korisno iz sigurnosnih razloga. Skrivamo da je aplikacija programirana jer ćete u pregledniku vidjeti jednostavno .html ili prilagođeno proširenje u skriptama koje su zapravo php. Mnoge web stranice koriste ovu metodu.
Provjerite je li register_globals neaktivan
Onemogućite register_globals i ne dopustite stvaranje varijabli u hodu, između ostalog sa:
register_globals = Isključeno

Iz php.ini -a to prisiljava deklariranje svih varijabli ili će dati pogrešku.
Onemogućite udaljene URL -ove za funkcije koje obrađuju datoteke
To služi tako da se datoteka na našem poslužitelju ne može izvršiti niti joj se može pristupiti s drugog, u php.ini deaktiviramo allow_url_fopen
allow_url_fopen = Isključeno

Ograničite u kojem direktoriju PHP može čitati ili izvršavati bilo koju skriptu ili proces
open_basedir = /var/www/htdocs/midomino.com

Svaka domena može izmijeniti svoj php.ini ako administrator poslužitelja to dopušta, iako je to rijetko.
Onemogućite Apache HTTP TRACE
HTTP TRACE se koristi za vraćanje rezultata zahtjeva koji je upućen poslužitelju.
Može se koristiti za Cross Site Scripting ili XSS napade, pa ga je iz sigurnosnih razloga najbolje onemogućiti.
Mijenjamo u / etc /httpd/konf/httpd.konf
TraceEnable isključeno
Apache je jedan od najčešće korištenih web poslužitelja, a php je najčešće korišteni jezik za web razvoj, s ovim konfiguracijama i alatima možemo pomoći u jačanju sigurnosti našeg weba od mogućih napada.
wave wave wave wave wave