beSECURE 연동 가이드
이 가이드는 Genian NAC와 취약점 관리 시스템인 beSECURE의 연동에 대한 정보를 제공합니다.
가이드 개요
beSECURE는 취약점 검사 도구 기능과 취약점 교정 가이드 기능을 보유한 제품으로 Genian NAC가 내부 네트워크에 접근하는 노드를 대상으로 beSECURE를 이용하여 보안 점검을 진행할 수 있도록 합니다.
beSECURE가 보안 점검을 진행하여, 취약점이 발견된 단말에 대해 Genian NAC가 취약점이 발견된 노드로 인지할 수 있도록 Tag를 적용하여 부여합니다.
Genian NAC는 취약점이 발견된 노드를 네트워크 차단하고, beSECURE는 발견된 취약점을 교정할 수 있도록 가이드를 사용자에게 제공합니다.
Genian NAC와 beSECURE의 연동으로 내부 네트워크에 진입하는 모든 단말을 범위로 취약점을 점검, 교정하여 더욱 안전한 내부네트워크를 보장하고자 합니다
연동의 목적
Genian NAC와 Beyond Security 사의 beSECURE의 연동은 다음을 목적으로 합니다.
신규 노드의 보안 취약성 자동검사
신규로 등록되는 노드 중 취약점 검사대상을 식별하면, beSECURE가 자동으로 취약점 검사 과정이 자동으로 진행되도록 구성합니다. (네트워크 장비, 보안장비, 등 주요 검사 대상 제외 가능)
보안에 취약한 노드의 네트워크 격리
beSECURE는 노드의 보안취약점 검사기능과 교정기능을 가진 장비입니다. 노드에 보안취약점이 존재하거나 보안상의 위험성이 높은 노드에 대해서 사전에 대비할 수 있도록 검사 후, 기준에 부합하지 못하는 노드에 대해서 Genian NAC가 네트워크에서 해당 노드를 격리합니다
연동의 시나리오 소개
[동작 시작: start]
네트워크 상에서 신규노드 탐지: Genian NAC
취약점 검사 대상 분류(네트워크 장비, 보안장비 등 예외처리): Genian NAC
취약점 점검 요청: Genian NAC -> beSECURE (webhook): Genian NAC
취약점 점검: beSECURE
점검 결과에 따른 Tag 요청(취약점 점검의 결과가 보안 취약 노드인 경우 Tag 적용 요청): beSECURE (beSECURE -> Genian NAC)
취약점 점검결과 취약노드에 Tag 적용: Genian NAC
고위험군 노드(Tag가 적용된 노드) 네트워크 격리: Genian NAC
[동작 종료: end]
사전준비 사항
beSECURE가 Genian NAC의 API 호출을 위한 API-Key 생성하기
본 항목은 beSECURE에서 Genian NAC의 API 호출 시 사용되는 Genian NAC의 API-Key를 생성하는 부분에 대한 설명입니다.
Genian NAC 관리 UI에서 ‘관리 > 사용자’ 메뉴로 이동하여, ‘작업선택 > 사용자 등록’을 선택하여 beSECURE에서 API를 이용하여 Genian NAC로 접속할 계정을 만듭니다. (기존의 계정을 사용할 경우, API 키만 확인합니다)
# 주의할 점은 계정의 ‘관리역할을 ’superAdmin’으로 선택합니다.
Networking 사전 준비사항
Genian NAC Policy Center와 BeSECURE 서버 간의 통신을 확인합니다. http를 이용할 경우, TCP/80, https는 TCP/8443이 API 통신의 기본 포트입니다.
(Genian NAC의 접속 포트 정보는 UI에서 ‘시스템 > 서비스 관리 > 접속포트’에 있습니다.)
노드에 설정될 Tag명 선정하기
beSECURE가 보안 진단 후, 취약점이 발견된 노드에 할당할 Tag의 이름을 정합니다.
Tag는 beSECURE가 전송한 IP의 노드를 Genian NAC가 관리하기 위해서 활용하는 것을 목적으로 해당 노드에 적용합니다. (기존의 사용 중인 Tag와 동일한 Tag 명을 지정하면, 그 Tag가 적용받는 동일한 정책이 적용됩니다.)
연동을 위한 beSECURE 설정
Step 1: Contact ID 만들기
연동 기능을 활용하고, 생성된 report를 특정 사용자에게 전송할 수 있는 Contact ID를 만드는 과정입니다.
관리자 임의로 Contact Name, Contact Email을 사용할 수 있으며, beSECURE의 신규노드 추가에 대한 기능상의 영향은 없습니다.
DevOps > Admin > Accounts > Contacts로 이동하여 “+” 버튼을 클릭하여 작성합니다.
설정 항목
설정값
참고
Contact Name
Genian-API
필수 입력값
Contact Email
Report를 받을 이메일
Contact Phone
010-1001-1001
위와 같이 값을 입력하고, ‘create’를 클릭하면 Contact ID를 자동으로 생성합니다.
(Contact ID는 Genian NAC에서 취약점 점검 요청 시(5. Step1) 활용하는 정보입니다)
Step 2: Account ID 만들기
beSECURE에서 Genian NAC을 활용하기 위한 Account를 만드는 과정입니다.
Admin > Accounts > List로 이동하여 “+” 버튼을 클릭하여 생성합니다.
설정 항목
설정값
참고
User Name
Genian-API
Password Status
Never Expires
Password
2FA Enabled for User
비활성화
Security Profile
Default
Account Profile
Scanning User
Language
English
한국어 선택 가능
Timezone
Asia/Seoul
Contact
Genian-API
Step 1에서 만든 값 선택
위와 같이 작성 후, ‘Create’를 클릭하면, Account ID가 자동 생성됩니다.
(Account ID는 Genian NAC에서 취약점 점검 요청 시(5. Step 1) 활용하는 정보입니다)
Step 3: API Key 생성하기
위의 Step 2에서 'Create"를 클릭하면, Account ID가 만들어지면서 Account Details 설정 화면이 나타납니다.
API Key 탭을 클릭하여, API Generator로 이동합니다.
API Key가 정상적으로 생성되어 있는지 확인합니다. (API Key가 존재하지 않는 경우, 공란을 클릭하면, 자동 생성됩니다.)
(API Key는 Genian NAC에서 취약점 점검 요청 시(5. Step 1) 활용하는 정보입니다)
Step 4: 관리 그룹(Organization) 만들기
Genian NAC에서 요청되어 스캔한 정보의 관리그룹을 생성하는 과정입니다.
Admin > Organizations > List로 이동하여 “+” 버튼을 클릭하여 생성합니다.
Settings 탭을 선택하여, 다음과 같이 설정합니다.
설정 항목
설정값
참고
Organization Name
Genian
Parent Name
--
상위그룹명
Logo
--
Scan Range Modification
Only with Scanner Ownership
Scan Range Overlapping
Allowed
Results
Show in Summary
Reporting 탭으로 이동하여 앞서 만든 Contact ID(Genian-API)를 선택합니다.
위와 같이 작성 후, ‘Create’를 클릭하고 다음으로 넘어갑니다.
Step 5: 관리그룹 권한 설정
Organization Details에서 Permission 탭으로 이동합니다.
Permission 설정 창의 좌측이 선택된 관리그룹에 적용이 가능한 Available, 우측이 할당된 Assigned 입니다.
(좌측의 권한을 클릭하면, 우측으로 이동되어 권한이 할당됩니다.)
Owned By: Genian API – Genian-API를 클릭하여, Assign합니다.
Association(s): Genian API – Genian-API를 클릭하여, Assign합니다.
위와 같이 작성 후, ‘Modify’를 클릭하면 작업이 완료되면서 Organization 가 확인됩니다.
(Organization ID를 만들 때, 생성된 값입니다)
Organization ID는 관리를 위한 그룹입니다.
(Organization ID는 Genian NAC에서 취약점 점검 요청 시(5. Step 1) 활용하는 정보입니다)
Step 6: 스캐너 할당하기
‘Admin > Deployment > LSS’로 이동한 후, 사용할 스캐너를 선택하여, 취약점 스캐너의 ID를 확인합니다. 예시에서는 6ECA855F 입니다.
(이때, 주의할 점은 스캐너가 스캔할 대상으로 네트워크가 연결되어야 합니다.)
스캐너의 사용 권한을 부여합니다.
좌측의 Available에서 Genian API – Genian-API를 선택하여 Assigned로 변경합니다.
‘Admin -> Accounts -> Contacts’로 이동하여 새로 만든 Contact ID를 선택한 후,
Contact Details에서 'Owned By'로 이동하여, Genian API – Genian-API를 Assigned로 변경합니다.
위와 같이 작성 후, ‘Modify’를 클릭하고 다음으로 넘어갑니다.
Step 7: 보안 취약노드에 Tag 할당을 위한 설정
beSECURE에서 스캔한 결과에 따라, 보안상태 취약 노드에 Tag를 할당하기 위한 설정입니다.
Genian NAC는 노드에 할당된 Tag를 이용하여, 네트워크 격리는 물론 관리자가 원하는 방식으로 제어할 수 있습니다.
DevOps > More > Server > integration으로 이동합니다.
여기서 Genians 로고를 클릭하면 설정이 가능합니다.
설정 항목
설정 값
참고
URL
https://{NAC_정책서버IP}:8443
Policy Center IP
API Key
c6233cfd-a1a8-4ce3-XXXX-61fa87951b38
Genian NAC의 API Key
Tag Name
beSECURE_Tag
적용될 Tag 이름
연동을 위한 Genian NAC 설정
신규노드가 네트워크에 접근 시, 모든 노드에 대해서 스캔을 실시하도록 설정하면, 주요 장비, 네트워크 장비, 설비 장비 등은 예상치 못한 문제를 발생 시킬 수 있습니다.
그러므로 Genian NAC에서 취약점 스캔이 가능한 대상에 대해서만 스캔하도록 지정이 필요하며, 일반 사용자 단말이 속하는 '미인증 노드'를 예시로 적용합니다. (각 회사 또는 기관 마다 정책이 다를 수 있음)
Step 1: 신규노드 탐지 시, beSECURE 취약점검사 자동수행 설정
감사 > 로그 > 검색 필터로 이동하여, ‘노드 그룹에 포함됨. NODEGRP='미인증노드'를 검색한 후, 검색필터로 만들어줍니다.
Web-hook 방식으로 beSECURE장비의 API 호출을 위해서, 우측상단의 ‘다른 이름으로 저장’을 선택합니다.
이렇게 만들어진 검색 필터의 이름을 ‘beSECURE notification’으로 설정합니다.
여기까지 설정하면, 신규노드가 발견되었을 때, 동작을 위한 필터의 생성이 완료되었습니다.
설정 항목
설정값
참고
방식
POST
URL 설정
https:{beSECURE IP}/json.cgi
beSECURE IP
CHARSET
UTF-8
POST 데이터
아래 참조
데이터전송타입
Application/x-www-form-urlencoded
# POST 데이터 입력값 # apikey는 Genian NAC 접속용 API Key입니다. apikey=8DF7011F-F05C-3810-XXXX-A6C84B198A1A& primary=admin& secondary=networks& action=quickadd& network_range={_IP}& network_name=New node {_IP} {_DATETIME}& # Organization ID입니다. network_parent=E9FABA8E& # Scanner ID입니다. network_scanner=6ECA855F& quickadd_webscan=no& # Contact ID입니다. contact=00B26938& network_routine=immediatelyStep 2: beSECURE에서 취약점이 발견된 노드를 격리하기 위한 정책 생성하기
취약점 스캔의 결과 중, High-risk 위협이 발견된 노드는 ‘beSECURE_tag’가 할당됩니다.
이 Tag를 기준으로 노드를 격리하기 위한 정책을 만드는 과정입니다.
Note
정책을 수립하는 본 과정은 최초 1회만 작업해주시면 이후엔 자동으로 적용됩니다.
노드 그룹에 Tag 적용하기
‘정책 > 그룹 > 노드’로 이동하여 노드 그룹의 ‘그룹 조건’ 항목에서 다음과 같이 설정합니다.
설정 항목
설정값
참고
항목
태그(Tag)
조건
존재하면
설정
beSECURE_Tag
위처럼, 그룹의 조건을 설정한 후, 그룹의 이름을 정해주고 (본 가이드에서는 'beSECURE_Tag'로 생성) 저장합니다.
Tag가 적용된 노드를 제어하기 위한 제어정책 만들기
‘정책 > 제어정책’으로 이동한 후, ‘작업선택 > 생성’을 클릭하면, 제어정책 마법사가 실행됩니다.
‘제어정책 마법사’에서 제공하는 순서에 따라 제어정책을 생성합니다.
제어정책 마법사 설정
정책생성: 신규생성 선택
정책 기본설정:
설정 항목
설정값
참고
ID
beSECURE_isolation
정책의 이름을 정해줍니다.
설명
beSECURE의 취약점스캔결과에 따른 위험 노드 차단
정책의 설명을 작성합니다.
순서
3
정책 적용 순서 (숫자로 기입)
적용 모드
사용함
사용함/사용 안 함 중 선택
노드 그룹 할당: 좌측의 ‘사용 가능’한 노드 그룹 중에서 ‘beSECURE_isolation_node’를 Drag&Drop으로 우측의 ‘선택’ 항목으로 이동합니다.
권한 할당: 아무것도 선택하지 않고 ‘다음’을 클릭합니다. (아무것도 선택하지 않으면 ‘격리’입니다.)
제어옵션 설정: 사용자 메시지에 “Your device is isolated by beSECURE SCAN result”를 입력하고 ‘다음’을 클릭합니다. (위협 노드가 격리되었을 때, 옵션을 설정하는 부분입니다.)
제어액션: 변경하지 않고 ‘완료’ 버튼을 클릭하여 정책생성을 완료합니다.
위와 같이 ‘제어정책 마법사’를 이용하여 정책을 생성하면, 제어정책은 활성화됩니다.