Back to Post List

8 praktikat kryesore të sigurisë për PHP



Posted on


Hostinkos ofron hosting, domenët dhe mjetet që ju nevojiten për webfaqen e biznesit tuaj.


Si një pronar i përgjegjshëm i uebfaqes, ka të ngjarë të dëshironi të bëni gjithçka në fuqinë tuaj për t’i mbajtur vizitorët tuaj të sigurt. Sidoqoftë, ekziston një aspekt i sigurisë që është i lehtë për t’u anashkaluar: Hypertext Preprocessor, i njohur më mirë si PHP.

PHP është shtylla kurrizore e shumë faqeve të internetit dhe aplikacioneve, duke përfshirë faqet e WordPress. Pra, është e rëndësishme të njiheni me praktikat përkatëse të sigurisë për të dhe t’i ndiqni ato me kujdes. Për fat të mirë, PHP i disponueshëm i ka të gjitha veçoritë dhe funksionet që ju nevojiten për të mbrojtur faqen tuaj nga hakerat.

Në këtë postim, ne do të diskutojmë se çfarë është PHP dhe pse është thelbësor për sigurinë e faqes së internetit. Më pas, ne do të ndajmë tetë mënyra se si PHP mund të mbrojë faqen tuaj kundër një sërë sulmesh, duke përfshirë rrëmbimin e sesioneve, Cross-Site Request Forgery (CSRF), dhe Cross-Site Scripting (XSS). Le të fillojmë!

Një hyrje në PHP (Dhe pse është e rëndësishme për sigurinë në ueb)

PHP është një gjuhë programimi nga ana e serverit që përdoret në shumë Sisteme të Menaxhimit të Përmbajtjes (CMS). Kjo përfshin WordPress, i cili e përdor atë si gjuhë skriptimi:

PHP përdoret nga 79 për qind e të gjitha faqeve të internetit, gjuha e programimit të të cilave njihet nga serveri. Meqenëse shumica e faqeve janë krijuar me PHP, është një objektiv i njohur për hakerat. Nëse një sulmues arrin të zbulojë një cenueshmëri PHP, ai mund të përdorë të njëjtin sulm kundër miliona faqeve të internetit – duke përfshirë edhe tuajën.

Nëse faqja juaj është e komprometuar, një haker mund të vjedhë të dhënat tuaja. Akoma më keq, nëse merrni pagesa në faqen tuaj, një shkelje e sigurisë mund të rezultojë në rrëmbimin ose publikimin e informacionit të kartës së kreditit të klientëve tuaj.

Kjo do të ketë pasoja të menjëhershme për biznesin tuaj duke dëmtuar besimin e klientit dhe reputacionin tuaj. Megjithatë, mund të ketë edhe implikime financiare afatgjata. Në vitin 2020, studiuesit vlerësuan se kostoja mesatare totale e një shkeljeje të të dhënave ishte 3.86 milionë dollarë. Duke mësuar praktikat e provuara të sigurisë për PHP, do të jeni në një pozicion të fortë për të shmangur këto sulme.

8 praktikat kryesore të sigurisë për PHP

Hakerët janë gjithmonë në kërkim të mënyrave për të depërtuar në faqen tuaj, duke përfshirë shfrytëzimin e PHP të faqes suaj të internetit. Le të shohim tetë veprimet që mund të ndërmerrni për t’u siguruar që PHP nuk u jep sulmuesve një rrugë drejt të dhënave tuaja.

1. Përditësoni rregullisht versionin tuaj të PHP

Versionet e reja të PHP shpesh prezantojnë rregullime për dobësitë e sigurisë. Nëse nuk po ekzekutoni versionin më të fundit, hakerët mund të ekspozojnë potencialisht ato dobësi të njohura. Prandaj, mbajtja e softuerit tuaj të përditësuar është një nga praktikat më të rëndësishme të sigurisë për PHP.

Mund të kontrolloni versionin më të fundit të qëndrueshëm të PHP në faqen zyrtare të internetit. Nëse nuk e përdorni këtë version, faqja juaj mund të jetë në rrezik.

2. Instaloni një Certifikatë Secure Sockets Layer (SSL).

Një certifikatë Secure Sockets Layer (SSL) është thelbësore për transferimin e sigurt të skedarëve nëpërmjet HyperText Transfer Protocol Secure (HTTPS) në vend të HyperText Transfer Protocol (HTTP). Kjo certifikatë është e rëndësishme për çdo faqe interneti, por është veçanërisht jetike nëse grumbulloni ose transmetoni informacione të ndjeshme, si p.sh. detajet e pagesës së klientëve. Nëse faqja juaj përmban funksionalitetin e qasjes, një certifikatë SSL mund të parandalojë gjithashtu palët e treta keqdashëse që të përgjojnë dhe vjedhin emrat e përdoruesve dhe fjalëkalimet e vizitorëve.

Në Hostinkos Hosting, ne ofrojmë një sërë certifikatash SSL nga një shumëllojshmëri e gjerë ofruesish. Ne kemi besim se do të gjeni një zgjidhje që plotëson nevojat tuaja ekzakte.

3. Mbroni kundër sulmeve XSS

Sulmet XSS ndodhin kur një haker shfrytëzon një dobësi në faqen tuaj të internetit. Si pjesë e kësaj ndërhyrjeje, agjenti do të ngarkojë një skript me qëllim të keq, i cili më pas mund të ekzekutohet në anën e klientit në shfletues. Krimineli kibernetik gjithashtu mund të ekzekutojë skriptin në serverin tuaj.

Një shembull i një sulmi XSS është kur faqja juaj pranon hyrjen e përdoruesit dhe e printon atë drejtpërdrejt në faqen e internetit. Në këtë skenar, një haker mund të ekzekutojë kodin në distancë duke paraqitur JavaScript, HTML ose edhe CSS në faqen tuaj të internetit.

Palët e treta të këqija shpesh përdorin sulme XSS për të vjedhur të dhëna, duke përfshirë fjalëkalimet e klientëve tuaj dhe informacionin e pagesës. Disa pushtime madje mund të ndryshojnë mënyrën se si duket ose sillet faqja juaj. Për shembull, hakerët mund të përdorin një XSS për të ridrejtuar vizitorët tuaj në një faqe tjetër interneti.

Sulmet XSS janë jashtëzakonisht të njohura me kriminelët kibernetikë. Në vitin 2020, Wordfence identifikoi 330 milionë sulme XSS të tentuara, duke e bërë atë kategorinë e katërt më të shpeshtë të dobësive të sulmuara.

Ju mund të mbroni nga ky sulm i shpeshtë duke pastruar të dhënat tuaja. filter_var i PHP përmban tregues dezinfektimi që ju mundësojnë të kontrolloni të gjitha të dhënat e dorëzuara nga përdoruesit. Më pas mund të hiqni të gjitha vlerat që nuk janë të llojit të pritur. Për shembull, nëse bëni një thirrje te filter_var ($ val, FILTER_SANITIZE_NUMBER_INT), të gjithë karakteret që nuk janë numra do të fshihen. Kjo mund të ndihmojë të siguroheni që po merrni të dhëna legjitime dhe jo skripte me qëllim të keq.

Ju gjithashtu mund të përdorni vërtetimin për të verifikuar që vlerat e dorëzuara nga përdoruesi përputhen me pritjet tuaja. Ju mund ta kryeni këtë vërtetim duke përdorur praktikat e sigurisë filter_var për funksionin PHP, të tilla si filter_var ($ _GET [’email’], FILTER_VALIDATE_EMAIL).

Nëse ky funksion jep një gabim, të dhënat ka të ngjarë të jenë të pavlefshme. Mund të mësoni më shumë rreth këtyre praktikave të rëndësishme të sigurisë për PHP në dokumentacionin zyrtar të veçorive të validimit.

4. Përdorni deklarata (statements) të përgatitura SQL

Nëse futni ndonjë ‘input’ të përdoruesit drejtpërdrejt në një deklaratë SSL, ju po e lini faqen tuaj të pambrojtur ndaj sulmeve të injektimit SQL. Këtu një palë e tretë keqdashëse përpiqet të thyejë pyetësorin e synuar SQL dhe në vend të kësaj kërkon informacione të ndryshme, si p.sh. detajet e pagesës së klientit.

Për t’u mbrojtur kundër këtyre sulmeve të injektimit, është e rëndësishme të siguroheni që vlerat e futura janë shmangur siç duhet. Ju mund ta arrini këtë duke përdorur një deklaratë të përgatitur për të ekzekutuar të gjitha deklaratat tuaja SQL.

Si pjesë e një deklarate të përgatitur, modeli i deklaratës SQL krijohet dhe dërgohet në bazën e të dhënave. Baza e të dhënave më pas analizon, përpilon dhe kryen optimizimin e pyetësorëve në shabllonin SQL dhe ruan rezultatin pa e ekzekutuar atë.

Më pas aplikacioni lidh vlerat me parametrat dhe ekzekuton deklaratën. Meqenëse parametrat transferohen më vonë duke përdorur një protokoll tjetër, kjo nuk lë vend për një sulm të injektimit SQL.

Ju gjithashtu mund të vërtetoni llojin e të dhënave të hyrjes duke përdorur funksionin bind_param. Ky funksion lidh parametrat me pyetjen SQL dhe i tregon bazës së të dhënave se cilat janë këto parametra. Për shembull:

$stmt->bind_param("sss", $firstname, $mbiemri, $email);

Këtu, SSS liston llojet e të dhënave që duhet të përfshijnë këto parametra. Këto argumente mund të jenë ose: i (integer)d (double)s (string), ose b (BLOB). Duke i treguar bazës së të dhënave se çfarë lloji të të dhënave duhet të prisni, ju mund të minimizoni më tej rrezikun e injektimeve SQL.

Është gjithashtu e zgjuar të përdoret Object Relational Mapping (ORM), të tilla si Doctrine ose Eloquent. Kjo zvogëlon shanset që hakerët të injektojnë pyetësor SQL.

5. Mbrohuni kundër sulmeve CSRF

CSRF ndodh kur një haker kryen veprime të padëshiruara në faqen tuaj të internetit. Si pjesë e këtij sulmi, pala e tretë e keqdashëse përpiqet të transferojë komanda me qëllim të keq në faqen tuaj.

Ndërhyrësi nuk mund të shohë përgjigjet ndaj kërkesave të falsifikuara, kështu që sulmet CSRF synojnë kryesisht kërkesat që ndryshojnë gjendjen. Krimineli kibernetik mund të dërgojë një lidhje ose të ndryshojë të dhënat në një tag HTML, i cili shkakton një ndryshim të gjendjes, siç është transferimi i fondeve ose modifikimi i kredencialeve të qasjes së përdoruesit.

Për të nisur një pushtim CSRF, një haker duhet të dijë parametrat dhe kombinimet e vlerave që përdorni në fushat e hyrjes së përdoruesit. Ju mund ta ndihmoni serverin të zbulojë kërkesat e pavlefshme duke shtuar një parametër shtesë me një vlerë që është e panjohur për hakerin.

Një qasje është përdorimi i një token anti-CSRF. Ky është një varg i rastësishëm që është i njohur vetëm për shfletuesin e vizitorit dhe web aplikacionin tuaj. Zakonisht ruhet brenda një ndryshoreje sesioni. Ju mund ta shtoni këtë token në një fushë të fshehur që dërgohet me kërkesën.

Serveri do ta pranojë kërkesën tuaj vetëm nëse vlerat e ndryshores së sesionit dhe fusha e formës së fshehur përputhen. Për shkak të politikës së origjinës së njëjtë, hakerët nuk mund të lexojnë përgjigjen që përmban token.

Përndryshe, mund të përdorni atributin e cookie-ve SameSite. Kjo parandalon që shfletuesit të shtojnë automatikisht cookie në kërkesa, pavarësisht se nga e kanë origjinën. Ju mund të shtoni atributin SameSite në header të përgjigjes SetCookie kur serveri lëshon një cookie:

SetCookie: SessionId=sYMnfCUrAlmqVVZn9dqevxyFpKZt30NN; SameSite=Strict;

Nëse e vendosni atributin SameSite në Strict, shfletuesi nuk do të përfshijë skedarin cockies në asnjë kërkesë që vjen nga një sajt tjetër. Megjithatë, kjo mund të ndikojë në Përvojën e Përdoruesit (UX).

6. Ndërlidhni IP adresën tuaj me ID të sesionit

Rrëmbimi i sesionit (ang. session hijacking) ndodh kur një haker vjedh fshehurazi ID-në e sesionit të vizitorit. Kjo ID më pas dërgohet te serveri, ku grupi $_SESSION validon ruajtjen e tij në stack.

Në këtë pikë, hakeri do të ketë akses në web aplikacion. Rrëmbimi i sesionit mund të ndodhë nëpërmjet një sulmi XSS, ose kur agjenti fiton hyrjen në drejtorinë ku ruani të dhënat e sesionit.

Për të parandaluar që kjo të ndodhë, ne rekomandojmë lidhjen e ID-së së sesionit me vetitë e tjera të përdoruesit ose klientit. Një mënyrë e mundshme për ta bërë këtë është duke e lidhur sesionin me adresën IP të klientit:

$IP = getenv ( "REMOTE_ADDR" );

Nëse web aplikacioni zbulon ndonjë ndryshim në këtë veçori në mes të një sesioni të vendosur, është një tregues i fortë se një palë e tretë po përpiqet të kapë sesionin. Më pas mund të ndërmerrni veprime për të mbrojtur faqen tuaj të internetit dhe vizitorët tuaj. Për shembull, ju mund të përfundoni sesionin e dyshimtë.

Vetëm kini parasysh se një haker i aftë mund të jetë në gjendje të ripërdorë të njëjtën adresë IP që i është caktuar vizitorit. Ata mund ta arrijnë këtë duke përdorur të njëjtin proxy web-outbound ose duke modifikuar manualisht User-Agent-in për të imituar vizitorin. Sidoqoftë, ndërsa lidhja nuk është e garantuar se do t’ju mbrojë kundër këtij lloji të sulmit të sofistikuar të rrëmbimit të sesioneve, ai mund ta bëjë faqen tuaj më pak të ndjeshme.

7. Fshih të gjitha gabimet në produksion

Mesazhet e gabimit janë jetike kur ndërtoni dhe testoni faqen tuaj të internetit. Këto mesazhe mund të ofrojnë informacion të vlefshëm për çdo problem me faqen tuaj, gjë që mund t’ju ndihmojë t’i zgjidhni çështjet në mënyrë më efikase. Njoftimet e gabimeve mund të theksojnë gjithashtu probleme delikate që përndryshe nuk mund t’i keni vënë re.

Fatkeqësisht, hakerët mund të armatizojnë mesazhet e gabimit kundër jush. Një kriminel kibernetik mund të përdorë informacionin që përmban për të mësuar më shumë rreth sajtit tuaj dhe për të identifikuar çdo boshllëk sigurie që mund të shfrytëzojë.

Për këtë arsye, është e rëndësishme të fshehni mesazhet e gabimit kur vendosni faqen tuaj në një server live. Për ta arritur këtë, ju rekomandojmë të vendosni parametrin e mëposhtëm në skedarin php.ini të faqes suaj:

display_errors=Off

Në mënyrë tipike, ju nuk do të dëshironi t’i hidhni tërësisht këto mesazhe gabimi, pasi ato mund të jenë të dobishme për diagnostikimin e çdo problemi në të ardhmen. Ju mund të regjistroni gabimet PHP në një skedar specifik duke përdorur komandën e mëposhtme:

log_errors=On
error_log=/var/log/httpd/php_error.log

Kjo do të regjistrojë të gjitha gabimet tuaja PHP në një skedar të quajtur php_error.log. Ju mund të ndryshoni emrin e këtij skedari nëse dëshironi.

8. Zgjidhni një ofrues të besueshëm të hostimit

Hostimi është një faktor vendimtar në sigurimin e faqes tuaj kundër një game të gjerë sulmesh, duke përfshirë ata që synojnë në mënyrë specifike PHP. Në Hostinkos Hosting, të gjitha planet tona të pritjes vijnë me një sërë veçorish të integruara sigurie, duke përfshirë mbrojtjen HackScan, e cila mund të ndihmojë në bllokimin e hakerëve përpara se të dëmtojnë faqen tuaj.

Ne gjithashtu e kuptojmë se nevojat e sigurisë së çdo faqe interneti janë unike. Kjo është arsyeja pse ne sigurojmë që ju të keni akses të lehtë në të gjitha shtesat që ju nevojiten për të siguruar faqen tuaj të internetit. Të gjitha planet tona përfshijnë panelin e kontrollit cPanel miqësor për përdoruesit dhe instaluesin Softaculous.

Në Hostinkos Hosting, të gjitha planet tona vijnë me veçori të integruara sigurie që mund të ndihmojnë në forcimin e mbrojtjes suaj kundër të gjitha sulmeve të njohura të bazuara në PHP, duke përfshirë XSS!

Hostinkos

Hostinkos

https://hostinkos.com/about

Hostinkos ndihmon bizneset dhe organizatat e të gjitha formave dhe madhësive të ndërtojnë, hostojnë dhe menaxhojnë faqet e tyre të internetit.



Back to Post List