면허: 아파치 소프트웨어 재단 (ASF)에 하나 이상의 참가자 사용권 계약 하에서 허가 된. 저작권에 대한 추가 정보를 보려면 NOTICE 파일을 보십시오. ASF는 이 파일을 아파치 라이센스 2.0 (이하 “라이센스”) 하에 배포합니다. 라이센스에 허가되지 않은 용도로는 이 파일을 사용하실 수 없습니다. 라이센스의 복사본을 얻을 수 있습니다.
http://www.apache.org/licenses/LICENSE-2.0 적용 가능한 법률에 의해 요구 또는 서 면으로 동의 하지 않는 한 소프트웨어 라이선스 하에 배포에 배포 되는 "있는 그대로" 기준, 보증 또는 조건 어떤 종류의 없이, 명시적 또는 묵시적. 라이센스 권한 및 제한 적용 되는 특정 언어에 대 한 참조
다음 가이드 코르도바 응용 프로그램을 개발할 때 고려해 야 할 몇 가지 보안 모범 사례를 포함 한다. 보안은 매우 복잡 한 주제 이며 따라서이 가이드는 완전 한 유의 하시기 바랍니다. 만약 당신이이 가이드에 기여할 수 있습니다, “문서”에서 코르도바의 버그 추적기 문제 파일 주시기 바랍니다. 이 가이드는 일반 코르도바 개발 (모든 플랫폼)을 적용할 수 있도록 설계 되었습니다 하지만 특별 한 플랫폼 특정 고려 사항이 기록 됩니다.
읽기 및 이해 허용 안내
기본적으로 새로 만든된 응용 프로그램에 허용 된 액세스를 통해 모든 도메인 수는 <access>
태그: <access origin="*">
는 허용 된 사이트 목록에 대 한 평가에 대 한 네트워크 요청을 원하는 경우이 변경만 액세스 해야 하는 도메인을 허용 하는 것이 중요 하다. 이것에 있는 응용 프로그램 수준 구성 파일을 편집 하 여 수행할 수 있습니다: {project}/config.xml
(최근 프로젝트의 경우) 또는 {project}/www/config.xml
(이전 프로젝트)
그러나 안 드 로이드의 Whitelist 코르도바에 2.9.x 안전한 것으로 간주 됩니다,, foo.com는 허용 된 사이트 목록에 포함 되어, foo.com.evil.com 허용 시험을 통과할 수 있을 것 이라고 밝혀졌다. 이 고정 코르도바에 3.x를.
안 드 로이드 API 10 및 아래에, 허용 된 도메인 작동 하지 않습니다 iframe에 대 한 WP8 및 XMLHttpRequest와. 즉, 공격자가 어떤 도메인 iframe에서 로드할 수 있습니다 코르도바 JavaScript 개체와 해당 하는 기본 Java 개체 모든 스크립트는 iframe 내에서 해당 페이지에 직접 액세스할 수 있습니다. 이러한 플랫폼에 대 한 응용 프로그램을 작성할 때 고려 이걸 받아 해야 합니다. 실제로 10 보다 더 높은 안 드 로이드 API를 대상 하 고는 가능 하면 사용 하지 않는 iframe 로드 외부 콘텐츠-inAppBrowser 플러그인 또는 다른 제 3 자 플러그인을 사용 다는 것을 확인 하는 것이 즉.
코르 도우 바 3.6.0, 현재 안 드 로이드에 지금 필요는 허용 된 응용 프로그램의 외부 Url을 응용 프로그램에서 링크를 해당 Url 생성 하는 경우. 당신이 응용 프로그램을 생성 하는 경우 tel:
, geo:
, sms:
, intent:
또는 유사한 Url 또는 외부 콘텐츠를 사용자의 브라우저에서 열어 기대 다음 업데이 트를 허용 해야 합니다에 대 한 링크를 제공 합니다. 자세한 내용은 화이트 리스트 가이드를 참조 하십시오.
콘텐츠 허용 도메인 iframe에서 제공 하는 경우 해당 도메인 네이티브 코르 도우 바 다리에 접근이 있을 것 이다. 즉, 만약 제 3 자 광고 네트워크를 허용은 iframe 통해 그 광고를 게재, 그것은 가능한 악의적인 광고 iframe 탈 옥 하 고 악의적인 동작을 수행할 수 있을 것입니다. 이 때문에, 일반적으로 사용 하면 안 iframe iframe 콘텐츠를 호스팅하는 서버를 제어 하지 않는 한. 또한 참고 타사 플러그인 광고 네트워크를 지원 하기 위해 사용할 수 있습니다. 참고가이 문을 iframe 연결을 포함 한 모든 것을 가로채 iOS에 대 한 사실이 아니다.
코르 도우 바는 진정한 인증서 고정을 지원 하지 않습니다. 이것에 주요 방 벽은 차단 검사는 서버 인증서의 SSL 연결에 대 한 안 드 로이드 네이티브 Api의 부족 이다. (비록 그것은 안 드 로이드에서 자바에 있는 JSSE를 사용 하 여 고정 하는 것을 증명서 할 수, 안 드 로이드 webview 작성 된 c + +, 및 서버 연결을 webview 울퉁불퉁하거나 당신을 위해, 그래서 불가능 거기 자바와 JSSE를 사용 하 여.) 아파치 코르도바 여러 플랫폼에서 일관 된 Api를 제공 하기 위한 것입니다, 이후 그 일관성 휴식 주요 플랫폼에 기능을가지고 있지.
인증서 고정, 응용 프로그램이 시작 될 때 서버의 공개 키 (지문) 예상 값은 검사 또는 응용 프로그램의 수명 동안 다른 다양 한 시간에 근접 하는 방법이 있다. 할 수 있는 코르도바에 사용할 수 있는 타사 플러그인이 있습니다. 그러나, 이건 사실 인증서는 자동으로 서버에 모든 연결에서 예상 값을 확인 합니다 고정과 동일 합니다.
서버에 자체 서명 된 인증서를 사용 하 여 권장 하지 않습니다. SSL을 원하는 경우 다음 것이 좋습니다 서버 제대로 잘 알려진 CA (인증 기관)에서 서명 된 인증서는. 인증서 고정 사실 할 수 없다는 게 중요 합니다.
이유는 어떤 서버 인증서를 장치에 의해 유효한 것으로 간주 될 수 있는 인증서 체인 유효성 검사 우회 자체 서명 된 인증서를 수락. 이 남자-인-더-중간 공격에 통신을 엽니다. 뿐만 아니라 차단 및 장치와 서버 간의 모든 통신을 읽을 뿐만 아니라 통신 수정 해커에 대 한 매우 쉽게 된다. 장치는 서버의 인증서를 신뢰할 수 있는 CA에서 서명 확인 하지 않습니다 때문에 일이 모를 것입니다. 장치 서버 예상 하는 증거가 있다. 남자-인-더-중간 공격을 하 고의 용이성 때문에 자체 서명 된 인증서를 수락만 소폭 보다 낫다 단지 신뢰할 수 없는 네트워크에 http 대신에 https 실행 합니다. 예, 트래픽을 암호화 될 것입니다, 하지만 암호화는 수동 관측을 제외 하 고 쓸모 없는 그렇게는 남자-인-중간, 액세스할 수 있습니다. 있도록 한 남자-인-더-중간에서 키로 암호화 될 수 있습니다. 사용자가 SSL 안전, 신뢰 하 고이 게 될 것 이라고 신중 하 게 그것은 불안, 그래서 SSL 사용 된다 오해의 소지가. 이 신뢰할 수 있는 네트워크에서 사용 하는 경우 (즉, 당신이 완전히 통제 기업 안에 있다면), 그 후에 자체 서명 된 인증서는 권장 하지 않습니다. 신뢰할 수 있는 네트워크에 두 개의 추천은 그냥 네트워크 자체는 신뢰할 수 있기 때문에 http를 사용 하거나 인증서 (자체 서명 되지) 신뢰할 수 있는 CA에 의해 서명. 네트워크는 신뢰할 수 있는 또는 그것은.
여기에 설명 된 원칙 아파치 코르도바를 특정 하지 않습니다, 그리고 그들은 모든 클라이언트-서버 통신에 적용.
코르 도우 바 안 드 로이드를 실행 하는 경우 사용 하 여 android:debuggable="true"
응용 프로그램에서 매니페스트 허용 한다 SSL 오류 인증서 체인 유효성 검사 오류 자체 서명 된 인증서에. 이 구성에서 자체 서명 된 인증서를 사용할 수 있습니다 하지만 이것은 프로덕션 환경에서 응용 프로그램을 사용 해야 하는 구성. 그것은 응용 프로그램 개발 중에 사용할 수 의미 합니다.
(미정)