2014-04-23 4 views
0

저는 ElasticSearch를 db로 사용하여 ios 앱을 만들고 있습니다. ES가 http API를 노출하기 때문에 기술적으로 클라이언트가 응용 프로그램 서버를 통해 라우팅하지 않고 db에 직접 대화 할 수 있습니다. 사용자가 소스를보고 자격 증명을 볼 수 있으므로 Javascript에서는이 작업을 수행하지 않습니다. ios/android 앱이 컴파일되고 사용자가 소스 코드를 볼 수 없기 때문에 앱이 db와 직접 대화하는 것이 안전할까요? 아니면 다른 문제가 있습니까?네이티브 앱이 db와 직접 대화합니다.

답변

1

(자바 스크립트에서 API 호출을 숨김으로써) API를 호출하지 않아도되는 보안은 결코 답이 될 수 없습니다. WireShark 또는 기타 유사한 소프트웨어를 통해 트래픽을 스니핑 한 다음 API를 그런 방식으로 매핑하는 것에서 누군가를 막을 수 있습니까?

ES를 외부 세계에 보이게해서는 안됩니다. ES는 보안이 아닌 검색을 중심으로 구축됩니다.

제대로하고 안전하게 수행하려면 일부 구운 인증과 함께 래퍼를 만들어야합니다. 이것의 주된 이유는 (당신이 직접 말한 것입니다) Elasticsearch는 데이터베이스입니다. 그리고 당신은 데이터베이스를 공개하지 않을 것입니다.

보조 메모로는 https://github.com/sonian/elasticsearch-jetty이 있지만 사용하지 않았으며 추천 할 수 없었습니다. 포장지에 붙어 있습니다 ...

관련 문제