탐색 링크 건너뛰기 | |
인쇄 보기 종료 | |
Oracle Solaris 관리: 보안 서비스 Oracle Solaris 11 Information Library (한국어) |
bart 명령을 일반 사용자, 수퍼유저 또는 역할을 맡은 사용자로 실행할 수 있습니다. bart 명령을 일반 사용자로 실행할 경우 자신의 홈 디렉토리에 있는 파일과 같이 액세스 권한을 가진 파일만 카탈로그화 및 모니터할 수 있습니다. bart 명령을 실행할 때 수퍼유저가 되면 만드는 매니페스트에 모니터하려고 하는 숨겨진 파일 및 개인 파일에 대한 정보가 포함된다는 장점이 있습니다. 권한이 제한된 파일(예: /etc/passwd 또는 /etc/shadow 파일)에 대한 정보를 카탈로그화 및 모니터해야 하는 경우 수퍼유저로 bart 명령을 실행합니다. 역할 기반 액세스 제어 사용에 대한 자세한 내용은 역할 기반 액세스 제어(개요)를 참조하십시오.
bart 명령을 수퍼유저로 실행하면 누구나 출력을 읽을 수 있게 됩니다. 이 출력에는 비밀로 유지해야 하는 파일 이름이 포함되어 있을 수 있습니다. bart 명령을 실행할 때 수퍼유저가 될 경우 출력 보호를 위한 적절한 조치를 취하십시오. 예를 들어, 제한된 권한의 출력 파일을 생성하는 옵션을 사용합니다.
주 - 이 장의 절차 및 예는 수퍼유저가 실행한 bart 명령을 보여줍니다. 다르게 지정되지 않은 경우 수퍼유저로 bart 명령 실행은 선택 사항입니다.
|
초기 Oracle Solaris 소프트웨어 설치 직후 시스템의 매니페스트를 만들 수 있습니다. 이 유형의 매니페스트는 시간에 따라 동일 시스템에 대한 변경 사항 비교를 위한 기준을 제공합니다. 또는 이 매니페스트를 사용하여 다른 시스템에 대한 매니페스트와 비교할 수 있습니다. 예를 들어, 네트워크에 있는 각 시스템의 스냅샷을 만든 다음 각 테스트 매니페스트를 제어 매니페스트와 비교할 경우 테스트 시스템과 기준 구성을 동기화하기 위해 수행해야 하는 작업을 빠르게 결정할 수 있습니다.
시작하기 전에
시스템 매니페스트를 만들려면 root 역할을 가진 사용자여야 합니다.
# bart create options > control-manifest
매니페스트에 대한 루트 디렉토리를 지정합니다. 규칙에서 지정한 모든 경로는 이 디렉토리에 대한 상대 경로로 해석됩니다. 매니페스트에서 보고하는 모든 경로는 이 디렉토리에 대한 상대 경로입니다.
명령줄 또는 표준 입력에서 읽은 카탈로그화할 개별 파일 목록을 사용합니다.
이 매니페스트에 대한 규칙 파일 이름입니다. –가 -r 옵션과 함께 사용되면 표준 입력에서 규칙 파일을 읽습니다.
파일 목록의 모든 일반 파일에 대한 내용 서명을 해제합니다. 이 옵션은 성능을 향상시키는 데 사용할 수 있습니다. 또는 시스템 로그 파일과 같이 파일 목록의 내용이 변경될 것으로 예상되는 경우 이 옵션을 사용할 수 있습니다.
매니페스트에 대한 의미 있는 이름을 선택합니다. 예를 들어, 매니페스트가 만들어진 시스템 이름과 날짜를 사용합니다.
예 6-1 시스템의 모든 파일에 대한 정보를 나열하는 매니페스트 만들기
bart create 명령을 옵션 없이 실행할 경우 시스템에 설치된 모든 파일에 대한 정보가 카탈로그화됩니다. 중앙 이미지에서 많은 시스템을 설치할 때 이 유형의 매니페스트를 기준으로 사용합니다. 또는 설치가 동일한지 확인하려는 경우 이 유형의 매니페스트를 사용하여 비교를 실행합니다.
예를 들면 다음과 같습니다.
# bart create ! Version 1.1 ! HASH SHA256 ! Wednesday, September 07, 2011 (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 및 권한에 대한 정보가 나열됩니다. 출력의 파일 항목은 특수 문자를 올바르게 처리하기 위해 파일 이름의 인코딩된 버전별로 정렬됩니다. 모든 항목은 파일 이름을 기준으로 오름차순으로 정렬됩니다. 내장된 개행 또는 탭 문자를 포함하는 파일 이름과 같은 모든 비표준 파일 이름은 정렬되기 전에 비표준 문자가 따옴표로 묶입니다.
!로 시작하는 행은 매니페스트에 대한 메타 데이터를 제공합니다. 매니페스트 버전 행은 매니페스트 사양 버전을 나타냅니다. 해시 행은 사용된 해시 방식을 나타냅니다. 날짜 행은 매니페스트가 만들어진 날짜를 날짜 형식으로 표시합니다. date(1) 매뉴얼 페이지를 참조하십시오. 일부 행은 매니페스트 비교 도구에서 무시됩니다. 무시되는 행에는 빈 행, 공백만 구성하는 행 및 #으로 시작하는 주석이 포함됩니다.
다음 중 하나의 방법으로 매니페스트를 사용자가 정의할 수 있습니다.
하위 트리 지정
시스템에서 개별 하위 트리에 대한 매니페스트를 만들면 큰 디렉토리의 전체 내용이 아닌 특정 파일에 대한 변경 사항을 효율적으로 모니터할 수 있습니다. 시스템에서 특정 하위 트리의 기준 매니페스트를 만든 다음 정기적으로 동일 하위 트리의 테스트 매니페스트를 만들 수 있습니다. bart compare 명령을 사용하여 제어 매니페스트와 테스트 매니페스트를 비교합니다. 이 옵션을 사용하면 중요 파일 시스템을 효율적으로 모니터하여 파일이 침입자의 공격을 받았는지 여부를 확인할 수 있습니다.
파일 이름 지정
전체 시스템을 카탈로그화하는 매니페스트를 만들 경우 시간이 더 오래 걸리고, 공간을 더 많이 차지하며, 더 많은 비용이 들기 때문에 시스템의 특정 파일에 대한 정보만 나열하고자 할 때 bart 명령의 이 옵션을 사용하도록 선택할 수 있습니다.
규칙 파일 사용
규칙 파일을 사용하여 해당 시스템의 특정 파일 및 특정 하위 트리에 대한 정보를 나열하는 사용자 정의 매니페스트를 만듭니다. 또한 규칙 파일을 사용하여 특정 파일 속성을 모니터할 수 있습니다. 규칙 파일을 사용하여 매니페스트를 만들고 비교하면 하나 이상의 파일이나 하위 트리에 대해 여러 속성을 지정할 수 있는 유연성이 제공됩니다. 반면 명령줄에서는 만들거나 보고하는 각 매니페스트에 대한 모든 파일에 적용되는 전역 속성 정의만 지정할 수 있습니다.
시작하기 전에
root 역할을 가진 사용자여야 합니다.
하위 트리 지정:
# bart create -R root-directory
파일 이름 지정:
# bart create -I filename...
예를 들면 다음과 같습니다.
# bart create -I /etc/system /etc/passwd /etc/shadow
규칙 파일 사용:
# bart create -r rules-file
시간에 따라 동일 시스템에 대한 파일 레벨 변경 사항을 모니터하려고 할 때 이 절차를 사용합니다. 이 유형의 매니페스트는 손상되거나 비정상적인 파일 찾기, 보안 침입 감지 또는 시스템의 성능 문제 해결에 도움을 줄 수 있습니다.
시작하기 전에
공용 객체가 포함된 매니페스트를 만들고 비교하려면 root 역할을 가진 사용자여야 합니다.
# bart create -R /etc > control-manifest
# bart create -R /etc > test-manifest
# bart compare options control-manifest test-manifest > bart-report
이 비교에 대한 규칙 파일 이름입니다. -r 옵션과 함께 –를 사용하면 지시어가 표준 입력에서 읽게 됩니다.
사용자가 명령줄에서 전역 IGNORE 지시어를 설정할 수 있습니다.
프로그래밍 구문 분석을 위해 표준 비현지화 출력을 생성하는 프로그래밍 모드입니다.
제어 시스템에 대한 bart create 명령의 출력입니다.
테스트 시스템에 대한 bart create 명령의 출력입니다.
예 6-2 시간에 따라 동일 시스템에 대한 매니페스트 비교
이 예에서는 두 특정 시점에 사이에 /etc 디렉토리에서 발생한 변경 사항을 모니터하는 방법을 보여줍니다. 이 유형의 비교를 통해 시스템의 중요 파일이 손상되었는지 여부를 빠르게 확인할 수 있습니다.
제어 매니페스트를 만듭니다.
# bart create -R /etc > system1.control.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 /.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 . . .
/etc 디렉토리에 대한 변경 사항을 모니터하려고 할 때 테스트 매니페스트를 만듭니다.
# bart create -R /etc > system1.test.101011 Version 1.1 ! HASH SHA256 ! Monday, October 10, 2011 (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.090711 system1.test.101011 /security/audit_class mtime 4f272f59
위의 출력은 audit_class 파일에 대한 수정 시간이 제어 매니페스트가 만들어진 이후 변경되었음을 나타냅니다. 이 보고서를 사용하여 소유권, 날짜, 내용 또는 기타 파일 속성이 변경되었는지 여부를 조사할 수 있습니다. 이 유형의 정보를 쉽게 사용할 수 있으면 누가 파일을 조작했는지 및 언제 변경 사항이 발생했는지 분석할 수 있습니다.
시스템 대 시스템 비교를 실행하여 기준 시스템과 다른 시스템 간에 파일 레벨 차이점이 있는지 여부를 빠르게 확인할 수 있습니다. 예를 들어, 기준 시스템에 특정 버전의 Oracle Solaris 소프트웨어를 설치하고 다른 시스템에 동일한 패키지가 설치되어 있는지 여부를 알고자 하는 경우 이러한 시스템에 대한 매니페스트를 만든 다음 제어 매니페스트와 테스트 매니페스트를 비교할 수 있습니다. 이 유형의 비교는 제어 시스템과 비교하는 각 테스트 시스템에 대한 파일 내용의 불일치를 나열합니다.
시작하기 전에
시스템 매니페스트를 비교하려면 root 역할을 가진 사용자여야 합니다.
# bart create options > control-manifest
# bart create options > test1-manifest
테스트 매니페스트에 대한 고유하고 의미 있는 이름을 선택합니다.
예를 들면 다음과 같습니다.
# cp control-manifest /net/test-server/bart/manifests
테스트 시스템이 NFS 마운트 시스템이 아닌 경우 FTP 또는 기타 신뢰할 수 있는 방법을 사용하여 제어 매니페스트를 테스트 시스템에 복사합니다.
# bart compare control-manifest test1-manifest > test1.report
각 테스트 시스템에 대해 동일한 bart 옵션을 사용합니다.
예 6-3 제어 시스템의 매니페스트와 다른 시스템의 매니페스트 비교
이 예에서는 제어 매니페스트와 다른 시스템의 테스트 매니페스트를 비교하여 /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 /net/system2.central/bart/manifests
제어 매니페스트와 테스트 매니페스트를 비교합니다.
# bart compare control-manifest system2.test > system2.report /su: gid control:3 test:1 /ypcat: mtime control:3fd72511 test:3fd9eb23
위의 출력은 /usr/bin 디렉토리에 있는 su 파일의 그룹 ID가 제어 시스템의 그룹 ID와 동일하지 않음을 나타냅니다. 이 정보는 테스트 시스템에 다른 버전의 소프트웨어가 설치되었는지 여부 또는 누군가 파일을 조작했는지 여부를 판단하는 데 도움이 됩니다.
이 절차는 선택 사항이며 명령줄에서 파일 속성을 지정하여 BART 보고서를 사용자 정의하는 방법을 설명합니다. 시스템의 모든 파일 또는 특정 파일에 대한 정보를 나열하는 기준 매니페스트를 만드는 경우 특정 디렉토리, 하위 디렉토리 또는 파일에 대한 변경 사항을 모니터해야 할 때마다 bart compare 명령을 실행하여 서로 다른 속성을 지정할 수 있습니다. 명령줄에서 서로 다른 파일 속성을 지정하여 동일 매니페스트에 대해 서로 다른 유형의 비교를 실행할 수 있습니다.
시작하기 전에
root 역할을 가진 사용자여야 합니다.
제어 매니페스트와 동일하게 테스트 매니페스트를 준비합니다.
예를 들면 다음과 같습니다.
# bart compare -i dirmtime,lnmtime,mtime control-manifest.121503 \ test-manifest.010504 > bart.report.010504
콤마는 명령줄 구문에서 지정하는 각 속성을 구분합니다.
이 절차도 선택 사항이며 bart compare 명령에 규칙 파일을 입력으로 사용하여 BART 보고서를 사용자 정의하는 방법을 설명합니다. 규칙 파일을 사용하면 BART 보고서를 사용자 정의할 수 있으며, 하나 이상의 파일이나 하위 트리에 대해 여러 속성을 지정할 수 있는 유연성을 제공합니다. 서로 다른 규칙 파일을 사용하여 동일한 매니페스트에 대해 서로 다른 비교를 실행할 수 있습니다.
시작하기 전에
root 역할을 가진 사용자여야 합니다.
# bart create -r rules-file > control-manifest
# bart create -r rules-file > test-manifest
# bart compare -r rules-file control-manifest test-manifest > bart.report
예 6-4 규칙 파일을 사용하여 BART 보고서 사용자 정의
다음 규칙 파일에는 bart create 및 bart compare 명령 모두에 대한 지시어가 포함되어 있습니다. 규칙 파일은 bart create 명령이 /usr/bin 디렉토리의 내용에 대한 정보를 나열하도록 지시합니다. 또한 규칙 파일은 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 bartrules.txt > usr_bin.control-manifest.121003
/usr/bin 디렉토리에 대한 변경 사항을 모니터하려고 할 때마다 테스트 매니페스트를 만듭니다.
# bart create -r bartrules.txt > usr_bin.test-manifest.121103
동일한 규칙 파일을 사용하여 매니페스트를 비교합니다.
# bart compare -r bartrules.txt usr_bin.control-manifest \ usr_bin.test-manifest
bart compare 명령의 출력을 조사합니다.
/usr/bin/gunzip: add /usr/bin/ypcat: delete
위의 출력에서 bart compare 명령은 /usr/bin 디렉토리의 불일치를 보고했습니다. 출력은 /usr/bin/ypcat 파일이 삭제되고 /usr/bin/gunzip 파일이 추가되었음을 나타냅니다.