오브젝트 스토리지를 위한 저렴한 바이러스 백신
Oracle Cloud Infrastructure Object Storage에서 생성된 파일 객체를 스캔하는 저비용 바이러스 검사 프로그램을 구축하여 보안을 강화하고 준수를 유지 관리합니다. 이 아키텍처는 오픈 소스 안티바이러스 엔진인 단일 Oracle Cloud Infrastructure 컴퓨트 인스턴스와 ClamAV를 사용합니다.
구조
이 아키텍처는 오브젝트 스토리지에서 파일에 대해 스캔 작업을 수행하는 두 가지 방법을 보여줍니다.
한 가지 방법은 Oracle Cloud Infrastructure 이벤트 서비스와 Oracle Cloud Infrastructure 스트리밍 서비스를 사용하여 스캐너의 스크립트 또는 프로그램에 하나 이상의 새 파일이 파일 버킷에 추가되었음을 알립니다. 다른 방법은 설정한 일정에 따라 파일 버킷을 스캔합니다.
다음 다이어그램은 이 참조 아키텍처를 보여 줍니다.

그림 Architecture-antivirus.png에 대한 설명
아키텍처에는 다음과 같은 구성 요소가 있습니다:
- 지역
Oracle Cloud Infrastructure 지역은 가용성 도메인이라는 하나 이상의 데이터 센터를 포함하는 지역화된 지역입니다. 지역은 다른 지역과 독립적이며 방대한 거리는 국가 또는 대륙에서 분리할 수 있습니다.
- VCN(가상 클라우드 네트워크) 및 서브넷
VCN는 Oracle Cloud Infrastructure 지역에서 설정하는 사용자정의 가능한 소프트웨어 정의 네트워크입니다. VCN은 기존의 데이터 센터 네트워크와 마찬가지로 네트워크 환경을 완벽하게 제어할 수 있습니다. VCN 에는 VCN를 생성한 후 변경할 수 있는 겹치지 않는 CIDR 블록이 여러 개 있을 수 있습니다. 영역 또는 가용성 도메인으로 범위를 지정할 수 있는 서브넷으로 VCN를 세그먼트화할 수 있습니다. 각 서브넷은 VCN의 다른 서브넷과 겹치지 않는 연속적인 주소 범위로 구성됩니다. 서브넷을 생성한 후 서브넷 크기를 변경할 수 있습니다. 서브넷은 공용 또는 전용일 수 있습니다.
- 구획
구획은 관련 리소스의 모음입니다. 구획은 클라우드 리소스를 구성하고 격리하기 위한 Oracle Cloud Infrastructure의 기본 구성요소입니다. 구획은 테넌시 너비이며 모든 영역을 교차합니다.
각 서브넷에 대해 서브넷에서 허용되는 트래픽의 소스, 대상 및 유형을 지정하는 보안 규칙을 생성할 수 있습니다.
- 인스턴스 주체
인스턴스 주체는 인스턴스가 권한이 부여된 작업자(또는 주체) 가 서비스 리소스에 대한 작업을 수행할 수 있도록 해주는 IAM 서비스 기능입니다. 각 컴퓨트 인스턴스는 고유 ID를 가지며 추가된 인증서를 사용하여 인증합니다.
- 동적 그룹
동적 그룹을 사용하면 Oracle Cloud Infrastructure 컴퓨터 인스턴스를 사용자 그룹과 유사한 "주요" 작업자로 그룹화할 수 있습니다. 그런 다음 인스턴스가 Oracle Cloud Infrastructure 서비스에 대해 API를 호출할 수 있도록 허용하는 정책을 생성할 수 있습니다.
- 정책
정책은 회사가 보유한 Oracle Cloud Infrastructure 리소스에 액세스할 수 있는 사용자 및 방법을 지정하는 문서입니다. 정책을 사용하면 그룹이 특정 구획 또는 테넌시의 특정 리소스 유형에 대해 특정 방식으로 작동할 수 있습니다.
- 오브젝트 스토리지 서비스
Oracle Cloud Infrastructure Object Storage 서비스는 안정적이고 비용 효율적인 데이터 내구성을 제공하는 인터넷 규모의 고성능 스토리지 플랫폼입니다. 모든 컨텐츠 유형의 구조화되지 않은 데이터를 무제한으로 저장할 수 있습니다. 데이터베이스 백업, 분석 데이터 및 풍부한 콘텐츠(예: 이미지 및 비디오) 포함
- 컴퓨트 인스턴스
Oracle Cloud Infrastructure 컴퓨트를 사용하면 컴퓨트 호스트를 프로비저닝하고 관리할 수 있습니다. 리소스 요구 사항(CPU, 메모리, 네트워크 대역폭 및 스토리지) 을 충족하는 구성으로 컴퓨트 인스턴스를 실행할 수 있습니다. 컴퓨트 인스턴스를 생성한 후 안전하게 액세스하고, 재시작하고, 볼륨을 연결 및 분리하고, 필요하지 않을 때 종료할 수 있습니다.
아키텍처에는 하나의 컴퓨트 인스턴스가 있습니다. ClamAV 바이러스 백신 엔진 및 기타 스캔 프로세스 관리 툴을 호스트합니다.
- 이벤트
Oracle Cloud Infrastructure 서비스는 리소스의 변경사항을 설명하는 구조화된 메시지인 이벤트를 내보냅니다. 이벤트는 클라우드 리소스에 영향을 주는 생성, 읽기, 업데이트 또는 삭제(CRUD) 작업, 리소스 수명 주기 상태 변경 및 시스템 이벤트에 대해 발생합니다.
이 아키텍처에서 이벤트 서비스는 오브젝트 스토리지 버킷에서 오브젝트 생성을 추적하는 데 사용됩니다.
- 스트리밍
Oracle Cloud Infrastructure Streaming은 실시간으로 소비하고 처리할 수 있는 대용량의 연속 데이터 스트림을 수집할 수 있도록 완전하게 관리되고 확장 가능하며 내구성이 뛰어난 저장 영역 솔루션을 제공합니다. 스트리밍 을 사용하여 애플리케이션 로그, 운영 원격 측정, 웹 클릭-스트림 데이터 등의 대용량 데이터를 수집하거나 게시-구독 메시징 모델에서 데이터가 지속적으로 순차적으로 생성되고 처리되는 기타 사용 사례에 사용할 수 있습니다.
권장 사항
요구 사항은 여기에 설명된 아키텍처와 다를 수 있습니다. 다음 권장 사항을 시작점으로 사용하십시오.
- VCN 및 서브넷
VCN를 생성할 때 VCN의 서브넷에 연결할 리소스 수를 기반으로 필요한 CIDR 블록 수 및 각 블록의 크기를 결정합니다. 표준 전용 IP 주소 공간 내에 있는 CIDR 블록을 사용합니다.
개인 연결을 설정하려는 다른 네트워크(Oracle Cloud Infrastructure, 온프레미스 데이터 센터 또는 다른 클라우드 제공자) 와 겹치지 않는 CIDR 블록을 선택합니다.
VCN를 생성한 후 CIDR 블록을 변경, 추가 및 제거할 수 있습니다.
서브넷을 설계할 때 트래픽 흐름 및 보안 요구사항을 고려하십시오. 특정 계층 또는 역할 내의 모든 리소스를 동일한 서브넷에 연결합니다. 이 서브넷은 보안 경계 역할을 할 수 있습니다.
- 구획
기본적으로 Oracle Cloud 테넌시에는 테넌시 자체에 따라 이름이 지정된 기본 루트 구획이 있습니다. 테넌시 관리자(기본 루트 구획 관리자) 는 기본 관리자 그룹의 멤버인 사용자입니다.
이 아키텍처의 경우 모든 리소스를 포함하는 구획을 생성하여 격리하고 보안을 향상시킵니다.
- 인스턴스 주체
VM이 오브젝트 스토리지 버킷을 공개하지 않고 액세스할 수 있도록 동적 그룹 및 정책을 생성합니다.
- Oracle 이미지
OCI-CLI, Python 및 Git이 설치되어 사용 준비가 된 상태로 제공되는 Oracle Cloud 개발자 이미지를 사용하여 VM을 생성합니다.
고려 사항
이 참조 구조를 배치할 때는 다음 사항을 고려하십시오:
- 빈도
스캔 실행 빈도는 수신 객체의 볼륨 및 빈도에 따라 달라집니다. 일반적인 지침은 주별 스캔부터 시작하여 버킷의 모든 객체를 처리하는 데 걸린 시간에 따라 조정됩니다.
- 성능
여러 요인이 성능에 영향을 주지만 가장 중요한 요인은 처리해야 하는 파일 수와 인스턴스 구성입니다.
- 보안
인스턴스 주체 및 동적 그룹을 사용하여 오브젝트 스토리지 버킷에 대한 액세스를 제한합니다. IAM(Oracle Cloud Infrastructure Identity and Access Management) 정책을 사용하면 버킷이 공개되지 않도록 특정 동적 그룹에 권한을 지정할 수 있습니다.
암호화는 기본적으로 Oracle Cloud Infrastructure Object Storage에 대해 사용으로 설정되며 해제할 수 없습니다.
- 비용
Oracle Cloud Infrastructure 인스턴스 및 해당 블록 스토리지는 사용당 지불되므로 버킷에서 바이러스 백신을 실행할 때만 비용을 지불합니다. 수신 객체를 스캔하려면 24x7를 실행 중인 인스턴스를 유지하고, 자유형 계층을 사용하거나, 인스턴스를 다른 서비스와 공유하거나, 전용 인스턴스를 시작할 수 있습니다. 아웃바운드 데이터 전송 및 오픈 소스 안티바이러스 비용을 지불할 필요가 없습니다.
배치
이 참조 구조에 대한 Terraform 코드는 Oracle Cloud Infrastructure Resource Manager에서 샘플 스택으로 사용할 수 있습니다. GitHub에서 코드를 다운로드하여 특정 요구 사항에 맞게 사용자 정의할 수도 있습니다.
- Oracle Cloud Infrastructure Resource Manager의 샘플 스택을 사용하여 배치합니다:
으로 이동합니다.
아직 사인인하지 않은 경우 테넌시 및 사용자 인증서를 입력합니다.
- 스택을 배치하고자 하는 영역을 선택하십시오.
- 화면의 프롬프트 및 지침에 따라 스택을 만듭니다.
- 스택을 생성한 후 Terraform 작업 을 누르고 계획 을 선택합니다.
- 작업이 완료될 때까지 기다렸다가 계획을 검토합니다.
변경하려면 스택 세부정보 페이지로 돌아가서 스택 편집 을 누르고 필요한 사항을 변경합니다. 그런 다음 계획 작업을 다시 실행합니다.
- 더 이상 변경할 필요가 없는 경우 스택 세부 정보 페이지로 돌아가서 Terraform 작업 을 누르고 적용 을 선택합니다.
- GitHub의 Terraform 코드를 사용하여 배포합니다:
- GitHub로 이동합니다.
- 저장소를 로컬 컴퓨터에 복제하거나 다운로드합니다.
README문서의 지침을 따릅니다.