본문 바로가기
IBM - old/IBM Bluemix

[Bluemix]Cloud 와 Legacy 간 보다 안전한 보안 연결을 위한 Secure Gateway 서비스

by freeman98 2016. 8. 1.

안녕하세요 이정운 입니다.

이전에 IBM API Connect 강좌를 진행했었는데 그러면서 많은 분들이 IBM Bluemix 에 있는 API Connect서비스로 테스트하면서 보다 안전하게 보안을 강화하여 기존 Legacy 시스템에 있는 업무를 호출할 수 있는 방안에 대해서 많이들 물어보셨습니다. 이러한 질문에 대해서 IBM Bluemix 에서 제공할 수 있는 서비스가 바로 Secure Gateway 서비스 입니다. 해당 서비스는 Cloud 와 기존에 각 기업에 설치된 Legacy 시스템을 안전하게 보안 연결을 수행하는 것을 목적으로 사용되는 서비스 입니다. Cloud 와 Legacy 시 시스템 사이 구간을 secure websocket tunnel 을 만들어 보다 안전하게 보안 연결을 수행하고 이를 통해 안전한 서비스 지원이 가능합니다.

Real-life production experience with Secure Gateway
https://developer.ibm.com/bluemix/2015/11/11/secure-gateway-in-production-part1/


 
상 단의 가이드의 그림을 참조하면 이해에 좀 더 도움이 될듯 하며 실제 해당 서비스는 Public Cloud 인 Bluemix 와 on-premesis 로 기존 Legacy 를 안정적으로 보안성을 강화하여 서비스하는 것이 목적입니다. 따라서, 단지 IBM API Connect 서비스 뿐만 아니라 다양한 Bluemix 서비스 중에 Legacy 호출/연결이 필요한 목적의 보안 강화를 위해서 해당 서비스를 활용할 수 있습니다.


그리고 이러한 보안 연결을 위해 사용되는 Secure Gateway Server 와 Secure Gateway Client 와의 연결에서도 보안성을 더 높이기 위해서 HTTPS 부터 HTTPS Mutual Auth 까지 사용 가능합니다.


그럼 백문이 불여일타! 한번 IBM Blumix 에서 Secure Gateway 를 만들어보고 Bluemix 에 있는 API Connect 로 private 망의 애플리케이션을 호출하는 테스트를 수행해보도록 하겠습니다.



1) Secure Gateway 서비스 생성

IBM Bluemix 에서 Secure Gateway 서비스를 사용하기 위해 해당 서비스를 선택하여 내용을 확인해본 수 서비스를 작성합니다.


서비스 작성시 확인해보셔서 아시겠지만 기본 플랜의 경우 아웃바운드 1GB 까지는 무료입니다.

게이트웨이 작성 마법사에서 게이트웨이가 없다고 나오면 추가를 선택합니다.(시간이 되시는 분들은 학습을 눌러서 좀 더 공부해보는 것을 추천드립니다.)


게 이트웨이를 추가하기 위한 이름을 넣고 기본 설정되로 나둔후에 게이트웨이 추가 버튼을 클릭합니다. 나중에 언급하겠지만 보안 연결을 위해서 Secure Gateway 와 Secure Gateway client 는 보안 토큰을 사용합니다.


추가된 게이트웨이를 바로 확인 가능하며 아직은 Secure Gateway client 와 연결이 없으므로 빨간색으로 표시됩니다. 해당 게이트웨이를 클릭합니다.


게이트웨이 상세 메뉴에서 클라이언트 추가를 클릭합니다.


그 럼 실제적인 보안 연결을 위한 Secure Gateway 연결 생성 마법사가 나타납니다. 마법사의 그림을 보면서 구조를 이해하겠지만 보안 연결을 위해서 호출하고자 하는 대상에 Secure Gateway Clent 를 설치해서 Secure Gateway Server 와 보안 연결을 수행하고 이를 통해서 안정적으로 목적지 시스템을 호출하는 구조입니다. 처음으로 호출할 목적지가 있는 위치를 선택합니다.(cloud 또는 on-premesis 중의 하나 선택)


다 음으로 Secure Gateway Clinet 가 호출할 진짜 타겟 주소를 적습니다. 저는 제가 테스트하고자 하는 노트북 안에 있는 VM 을 호출하기 위해서 해당 VM 을 internal IP 로 호출하는 host 명과 포트를 넣어주었습니다.


실 제 Bluemix 의 애플리케이션과 Secure Gateway Server 사이의 프로토콜을 정의합니다. 보안을 강력하게 하기 위해서는 Mutual Auth 를 써서 서로 인증서를 교환하는 방법을 사용할 수 있으며 본 강좌에서는 테스트이기 때문에 간단하게 HTTP 로 설정합니다.


마찬가지로 목적지쪽도 Secure Gateway Clinet 와의 연결에 대한 보안 규정을 설정합니다.


보 다 안정적으로 연결을 수행하거나 private 하게 만들기 위해서 Secure Gateway Server 에 접속이 허용되는 IP 와 Port 의 리스트를 추가할 수 있습니다. 테스트이기 때문에 해당 항목은 비워두고 진행하도록 하겠습니다.


다음으로 실제 호출할 목적지를 지칭할 이름을 추가합니다.


이렇게 수행하면 기본적으로 Secure Gateway Server 에서 설정할 부분은 모두 완료되었습니다. 이제 실제 보안 연결을 위해서 Secure Gateway Client 를 설치/설정하는 작업을 수행해보도록 하겠습니다.
 


2) Secure Gateway Client 설정

IBM Bluemix 의 Secure Gateway 서비스의 오른쪽 상단에 있는 클라이언트 추가 버튼을 클릭합니다.


이 때 Secure Gateway Client 를 위한 게이트웨이 ID 와 보안 토큰을 확인할 수 있으며 추가적으로 설치 프로그램을 다운로드 받을 수 있습니다. Secure Gateway Client 는 현재 Windows, Mac, Linux 에 설치하는 설치형 버전과 Docker, IBM DataPower 의 3가지 형태로 제공합니다. 테스트이기 때문에 Windows 용을 다운로드 받습니다.


다운로드 받은 파일을 실행하면 Secure Gatewat Client 설치 마법사가 나타납니다. 우선 설치할 위치를 선택하고 다음을 클릭합니다.


다음으로 언어를 선택합니다. 보시면 아시겠지만 Secure Gateway Client 는 한글도 지원 가능합니다.


보다 안정적인 서비스를 위하여 Windwos 의 서비스로 등록할 것이냐는 질문이 나오는데 테스트이기 때문에 선택하지 않고 다음을 클릭합니다.


다음으로 Secure Gateway Client 설정을 위한 항목이 나오며 보안 연결을 위해서 이전에 다운받을 때 나왔던 게이트웨이 ID 와 보안 토큰을 입력합니다.


마지막으로 Client UI 를 쓸지 여부와 암호/서비스 포트를 입력하고 설치 버튼을 클릭합니다.


설치가 정상적으로 수행되면 하단과 같이 Windows 에 메뉴가 추가됩니다.


해당 메뉴를 클릭하면 Secure Gateway client 를 수행할 거냐는 질문이 나오고 y 를 누르면 바로 보안연결을 수행되고 Client UI 화면이 나옵니다.


Client UI 는 3가지 메뉴가 있는데 Connection Info 는 말그대로 연결정보를 확인할 수 있는 메뉴입니다. 초기에 우측 테이블은 비어 있지만 실제 보안 연결을 수행하면 연결정보가 나타납니다.


View Logs 는 말그대로 Secure Gateway Client 에 관련된 Log 를 확인하는 메뉴입니다.


마지막으로 Access Contol List Management 메뉴는 Secure Gateway Client 에서 허용되는 접근과 불용되는 접근의 리스트로 IP/Hostname, 포트로 원하는 형태로 지정 가능합니다.


우선 가장 기본적으로 Secure Gateway Client 에서 목적지에 있는 실제 서비스에 대한 연결은 허용해야 하기 때문에 Allow access 에 목적지의 hostname 과 port 를 추가합니다.


이렇게 정상적으로 수행한 후 Bluemix 의 Secure Gateway 서비스에 다시 들어가보면 오른쪽 상단에 연결된 client 를 확인 가능합니다.



3) Secure Gateway 서비스 테스트

이 전 파트까지 IBM Bluemix 의 Secure Gateway Server 와 Client 설정이 완료되었으면 이제 실제로 테스트를 수행해보도록 하겠습니다. 테스트를 수행하기 전에 Secure Gateway 서비스의 설정 버튼을 클릭하면 하단과 같이 상세 설정 정보를 확인할 수 있으며 그중에서 실제 호출을 수행하기 위한 클라우드 호스트:포트 정보를 알아둡니다.


이전에 Bluemix 에서 IBM API Connect 서비스를 만들어 두었다면 invoke 컴포넌트의 정보의 IP:port 정보를 위에서 확인한 클라우드 호스트:포트 정보로 변경하고 저장합니다.(IBM API Connect 부분에 대해서 궁금하시거나 더 알아 보고 싶으신 분은 '[APIC]본격적으로 살펴보는 IBM API Connect 01 - API 등록 및 테스트(http://www.websphere.pe.kr/xe/new_lecture/56058)' 강좌를 참고하세요)

http://cap-sg-prd-4.integration.ibmcloud.com:15261/loans/v1/quote?loanAmount={loanAmount}&annualInterestRate={annualInterestRate}&termInMonths={termInMonths}


이후, 해당 API 서비스를 테스트 해보면 하단과 같이 정상적으로 호출된 것을 확인할 수 있습니다.


또한, Bluemix 의 Secure Gateway 서비스 항목이나 Secure Gateway Client UI 에서 하단과 같이 연결 정보에 지금 호출한 내용이나 통계가 나오는 것을 확인 가능합니다.



9) 참고 자료


1.    Secure Gateway 시작하기 – 한글 제공 in IBM Bluemix
https://new-console.ng.bluemix.net/docs/services/SecureGateway/secure_gateway.html

2.    Real-life production experience with Secure Gateway
https://developer.ibm.com/bluemix/2015/11/11/secure-gateway-in-production-part1

댓글