8 Sfaturi esențiale pentru securizarea serverului de aplicații web

În cele mai multe cazuri, serverele de aplicații web trebuie să fie accesibile publicului, ceea ce înseamnă că sunt expuse la tot felul de amenințări.


Multe dintre aceste amenințări sunt previzibile și ușor de evitat, în timp ce altele sunt necunoscute și vă pot prinde fără gardă. Pentru a minimiza posibilitatea acestui ultim caz, vă oferim o listă de sfaturi esențiale pentru a păstra serverele de aplicații web cât mai sigure.

Înainte de a începe cu lista de sfaturi, trebuie să înțelegeți că un server de aplicații web nu este o insulă. Serverul este componenta centrală din ferma de aplicații web care face posibilă găzduirea și funcționarea unei aplicații web. Prin urmare, pentru a vă asigura, trebuie să luați în considerare toate componentele care îl înconjoară și să securizați întregul mediu de aplicație web.

Un mediu de bază pentru găzduirea și rularea aplicațiilor web include sistemul de operare (Linux, Windows), software-ul webserver (Apache, Nginx), un server de baze de date. Dacă oricare dintre aceste componente este divizată, atacatorii ar putea avea acces și efectua toate acțiunile rău intenționate pe care le doresc.

Un prim sfat de bază pentru asigurarea unui mediu, cum este cel descris mai sus, este citirea ghidurilor de securitate și a listelor de bune practici pentru fiecare componentă. Acestea fiind spuse, să trecem în revistă o serie de linii directoare de securitate de bun-simț care se aplică aproape în fiecare mediu de aplicații web.

Firewall-ul a demistificat

S-ar putea să fiți tentat să verificați rapid acest articol, gândindu-vă: „norocos, am deja un firewall care îmi protejează rețeaua”. Dar mai bine îți ții caii.

S-ar putea ca firewallul dvs. să aibă grijă de granițele rețelei dvs., să-i scoată pe cei răi și pe cei buni, dar sigur că lasă o ușă larg deschisă pentru ca atacatorii să intre în serverul de aplicații web..

Cum?

Simplu: firewallul dvs. de rețea trebuie să permită cel puțin traficul de intrare pe porturile 80 și 443 (adică HTTP și HTTPS) și nu știe cine sau ce trece prin acele porturi.

Ceea ce aveți nevoie pentru a vă proteja aplicația este un firewall pentru aplicații web (WAF), care analizează în mod specific traficul web și blochează orice încercare de a exploata vulnerabilități, cum ar fi scripturile încrucișate sau injecția de cod. Un WAF funcționează ca un antivirus și un antimalware tipic: caută modele cunoscute în fluxul de date și îl blochează atunci când detectează o solicitare dăunătoare.

Pentru a fi eficient, WAF trebuie să își actualizeze baza de date constant cu noi modele de amenințări, pentru a le putea bloca. Problema cu prevenirea atacurilor bazate pe model este că aplicația dvs. web poate fi una dintre primele ținte ale unei noi amenințări de care WAF-ul dvs. nu este încă în cunoștință de.

Din aceste motive, aplicația dvs. web are nevoie de straturi de protecție suplimentare pe lângă firewallul de rețea.

Căutați vulnerabilități specifice web-ului

Din nou, nu credeți că serverul dvs. de aplicații web nu este vulnerabil, doar pentru că scanerul de securitate al rețelei spune acest lucru.

Scanerele de rețea nu pot detecta vulnerabilități specifice aplicației. Pentru a detecta și elimina aceste vulnerabilități, trebuie să puneți aplicațiile sub o serie de teste și audituri, cum ar fi teste de penetrare, scanare cu cutii negre și auditare a codului sursă. Niciuna dintre aceste metode nu este rezistentă la gloanțe. În mod ideal, ar trebui să efectuați cât mai multe dintre ele pentru a elimina toate vulnerabilitățile.

De exemplu, scanere de securitate, cum ar fi Netsparker, asigurați-vă că niciun cod exploatabil nu ajunge în mediul de producție. Dar ar putea exista vulnerabilități logice care pot fi detectate doar prin auditul manual al codurilor. Auditul manual, pe lângă faptul că costă mult, este o metodă umană și, prin urmare, predispusă la erori. O idee bună pentru a face acest tip de audit fără a irosi mulți bani este integrarea acestuia în procesul de dezvoltare, mai ales prin educarea dezvoltatorilor dvs..

Educați-vă dezvoltatorii

Dezvoltatorii tind să creadă că aplicațiile lor funcționează în lumi ideale, în care resursele sunt nelimitate, utilizatorii nu greșesc și nu există persoane cu intenții nemiloase. Din păcate, la un moment dat, trebuie să se confrunte cu probleme din lumea reală, în special în ceea ce privește securitatea informațiilor.

Atunci când dezvoltă aplicații web, codificatorii trebuie să cunoască și să implementeze mecanisme de securitate pentru a se asigura că nu este vulnerabil. Aceste mecanisme de securitate ar trebui să facă parte din ghidul celor mai bune practici pe care echipa de dezvoltare trebuie să le respecte.

Auditul de calitate al software-ului este utilizat pentru a asigura respectarea celor mai bune practici. Cele mai bune practici și auditul sunt singurele modalități de a detecta vulnerabilitățile logice, cum ar fi (de exemplu) trecerea parametrilor necriptate și vizibile în interiorul unei adrese URL, pe care un atacator le-ar putea modifica cu ușurință pentru a face ceea ce își dorește.

Dezactivați funcționalitatea inutilă

Presupunând că aplicațiile web sunt cât se poate de greșite și că ferma web este securizată, să vedem ce se poate face pe serverul însuși pentru ao proteja de atacuri.

Un sfat de bază, de bun-simț, este reducerea numărului de puncte de intrare potențial vulnerabile. Dacă atacatorii pot exploata oricare dintre componentele serverului web, întregul server web ar putea fi în pericol.

Faceți o listă cu toate porturi deschise și rularea serviciilor sau a daemonelor pe serverul dvs. și închiderea, dezactivarea sau oprirea celor inutile. Serverul nu ar trebui utilizat în alt scop în afară de rularea aplicațiilor dvs. web, deci luați în considerare mutarea tuturor funcționalităților suplimentare pe alte servere din rețeaua dvs..

Utilizați medii separate pentru dezvoltare, testare și producție

Dezvoltatorii și testerii au nevoie de privilegii asupra mediilor în care lucrează, pe care nu ar trebui să le aibă pe serverul de aplicații live. Chiar dacă aveți încredere în orbește, parolele lor ar putea scurge cu ușurință și cădea în mâinile nedorite.

Pe lângă parolele și privilegiile, în mediile de dezvoltare și testare, există de obicei spații în aer liber, fișiere jurnal, cod sursă sau alte informații de depanare care ar putea expune date sensibile, cum ar fi numele de utilizator și parolele bazei de date. Procesul de implementare a aplicațiilor web ar trebui să fie realizat de un administrator, care trebuie să se asigure că nu sunt expuse informații sensibile după instalarea aplicației pe serverul live.

Același concept de segregare trebuie aplicat la datele aplicației. Testatorii și dezvoltatorii preferă întotdeauna să lucreze date reale, dar nu este o idee bună să le acorde acces la baza de date de producție sau chiar la o copie a acesteia. Pe lângă problemele evidente de confidențialitate, baza de date ar putea conține parametri de configurare care dezvăluie setările interne ale serverului – cum ar fi adresele finale sau numele de nume, pentru a numi un cuplu.

Mențineți software-ul serverului actualizat

Oricât de evident ar părea, aceasta este una dintre sarcinile cele mai trecute cu vederea. SUCURI a constatat că 59% din aplicațiile SMC erau depășite, ceea ce este deschis riscurilor.

Apar noi amenințări în fiecare zi și singura modalitate de a le împiedica să vă pună în pericol serverul este să instalați întotdeauna cele mai recente corecții de securitate.

Am menționat înainte că firewall-urile de rețea și scanerele de securitate a rețelei nu sunt suficiente pentru a preveni atacurile asupra aplicațiilor web. Dar sunt necesare pentru a vă proteja serverul împotriva amenințărilor comune de securitate cibernetică, cum ar fi atacurile DDoS. Așadar, asigurați-vă că aveți astfel de aplicații mereu actualizate și că vă protejează eficient aplicația de afaceri.

Restricți accesul și privilegiile

O măsură de securitate de bază este de a menține traficul cu acces la distanță – cum ar fi RDP și SSH – criptat și tunelat. De asemenea, este o idee bună să păstrați o listă redusă de adrese IP de unde este permis accesul la distanță, asigurându-vă că orice încercare de logare la distanță de la orice alt IP este blocată.

Administratorii oferă ocazional conturilor de servicii toate privilegiile posibile, deoarece știu că, prin aceasta, „totul va funcționa”. Dar aceasta nu este o practică bună, deoarece atacatorii pot folosi vulnerabilități în servicii pentru a penetra serverul. În cazul în care aceste servicii rulează cu privilegii de administrator, acestea pot confiscă întregul server.

Un echilibru bun între securitate și practicitate necesită ca fiecare cont – atât conturi de conectare, cât și conturi de servicii – să aibă privilegiile de care are nevoie pentru a-și îndeplini funcția și nimic altceva.

De exemplu, puteți defini diferite conturi pentru ca un administrator să facă o sarcină diferită: unul pentru a face copii de rezervă, altul pentru a curăța fișierele de jurnal, altele pentru a modifica configurația serviciilor etc. Același lucru este valabil și pentru conturile bazei de date: o aplicație are de obicei nevoie numai de permisiunile pentru citirea și scrierea datelor și nu pentru crearea sau eliminarea tabelelor. Prin urmare, ar trebui să ruleze cu un cont cu privilegii limitate pentru a îndeplini sarcinile de care are nevoie pentru a efectua.

Fii atent la jurnalele serverului

Fișierele jurnal sunt acolo dintr-un motiv.

Administratorii trebuie să-i monitorizeze în mod regulat pentru a detecta orice comportament suspect înainte de a produce vreo pagubă. Analizând fișierele jurnal, puteți descoperi o mulțime de informații pentru a vă ajuta să protejați mai bine aplicația. Dacă ar trebui să se întâmple un atac, fișierele de jurnal vă pot arăta când și cum a început, contribuind la o mai bună controlare a daunelor.

De asemenea, trebuie să aveți o procedură automatizată pentru a șterge fișierele jurnal vechi sau pentru a evita informațiile învechite, pentru a le împiedica să consume tot spațiul de stocare disponibil pe server.

Sfat bonus: țineți-vă la curent

Există o mulțime de informații gratuite și utile pe internet pe care le puteți utiliza în beneficiul aplicației dvs. web. Nu pierdeți nicio postare nouă pe blogurile de securitate de renume (ca aceasta) și rămâneți informați despre ce se întâmplă în industria de securitate și web.

Tutoriale, cursuri, videoclipurile și cărțile sunt, de asemenea, surse de cunoștințe utile. Practicați să petreceți una sau două ore pe săptămână doar pentru a fi la curent cu noutățile din industrie – Vă va oferi liniștea de a ști că faceți ceea ce trebuie pentru a vă păstra aplicațiile securizate..

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map