Dedikuoti serveriai, VDS hostingas, debesų kompiuterija
Interneto vizija
Karjera El. paštas

Grįžti   Dedikuoti.lt forumas > Bendruomenės diskusijos > Pamokos > Serverių saugumas

Atsakyti
 
Temos įrankiai Ieškoti šioje temoje
  #1  
Senas 2012-12-31, 14:21
IV_RomanL avataras
IV_RomanL IV_RomanL neprisijungęs
Interneto vizija
 
Prisiregistravo: 2011 11
Vieta: Vilnius
Žinutės: 648
Post PHP konfigūravimas - stipriname saugumą

Siekiant išvengti virtualiai dedikuoto serverio darbo sutrikimo dėl trečiųjų šalių kaltės privalu nuolat stiprinti serverio saugumo lygius. Šiame straipsnyje pateikiame 15 patarimų kurie pagelbės stiprinant PHP saugumą.

PHP konfigūracinis failas randamas aplanke /etc .

0. Rekomenduojame naudoti PHP 5.3.X arba PHP 5.4.X versijas. PHP 5.2.X palaikymas iš PHP kūrėjų yra nutrauktas.

1. allow_url_fopen (funkcija įjungta pagal nutylėjimą)

Ši funkcija PHP aplikacijose leidžia išgauti duomenis iš nutolusių šaltinių (FTP, HTTP). Jei trečiosios šalys gali manipuliuoti šia PHP direktyva, tuomet labai lengva įkrauti informaciją ar jos dalį iš nutolusio serverio netalpinant kenkėjiškų failų tiesiogiai jūsų serveryje.

Rekomenduojama šios direktyvos nuostata: allow_url_fopen Off

2. allow_url_include (funkcija išjungta pagal nutylėjimą)

Išjungus šią funkcija blokuojami failai kurie gali būti įkraunami iš išorinių nuorodų. Jei ši funkcija išjungta, tačiau palikta allow_url_fopen direktyvą įjungta, tuomet trečiosios šalys vis tiek gali įkrauti informaciją iš nutolusių serverių.

Rekomenduojama šios direktyvos nuostata: allow_url_include Off

3. disable_functions = curl_exec,curl_multi_exec,dl,exec,fsockopen,parse_ ini_file,passthru,popen,proc_open,proc_close,shell _exec,
show_source,symlink,system


Ši direktyva leidžia išjungti specifines PHP funkcijas, taip sumažinant riziką jog bus pasinaudojama PHP aplikacijos spragomis.

Prieš išjungdami PHP funkcijas atydžiai patikrinkite ar jos nėra naudojamos jūsų tinklalapyje.

Rekomenduojama šios direktyvos nuostata: disable_functions =

Išjungiamų funkcijų paaiškinimas:
  • curl_exec - inicijuojama cURL sesija
  • curl_multi_exec - inicijuojami papildomi susijungimai cURL sesijos metu
  • dl - įkraunamas PHP plėtinys PHP vykdymo metu
  • exec - išorinės komandos vykdymas
  • fsockopen - atidaromas unix arba www prievadas (port)
  • parse_ini_file - įkraunamas konfigūracinis .ini failas
  • passthru - vykdoma išorinė programa ir pateikiami neformatuoti rezultatai
  • popen - atidaroma vykdomo failo rodyklė
  • proc_open - įvykdoma komanda ir atidaromas failas informacijos įvedimui / išvedimui
  • proc_close - uždaromas failas iššauktas proc_open komandos, pateikiamas uždarymo PID
  • shell_exec - vykdoma shell komanda
  • show_source - rodomas failo šaltinis
  • symlink - sukuriama nuoroda į failą
  • system - įvykdoma išorinė programa ir pavaizduojamas rezultatas
4. display_errors

Ši PHP direktyva pateikia PHP klaidas esant PHP aplikacijos kodo klaidoms. PHP aplikacijos klaidose gali būti pateikiama informacija aktuali trečiosioms šalims siekiančioms sukompromituoti jūsų tinklalapį ir/ar serverį.

Rekomenduojama šios direktyvos nuostata: display_errors = Off ir log_errors = On

5. expose_php

Ši direktyva nustato ar PHP versija yra rodoma trečiosioms šalims. Žinant PHP versiją galima išnaudoti žinomus pažeidžiamumus (ypač jei PHP versija nėra naujausia).

Rekomenduojama šios direktyvos nuostata: expose_php = Off

6.
magic_quotes_gpc (kai kuriose Linux distribucijose ši nuostata yra įjungta)

Ši nuostata suteikia bazinę apsaugą nuo galimų SQL injekcijų. Nepaisant to, ji nėra efektyvi ir jos naudojimas taipogi nėra skaitomas racionaliu. Apsaugą nuo SQL injekcijų rekomenduotina diegti PHP aplikacijų lygyje,

Rekomenduojama šios direktyvos nuostata: magic_quotes_gpc = Off

7. memory_limit

Ši direktyva aprašo virtualios atminties kiekį skiriamą 1 PHP procesui. Pasirinkus neracionalų memory_limit dydį atveriamas kelias DoS tipo atakai. Ši direktyva konfigūruojama pagal specifinį poreikį. Didinkite ją virš rekomenduotinos reikšmės tik tada jei iš tiesų nėra kito pasirinkimo.

Rekomenduojama šios direktyvos nuostata: memory_limit = 8M

8.
open_basedir

open_basedir direktyva apriboja PHP failų naudojimą už vartotojo nustatyto aplanko ribų. Nustatykite open_basedir (jei naudojama) tik ties tuo aplanku kurį norite jog lankytojai matytų.

Pavyzdinė rekomenduojama šios direktyvos nuostata: open_basedir = "/var/www/html/:/usr/local/php/"

9.
post_max_size

Ši direktyva riboja duomenų kiekį perduodama POST metodu. Trečiosios šalys gali sukompromituoti serverio resursus siųsdami daugybę POST tipo užklausų ir taip išnaudodami serverio atmintį.

Rekomenduojama šios direktyvos nuostata: post_max_size = 256K

10. register_globals


Šią direktyvą naudoja senesnės PHP aplikacijos. Ji leidžia automatiškai kurti kintamuosius. Ši direktyva turėtų būti visuomet išjungta.

Rekomenduojama šios direktyvos nuostata: register_globals = Off

11.
save_path

Ši direktyva aprašo aplanką kuriame kuriamos sesijos. Sesijų saugojimo aplankas turėtų būti virš vartotojams prieinamo aplanko.

Pavyzdinė rekomenduojama šios direktyvos nuostata: session.save_path = "/var/lib/php/session"

12.
upload_max_filesize

Ši direktyva nustato maksimalų 1 failo dydį kurį galima įkelti naudojant PHP aplikaciją. Trečiosios šalys mėgindamos sukompromituoti jūsų serverio sklandų darbą gali mėginti įkelti itin didelius failus taip visiškai išnaudodami jūsų serveryje esančius resursus.

Pavyzdinė rekomenduojama šios direktyvos nuostata: upload_max_filesize = 8M

13.
upload_tmp_dir

Ši direktyva aprašo aplanko kelią, kuriame saugojami laikini failai su kuriais dirba PHP aplikacija. Aplankas Negali būti pasiekiamas įprastiems vartotojams.

Pavyzdinė rekomenduojama šios direktyvos nuostata: upload_tmp_dir = "/tmp"

14. use_trans_sid

Ši direktyva nusako ar sausainėliuose (Cookies) yra matomas sesijos numeris (PHPSESSID). Jei ši informacija yra matoma, tuomet trečiosioms šalims perėmus aktyvią sesiją įmanoma perimti slaptą informaciją.

Rekomenduojama šios direktyvos nuostata: session.use_trans_sid = 0

Paskutinį kartą redagavo iv_vytenisg : 2017-08-17 12:59
Atsakyti su citata
  #2  
Senas 2017-08-13, 12:06
libercur libercur neprisijungęs
Naujokas (-ė)
 
Prisiregistravo: 2015 04
Žinutės: 12
Pagrindinis Ats: PHP konfigūravimas - stipriname saugumą

Pataisykit:
shell _exec > shell_exec
parse_ ini_file > parse_ini_file

Tarpai nereikalingi.

Paskutinį kartą redagavo libercur : 2017-08-13 12:15
Atsakyti su citata
Atsakyti

Žymės
ini, php, php.ini

Temos įrankiai Ieškoti šioje temoje
Ieškoti šioje temoje:

Detali paieška

Žinučių rašymo taisyklės
Jūs negalite kurti naujų temų
Jūs negalite rašyti žinučių
Jūs negalite įkelti failų
Jūs negalite redaguoti savo įrašų

BB kodas yra Įjungtas
Šypsenos yra Įjungtas
[IMG] kodas yra Įjungtas
HTML kodas yra Išjungtas

Greita navigacija

Panašios temos
Tema Temą sukūrė Forumas Atsakymai Paskutinė žinutė
Apache Web serverio konfigūravimas IV_RomanL Web serveriai 17 2015-10-27 15:27
CentOS + Direct Admin serverio konfigūravimas sarunazs Valdymo pultai 5 2013-03-28 08:56
Openfire serverio konfigūravimas IV_RomanL Kitos aplikacijos 0 2011-12-21 12:46


Visi laikai yra GMT +3. Šiuo metu yra 22:41.


Powered by vBulletin®
Copyright ©2000 - 2018, vBulletin Solutions, Inc.