모든 사용자에 대해 svn 일반 텍스트 비밀번호 저장을 비활성화합니다.

모든 사용자에 대해 svn 일반 텍스트 비밀번호 저장을 비활성화합니다.

기본적으로 Subversion을 사용하면 사용자가 비밀번호를 일반 텍스트로 저장할 수 있습니다 ~/.subversion/auth/svn.simple. 다음 옵션을 살펴보겠습니다.암호화된 비밀번호를 svn에 저장, 하지만 적어도 가능한 한 빨리 모든 사용자의 비밀번호를 저장하는 기능을 완전히 비활성화하고 싶습니다. 우리는 Subversion 1.6.17을 실행하고 있습니다.

구성 파일을 통해 사용자의 홈 디렉터리에서 이 기능을 비활성화할 수 있습니다.

~/.subversion/서버:

[global]
# Password / passphrase caching parameters:
store-passwords = no
store-plaintext-passwords = no

그러나 사용자는 필요에 따라 구성 파일을 변경할 수 있습니다. 시스템 전체 svn 구성 파일이 없습니까? 내가 본 몇 가지 옵션은 다음과 같습니다.

옵션 1

1.8-dev부터 Subversion의 구성 스크립트는 일반 텍스트 비밀번호 및 클라이언트 인증서 비밀번호 저장 논리를 우회하기 위해 --disable-plaintext-password-storage 옵션을 허용합니다.

개발 버전으로 업데이트하고 싶지 않습니다.

옵션 2

/etc/subversion/config

AFAIK, 이 프로필은 사용자의 홈 디렉터리에 프로필이 없는 경우에만 사용됩니다.

옵션 3

사용자의 인증 캐시를 삭제하려면 cron 작업을 추가하세요 ~/.subversion/auth/svn.simple. 따라서 svn 구성 파일을 변경하더라도 cron 작업은 저장된 모든 비밀번호를 삭제합니다. 그러나 1분마다 실행한다고 해서 백업 시스템이 일반 텍스트 비밀번호가 포함된 파일을 크롤링하지 않는다는 보장은 없습니다.

아이디어가 있나요?

답변1

당신은 할 수 없습니다.

무엇을 하든 사용자는 이를 무시하고 비밀번호를 일반 텍스트 파일에 저장할 수 있습니다. 클라이언트 바이너리에서 이 기능을 비활성화하면 다른 클라이언트가 다운로드되거나 컴파일됩니다. 종종 성가신 보안 조치(예: 모든 svn 작업에 비밀번호를 입력해야 하는 경우)를 설정하면 사용자는 보안을 더욱 악화시키는 방식으로 이를 우회하게 됩니다. (예를 들어, 비밀번호가 포함된 래퍼 스크립트를 작성하면 누구나 비밀번호를 읽을 수 있습니다.) 그러니 그렇게 하지 마세요.

다시 한번 말씀드리지만, 기술적 조치만으로는 사용자가 자신의 비밀번호를 파일에 저장하는 것을 막을 수 없습니다. 금지할 수는 있지만, 그것이 그들의 삶을 힘들게 한다면 그들은 어쨌든 그렇게 할 것입니다.

노트북이나 백업 도난이 걱정된다면 사용자의 홈 디렉터리를 암호화하세요. 이렇게 하면 비밀번호와 데이터가 보호됩니다. 전체 홈 디렉토리가 암호화된 경우 암호화 비밀번호는 일반적으로 유용성상의 이유로 로그인 비밀번호와 동일합니다. 암호화된 비밀번호를 분실하면 복구할 수 없으므로 비밀번호 백업 정책(봉인된 봉투 등)을 마련해 두십시오.

비밀번호 재사용이 우려되는 경우 클라이언트에 한 번 입력할 임의의(따라서 고유한) 비밀번호를 적용하십시오. 물론, 유출된 비밀번호를 변경하는 간단한 프로세스가 있습니다.

답변2

그런데 저는 무엇이든 암호화하기 전에도 파일 권한을 다루고 있습니다. 단지 호기심으로 내 설정을 확인한 결과 이것이 누구나 읽을 수 있다는 것을 알았습니다. 명시적인 비밀번호가 포함된 파일의 경우 보안 허점처럼 보입니다.

관련 정보