Co powinienem rozważyć, aby zabezpieczyć SVN w systemie Windows? [Zamknięte]

14

Obecnie korzystam z serwera VisualSVN i jest on dostępny tylko w mojej sieci domowej. W końcu inni będą mieli do niego dostęp, ale na razie to tylko ja i chciałbym móc zejść do kawiarni (lub gdziekolwiek) i móc pracować z dala od domu.

Obecnie uzyskuję dostęp do serwera pod adresem http://user-pc:xx/svn/Projects/. Kiedy skonfiguruję router do przekazywania portu XX na mój serwer, jakie kroki powinienem podjąć, aby zabezpieczyć serwer?

Pamiętaj, że robię to w systemie Windows i chociaż intensywnie używam zwykłego wiersza polecenia, nie byłem na SVN bardzo długo i nie użyłem niczego innego niż TortoiseSVN do tej pory.

Edycja : Jedyną szkodliwą rzeczą, którą atakujący może zrobić, o której wiem, jest: odgadnięcie mojego numeru portu, nazwy użytkownika i hasła, aby dostać się do repozytorium. Jednak jak mówi przysłowie, nie wiem, czego nie wiem.

Niekoniecznie więc pytam o instrukcje krok po kroku (choć z pewnością też chciałbym to mieć), tyle ile rzeczy, które muszę wziąć pod uwagę przy każdym rodzaju ataku, który mógłby zostać wykonany po otwarciu portu.

Brandon Moore
źródło
Czy potrafisz zdefiniować, czym jest „chronić siebie?” dla Ciebie? Chroń swój kod, swój Apache, swój system Windows przed dzieciakami ze skryptów?
Lazy Badger
@LazyBadger Zobacz moją edycję
Aby odpowiedzieć na pytanie pozostawione na fladze, SO głosujący nie uważali, że to pytanie zasługuje na więcej uwagi. Czuli, że to wyraźnie nie na temat (jak to tu, to o serwerze domowym, który jest off topic) i nie chcą spędzać czas, aby wyjaśnić ponownie dlatego, zapominając, że dla każdego wystąpienia jest czyjś pierwszy raz . Nie jestem regularnym na SO, więc nie mogę wyjaśnić, jakie było ich myślenie na temat włączania / wyłączania.
sysadmin1138
@ sysadmin1138 Dzięki za poświęcenie czasu na napisanie. Nie wiem jednak, co masz na myśli, mówiąc o „tłumaczeniu”, ponieważ nigdy nie wyjaśnili niczego na początek. Zgadzam się, że tutaj wydaje się to nie na temat, jednak nie było to nie na temat w Stack Overflow i nadal chciałbym wyjaśnienie tego. Podejrzewam, że nie ma jednego, a oni po prostu arbitralnie uznali, że nie podoba im się to pytanie.
Brandon Moore,
Zostawiłem flagę na pytaniu SO, aby sprawdzić, czy uda mi się przenieść to do lepszego domu.
sysadmin1138

Odpowiedzi:

7
  1. Użyj dobrej siły hasła, aby zabezpieczyć serwer VisualSVN
  2. Użyj wyższego portu dla serwera, np. 39517 zamiast domyślnego portu 80 lub 443. Utrudnianie osobie atakującej jest trudniejsze. Atakujący musiałby polegać na skanowaniu portów.
  3. Serwer VisualSVN nie zezwala na anonimowy dostęp. Musisz jawnie zdefiniować użytkowników.
  4. Daj użytkownikom dostęp tylko do osób, które znasz / którym ufasz.
Jeden jeden
źródło
1
Nie powinny być 4. Użytkownik daje dostęp tylko do zaufanych osób (nie pozwalają im korzystać z konta)
Biorąc pod uwagę jego # 3, to tak jakby zakładałem, że miał na myśli.
@orn, o to mi chodzi. Przepraszam za mój angielski.
Jedną z rzeczy, o których zastanawiałem się, były próby zhakowania hasła przez brutalną siłę, ale zapominam, że musieliby również odgadnąć nazwę użytkownika, więc to dobrze.
@BrandonMoore musieliby także znać port.
8
  1. Używaj https po stronie serwera, a nie zwykłego http (AuthType Basic jest przechwytywalny) użytkowania Digest auth (musisz ręcznie skonfigurować Apache)
  2. Użyj (bezpłatnego) certyfikatu wydanego przez CA na serwerze, nie podpisanego przez siebie (możesz użyć certyfikatu z podpisem własnym, ale będziesz musiał (?) Weryfikować go za każdym razem)
  3. Zachowaj aktualną wersję serwera VisualSVN (z poprawkami dotyczącymi potencjalnych problemów w Apache i | lub samym SVN)
  4. Włącz logowanie w httpd.conf w celu przeprowadzenia audytu bezpieczeństwa (domyślnie brak rejestrowania na serwerze VisualSVN)
Leniwy Borsuk
źródło
0

Polecam korzystanie z dostępu ssh do twojego serwera svn. Osobiście wolę uwierzytelnianie za pomocą klucza publicznego / prywatnego.

Mimo to sugestie desaivv są również rzeczami, które poleciłbym.


źródło
Dzięki Robert. W moich wyszukiwaniach w Google tak mówią wszyscy ... ale nie znalazłem jeszcze żadnych prostych instrukcji na temat robienia tego z VisualSVN. W końcu dowiem się o tych rzeczach, ale w międzyczasie, jeśli uważasz, że znasz przewodnik dla laika dotyczący konfigurowania ssh, który może być prostszy niż te, z którymi się spotkałem, chciałbym to zobaczyć.
W przypadku konfiguracji klienta: visualsvn.com/support/topic/00008
1
@robertvoliva - VisualSVN Server to tylko protokół dostępu http / https , dla svn + ssh: // należy użyć innego rozwiązania
Lazy Badger
1
@ brandon-moore Nie, chodzi o tunele ssh od klienta (TortoiseSVN) do serwera obsługującego SSH, który nie
Lazy Badger
1
VisualSVN (nie serwer) jest dodatkiem do dostępu klienta do repozytorium SVN, niezależnego od protokołu, opartego na istniejącym kliencie svn. Forum pomocy technicznej ma dwie oddzielne główne kategorie, link z kategorii „VisualSVN”, niezwiązany z serwerem
Lazy Badger