2011-07-04 6 views
1

환경 변수는 Cloud Foundry 런타임이 해당 환경에 대해 응용 프로그램과 통신하는 수단입니다. 통신하는 가장 중요한 정보 중 하나는 사용 가능한 서비스와 어떻게 연결되는지입니다. SourceCloud Foundry 환경 변수의 서비스 매개 변수 보안

동일한 page

는 MySQL 데이터베이스 사용자 이름 패스워드 등을 접속 파라미터를 포함하는 환경 변수의 샘플을 제공한다.

VCAP_SERVICES: { 
"mongodb-1.8":[{"name":"hello-mongo","label":"mongodb-1.8","plan":"free","credentials":{"hostname":"172.30.48.64","port":25003,"username":"e4f2c402-1153-4dfb-8d98-2f6efc65e441","password":"f17f81e4-9855-4b9c-a22b-e6a9e6f113c3","name":"mongodb-5751dac0-3b5e-405b-a1e1-2b384fe4026d","db":"db"}}], 
"redis-2.2":[{"name":"hello-redis","label":"redis-2.2","plan":"free","credentials":{"node_id":"redis_node_4","hostname":"172.30.48.43","port":5002,"password":"e1d7acb0-2baf-42be-84bc-3365aa819586","name":"redis-96836b7c-0949-45fd-a741-c7be5951d52f"}}], 
"mysql-5.1":[{"name":"hello-mysql","label":"mysql-5.1","plan":"free","credentials":{"node_id":"mysql_node_5","hostname":"172.30.48.24","port":3306,"password":"pw4EKJqL6na6f","name":"dd9b58515e3cb41958a30bf2af88126fc","user":"uLfJbOmxfSEUt"}}] 

}

페이지 더 상태 : 당신은 자바의 환경 변수 API를 사용 및/또는 봄 XML 기능을 기존 응용 프로그램에이 정보를 읽을 수 있습니다

하지만이 소비하는 easer입니다 정보를 새로운 클라우드 네임 스페이스 (여기에서 설명 함)를 사용하여 편리한 Properties 객체로 파싱합니다.

이 글을 읽으면이 설정이 애플리케이션 보안에 어떤 영향을 미치는지 궁금해졌습니다. 특히 개발자가 악의적 인 공격자가 mysql 데이터베이스와 같은 백엔드 서비스를 직접 제어하지 못하도록하기 위해 어떤 조치를 취해야합니까?

편집 : 공격자가 백엔드 서비스를 제어 할 위험은 있지만 공격자가 응용 프로그램을 악의적 인 백엔드에 연결할 위험이 있다고 생각할 수도 있습니다.

답변

2

백엔드 (데이터베이스) 서비스에 연결하려면 응용 프로그램에 자격 증명을 제공해야합니다. 서비스에 동적으로 바인드 할 수 있으려면 환경 변수가 응용 프로그램 개인 정보를 응용 프로그램에 전달하는 좋은 선택입니다.

응용 프로그램 손상과 마찬가지로 응용 프로그램이 해킹되면 백엔드가 노출됩니다.

악성 백엔드에 연결할 수있는 유일한 방법은 공격자가 Cloud Foundry 인프라에서 악성 서비스를 설정하고 응용 프로그램이 위조 한 환경 변수를 전달하도록 Cloud Controller를 손상시킬 수 있는지 여부입니다.

관련 문제