반응형

작성일: 2024년 5월 27일

 

 

참고:  Zero Trust 관련 문서 추천

Zero Trust Architecture 자료를 찾는 시작점을 NIST NCCoE(National Cybersecurity Centrer of Excellence) 웹 사이트로 하는 것이 좋다.

   NIST NCCoE / Implementing a Zero Trust Architecture: 웹 사이트 링크

 

아래 글이 Zero Trust 전반적인 내용에 대해 스토리를 쉽게 풀어내고 있다.  (가볍게 읽을 수 있는 글)

https://www.boannews.com/media/view.asp?idx=126189

 

참고: 3GPP의 Zero Trust 관련 표준화 작업

3GPP 문서 목록

  3GPP TR 33.794 (2024-04) Study on enablers for zero trust security

  3GPP TR 33.894 (2023-09) Study on applicability of the zero trust security principles in mobile networks

 

2024년 4월의 3GPP 문서에서 Use Case를 정리하는 수준으로 진행되고 있음.

예를 들어,

  - NF간 연동 메시지에서 Malformed message가 있는지 검사

  - NF간 Massive number of SBI message가 있는지 검사

       * 500 에러가 다량으로 발생하는지 검사

       * 평소보다 많은 API request 통계가 발견되는지 확인

3GPP 문서에 위와 같은 Use Case가 열거되어 있다.

단, 아직도 Use Case에 대해서 논의 중인지 Sub title만 있고 내용이 없는 것이 많다.

 

참고:  SDP, SPA 관련 문서

- 소프트웨어 정의 경계의 단일 패킷 인증 및 네트워크 접근통제 보안관리 개선 (정진교 이상구 김용민):  PDF 문서 링크

- Software-Defined Perimeter (SDP) 규격서 v2:  PDF 문서 링크



 

 


Core Principles (핵심 원칙)

  • Verify explicity
  • Implement least privilege
  • Limit the "blast radius" (Assume breach)
  • Automate context collection and response

 

관련 사업 동향

Date Description
2023년 7월 과기정통부, KISA -> Zero Trust Guide Line 1.0 & 하반기 실증 시범 사업 추진
---
Architecture는 제어 영역과 데이터 영역으로 구분.
  - 접속 요구 제어를 위한 정책결정지점(PDP)과 정책시행지점(PEP)이 있다.
  - PDP는 정책엔진(PE)과 정책관리자(PA)로 나뉘며,
     PE는 신뢰도를 판단해 접속 허가를 최종 결정하고 PA는 PEP에 명령해 정책을 실행한다.
  - PDP는 PEP와 다양한 보안 솔루션(PIPs, 예를 들면 SIEM, C-TAS, IAM, LMS 등)에서
     생성한 보안 정보를 바탕으로 한 ‘신뢰도 평가’를 통해 자원 접근 여부를 결정하고,
     접근 허가 후에는 양방향 보안 통신경로를 생성한다
2024년 상반기 과기정통부, KISA -> Zero Trust Guide Line 2.0 

 

 

표준 동향

Date Document Name Title
2020. 08. 11. NIST Special Publication 800-207 Zero Trust Architecture
2023. 07. 19. NIST Special Publication 1800-35B, C Implementing a Zero Trust Architecture
2023. 08. 22 NIST Special Publication 1800-35D Implementing a Zero Trust Architecture
 (Functional Demonstrations)
2023. 09. 12. NIST Special Publication 1800-35E Implementing a Zero Trust Architecture
 (Risk and Compliance Management)

 

 

 

Zero Trust 도입에 대한 걸림돌, 이슈 등

  • 복잡한 개념으로 소비자(실제 보안 솔루션 사용자)가 어려워한다.
  • Zero Trust를 도입하려면 높은 비용을 지불해야 한다.
  • Network traffic이 많은 사무 환경이라면, Zero Trust 도입으로 인해 Network traffic 처리 성능이 떨어지게 된다.
    (아마 보안 제품을 파는 회사는 성능 저하가 발생하지 않는다고 주장할듯.)
  • 구형 보안 제품과 연동 문제(기능의 충돌, 정책의 충돌 등)

아래 설문 결과를 보더라도 Zero Trust 기술 자체에 대한 이슈보다는 "기술 도입 시 사용하게 될 비용"을 걱정한다.

Zero Trust 제품을 복잡하게 만들다보니 비용이 높아진 것이니까, 당분간은 비용 이슈가 해결될 여지는 없어 보인다.

(기술의 복잡성과 비용 이슈가 있는 SDN 시장과 비슷한 꼴...)

Zero Trust 설문 결과 (출처: 보안뉴스)

 

개인 생각:
  정부가 돈을 뿌려서 Zero Trust 도입을 장려하던지, 보안 제품 판매 업체가 가격을 대폭 낮추던지 해야 하는데  둘다 가능성은 낮을 듯.
  결국, 높은 비용을 치루더라도 꼭 지키고 싶은 데이터가 있는 소비자(회사)만 Zero Trust를 도입하지 않을까 싶다
  (예를 들어, 삼성전자, 제1금융권, NHN, Kakao 같은 회사들 ?)

 

 

Zero Trust 제품을 다루는 회사

  • 모니터랩 (DPI 기능을 이용하여 App 탐지 및 제어 -> URL 필터링, 악성 사이트 차단, 파일 다운로드 차단)
  • 소프트캠프 (Remote Browser Isolation)
  • Symantec (Cloud 관련 보안)
  • 엔키 (Zero Trust Total Servier, 공격자 관점에서 보안 수준을 측정)
  • 지니언스
  • 파이오링크
  • 프라이빗테크놀로지
  • 휴네시온

 

 


 

 

2024년 5월 13일, 새롭게 추가한 내용

 

Zero Trust 보안 정책의 어두운 면 (문제점, 단점, 등등)

##
## 참고: 아래 글은 DATANET의 김선애 기자가 작성한 글의 일부를 발췌한 것이다.
##      구구절절 다 맞는 말이라서 인용해본다.
##

... 중간 생략 ...

제로 트러스트로 인해 보안위협이 높아진다는 주장도 있다. 
제로 트러스트를 구현한다면서 사용자에게 불편한 강력인증을 반복해서 요구하거나, 
비정상 행위 감지 알람을 반복해서 띄우면서 업무를 불편하게 할 경우, 
직원은 불만을 갖고 보안을 우회할 방법을 찾는다. 
혹은 퇴사를 고려하게 될 수 있으며

... 중간 생략 ...

모든 보안 문제를 완벽하게 해결하는 것은 아니며, 
제로 트러스트 원칙이 적용되지 않는 분야가 있는 것도 인정해야 한다.

제로 트러스트는 턴키 방식으로 일시에 적용할 수 있는 것도 아니며, 
모든 조직에 해당하는 단일 모델이 있는것도 아니다. 
제로 트러스트를 도입하는 조직이 100곳이라면 100개의 제로 트러스트 모델이 생긴다. 
또한 단일 기술로 구현할 수 없으므로 여러 기술을 자유롭게 통합할 수 있는 
개방형 플랫폼과 에코 시스템을 만드는 것도 필수다.

... 중간 생략 ...

출처 : 데이터넷(https://www.datanet.co.kr)

 

 

 

 

 

 

 

 

 

 

 


 

반응형

  


 

공인된 CA가 아닌, 내가 CA가 되서 openssl 명령을 이용하여 Private Key를 Signing하고 Certificate을 생성하는 절차를 알아보자.

(2~3년에 한번씩 하는 작업이라서 메모하지 않으면 잊는다. 잘 메모해야지.. ㅠㅠ)

 

아래 예시 순서대로 따라서 실행하면 된다.

 

 

CA Certificate, Server Certificate 만들기

######################################################################
## 1)   Generate a Certificate Authority Certificate (CA Certificate)
######################################################################

##
## 1-a) Generate a CA certificate private key
##
$  openssl genrsa -out ca.key 4096

##
## 1-b) Generate the CA certificate
##
$  openssl req -x509 -new -nodes -sha512 -days 3650 \
    -subj "/C=CN/ST=Seoul/L=Seoul/O=AndrewInc/OU=Personal/CN=sejong.cluster" \
    -key ca.key \
    -out ca.crt



######################################################################
## 2)   Generate a Server Certificate
######################################################################

##
## 2-a) Generate a private key
##
$  openssl genrsa -out sejong.cluster.key 4096

##
## 2-b) Generate a certificate signing request (CSR).
##
$  openssl req -sha512 -new \
    -subj "/C=CN/ST=Seoul/L=Seoul/O=AndrewInc/OU=Personal/CN=sejong.cluster" \
    -key sejong.cluster.key \
    -out sejong.cluster.csr

##
## 2-c) Generate an x509 v3 extension file.
##
$  cat << EOF > v3.ext

authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
extendedKeyUsage = serverAuth
subjectAltName = @alt_names

[alt_names]
DNS.1=sejong.cluster
DNS.2=sejong
DNS.3=registry
DNS.4=registry.sejong.cluster
DNS.5=10.1.4.51
DNS.6=registry.andrewinc.co.kr
EOF

$

##
## 2-d) Use the v3.ext file to generate a certificate for your server host.
##
$  openssl x509 -req -sha512 -days 3650 \
    -extfile v3.ext \
    -CA ca.crt -CAkey ca.key -CAcreateserial \
    -in sejong.cluster.csr \
    -out sejong.cluster.crt



######################################################################
## 3)   Merge the intermediate certificate with your own certificate 
##      to create a certificate bundle
######################################################################
## 참고로, 아래 명령은 Ubuntu에서만 가능한 명령이다. 
$  cp sejong.cluster.crt /usr/local/share/ca-certificates/sejong.cluster.crt
$  update-ca-certificates

## CentOS, Red Hat(RHEL)을 사용한다면, 위 명령 대신 아래 명령을 수행해야 한다.
$  cp sejong.cluster.crt /etc/pki/ca-trust/source/anchors/sejong.cluster.crt
$  update-ca-trust

 

 

 

Server Certificate  내용 확인

$  openssl x509 -in /usr/local/share/ca-certificates/sejong.cluster.crt -noout -text

Certificate:
    Data:
        Version: 3 (0x2)
        ... 중간 생략 ...
        Signature Algorithm: sha512WithRSAEncryption
        Issuer: C = KR, ST = Seoul, L = Seoul, O = MyCompany OU = Personal, CN = sejong.cluster
        Validity
            Not Before: Dec 21 04:08:37 2022 GMT
            Not After : Dec 18 04:08:37 2032 GMT
        Subject: C = KR, ST = Seoul, L = Seoul, O = MyCompany, OU = Personal, CN = sejong.cluster
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                Public-Key: (4096 bit)
                Modulus:
                    00:bd:07:06:cb:ee:e9:0b:5a:51:bb:cc:a3:5c:a0:
                    ... 중간 생략 ...
                    ad:18:05
                Exponent: 65537 (0x10001)
        X509v3 extensions:
            X509v3 Authority Key Identifier:
                ... 중간 생략 ...
            X509v3 Basic Constraints:
                ... 중간 생략 ...
            X509v3 Key Usage:
                Digital Signature, Non Repudiation, Key Encipherment, Data Encipherment
            X509v3 Extended Key Usage:
                TLS Web Server Authentication
            X509v3 Subject Alternative Name:
                DNS:sejong.cluster, DNS:sejong, DNS:registry, DNS:registry.sejong.cluster, DNS:10.1.4.51
            X509v3 Subject Key Identifier:
                ... 중간 생략 ...
    Signature Algorithm: sha512WithRSAEncryption
    Signature Value:
        82:b9:5d:81:e7:90:85:20:08:8a:da:bb:a7:fc:30:fb:62:bf:
        ... 중간 생략 ...
        b4:64:b7:45:98:37:e8:f4
        
$

 


  

'Security' 카테고리의 다른 글

Zero Trust (개념, 관련 사업, 관련 표준 동향)  (0) 2024.05.27

+ Recent posts