JavaScript is required to for searching.
탐색 링크 건너뛰기
인쇄 보기 종료
Oracle Solaris 11.1 관리: 보안 서비스     Oracle Solaris 11.1 Information Library (한국어)
search filter icon
search icon

문서 정보

머리말

제1부보안 개요

1.  보안 서비스(개요)

제2부시스템, 파일 및 장치 보안

2.  시스템 보안 관리(개요)

3.  시스템에 대한 액세스 제어(작업)

4.  바이러스 검사 서비스(작업)

5.  장치에 대한 액세스 제어(작업)

6.  BART를 사용하여 파일 무결성 확인(작업)

7.  파일에 대한 액세스 제어(작업)

제3부역할, 권한 프로파일 및 권한

8.  역할 및 권한 사용(개요)

9.  역할 기반 액세스 제어 사용(작업)

10.  Oracle Solaris의 보안 속성(참조)

제4부암호화 서비스

11.  암호화 프레임워크(개요)

12.  암호화 프레임워크(작업)

13.  키 관리 프레임워크

제5부인증 서비스 및 보안 통신

14.  플러그 가능한 인증 모듈 사용

15.  Secure Shell 사용

16.  Secure Shell(참조)

17.  단순 인증 및 보안 계층 사용

18.  네트워크 서비스 인증(작업)

제6부Kerberos 서비스

19.  Kerberos 서비스 소개

20.  Kerberos 서비스 계획

21.  Kerberos 서비스 구성(작업)

22.  Kerberos 오류 메시지 및 문제 해결

23.  Kerberos 주체 및 정책 관리(작업)

24.  Kerberos 응용 프로그램 사용(작업)

25.  Kerberos 서비스(참조)

제7부Oracle Solaris에서 감사

26.  감사(개요)

감사란?

감사 용어 및 개념

감사 이벤트

감사 클래스 및 사전 선택

감사 레코드 및 감사 토큰

감사 플러그인 모듈

감사 로그

감사 추적 저장 및 관리

신뢰할 수 있는 시간 기록 유지

원격 저장소 관리

감사와 보안의 관련성

감사가 작동하는 방식

감사를 구성하는 방법

Oracle Solaris 영역이 있는 시스템에 대한 감사

이 릴리스의 감사 서비스 정보

27.  감사 계획

28.  감사 관리(작업)

29.  감사(참조)

용어집

색인

감사 용어 및 개념

다음 용어는 감사 서비스를 설명하는 데 사용됩니다. 일부 정의에는 좀더 자세한 설명에 대한 포인터가 포함되어 있습니다.

감사 클래스

감사 이벤트의 그룹화입니다. 감사 클래스는 감사할 이벤트 그룹을 선택할 수 있는 방법을 제공합니다.

자세한 내용은 감사 클래스 및 사전 선택audit_flags(5), audit_class(4)audit_event(4) 매뉴얼 페이지를 참조하십시오.

감사 파일 시스템

이진 형식의 감사 파일 저장소입니다.

자세한 내용은 감사 로그audit.log(4) 매뉴얼 페이지를 참조하십시오.

감사 이벤트

감사 가능한 보안 관련 시스템 작업입니다. 선택이 용이하도록 이벤트는 감사 클래스로 그룹화됩니다.

자세한 내용은 감사 이벤트audit_event(4) 매뉴얼 페이지를 참조하십시오.

감사 플래그

명령 또는 키워드에 대한 인수로 제공되는 감사 클래스입니다. 플래그는 더하기 기호나 빼기 기호를 앞에 붙여 클래스가 성공(+) 또는 실패(-)에 대해 감사되는지 나타낼 수 있습니다. 앞에 캐럿(^)이 있으면 성공이 감사되지 않음(^+) 또는 실패가 감사되지 않음(^-)을 나타냅니다.

자세한 내용은 audit_flags(5) 매뉴얼 페이지 및 감사 클래스 구문을 참조하십시오.

감사 플러그인

대기열의 감사 레코드를 지정된 위치로 전송하는 모듈입니다. audit_binfile 플러그인은 이진 감사 파일을 만듭니다. 이진 파일은 감사 파일 시스템에 저장되는 감사 추적을 구성합니다. audit_remote 플러그인은 이진 감사 레코드를 원격 저장소로 보냅니다. audit_syslog 플러그인은 syslog 로그에서 선택한 감사 레코드를 요약합니다.

자세한 내용은 감사 플러그인 모듈과 모듈 매뉴얼 페이지 audit_binfile(5), audit_remote(5)audit_syslog(5)를 참조하십시오.

감사 정책

사이트에서 사용 또는 사용 안함으로 설정할 수 있는 감사 옵션 세트입니다. 이러한 옵션에는 특정 종류의 감사 데이터를 기록할지 여부가 포함됩니다. 또한 옵션에는 감사 대기열이 가득 찼을 때 감사 가능한 작업을 일시 중지할지 여부도 포함됩니다.

자세한 내용은 감사 정책 이해auditconfig(1M) 매뉴얼 페이지를 참조하십시오.

감사 레코드

감사 대기열에 수집되는 감사 데이터입니다. 하나의 감사 레코드는 단일 감사 이벤트를 설명합니다. 각 감사 레코드는 감사 토큰으로 구성됩니다.

자세한 내용은 감사 레코드 및 감사 토큰audit.log(4) 매뉴얼 페이지를 참조하십시오.

감사 토큰

감사 레코드나 이벤트의 필드입니다. 각 감사 토큰은 사용자, 프로그램 또는 기타 객체와 같은 감사 이벤트의 속성의 설명합니다.

자세한 내용은 감사 토큰 형식audit.log(4) 매뉴얼 페이지를 참조하십시오.

감사 추적

기본 플러그인 audit_binfile을 사용하는 모든 감사된 시스템의 감사 데이터를 저장하는 하나 이상의 감사 파일 모음입니다.

자세한 내용은 감사 추적을 참조하십시오.

로컬 감사

로컬 시스템에서 생성되는 감사 레코드를 수집하는 작업입니다. 레코드는 전역 영역 또는 비전역 영역이나 두 영역 모두에서 생성할 수 있습니다.

자세한 내용은 감사 플러그인 모듈을 참조하십시오.

사후 선택

감사 추적에서 검사할 감사 이벤트의 선택입니다. 기본 활성 플러그인 audit_binfile이 감사 추적을 만듭니다. 사후 선택 도구 auditreduce 명령이 감사 추적에서 레코드를 선택합니다.

자세한 내용은 auditreduce(1M)praudit(1M) 매뉴얼 페이지를 참조하십시오.

사전 선택

모니터할 감사 클래스의 선택합니다. 사전 선택된 감사 클래스의 감사 이벤트는 감사 대기열에 수집됩니다. 사전 선택되지 않은 감사 클래스는 감사되지 않으므로 해당 이벤트가 대기열에 나타나지 않습니다.

자세한 내용은 감사 클래스 및 사전 선택audit_flags(5)auditconfig(1M) 매뉴얼 페이지를 참조하십시오.

공용 객체

root 사용자가 소유하고 누구나 읽을 수 있는 파일입니다. 예를 들어, /etc 디렉토리 및 /usr/bin 디렉토리에 있는 파일은 공용 객체입니다. 공용 객체는 읽기 전용 이벤트에 대해 감사되지 않습니다. 예를 들어, file_read(fr) 감사 클래스가 사전 선택되더라도 공용 객체 읽기는 감사되지 않습니다. public 감사 정책 옵션을 변경하여 기본값을 대체할 수 있습니다.

원격 감사

감사 중이고 활성 audit_remote 플러그인으로 구성된 시스템에서 감사 레코드를 수신하고 저장하는 ARS(감사 원격 서버)입니다. 감사되는 시스템을 ARS와 구분하기 위해 감사 시스템을 “로컬로 감사되는 시스템”이라고 부를 수 있습니다.

자세한 내용은 auditconfig(1M) 매뉴얼 페이지의 -setremote 옵션 및 감사 원격 서버를 참조하십시오.

감사 이벤트

감사 이벤트는 시스템에서 감사 가능한 작업을 나타냅니다. 감사 이벤트는 /etc/security/audit_event 파일에 나열됩니다. 각 감사 이벤트는 시스템 호출 또는 사용자 명령에 연결되고, 하나 이상의 감사 클래스에 지정됩니다. audit_event 파일의 형식에 대한 설명은 audit_event(4) 매뉴얼 페이지를 참조하십시오.

예를 들어, AUE_EXECVE 감사 이벤트는 execve() 시스템 호출을 감사합니다. auditrecord -e execve 명령은 이 항목을 표시합니다.

execve
  system call execve               See execve(2)
  event ID    23                   AUE_EXECVE
  class       ps,ex                (0x0000000040100000)
      header
      path
      [attribute]                  omitted on error
      [exec_arguments]             output if argv policy is set
      [exec_environment]           output if arge policy is set
      subject
      [use_of_privilege]
      return

감사 클래스 ps 또는 감사 클래스 ex를 사전 선택할 경우 모든 execve() 시스템 호출이 감사 대기열에 기록됩니다.

감사는 attributablenon-attributable 이벤트를 처리합니다. 감사 정책은 다음과 같이 이벤트를 synchronous asynchronous 이벤트로 나눕니다.

감사 서비스에서 정의한 감사 이벤트 이외에 타사 응용 프로그램에서 감사 이벤트를 생성할 수 있습니다. 감사 이벤트 번호 32768부터 65535까지 타사 응용 프로그램에 대해 사용할 수 있습니다. 공급업체는 Oracle Solaris 담당자에게 연락하여 이벤트 번호를 예약하고 감사 인터페이스에 대한 액세스 권한을 얻어야 합니다.

감사 클래스 및 사전 선택

각 감사 이벤트는 감사 클래스에 속합니다. 감사 클래스는 많은 수의 감사 이벤트에 대한 편리한 컨테이너입니다. 감사할 클래스를 사전 선택할 경우 해당 클래스의 모든 이벤트가 감사 대기열에 기록됩니다. 예를 들어, ps 감사 클래스를 사전 선택하면 execve(), fork () 및 기타 시스템 호출이 기록됩니다.

시스템의 이벤트 또는 특정 사용자가 시작한 이벤트에 대해 사전 선택할 수 있습니다.

감사 클래스는 /etc/security/audit_class 파일에 정의되어 있습니다. 각 항목은 클래스에 대한 감사 마스크, 클래스에 대한 이름 및 클래스에 대한 설명을 포함합니다. 예를 들어, lops 클래스 정의는 audit_class 파일에 다음과 같이 나타납니다.

0x0000000000001000:lo:login or logout
0x0000000000100000:ps:process start/stop

감사 클래스에는 allno의 두 전역 클래스가 포함됩니다. 감사 클래스에 대한 설명은 audit_class(4) 매뉴얼 페이지를 참조하십시오. 클래스 목록은 /etc/security/audit_class 파일을 검토하십시오.

클래스에 감사 이벤트 매핑은 구성이 가능합니다. 클래스에서 이벤트를 제거하거나 클래스에 이벤트를 추가하고, 선택한 특정 이벤트에 대해 새 클래스를 만들 수 있습니다. 절차는 감사 이벤트의 클래스 멤버쉽을 변경하는 방법을 참조하십시오. 클래스에 매핑된 이벤트를 보려면 auditrecord -c class 명령을 사용합니다.

감사 레코드 및 감사 토큰

감사 레코드는 감사된 단일 이벤트의 발생을 기록합니다. 레코드에는 작업을 수행한 사람, 영향을 받는 파일, 시도된 작업, 작업이 발생한 위치 및 시기 등과 같은 정보가 포함됩니다. 다음 예에서는 세 가지 토큰인 header, subjectreturn이 포함된 login 감사 레코드를 보여줍니다.

header,69,2,login - local,,example_system,2010-10-10 10:10:10.020 -07:00
subject,jdoe,jdoe,staff,jdoe,staff,1210,4076076536,69 2 example_system
return,success,0

각 감사 이벤트에 대해 저장되는 정보의 유형은 감사 토큰 세트로 정의됩니다. 이벤트에 대해 감사 레코드가 만들어질 때마다 레코드에는 해당 이벤트에 대해 정의된 토큰의 일부 또는 모두가 포함됩니다. 이벤트의 특성에 따라 기록되는 토큰이 결정됩니다. 위의 예에서 각 행은 감사 토큰의 이름으로 시작합니다. 감사 토큰의 내용은 토큰 이름 다음에 나옵니다. header, subjectreturn 감사 토큰은 함께 login - local 감사 레코드를 구성합니다. 감사 레코드를 구성하는 토큰을 표시하려면 auditrecord -e event 명령을 사용합니다.

praudit 출력의 예와 함께 각 감사 토큰의 구조에 대한 자세한 설명은 감사 토큰 형식을 참조하십시오. 감사 토큰의 이진 스트림에 대한 설명은 audit.log(4) 매뉴얼 페이지를 참조하십시오.

감사 플러그인 모듈

감사 플러그인 모듈은 감사 대기열의 감사 레코드를 파일 또는 저장소로 지정합니다. 적어도 하나의 플러그인은 활성화되어야 합니다. 기본적으로 audit_binfile 플러그인이 활성화됩니다. auditconfig -setplugin plugin-name 명령을 사용하여 플러그인을 구성합니다.

감사 서비스는 다음 플러그인을 제공합니다.

플러그인을 구성하려면 auditconfig(1M) 매뉴얼 페이지를 참조하십시오. 플러그인 구성의 예는 감사 로그 구성(작업)의 작업을 참조하십시오. 플러그인에 대한 자세한 내용은 audit_binfile(5), audit_remote(5)audit_syslog(5) 매뉴얼 페이지를 참조하십시오.

감사 로그

감사 레코드는 감사 로그에 수집됩니다. 감사 서비스는 감사 레코드에 대한 세 가지 출력 모드를 제공합니다.

사이트에서는 모든 형식으로 감사 레코드를 수집하도록 감사를 구성할 수 있습니다. 이진 모드를 로컬에서 사용하거나 이진 파일을 원격 저장소로 보내거나 syslog 모드를 사용하도록 사이트의 시스템을 구성할 수 있습니다. 다음 표는 이진 감사 레코드를 syslog 감사 레코드와 비교한 것입니다.

표 26-1 이진, 원격 및 syslog 감사 레코드의 비교

기능
이진 및 원격 레코드
syslog 레코드
프로토콜
이진 – 파일 시스템에 기록합니다.

원격 – 원격 저장소로 스트리밍합니다.

원격 로깅을 위해 UDP를 사용합니다.
데이터 유형
이진
텍스트
레코드 길이
제한 없음
감사 레코드당 최대 1024자
위치
이진 – 시스템의 zpool에 저장

원격 – 원격 저장소

syslog.conf 파일에 지정된 위치에 저장
구성하는 방법
이진 – audit_binfile 플러그인에서 p_dir 속성을 설정합니다.

원격 – audit_remote 플러그인에서 p_hosts 속성을 설정하고 플러그인을 활성화합니다.

audit_syslog 플러그인을 활성화하고 syslog.conf 파일을 구성합니다.
읽는 방법
이진 – 일반적으로 배치 모드에서 XML로 브라우저 출력

원격 – 저장소에서 절차 결정

실시간으로 또는 syslog에 대해 만든 스크립트로 검색

일반 텍스트 출력

완전성
완전성이 보장되며 올바른 순서로 나타남
완전성이 보장되지 않음
시간 기록
협정 세계시(UTC)
감사되는 시스템의 시간

이진 레코드가 가장 뛰어난 보안과 완전성을 제공합니다. 이진 출력은 Common Criteria 감사 요구 사항과 같은 보안 자격 증명 요구 사항을 충족합니다.

audit_binfile 플러그인은 스누핑으로부터 보호되는 파일 시스템에 레코드를 기록합니다. 단일 시스템에서 모든 이진 레코드는 순서대로 수집되고 표시됩니다. 한 감사 추적의 시스템이 여러 시간대에 분포되어 있는 경우 이진 로그의 UTC 시간 기록을 사용하여 정확한 비교가 가능합니다. praudit -x 명령을 사용하여 브라우저에서 XML로 레코드를 볼 수 있습니다. 또한 스크립트를 사용하여 XML 출력을 구문 분석할 수 있습니다.

audit_remote 플러그인은 원격 저장소에 레코드를 기록합니다. 저장소는 저장 및 사후 선택을 처리합니다.

반면, syslog 레코드는 높은 편의성과 유연성을 제공할 수 있습니다. 예를 들어, 다양한 소스에서 syslog 데이터를 수집할 수 있습니다. 또한 syslog.conf 파일에서 audit.notice 이벤트를 모니터할 때 syslog 유틸리티는 현재 시간 기록과 함께 감사 레코드 요약을 기록합니다. 워크스테이션, 서버, 방화벽 및 라우터를 포함한 다양한 소스에서 syslog 메시지에 대해 개발한 동일한 관리 및 분석 도구를 사용할 수 있습니다. 레코드는 실시간으로 보거나 원격 시스템에 저장할 수 있습니다.

syslog.conf를 사용하여 감사 레코드를 원격으로 저장하면 공격자가 로그 데이터를 변경하거나 삭제하지 못하도록 보호할 수 있습니다. 한편, 감사 레코드를 원격으로 저장할 경우 레코드가 서비스 거부 및 소스 주소 스푸핑과 같은 네트워크 공격을 받을 수 있습니다. 또한 UDP는 패킷을 삭제하거나 패킷을 순서 없이 전달할 수 있습니다. syslog 항목은 1024자로 제한되므로 일부 감사 레코드가 로그에서 잘릴 수 있습니다. 단일 시스템에서 일부 감사 레코드가 수집되지 않습니다. 레코드가 순서대로 표시되지 않을 수 있습니다. 각 감사 레코드에는 로컬 시스템의 날짜와 시간이 기록되므로 시간 기록에 의존하여 여러 시스템에 대한 감사 추적을 생성할 수 없습니다.

플러그인 및 감사 로그에 대한 자세한 내용은 다음을 참조하십시오.

감사 추적 저장 및 관리

audit_binfile 플러그인이 활성화되면 감사 파일 시스템이 감사 파일을 이진 형식으로 보관합니다. 일반적인 설치에서는 /var/audit 파일 시스템을 사용하며 추가 파일 시스템을 사용할 수 있습니다. 모든 감사 파일 시스템의 컨텐츠는 감사 추적을 구성합니다. 감사 레코드는 이러한 파일 시스템에 다음 순서대로 저장됩니다.

파일 시스템은 audit_binfile 플러그인의 p_dir 속성에 인수로 지정됩니다. 목록의 앞에 있는 파일 시스템이 가득 찰 때까지 파일 시스템은 사용되지 않습니다. 파일 시스템 항목 목록의 예는 감사 파일에 대한 ZFS 파일 시스템을 만드는 방법을 참조하십시오.

기본 감사 루트 디렉토리에 감사 파일을 두면 감사 추적을 검토할 때 감사 검토자에게 도움이 됩니다. auditreduce 명령은 감사 루트 디렉토리를 사용하여 감사 추적의 모든 파일을 찾습니다. 기본 감사 루트 디렉토리는 /var/audit입니다. auditreduce 명령에 -M 옵션을 사용하여 특정 시스템의 감사 파일을 지정하고, -S 옵션을 사용하여 다른 감사 파일 시스템을 지정할 수 있습니다. 자세한 내용은 auditreduce(1M) 매뉴얼 페이지를 참조하십시오.

감사 서비스는 감사 추적의 파일을 결합하고 필터링하기 위한 명령을 제공합니다. auditreduce 명령은 감사 추적의 감사 파일을 병합할 수 있습니다. 또한 이 명령은 파일을 필터링하여 특정 이벤트를 찾을 수 있습니다. praudit 명령은 이진 파일을 읽습니다. praudit 명령에 대한 옵션은 스크립팅 및 브라우저 표시에 적당한 출력을 제공합니다.

신뢰할 수 있는 시간 기록 유지

여러 시스템의 감사 로그를 병합할 때 이러한 시스템의 날짜와 시간은 정확해야 합니다. 마찬가지로, 감사 로그를 원격 시스템에 보낼 때 기록 시스템과 저장소 시스템의 시계가 정확해야 합니다. NTP(Network Time Protocol)는 시스템 시계를 정확하고 알맞게 유지합니다. 자세한 내용은 Oracle Solaris 11 네트워크 서비스 소개의 3 장, 시간 관련 서비스xntpd(1M) 매뉴얼 페이지를 참조하십시오.

원격 저장소 관리

audit_remote 플러그인이 구성된 후 원격 저장소가 감사 레코드를 수신합니다. ARS(감사 원격 서버)는 감사 레코드에 대한 수신자를 제공합니다. 감사 레코드는 보호 연결을 통해 ARS에 스트리밍되며 로컬로 저장되는 방식과 비슷한 방식으로 저장할 수 있습니다. ARS를 구성하려면 감사 파일에 대한 원격 저장소를 구성하는 방법을 참조하십시오. ARS에 대한 설명은 감사 원격 서버ars(5) 매뉴얼 페이지를 참조하십시오.