SVN varnostni problem – dostop do izvorne kode preko domena.com/.svn/ URL-ja
Rusko podjetje twocomrades je ugotovilo, da je veliko število spletnih strani ranljivih v smislu dostopa do izvorne kode preko http://moja-domena.si/.svn/.
Opis problema
.svn direktorij je ustvarjen s strani Subversion programa za vsak direktorij, ki ga vodimo skozi SVN. Prosti dostop do .svn direktorija preko URL-ja pa omogoča seznam vaših direktorij ter ponavadi tudi dostop do izvorne kode tekstovnih datotek, med katere spada tudi PHP izvorna koda. Napadalec lahko dobi vaša gesla za dostop do baze, pregleda kako deluje aplikacija ali pa vam enostavno ukrade celotno aplikacijo.
Apache splošna rešitev
Uredite httpd.conf:
-
<Directory ~ ".*.svn">
-
Order allow,deny
-
Deny from all
-
Satisfy All
-
</Directory>
cPanel rešitev
Uredite /usr/local/apache/conf/includes/post_virtualhost_global.conf:
-
<Directory "^/.*/.svn/">
-
Order allow,deny
-
Deny from all
-
Satisfy All
-
</Directory>
-
-
<DirectoryMatch "^/.*/.svn/">
-
Order deny,allow
-
Deny from all
-
</DirectoryMatch>
Da bodo spremembe ostale za vedno pa poženite še ukaz:
/usr/local/cpanel/bin/apache_conf_distiller --update
Zanimivosti
Rusko podjetje je izjavilo, da v roku 2 tednov pridobilo več kot terabajt zvorne kode. Zanimivo je tudi, da so ranljive tudi večje/bolj znane spletne strani, kot je apache.org ter php.net.
Vaša spletna stran
Ali je vaša spletna stran ranljiva? Preprosto preverite z http://vasa_domena.com/.svn/.
Več informacij o članku
- Izvorni ruski članek preveden v angleščino
- techcrunch.com - Basic Flaw Reveals Source Code to 3,300 Popular Websites
- Alex @ Net - opis problema
Podobni članki:
- Optimizacija PHP kode – prezgodnja optimizacija je zlo – apache ab testiranje
- cPanel – dodajanje apache mod_geoip modula – omejitev glede na državo obiskovalca
- Namestitev in predelava WampServer 2 (php extensions, virtual host, httpd.conf, mod rewrite)
- Omejitev dostopa do spletne strani preko apache .htaccess in .htpasswd datoteke
- Avtomatska posodobitev PHP skript preko centralne lokacije
- Javascript – delci uporabne kode
- PHP setlocale (seznam držav in kode le-teh)
- Dodatek za pisanje kode (PHP, MySQL, Javascript itd…)
- Apache htaccess preusmeritve



October 5th, 2009 ob 8:25 pm
Tole v bistvu ni SVN varnostni problem, temveč neznanje sistemskega administratorja in programerjev.
October 5th, 2009 ob 9:00 pm
Res je, načeloma je kriv sistemski administrator, ampak izhaja pa iz uporabe .SVN-ja, zato sem na tak način predstavljiv (na nek najbolj razumljiv način).
October 7th, 2009 ob 10:47 am
.svn folderji nimajo na produkciji kaj iskat..
October 7th, 2009 ob 12:18 pm
Boš vsakič, ko nekaj popraviš za projetk naredil svn export na produkcijo?
October 8th, 2009 ob 9:57 pm
ja, vsakič in vedno.
October 9th, 2009 ob 7:08 am
Hehe, bi vas rad videl:)
October 9th, 2009 ob 1:20 pm
Ne hecam se. Postopek updejta je zahteven in v ta namen imamo spisane cele skripte v phingu, da postopek popolnoma avtomatizirajo:
- export projekta
- pakiranje in verzioniranje JS in CSS datotek
- umakneš strežnik z load balancerja
- reset APC cachea na strežniku
- rsync projekta na strežnik
- preload memcache in APC cachea
- vklopiš strežnik nazaj v load balancer
In to je samo okvirno.
October 9th, 2009 ob 10:34 pm
Drži, pri nas imajo administratorji tudi zgledno definirane policyje glede tega. Release se tagira, potem ga pa oni namestijo na predprodukcijo, kjer se stestira in potem v primeru, da je vse kul, namesti na produkcijo, do koder razvijalci načeloma nimamo write dostopa.
.svn mapice pa se na produkciji znajdejo, če nekdo ne loči med export in checkout... v takem primeru mu za to jesen priporočam prodajanje kostanja namesto šarjenja po strežnikih
May 6th, 2010 ob 1:07 am
[...] Czytaj więcej: SVN varnostni problem – dostop do izvorne kode preko domena.com … [...]