2012-09-28 4 views
1

DB 용 암호/키를 저장하고 AWS와 같은 다른 서비스에 연결하기 위해 구성 파일을 사용하고 있습니다.설정 파일의 값을 안전하게 암호화하는 방법

빌드를 위해 Travis CI를 사용하고 테스트를 실행 한 다음 라이브 서버에 배포합니다.

내 구성 파일의 변수를 암호화하고 응용 프로그램에서만 읽을 수 있어야합니다. 이것은 기준입니다 -

1) 응용 프로그램은 여러 환경에서 빌드 서버에서 여러 배포 서버로 해독 할 수 있어야합니다.

2) 구성 파일을 해독하는 데 사용되는 암호는 개발자가 사용할 수 없습니다.

프로젝트가 클로저에 있는데, 거기에 도움이 될만한 라이징 플러그인/기능이 있습니까?

덕분에, Murtaza

답변

1

나는 당신이 뭘 하려는지에 대한 최선의 해결책은 응용 프로그램의 소스 트리에서 설정 파일을 제거하는 것입니다 생각합니다. 구성 파일을 빌드 및 배포 서버에 저장하고 개발자가 해당 구성 요소에 직접 액세스하지 못하게하십시오.

당신이하려는 일의 가장 큰 문제점은 개발자가 무언가에 액세스 할 수 없도록 만들려고 노력하고 있지만 개발자가 완전히 제어 할 수있는 것이 가능하도록 응용 프로그램 코드에 액세스 할 수 있습니다. 즉, 응용 프로그램이 구성을 해독 할 수 있으려면 개발자가 decyption 키에 액세스해야합니다.

빌드 및 배포 서버 (예 : Leiningen 플러그인)에서만 사용할 수있는 도구를 통해 구성을 해독 할 수는 있지만 구성 파일을 별도로 저장하는 것이 더 간단 할 수도 있습니다.

+0

감사드립니다. 서버의 파일에 파일을 저장하는 것 외에도 암호화 된 형식으로 파일을 저장할 수 있으므로 서버에 액세스 할 수있는 사람이 파일을 손상시킬 수 없습니다. – murtaza52

+1

그렇게 할 수는 있지만 여전히 응용 프로그램에서 암호 해독이 필요합니다. Unix/Linux를 사용하고 있고 무엇을하고 있는지 알고 있다면 응용 프로그램에 로그인하지 않은 사용자를 지정하고 구성 파일에 대한 사용 권한을 설정하여 해당 사용자 이외의 다른 사람에게 보이지 않도록 할 수 있습니다. 어쨌든이 작업을 수행해야합니다. – astine

관련 문제