SVN Verzeichnis sichtbar im Netz

etron770

Member
nein,
bin noch nie gefragt worden und lösche alle Cookies beim Beenden und muss Masterpasswort eingeben bevor gespeicherte Passwörter benutzt werden
 

robotto7831a

Well-Known Member
Wie connected sich Eclipse mit dem SVN? Über http oder über ein anderes Protokoll?

Mein Apache Konfiguration sieht so aus.
Code:
<Location />
    DAV svn
    SVNPath /var/svn_repos/mein_repo
    SVNAutoversioning on
    SVNPathAuthz off
    SSLRequireSSL
    SSLOptions +StrictRequire
    AuthType Basic
    AuthName "mein_repo"
    AuthUserFile /var/svn_repos/mein_repo/dav/dav_svn.passwd
    AuthzSVNAccessFile /var/svn_repos/mein_repo/dav/authz
    Require valid-user
</Location>
 

etron770

Member
Gelöst:

in dem obigen Link stand
<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>

ohne limitExept ist das Verzeichnis nicht über das Netz sichtbar

bzw mit
<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>
<LimitExcept PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>


funktioniert es dann auch, wobei man dann ja für write und read getrennte Einstellungen anlegen kann, wenn man es braucht
 
Zuletzt bearbeitet:

etron770

Member
Diese Form scheint wieder nicht mit eclipse zu funktionieren:
</LimitExcept>
<LimitExcept PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>

eine einfaches
Require valid-user
passt für beides, solange man nicht getrennte Einstellung für read und write benötigt.
 

JeGr

Member
Bei SVN oder auch GIT sollte man dann aber generell nochmals überprüfen ob
1) .svn / .git Verzeichnisse im DOCROOT des Webservers liegen und ob
2) diese Verzeichnisse zugreifbar sind (bspw. http://domain.tld/.git/HEAD)
Das hat schon mehrfach bei Installationen oder Kunden dazu geführt, dass deren komplette Versionierung öffentlich war und man damit auch eingecheckte Passwörter oder Code abgreifen konnte. Apache2(.4) hat bspw. unter Debian/Ubuntu in der Datei
Code:
/etc/apache2/conf-enabled/security.conf
einen Abschnitt wie
Code:
#<DirectoryMatch "/\.svn">
#   Require all denied
#</DirectoryMatch>
der aber erst aktiviert werden muss. Das sollte dann
Code:
<DirectoryMatch "/\.svn">
   Require all denied
</DirectoryMatch>
<DirectoryMatch "/\.git">
   Require all denied
</DirectoryMatch>
heißen, dann ist man auch hier auf der sichere(re)n Seite. Gerade nachdem viele CMS/Web Projekte jetzt mit Deployments und Versionierung arbeiten, wird gern vergessen das auch richtig abzusichern oder besser gleich den Checkout Pfad außerhalb des Docroots zu legen und die notwendigen Dateien und Ordner in den Docroot zu linken.

Gruß
 

Werbung

Top