지역 파일 공유를 위한 전송 중 암호화 설정

stunnel을 사용하여 전송 계층 보안( TLS ) 1.2 을 통해 지역 파일 공유에 대한 암호화된 마운트 연결을 설정합니다.

stunnel을 사용하여 TLS 1.2 + 연결을 설정하면, 컴퓨팅 호스트와 지역 파일 공유 간에 암호화된 마운트 연결을 구축할 수 있습니다. 보안 그룹 기반 액세스 제어 모드로 파일 공유를 사용하고 가상 네트워크 인터페이스(VNI)로 대상을 마운트할 때 안전한 엔드투엔드 암호화를 사용할 수 있습니다. 이러한 마운트 대상이 연결되고 공유가 마운트되면 VNI는 보안 그룹 정책을 확인하여 권한이 부여된 인스턴스만 공유와 통신할 수 있는지 확인합니다.

Stunnel은 오픈 소스 기반의 다목적, 다중 플랫폼 애플리케이션으로, 범용 TLS / SSL 터널링 서비스를 제공합니다. 이 라이브러리는 기본이 되는 TLS 프로토콜을 구현하기 위해 OpenSSL 라이브러리를 활용합니다. Stunnel은 X.509 디지털 인증서를 활용한 공개 키 암호화를 사용하여 연결을 보호하며, 클라이언트는 선택적으로 인증서를 통해 인증받을 수 있습니다.

Mount Helper 유틸리티를 통해 설정된 경우, stunnel 연결에 사용되는 암호화 방식은 128비트 Galois/Counter Mode(GCM) 방식의 고급 암호화 표준(AES)입니다( AES-128-GCM ) ( TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 ). 허용되는 암호 모음에 대한 자세한 내용은 ‘ IBM Cloud Framework for Financial Services- 전송 중 데이터 암호화’ 항목을 참조하십시오.

터널 클라이언트 애플리케이션의 설치 및 유지 관리는 사용자의 책임입니다. 자세한 정보는 다음 리소스를 참조하십시오.

Stunnel을 사용한 전송 중 암호화의 전제 조건

이 기능을 사용하기 전에 다음 요건을 충족해야 합니다:

  • 파일 공유는 rfs 프로필을 기반으로 해야 하며 보안 그룹 액세스 모드로 구성해야 합니다.

  • 마운트 대상은 가상 네트워크 인터페이스를 사용하여 만들어야 합니다. 컴퓨팅 호스트와 마운트 대상은 동일한 보안 그룹의 구성원이어야 합니다. 자세한 내용은 파일 공유 및 마운트 대상 만들기를 참조하세요.

  • 전송 중인 데이터 암호화를 사용하도록 설정해야 합니다. 콘솔에서 마운트 대상을 만들 때 전송 중 암호화를 켜고 끌 수 있습니다. API transit_encryption 속성은 stunnel 값을 허용하여 기능을 활성화합니다.

  • 서버에 터널이 설치되어 있어야 합니다. IBM Cloud® 파일 서비스는 stunnel 애플리케이션의 다운로드, 구성 및 실행과 같이 컴퓨팅 호스트에서 수행해야 하는 작업을 자동화하기 위한 ‘Mount Helper’ 유틸리티를 제공합니다.

터널로 파일 공유 마운트하기

  1. 다음 명령 구문을 사용하여 공유를 마운트합니다. 마운트 경로를 파일 공유에 맞는 정보로 바꿉니다.

    mount -t ibmshare -o stunnel 10.0.0.1:/MOUNT_PATH /mnt/MOUNT_PATH
    

    다음 예를 참조하십시오.

    ++ mount -v -o stunnel -t ibmshare 10.240.64.24:/EAD9B8582BC84FDAB57B7A315BCA1210 /mnt/EAD9B8582BC84FDAB57B7A315BCA1210
    Debug - Locked ok:/var/lock/ibm_mount_helper.lck
    Debug - File unlocked:/var/lock/ibm_mount_helper.lck
    Debug - Locked ok:/var/lock/ibm_mount_helper.lck
    Debug - RunCmd: ListNfsMounts (mount -t nfs,nfs4)
    Debug - Existing nfs/nfs4 mounts found:0
    Debug - RunCmd: ListNfsMounts (mount -t nfs,nfs4)
    Debug - Existing nfs/nfs4 mounts found:0
    Debug - Local port 10001 will be used for setting up next stunnel
    Debug - Starting stunnel for mounting /EAD9B8582BC84FDAB57B7A315BCA1210
    Debug - Stunnel conf file created /etc/stunnel/ibmshare_EAD9B8582BC84FDAB57B7A315BCA1210.conf
    Debug - Attempting to start stunnel using /etc/stunnel/ibmshare_EAD9B8582BC84FDAB57B7A315BCA1210.conf
    Debug - Attempting mount of /EAD9B8582BC84FDAB57B7A315BCA1210 on the local host
    Debug - RunCmd: Mount using stunnel  (mount -t nfs4 -o sec=sys,nfsvers=4.1,rw,port=10001 127.0.0.1:/EAD9B8582BC84FDAB57B7A315BCA1210 /mnt/EAD9B8582BC84FDAB57B7A315BCA1210 -v)
    Debug - Stunnel mount was successful
    Debug - File unlocked:/var/lock/ibm_mount_helper.lck
    
  2. 시스템 로그를 확인하여 터널이 실행 중이고 연결이 성공적으로 설정되었는지 확인하여 연결을 확인합니다. 다음 명령을 실행하여 첨부된 파일 시스템을 볼 수도 있습니다:

    df -h
    

NFS용 no_root_squash 구현(선택사항)

기본적으로 NFS는 루트 권한으로 작성된 파일을 nobody 사용자로 다운그레이드합니다. 이 보안 기능을 사용하면 요청하지 않는 한 공유되지 않습니다.

no_root_squash 를 구성하면 루트 클라이언트가 원격 NFS 파일 공유에서 루트 권한을 유지할 수 있습니다.

NFSv4.1의 경우 nfsv4 도메인을 slnfsv4.com으로 설정하고 rpcidmapd 또는 OS에서 사용하는 유사한 서비스를 시작하십시오.

  1. 호스트에서 /etc/idmapd.conf 에서 도메인 설정을 지정하십시오.

    $ vi /etc/idmapd.conf
    [General]
    #Verbosity = 0
    #The following should be set to the local NFSv4 domain name
    #The default is the host's DNS domain name.
    Domain = slnfsv4.com
    [Mapping]
    Nobody-User = nobody
    Nobody-Group = nobody
    
  2. nfsidmap -c을(를) 실행하십시오.