Windows 환경의 비밀번호 파일은 무엇입니까?

Windows 환경의 비밀번호 파일은 무엇입니까?

내 응용 프로그램에서 읽을 수 있지만(데이터베이스에 연결하기 위해) 관리 권한이 없는 사용자는 읽을 수 없도록 작업 컴퓨터에 데이터베이스 암호를 저장하는 방법을 찾고 있습니다. 관리자가 비밀번호를 변경할 수 있어야 하며 가급적이면 자동으로 비밀번호를 변경해야 합니다.

내가 염두에 두고 있는 것은 다음과 같다.PostgreSQL용 .pgpass 파일리눅스 환경에서. Windows 환경에서도 가능한가요?

비밀번호 파일은 관리자만 접근 가능하도록 할 수 있을 것 같아요. 하지만 사용자가 실행할 수 있는 프로그램이 이 파일에도 액세스할 수 있습니까? 또한 그룹 정책을 사용하여 네트워크를 통해 이러한 파일을 배포하는 것이 가능합니까?


내가 생각하고 있는 다른 솔루션(아마도 더 많은 노력을 기울일 것):

  1. 비밀번호 파일을 암호화합니다. 애플리케이션과 관리자만이 파일을 해독하고 변경/읽을 수 있는 유효한 키를 가지고 있습니다.
  2. 네트워크 리소스에서도 암호화된 것으로 추정되는 비밀번호를 검색합니다.

답변1

관리자 액세스에만 관한 귀하의 질문에 대한 답변 -

Windows는 사용자의 권한으로 서비스를 실행하므로(특별히 관리자나 다른 사용자로 실행하지 않는 한) 사용자가 파일에 액세스할 수 없으면 프로그램도 마찬가지입니다.

그룹 정책 질문에 대한 답변 -

예, 그룹 정책을 사용하여 그룹 정책 기본 설정을 통해 파일을 배포할 수 있습니다. (보다:https://www.adamfowlerit.com/2016/07/group-policy-preferences-replace-existing-file/)

답변2

누구든지 관심이 있다면 다음과 같은 해결책을 생각해 냈습니다.

비밀번호는 XML 파일("비밀번호 컨테이너")에 암호화되어 저장됩니다. 관리자 비밀번호로 컨테이너를 열고 편집할 수 있습니다. 암호화는 대칭입니다. 컨테이너는 단순히 네트워크 디렉터리 내의 네트워크 리소스에 배치됩니다.

애플리케이션에는 비밀번호 컨테이너의 위치가 제공되며, 관리자 비밀번호가 코드에 저장되어 있으므로 비밀번호 컨테이너를 열 수 있습니다.

비밀번호는 코드에 저장되어서는 안 되기 때문에 이 솔루션이 100% 안전하지 않다는 것을 알고 있습니다. 그러나 이러한 요구 사항(데이터베이스 비밀번호는 사용자에게 숨겨야 하고 데이터베이스 비밀번호는 관리 가능해야 함)에 대해서는 솔루션으로 충분합니다.

관련 정보