탐색 링크 건너뛰기 | |
인쇄 보기 종료 | |
Oracle Solaris 11.1 관리: 보안 서비스 Oracle Solaris 11.1 Information Library (한국어) |
bart 명령은 매니페스트를 만들고 비교하는 데 사용됩니다. 이 명령은 모든 사용자가 실행할 수 있습니다. 하지만 사용자는 자신에게 액세스 권한이 있는 파일만 카탈로그로 작성하고 모니터할 수 있습니다. 따라서 사용자 및 대부분의 역할은 자신의 홈 디렉토리에 있는 파일을 유용하게 카탈로그로 작성할 수 있지만 root 계정은 시스템 파일을 포함하여 모든 파일을 카탈로그로 작성할 수 있습니다.
BART 매니페스트 및 보고서는 누구나 읽을 수 있습니다. BART 출력 결과에 민감한 정보가 포함될 수 있는 경우 출력 결과를 보호하기 위한 적합한 조치를 취하십시오. 예를 들어, 제한적인 권한으로 출력 파일을 생성하거나 출력 결과 파일을 보호되는 디렉토리에 배치하는 옵션을 사용합니다.
|
이 절차에서는 시스템의 기준 매니페스트를 만드는 방법을 설명합니다. 중앙 이미지에서 많은 시스템을 설치할 때 이 유형의 매니페스트를 사용합니다. 또는 설치가 동일한지 확인하려는 경우 이 유형의 매니페스트를 사용하여 비교를 실행합니다. 기준 매니페스트에 대한 자세한 내용은 BART 매니페스트를 참조하십시오. 형식 규칙을 이해하려면 예 6-1을 참조하십시오.
주 - 네트워크 파일 시스템을 카탈로그로 작성하도록 시도하지 마십시오. BART를 사용하여 네트워크 파일 시스템을 모니터하면 별로 가치가 없는 매니페스트를 생성하는 데 많은 리소스가 소모됩니다.
시작하기 전에
시스템의 제어 매니페스트를 만들려면 root 역할을 맡아야 합니다.
# bart create options > control-manifest
매니페스트에 대한 루트 디렉토리를 지정합니다. 규칙에서 지정한 모든 경로는 이 디렉토리에 대한 상대 경로로 해석됩니다. 매니페스트에서 보고하는 모든 경로는 이 디렉토리에 대한 상대 경로입니다.
명령줄 또는 표준 입력에서 읽은 카탈로그화할 개별 파일 목록을 사용합니다.
이 매니페스트에 대한 규칙 파일 이름입니다. - 인수는 표준 입력으로부터 규칙 파일을 읽습니다.
파일 목록의 모든 일반 파일에 대한 내용 서명을 해제합니다. 이 옵션은 성능을 향상시키는 데 사용할 수 있습니다. 또는 시스템 로그 파일과 같이 파일 목록의 내용이 변경될 것으로 예상되는 경우 이 옵션을 사용할 수 있습니다.
형식에 대한 설명은 예 6-1을 참조하십시오.
시스템 매니페스트를 보호하기 위한 한 가지 방법은 root 계정만 액세스할 수 있는 디렉토리에 매니페스트를 두는 것입니다.
# mkdir /var/adm/log/bartlogs # chmod 700 /var/adm/log/bartlogs # mv control-manifest /var/adm/log/bartlogs
매니페스트에 대한 의미 있는 이름을 선택합니다. mach1-120312와 같이 매니페스트가 만들어진 시스템 이름과 날짜를 사용합니다.
예 6-1 BART 매니페스트 형식에 대한 설명
이 예에서는 매니페스트 형식에 대한 설명이 샘플 출력 뒤에 나옵니다.
# bart create ! Version 1.1 ! HASH SHA256 ! Friday, September 07, 2012 (22:22:27) # Format: #fname D size mode acl dirmtime uid gid #fname P size mode acl mtime uid gid #fname S size mode acl mtime uid gid #fname F size mode acl mtime uid gid contents #fname L size mode acl lnmtime uid gid dest #fname B size mode acl mtime uid gid devnode #fname C size mode acl mtime uid gid devnode / D 1024 40755 user::rwx,group::r-x,mask:r-x,other:r-x 3ebc418eb5be3729ffe7e54053be2d33ee884205502c81ae9689cd8cca5b0090 0 0 . . . /zone D 512 40755 user::rwx group::r-x,mask:r-x,other:r-x 3f81e892 154de3e7bdfd0d57a074c9fae0896a9e2e04bebfe5e872d273b063319e57f334 0 0 . . .
각 매니페스트는 헤더와 파일 항목으로 구성됩니다. 각 파일 항목은 파일 유형에 따라 단일 행입니다. 예를 들어, 위의 출력에서 각 파일 항목에 대해 F 유형은 파일을 지정하고 D 유형은 디렉토리를 지정합니다. 또한 크기, 내용, 사용자 ID, 그룹 ID 및 권한에 대한 정보가 나열됩니다. 출력의 파일 항목은 특수 문자를 올바르게 처리하기 위해 파일 이름의 인코딩된 버전별로 정렬됩니다. 모든 항목은 파일 이름을 기준으로 오름차순으로 정렬됩니다. 내장된 개행 또는 탭 문자를 포함하는 파일 이름과 같은 모든 비표준 파일 이름은 정렬되기 전에 비표준 문자를 따옴표로 묶습니다.
!로 시작하는 행은 매니페스트에 대한 메타 데이터를 제공합니다. 매니페스트 버전 행은 매니페스트 사양 버전을 나타냅니다. 해시 행은 사용된 해시 방식을 나타냅니다. 체크섬으로 사용되는 SHA256에 대한 자세한 내용은 sha2(3EXT) 매뉴얼 페이지를 참조하십시오.
날짜 행은 매니페스트가 만들어진 날짜를 날짜 형식으로 표시합니다. date(1) 매뉴얼 페이지를 참조하십시오. 일부 행은 매니페스트 비교 도구에서 무시됩니다. 무시되는 행에는 메타 데이터, 빈 행, 공백으로만 구성된 행 및 #으로 시작하는 주석이 포함됩니다.
다음 중 하나의 방법으로 매니페스트를 사용자가 정의할 수 있습니다.
하위 트리 지정
개별 하위 트리 지정은 /etc 디렉토리의 모든 파일과 같이 선택한 중요한 파일에 대한 변경 사항을 효율적으로 모니터할 수 있는 방법입니다.
파일 이름 지정
파일 이름 지정은 데이터베이스 응용 프로그램을 구성하고 실행하는 파일과 같은 특히 민감한 파일을 효율적으로 모니터할 수 있는 방법입니다.
규칙 파일 사용
규칙 파일을 사용하여 매니페스트를 만들고 비교하면 하나 이상의 파일이나 하위 트리에 대해 여러 속성을 지정할 수 있는 유연성이 제공됩니다. 명령줄에서 매니페스트 또는 보고서의 모든 파일에 적용되는 전역 속성 정의를 지정할 수 있습니다. 규칙 파일에서 전역으로 적용되지 않는 속성을 지정할 수 있습니다.
시작하기 전에
root 역할을 맡아야 합니다. 자세한 내용은 지정된 관리 권한을 사용하는 방법을 참조하십시오.
하위 트리 지정:
# bart create -R subtree
파일 이름 지정:
# bart create -I filename...
예를 들면 다음과 같습니다.
# bart create -I /etc/system /etc/passwd /etc/shadow
규칙 파일 사용:
# bart create -r rules-file
예를 보려면 단계 3 in 제어 매니페스트를 만드는 방법을 참조하십시오.
참고 - 규칙 파일을 사용한 경우 매니페스트와 함께 규칙 파일을 저장합니다. 효율적인 비교를 위해서는 규칙 파일을 사용해서 비교를 실행해야 합니다.
시간별로 매니페스트를 비교하면 손상되었거나 일반적이지 않은 파일을 찾아내고, 보안 위반 사항을 검색하고, 시스템의 성능 문제를 해결할 수 있습니다.
시작하기 전에
시스템 파일이 포함된 매니페스트를 만들고 비교하려면 root 역할을 맡아야 합니다.
# bart create -R /etc > control-manifest
예를 보려면 단계 3 in 제어 매니페스트를 만드는 방법을 참조하십시오.
# bart create -R /etc > test-manifest
# mv test-manifest /var/adm/log/bartlogs
매니페스트를 만드는 데 사용한 동일한 명령줄 옵션 및 규칙 파일을 사용하여 매니페스트를 비교합니다.
# bart compare options control-manifest test-manifest > bart-report
예 6-2 시간별로 동일 시스템의 파일 변경 사항 추적
이 예에서는 시간별로 /etc 디렉토리의 변경 사항을 추적하는 방법을 보여줍니다. 이 유형의 비교를 통해 손상된 시스템에서 중요한 파일을 찾을 수 있습니다.
제어 매니페스트를 만듭니다.
# cd /var/adm/logs/manifests # bart create -R /etc > system1.control.090712 ! Version 1.1 ! HASH SHA256 ! Friday, September 07, 2012 (11:11:17) # Format: #fname D size mode acl dirmtime uid gid #fname P size mode acl mtime uid gid #fname S size mode acl mtime uid gid #fname F size mode acl mtime uid gid contents #fname L size mode acl lnmtime uid gid dest #fname B size mode acl mtime uid gid devnode #fname C size mode acl mtime uid gid devnode /.cpr_config F 2236 100644 owner@:read_data/write_data/append_data/read_xattr/wr ite_xattr/read_attributes/write_attributes/read_acl/write_acl/write_owner/synchr onize:allow,group@:read_data/read_xattr/read_attributes/read_acl/synchronize:all ow,everyone@:read_data/read_xattr/read_attributes/read_acl/synchronize:allow 4e271c59 0 0 3ebc418eb5be3729ffe7e54053be2d33ee884205502c81ae9689cd8cca5b0090 /.login F 1429 100644 owner@:read_data/write_data/append_data/read_xattr/write_x attr/read_attributes/write_attributes/read_acl/write_acl/write_owner/synchronize :allow,group@:read_data/read_xattr/read_attributes/read_acl/synchronize:allow,ev eryone@:read_data/read_xattr/read_attributes/read_acl/synchronize:allow 4bf9d6d7 0 3 ff6251a473a53de68ce8b4036d0f569838cff107caf1dd9fd04701c48f09242e . . .
나중에 동일한 명령줄 옵션을 사용하여 테스트 매니페스트를 만듭니다.
# bart create -R /etc > system1.test.101012 Version 1.1 ! HASH SHA256 ! Wednesday, October 10, 2012 (10:10:17) # Format: #fname D size mode acl dirmtime uid gid #fname P size mode acl mtime uid gid #fname S size mode acl mtime uid gid #fname F size mode acl mtime uid gid contents #fname L size mode acl lnmtime uid gid dest #fname B size mode acl mtime uid gid devnode #fname C size mode acl mtime uid gid devnode /.cpr_config F 2236 100644 owner@:read_data/write_data/append_data/read_xattr/wr ite_xattr/read_attributes/write_attributes/read_acl/write_acl/write_owner/synchr onize:allow,group@:read_data/read_xattr/read_attributes/read_acl/synchronize:all ow,everyone@:read_data/read_xattr/read_attributes/read_acl/synchronize:allow 4e271c59 0 0 3ebc418eb5be3729ffe7e54053be2d33ee884205502c81ae9689cd8cca5b0090 . . .
매니페스트를 비교합니다.
# bart compare system1.control.090712 system1.test.101012 /security/audit_class mtime 4f272f59
출력 결과는 audit_class 파일에 대한 수정 시간이 제어 매니페스트가 만들어진 이후 변경되었음을 나타냅니다. 이 변경 사항이 예상치 않은 것이면 추가 조사를 진행할 수 있습니다.
다른 시스템의 매니페스트를 비교하면 시스템이 동일하게 설치되었는지 또는 동기화된 상태로 업그레이드되었는지를 확인할 수 있습니다. 예를 들어, 특정 보안 대상에 대해 시스템을 사용자 정의한 경우, 이 비교를 통해 보안 대상을 나타내는 매니페스트와 다른 시스템의 매니페스트 간의 모든 불일치 항목을 찾을 수 있습니다.
시작하기 전에
시스템 매니페스트를 비교하려면 root 역할을 맡아야 합니다.
# bart create options > control-manifest
옵션은 bart(1M) 매뉴얼 페이지를 참조하십시오.
예를 보려면 단계 3 in 제어 매니페스트를 만드는 방법을 참조하십시오.
# bart create options > test1-manifest
예를 들면 다음과 같습니다.
# cp control-manifest /net/ test-server/var/adm/logs/bartlogs
테스트 시스템이 NFS 마운트 시스템이 아닌 경우 sftp 또는 다른 신뢰할 수 있는 방법을 사용하여 매니페스트를 중앙 위치에 복사합니다.
# bart compare control-manifest test1-manifest > test1.report
예 6-3 /usr/bin 디렉토리에서 의심스러운 파일 식별
이 예에서는 두 시스템에서 /usr/bin 디렉토리의 내용을 비교합니다.
제어 매니페스트를 만듭니다.
# bart create -R /usr/bin > control-manifest.090711 ! Version 1.1 ! HASH SHA256 ! Wednesday, September 07, 2011 (11:11:17) # Format: #fname D size mode acl dirmtime uid gid #fname P size mode acl mtime uid gid #fname S size mode acl mtime uid gid #fname F size mode acl mtime uid gid contents #fname L size mode acl lnmtime uid gid dest #fname B size mode acl mtime uid gid devnode #fname C size mode acl mtime uid gid devnode /2to3 F 105 100555 owner@:read_data/read_xattr/write_xattr/execute/read_attribut es/write_attributes/read_acl/write_acl/write_owner/synchronize:allow,group@:read _data/read_xattr/execute/read_attributes/read_acl/synchronize:allow,everyone@:re ad_data/read_xattr/execute/read_attributes/read_acl/synchronize:allow 4bf9d261 0 2 154de3e7bdfd0d57a074c9fae0896a9e2e04bebfe5e872d273b063319e57f334 /7z F 509220 100555 owner@:read_data/read_xattr/write_xattr/execute/read_attribu tes/write_attributes/read_acl/write_acl/write_owner/synchronize:allow,group@:rea d_data/read_xattr/execute/read_attributes/read_acl/synchronize:allow,everyone@:r ead_data/read_xattr/execute/read_attributes/read_acl/synchronize:allow 4dadc48a 0 2 3ecd418eb5be3729ffe7e54053be2d33ee884205502c81ae9689cd8cca5b0090 ...
제어 시스템과 비교하고자 하는 각 시스템에 대해 동일한 매니페스트를 만듭니다.
# bart create -R /usr/bin > system2-manifest.101011 ! Version 1.1 ! HASH SHA256 ! Monday, October 10, 2011 (10:10:22) # Format: #fname D size mode acl dirmtime uid gid #fname P size mode acl mtime uid gid #fname S size mode acl mtime uid gid #fname F size mode acl mtime uid gid contents #fname L size mode acl lnmtime uid gid dest #fname B size mode acl mtime uid gid devnode #fname C size mode acl mtime uid gid devnode /2to3 F 105 100555 owner@:read_data/read_xattr/write_xattr/execute/read_attribut es/write_attributes/read_acl/write_acl/write_owner/synchronize:allow,group@:read _data/read_xattr/execute/read_attributes/read_acl/synchronize:allow,everyone@:re ad_data/read_xattr/execute/read_attributes/read_acl/synchronize:allow 4bf9d261 0 2 154de3e7bdfd0d57a074c9fae0896a9e2e04bebfe5e872d273b063319e57f334 ...
매니페스트를 동일한 위치에 복사합니다.
# cp control-manifest.090711 /net/system2.central/bart/manifests
매니페스트를 비교합니다.
# bart compare control-manifest.090711 system2.test.101011 > system2.report /su: gid control:3 test:1 /ypcat: mtime control:3fd72511 test:3fd9eb23
출력 결과는 /usr/bin 디렉토리에 있는 su 파일의 그룹 ID가 제어 시스템의 그룹 ID와 동일하지 않음을 나타냅니다. 이 정보는 테스트 시스템에 다른 버전의 소프트웨어가 설치되었음을 나타낼 수 있습니다. GID가 변경되었으므로 누군가 파일을 손상했을 가능성이 더 큽니다.
이 절차는 기존 매니페스트의 출력 결과를 특정 파일 속성으로 필터링하는 데 유용합니다.
시작하기 전에
root 역할을 맡아야 합니다. 자세한 내용은 지정된 관리 권한을 사용하는 방법을 참조하십시오.
예를 들면 다음과 같습니다.
# bart compare -i lnmtime,mtime control-manifest.121511 \ test-manifest.010512 > bart.report.010512
각 파일 속성을 구분하려면 명령줄 구문에 콤마를 사용합니다.
규칙 파일을 사용하여 원하는 특정 파일 및 파일 속성에 대해 BART 매니페스트를 사용자 정의할 수 있습니다. 기본 BART 매니페스트에서 다른 규칙 파일을 사용하여 동일 매니페스트에 대해 다른 비교를 실행할 수 있습니다.
시작하기 전에
root 역할을 맡아야 합니다. 자세한 내용은 지정된 관리 권한을 사용하는 방법을 참조하십시오.
# bart create -r myrules1-file > control-manifest
예를 보려면 단계 3 in 제어 매니페스트를 만드는 방법을 참조하십시오.
# bart create -r myrules1-file > test-manifest
# bart compare -r myrules1-file control-manifest test-manifest > bart.report
예 6-4 규칙 파일을 사용하여 BART 매니페스트 및 비교 보고서 사용자 정의
다음 규칙 파일은 /usr/bin 디렉토리에서 파일의 모든 속성을 나열하도록 bart create 명령을 지정합니다. 또한 규칙 파일은 bart compare 명령이 동일 디렉토리에서 크기 및 내용 변경 사항만 보고하도록 지시합니다.
# Check size and content changes in the /usr/bin directory. # This rules file only checks size and content changes. # See rules file example. IGNORE all CHECK size contents /usr/bin
만든 규칙 파일로 제어 매니페스트를 만듭니다.
# bart create -r usrbinrules.txt > usr_bin.control-manifest.121011
/usr/bin 디렉토리에 대한 변경 사항을 모니터하려고 할 때마다 동일한 매니페스트를 준비합니다.
# bart create -r usrbinrules.txt > usr_bin.test-manifest.121111
동일한 규칙 파일을 사용하여 매니페스트를 비교합니다.
# bart compare -r usrbinrules.txt usr_bin.control-manifest.121011 \ usr_bin.test-manifest.121111
bart compare 명령의 출력을 조사합니다.
/usr/bin/gunzip: add /usr/bin/ypcat: delete
앞의 출력 결과는 /usr/bin/ypcat 파일이 삭제되고 /usr/bin/gunzip 파일이 추가되었음을 나타냅니다.