Tags

하둡 보안 아키텍쳐와 Apache Knox의 역할 (New Features for Security and Apache Knox)

This article is based on Hortonworks Partner Contents and Expertise

빅데이터 및 하둡의 도입을 고려하는 데 있어서 가장 중요한 요소 중의 하나는 바로 데이터에 대한 보안에 대한 고려입니다.
두 가지 의미를 가진다고 볼 수 있겠습니다.
하둡 에코 시스템에서 하둡 클러스터 자체에 제공하고 있는 보안 기능과 이러한 보안 기능을 기업 내부의 보안 정책과 연동하는 부분이 그것입니다.

최근에 호튼웍스는 보안 업체의 인수를 포함하여 하둡 클러스터를 보안 측면에서도 안전한 시스템으로 만들기 위해서 많은 노력을 기울이고 있습니다.

기존의 하둡의 보안 논의에 대해서는 여러 기사를 통해서 소개를 드린 적이 있습니다.
하둡의 보안을 위한 체계
하둡에서 데이터 전송 시의 암호화

하둡의 보안 논의는 처음에는 주로 데이터 저장 및 전송 시의 암호화를 중심으로 논의가 되었다가 최근에는 하둡 클러스터의 전체 보안 체계를 구축하는 논의로 확대되고 있다는 점입니다.

그 중에서 핵심적인 역할을 하는 것이 Apache Knox라고 하는 일종의 API 게이트웨이 보안 솔루션입니다.

knox1
다이어그램에서 볼 수 있는 것처럼 Apache Knox는 하둡 클러스터와 의사소통하기 위한 ‘REST API Gateway’입니다.

이러한 게이트웨이를 통해서 하둡 클러스터에서 다음 네 가지의 중요한 역할을 담당합니다.
- Authentication (LDAP and Active Directory Authentication Provider)
- Federation/SSO (HTTP Header Based Identity Federation)
- Authorization (Service Level Authorization)
- Auditing

즉, 인증이나 권한 관리, 외부 인증 시스템과의 연동 및 ACL 등과 같은 보안 기능을 담당하는 요소가 되었습니다.

지난 주에 호튼웍스의 하둡 데이터 플랫폼 행사에서 Apche Knox에 대해 잘 설명이 되어 있는 슬라이드가 있어서 공유드립니다.
하둡의 보안에 대한 슬라이드

행사에서 나왔던 QnA 정리한 리스트가 있는 데 한 번 보시면 Knox의 역할에 대해서 참고하시기 바랍니다.

qna

그리고 호튼웍스 랩에서 보안 부분에 대한 정보를 모아서 소개하고 있으니 이 곳도 참조하시기 바랍니다.
Hortonworks Daba Lab

아파치 녹스는 하둡 클러스터의 보안은 물론이고 향후에 기업에 도입할 때 연동해야 할 보안 정책을 실행하기 위한 지점으로서도 중요하기 때문에 상세한 적용 방법과 연동 방법은 계속 업데이트하겠습니다.

———————————————————————————————————–
ASD Technologies는 호튼웍스(Hortonworks Inc)와의 Consulting Partnership을 통해서
빅데이터에 대한 도입 컨설팅 및 구축을 도와드리고 있습니다.

호튼웍스 파트너 홈페이지
ASD Technologies Korea 홈페이지

Contact Point : sunung@asdtech.co
———————————————————————————————————–

금융산업의 혁신을 위한 호튼웍스 하둡 아키텍쳐 (Modern Financial Services Architectures Built with Hadoop)

This article is based on Hortonworks Partner Content and Expertise

그 동안 각 산업의 버티컬 영역별로 안고 있는 문제점들과 하둡을 통해서 이러한 문제를 어떻게 해결할 수 있는 지에 대해서 소개해 드리고 있습니다.

의료 산업의 혁신을 위한 하둡 아키텍쳐
제조업을 위한 하둡 아키텍쳐
통신사를 위한 하둡 아키텍쳐
유통업을 위한 하둡 아키텍쳐
광고 산업을 위한 하둡 아키텍쳐
정유 산업을 위한 하둡 아키텍쳐

실제 하둡 데이터 플랫폼을 어떻게 구축할 것인지에 대한 기술적인 부분보다는 이러한 산업 별로 경험하고 있는 문제들에 대한 인사이트를 얻는 부분이 더 중요하다는 생각입니다.

금융업은 실제로 하둡을 적용한 사례가 많고 앞으로 더 많이 적용될 것으로 예상되는 영역입니다.
우리나라는 빅데이터와 보안에 대한 오해들이 조금 있어서 상대적으로 도입 논의가 더딘 것은 사실입니다만 하둡이 가지고 있는 장점과 보안 체계에 대한 이해가 점차 컨센서스를 이루어 가면 급속도로 도입 논의가 진행될 것입니다.

사실 하둡은 전체적으로 데이터를 다루는 플랫폼이다보니 보안이 아주 중요한 이슈로서 핵심분야 중의 하나로 가장 많은 노력을 기울이고 있는 분야 중의 하나입니다.

호튼웍스 하둡과 NoSQL을 연동하는 방법 (Accumulo case)
하둡에서 데이터 전송 시의 암호화
하둡의 보안을 위한 체계

금융업을 데이터 플랫폼의 관점에서 고려하면 리스크(Risk)를 최소화하고 기회(Opportunity)를 극대화하는 과정에서 특히 많은 데이터에 직접적으로 의존하는 분야로 정의할 수 있습니다.
예를 들어, 보험회사들이 보험 상품을 기획할 때의 모든 프로세스에는 각종 통계 데이터와 향후 예측 모델링에 이르기까지 이미 산업 전체가 Data-driven organization으로 분류할 수 있을 정도로 많은 데이터를 분석하는 업종입니다.

하지만 데이터에 대한 각종 규제과 규칙이 가장 엄격하게 적용되어야 하는 분야라는 상충되는 부분도 함께 존재합니다.
한 개인의 실수 혹은 나쁜 의도에 의해서도 회사 전체에 영향을 미칠 정도로 데이터에 대한 관리 방식이 중요한 분야입니다.

금융업을 위한 하둡 아키텍쳐를 설계할 때 가장 기본적인 목표는 이러한 리스크(Risk)와 기회(Opportunity) 양 쪽에 가장 명확한 인사이트를 주는 것으로 설정할 수 있겠습니다.
금융업을 규정하는 사업에 대한 보다 많은 정보를 누수없이 실시간으로 처리함으로써 운영 효율성을 극대화하고 새로운 기회를 모색하는 분야와 리스크의 원천에 대한 이상 패턴을 조기에 파악하는 작업을 통해서 위험을 회피할 수 있습니다.

Financial companies do Hadoop.

Financial-Services-Ref-Arch.20140310

위 아키텍쳐의 기본 구성은 “현대적인 하둡 아키텍쳐의 구성 요소와 역할”에서 설명드린 컴포넌트들로 이루어져 있습니다.

그러면 금융업에서 바로 적용할 수 있는 하둡의 적용 분야에 대해서 살펴 보겠습니다.

Screen New Account Applications for Risk of Default
특히 은행의 경우에는 매일 수만 건의 신규 계좌 개설 및 해지 등의 요청이 들어 옵니다. 은행은 이러한 계좌 신청 등에 대해서 제3의 신용 정보 기관에 정보를 조회하는 과정을 거쳐서 잠재적인 리스크를 줄이는 과정을 진행합니다.
하지만 이러한 신용 정보 기관의 조회를 통한 방법은 극히 한정된 거래 내역이나 정보를 기반으로 하고 있어서 각 계좌에 대한 보다 명확한 등급의 설정이나 리스크의 예측을 어렵게 만들 가능성도 있습니다.

예를 들면, 이른바 대포통장 등의 문제는 우리나라만의 문제가 아니라 광범위하게 골치를 앓고 있는 분야 중의 하나입니다.
이러한 통장 개설에서의 충분한 스크리닝(Screening)이 이루어 지지 않은 문제는 다른 각종 금융 사기(Fraud)와 연결되는 시발점이 된다는 측면에서 리스크를 급속도록 증대시킵니다.

하둡은 단순한 이전의 거래 내역뿐만 아니라 실시간으로 거래 현황을 종합적으로 분석하고 패턴을 감지함으로써 잠재적인 리스크가 되기 이전에 관리하는 것이 가능합니다.
점차로 이러한 이상 패턴에 대한 정보가 쌓이고 Mahout 등을 이용한 머신 러닝 알고리즘을 적용해서 계좌에 대한 각종 정책을 지정하는 데에도 확실한 근거 자료를 제공합니다.

Monetize Anonymous Banking Data in Secondary Markets
은행이 처리하는 각종 데이터와 정보는 다른 산업 주체들의 입장에서도 아주 중요한 기반 데이터라는 측면이 부각되고 있습니다.
은행이 가지고 있는 수많은 계좌들의 트랜잭션 데이터와 정보는 경제 전체의 트렌드에 대한 인사이트도 함께 가지고 있으며 이러한 정보는 각종 투자자들, 기업들, 정책 입안자들과 같이 은행 외부에 있는 사람들에게도 가치 있는 데이터가 됩니다.

Retail banks have turned to Apache Hadoop as a common cross-company data lake for data from different LOBs: mortgage, consumer banking, personal credit, wholesale and treasury banking. Both internal managers and consumers in the secondary market derive value from the data.

은행은 모기지 정보나 신용카드 사용 추이 등의 중요한 정보를 다른 2차 시장의 회사들과 공유함으로써 새로운 가치를 만드는 것에 주목을 하고 있고 실제로 하둡 기반으로 이러한 정보들을 조인해서 실시간 분석 결과를 제공하는 시스템이 운영 중에 있습니다.

Improve Underwriting Efficiency for Usage-Based Auto Insurance
자동차 보험은 고객의 사고 이력 등의 데이터를 바탕으로 사업이 이루어지는 대표적인 데이터 기반 의사결정 조직(Data-driven Organization)입니다.
최근에는 실제로 고객이 운행한 실적에 따라서 요금을 달리하는 등의 비즈니스 모델이 도입되는 것처럼 실시간으로 처리해서 분석해야 할 데이터 볼륨은 급속도로 늘어 나고 있습니다.

Advances in GPS and telemetry technologies have reduced the cost of capturing the driving data used to price PAYD policies, but the data streaming from vehicles grows very quickly, and it needs to be stored for analysis.

GPS 등의 각종 운행 정보를 바탕으로 유연한 비즈니스 모델을 도입하는 데 있어서 하둡 기반 플랫폼을 적용하는 사례가 많아지고 있습니다.

Analyze Insurance Claims with a Shared Data Lake
Maintain Sub-Second SLAs with a Hadoop “Ticker Plant”
Surveillance of Trading Logs for Anti-Laundering Analysis

그 외에도 각종 금융 사기(Fraud)의 패턴을 바탕으로 실시간으로 검열하는 시스템이나 보험 청구에 대한 정당함을 증명하기 위해서 보험 회사 내외의 각종 데이터 정보를 조인해서 문제점을 발견하는 등의 다양한 분야에서 적용이 되고 있습니다.

금융업의 실제 프로젝트 적용 사례에 대해서는 앞으로도 지속적으로 살펴 보겠습니다.

—————————————————————————————————————————–
ASD Technologies는 호튼웍스(Hortonworks Inc)와의 Consulting Partnership을 통해서
빅데이터에 대한 도입 컨설팅 및 구축을 도와드리고 있습니다.

ASD Technologies는 펜타호(Pentaho Inc)와의 Consulting and Distribution Partnership을 통해서
빅데이터에서 비즈니스 인사이트를 얻기 위한 방법을 함께 모색하고 있습니다.

호튼웍스 파트너 홈페이지
ASD Technologies Korea 홈페이지

Contact Point : sunung@asdtech.co
—————————————————————————————————————————–

하둡의 보안을 강화하려는 노력 (Apache Knox Gateway 0.3.0: Another release of perimeter security for Hadoop)

This is based on Hortonworks Blog

하둡이 엔터프라이즈 데이터 플랫폼으로 받아들여 지면서 그 보안 체계의 중요성도 점점 커져 가고 있습니다.
이전의 데이터 전송 시의 암호화에 대한 방법은 소개를 드렸습니다.

물론 데이터 전송 및 저장 시의 암호화도 보안에 있어서 중요한 부분이지만 앞 단에서 더 중요한 부분이 있습니다.
대부분 하둡 시스템과 연동해서 데이터를 처리하는 어플리케이션의 경우에는 webHDFS와 같이 표준 REST API를 이용합니다.
따라서 이 단계에서의 보안 시스템은 일차적으로 중요한 의미를 갖습니다.

아파치 Knox 프로젝트는 하둡을 위한 일종의 REST API 게이트웨이(REST API Gateway)의 역할을 담당합니다.

아파치 Knox는 LDAP등과 같은 디렉토리 서비스에 대한 인증 연동 및 서비스 요청에 대한 권한 관리 등의 기능을 담당함으로써 API를 통해서 들어오는 요청에 대한 보안 체계로서의 역할을 담당할 수 있는 모듈입니다.

이번 업그레이드를 통해서 지원하는 중요한 기능은 다음과 같습니다.
1. LDAP authentication for REST calls to Hadoop
2. Secure Hadoop cluster (i.e. Kerberos) integration
3. HBase integration (non-Kerberos)
4. Hive JDBC integration (non-Kerberos)
5. Simple ACL based Service Level Authorization

그리고 호튼웍스에서 아파치 Knox를 연동하기 위한 튜토리얼(Tutorial)을 공개했으니 참조하시기 바랍니다.
아파치 Knox 튜토리얼 <-- 다운로드

-----------------------------------------------------------------------------------------------------------
ASD Technologies는 호튼웍스(Hortonworks Inc)와의 Consulting Partnership을 통해서
빅데이터에 대한 도입 컨설팅 및 구축을 도와드리고 있습니다.

호튼웍스 파트너 홈페이지
ASD Technologies Korea 홈페이지

Contact Point : sunung@asdtech.co
———————————————————————————————————–

HBase에 대한 소개 영상 (HBase 0.96: HBase on Windows, and Improvements to MTTR from Hortonworks)

This article is based on Hortonworks Blog.

HBase는 분산된 데이터 스토리지 상에서 운용되는 데이터베이스이고 하둡 파일 시스템(HDFS)과도 긴밀하게 연동되는 데이터베이스입니다.
기본적인 설계에서 부터 관계형 데이터베이스를 대체하기 위한 목적이 아니고, 하둡처럼 큰 데이터셋(Dataset)을 처리하기 위한 목적에서 탄생했습니다.

Apache에서도 HBase가 적합한 영역을 명확히 말해 주고 있는 데요.
(If you have hundreds of millions or billions of rows, then HBase is a good candidate.)
즉, 수백만에서 수십억 로우(row)에 해당하는 데이터셋을 분산시켜서 처리하는 데 적합한 것이 그 용도입니다.

최근에 HBase는 초기의 목적에서 점차로 그 영역을 확장해 나가는 중이라서 하둡 클러스터를 구축한 환경에서는
좋은 데이터베이스의 옵션 중의 하나로 고려할 만한 수준으로 진화하고 있습니다.

아래 영상은 Apache HBase version 0.96의 향상된 부분에 대한 설명을 하고 있습니다.

가장 큰 포인트로 윈도우즈를 지원하는 점과 문제가 생겼을 때 복구하는 시간(Mean Time to Recovery)의 향상에 대한 부분입니다.

그 외에도 아래와 같은 사항에 대해 쉽게 설명하고 있습니다.
1. HBase의 아키텍쳐에 대한 간단한 설명
2. 기업에서 적용하는 방법
3. 스냅샷(Snapshot) 기능에 대한 설명
4. 압축 방법
5. 새로운 데이터 타입
6. HBase의 버전 호환성(Compatibility)
7. 향후 로드맵

HBase가 가지고 있는 가능성과 한계에 대해서 이해하고 기업 환경에 적용할 수 있는 기본적인 인사이트를 얻는 데 좋은 영상입니다.

———————————————————————————————————–
ASD Technologies는 호튼웍스(Hortonworks Inc)와의 Consulting Partnership을 통해서
빅데이터에 대한 도입 컨설팅 및 구축을 도와드리고 있습니다.

호튼웍스 파트너 홈페이지
ASD Technologies Korea 홈페이지

Contact Point : sunung@asdtech.co
———————————————————————————————————–

데이터 전송 시의 암호화 (Wire Encryption in Hadoop from Hortonworks)

This articles is based on Hortonworks Blog.

하둡은 데이터를 다루는 플랫폼이다 보니 항상 보안이라는 이슈는 중요합니다.
우리가 보통 암호화라고 하면 데이터를 저장할 때와 전송할 때의 두 가지로 나눌 수 있습니다.
보통 저장할 때의 암호화는 많은 일반적인 방법이 있기 때문에 전송 시의 암호화에 대한 방법을 설명하고 있습니다.

하둡에서 데이터 전송을 생각할 때는 주로 RPC, HTTP, Data Transfer Protocol 그리고 JDBC의 케이스가 있습니다.

RPC Encryption
하둡 클러스터를 이용하는 가장 일반적인 방법입니다.
클라이언트는 네임 노드(NameNode)를 RPC를 통해서 접속하고 파일을 읽거나 쓰는 작업을 진행합니다.
이 경우에 하둡은 자바의 Simple Authentication & Security Layer(SASL)를 이용한다고 합니다.
만약에 hadoop.rpc.protection 값이 privacy로 세팅되어 있으면 데이터들은 암호화되서 전송됩니다.

Data Transfer Protocol
네임노드는 클라이언트에게 첫 블록을 읽고 쓰기 위한 데이터노드(DataNode)의 주소를 알려 줍니다.
이 때 실제 데이터의 전송에 이용되는 프로토콜이 DTP입니다.
dfs.encryt.data.transfer=true 값이 네임노드와 모든 데이터노드에 세팅되어 있으면 데이터가 암호화되어서 전송됩니다.
실제 암호화 알고리즘도 세팅할 수 있습니다.
(The actual algorithm used for encryption can be customized with dfs.encrypt.data.transfer.algorithm set to either 3des or rc4. If nothing is set, then the default on the system is used (usually 3DES.) While 3DES is more cryptographically secure, RC4 is substantially faster.)

HTTPS Encryption
표준적인 SSL을 이용해서 암호화하는 방법입니다.
dfs.https.enable=true 값을 세팅함으로써 SSL을 통한 암호화 전송을 할 수 있습니다.

Encryption during Shuffle
하둡 2.0에서는 셔플(Shuffle) 과정에서의 암호화도 지원이 되게 되었습니다.
셔플이란 맵리듀스에서 맵퍼(Mapper)와 리듀서(Reducer)간에 데이터가 이동하는 단계를 말합니다.
자세한 사항은 하둡 2.0 매뉴얼을 참조하시기 바랍니다.

JDBC
HIVE 단계에서 JDBC와 연동할 때 암호화 전송을 구현하도록 세팅할 수 있습니다.
HiveServer2에서 hive.server2.thrift.sasl.qop를 추가하고 JDBC 클라이언트에서 sasl.sop를 JDBC 연결 문구(Connection String)에 포함함으로써 세팅이 됩니다.
자세한 사항은 하둡 2.0 매뉴얼을 참조하시기 바랍니다.

이상과 같이 하둡 2.0에서는 데이터의 전송이 일어나는 각 단계에서 암호화 전송을 제공함으로써 데이터의 보안성을 획기적으로 올렸습니다.
퍼포먼스의 측면도 함께 고려해야 함으로 취약한 지점에서 전사의 보안 계획과 함께 세팅하는 것이 필요하다고 생각합니다.

———————————————————————————————————–
ASD Technologies는 호튼웍스(Hortonworks Inc)와의 Consulting Partnership을 통해서
빅데이터에 대한 도입 컨설팅 및 구축을 도와드리고 있습니다.

호튼웍스 파트너 홈페이지
ASD Technologies Korea 홈페이지

Contact Point : sunung@asdtech.co
———————————————————————————————————–