Magazyn haseł zaszyfrowanych SVN

109

Zainstalowałem SVN na maszynie Ubuntu i nie mogę się nad czymś ogarnąć.

Za każdym razem, gdy płacę coś z terminala, pojawia się ten błąd dotyczący zapisywania niezaszyfrowanego hasła:

-----------------------------------------------------------------------
ATTENTION!  Your password for authentication realm:

   <[...]> Subversion Repository

can only be stored to disk
unencrypted!  You are advised to
configure your system so that
Subversion can store passwords
encrypted, if possible.  See the
documentation for details.

You can avoid future appearances of
this warning by setting the value of
the 'store-plaintext-passwords' option
to either 'yes' or 'no' in
'/home/[...]/.subversion/servers'.
-----------------------------------------------------------------------

Trochę go wytrzeszczył, ale nie mogłem znaleźć nic przydatnego. Znalazłem jeden temat, w którym powiedział, że jest to problem klienta, a nie serwera, ale nadal nie jestem przekonany.

Mówi „skonfiguruj swój system”; co to właściwie oznacza? Serwer czy klient? Jeśli jestem serwerem, czy mogę coś z tym zrobić? oprócz ukrycia ostrzeżenia (tak jak jest napisane) ...

Dzięki!

treznik
źródło
1
To pytanie dotyczy tego, jak ukryć ostrzeżenie, jeśli nie chcesz szyfrować hasła. To pytanie dotyczy tego, jak skonfigurować system, aby poprawnie zaszyfrował hasło.
outis nihil

Odpowiedzi:

44

To kwestia klienta. Ostrzega, że ​​poświadczenia używane na różnych serwerach są przechowywane w postaci zwykłego tekstu. Możesz ukryć to ostrzeżenie lub użyć zaszyfrowanego magazynu do buforowania haseł.

Zobacz: http://blogs.collab.net/subversion/2009/07/subversion-16-security-improvements/

frisco
źródło
14
Prezentowane magazyny szyfrowania to GNOME Keyring lub Kwallet, ale ponieważ nie używam żadnego interfejsu pulpitu na moim serwerze, zgaduję, że szyfrowanie nie wchodzi w grę. Dobrze?
treznik
3
W pierwszym komentarzu można zobaczyć, że jest opcja użycia tego wiersza poleceń, nie jestem pewien, jak to działa, ale wydaje się wykonalne.
frisco
5
Nie mogę uwierzyć, że svn nie zapewnia haszowania pw, takiego jak htpasswd lub podobny.
d -_- b
17
@sims Haszowanie jest dobre, jeśli chcesz WERYFIKOWAĆ poprawność hasła. Klient zamierza WYSŁAĆ hasło do serwera, więc hashowanie nie wystarczy. Musisz to przechowywać dwukierunkowo.
Notinlist
6
Możesz go zdobyć bez ponownej kompilacji, w oparciu o ubuntuforums.org/showthread.php?t=1348567 . Po prostu ustaw to na ~ / .subversion / config [auth] password-
store
6

Szyfrując hasło, nie będziesz w stanie uzyskać niezaprzeczalności (inni użytkownicy mogą używać twojego skrótu tak samo jak ty) ze względu na uprawnienia do plików systemu operacyjnego. Jednak większość firm konfiguruje subversion przy użyciu hasła domeny lub jakiejś formy hasła SSO. Szyfrując hasło, można przynajmniej zamaskować kogoś przed dostępem innych użytkowników do innych kont.

Nadal martwiłbym się o siłę szyfrowania. Jeśli hasło subversion jest powiązane z innymi ważnymi kontami, ktoś może przetestować siłę szyfrowania, aby złamać hasło.

Najlepszym rozwiązaniem jest ustawienie klienta subversion tak, aby wyłączał przechowywane hasła i zmuszał leniwych programistów do uwierzytelniania za każdym razem.

Jason Lawrence
źródło
13
To, czy ta ostatnia propozycja jest „najlepsza”, zależy od innych czynników. A co, jeśli deweloperzy, w obliczu uciążliwego procesu zatwierdzania / aktualizacji, zaczną mniej używać SVN, w wyniku czego szczegółowość synchronizacji z innymi staje się bardziej szorstka? A co, jeśli zaczną wymyślać sposoby przechowywania swoich haseł w innym miejscu i zautomatyzować proces uwierzytelniania w sposób niebezpieczny?
LarsH
2

Przechowuję dane uwierzytelniające na zaszyfrowanym dysku. (Chociaż, gdy encfs jest zamontowany, poświadczenia są nadal zwykłym tekstem na moim koncie)

$ ls -nl ~/.subversion/
total 20K
-rw-r--r-- 1 1000 1000 4.2K 2009-07-10 13:00 README.txt
lrwxrwxrwx 1 1000 1000   31 2009-10-14 14:31 auth -> ~/crypt/subversion/auth/
-rw-r--r-- 1 1000 1000 5.7K 2009-07-10 13:00 config
-rw-r--r-- 1 1000 1000 3.6K 2009-07-10 13:00 servers

Korzystanie z git-svn oznacza, że ​​potrzebuję danych uwierzytelniających znacznie rzadziej, więc ich całkowite nie zapisywanie może nie być zbyt uciążliwe.

bsb
źródło