Windows에서 SVN을 보호하려면 무엇을 고려해야 합니까?

Windows에서 SVN을 보호하려면 무엇을 고려해야 합니까?

현재 저는 VisualSVN 서버를 사용하고 있으며 홈 네트워크에서만 액세스할 수 있습니다. 결국에는 다른 사람들이 액세스하게 되지만 지금은 저와 커피숍(또는 어느 곳이든)에 가서 집 밖에서 일할 수 있기를 바랍니다.

현재 의 서버에 액세스하고 있습니다 http://user-pc:xx/svn/Projects/. 포트 XX를 서버로 전달하도록 라우터를 설정할 때 서버 보안을 위해 어떤 단계를 수행해야 합니까?

나는 Windows에서 이 작업을 수행하고 있으며 일반 명령 프롬프트를 광범위하게 사용하고 있지만 SVN을 사용한 적이 없으며 지금까지 TortoiseSVN 이외의 다른 것을 사용하지 않았습니다.

편집하다: 제가 알고 있는 공격자가 할 수 있는 유일한 해로운 일은 저장소에 들어가기 위해 포트 번호, 사용자 이름, 비밀번호를 추측하는 것입니다. 그러나 속담처럼, 나는 내가 모르는 것을 모른다.

따라서 나는 고려해야 할 사항만큼 단계별 지침을 요구하는 것은 아닙니다. (물론 나도 물론 그렇게 하고 싶지만)어느포트가 열리면 가능한 공격입니다.

답변1

  1. VisualSVN 서버를 보호하려면 좋은 비밀번호 강도를 사용하세요.
  2. 기본 포트 80 또는 443 대신 서버에 더 높은 포트(예: 39517)를 사용하십시오. 공격자가 추측하기 어렵게 만듭니다. 공격자는 포트 스캔에 의존해야 합니다.
  3. VisualSVN 서버는 익명 액세스를 허용하지 않습니다. 사용자를 명시적으로 정의해야 합니다.
  4. 당신이 알고 있거나 신뢰하는 사람들에게만 사용자 액세스 권한을 부여하십시오.

답변2

  1. 다이제스트 인증을 사용하는 일반 http(AuthType Basic은 가로챌 수 있음)가 아닌 서버 측에서 https를 사용합니다(Apache를 직접 구성해야 함).
  2. 자체 서명이 아닌 서버에서 (무료) CA 발급 인증서 사용(자체 서명 인증서를 사용할 수 있지만 매번 눈으로 확인해야 함(?))
  3. 최신 VisualSVN 서버 버전 유지(Apache 및/또는 SVN 자체에서 발생할 수 있는 문제에 대한 수정 포함)
  4. 보안 감사를 위해 httpd.conf에서 로깅 활성화(VisualSVN 서버에서는 기본적으로 로깅이 없음)

답변3

svn 서버에 SSH 액세스를 사용하는 것이 좋습니다. 저는 개인적으로 공개/개인 키 인증을 선호합니다.

그럼에도 불구하고 desaivv의 제안은 제가 추천하고 싶은 것이기도 합니다.

관련 정보