8.4. AIDE를 사용한 침입 탐지
AIDE(고급 침입 감지 환경)는 파일 및 디렉토리 무결성 검사기입니다. 이는 권한 없는 파일 조작 또는 변경의 사고를 감지하는 데 사용됩니다. 예를 들어 AIDE에서 시스템 암호 파일이 변경된 경우 경고를 표시할 수 있습니다.
AIDE는 시스템 파일을 분석한 다음 파일 해시의 무결성 데이터베이스를 컴파일하여 작동합니다. 그런 다음 데이터베이스는 파일 및 디렉터리의 무결성을 확인하고 변경 사항을 탐지하는 비교 지점 역할을 합니다.
director에는 AIDE 서비스가 포함되어 있으므로 AIDE 구성에 항목을 추가하면 AIDE 서비스에서 무결성 데이터베이스를 생성할 수 있습니다. 예를 들면 다음과 같습니다.
위의 예는 적극적으로 유지 관리되거나 벤치마킹되어 있지 않으므로 요구 사항에 맞는 AIDE 값을 선택해야 합니다.
-
TripleORules라는 별칭은 매번 동일한 특성을 반복해서 사용하지 않도록 선언됩니다. -
별칭은
p+sha256의 특성을 받습니다. AIDE 용어에서는sha256의 무결성 체크섬을 사용하여 모든 파일 권한p를 모니터링합니다.
AIDE의 구성 파일에 사용할 수 있는 속성의 전체 목록은 https://aide.github.io/ 의 AIDE MAN 페이지를 참조하십시오.
배포에 변경 사항을 적용하려면 다음을 완료합니다.
-
설정을
/home/stack/templates/디렉터리에aide.yaml이라는 파일로 저장합니다. OS::TripleO::Services::Aide매개변수의 값이 상대 경로에서 절대 경로가 되도록 변경해야 합니다.OS::TripleO::Services::Aide: /usr/share/openstack-tripleo-heat-templates/puppet/services/aide.yaml
OS::TripleO::Services::Aide: /usr/share/openstack-tripleo-heat-templates/puppet/services/aide.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 환경에 고유한 기타 모든 필수 Heat 템플릿 및 환경 파일과 함께
openstack overcloud deploy명령에/home/stack/templates/aide.yaml환경 파일을 포함합니다.openstack overcloud deploy --templates ... -e /home/stack/templates/aide.yaml
openstack overcloud deploy --templates ... -e /home/stack/templates/aide.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
8.4.1. 복잡한 AIDE 규칙 사용 링크 복사링크가 클립보드에 복사되었습니다!
이전에 설명한 형식을 사용하여 복잡한 규칙을 생성할 수 있습니다. 예를 들면 다음과 같습니다.
MyAlias = p+i+n+u+g+s+b+m+c+sha512
MyAlias = p+i+n+u+g+s+b+m+c+sha512
위 명령은 체크섬 생성에 sha256을 사용하여 권한, inode, 링크 수, 사용자, 그룹, 크기, 블록 수, mtime, ctime을 사용하는 명령과 같이 변환됩니다.
별칭은 항상 1 의 순서 위치가 있어야 합니다. 즉 AIDE 규칙의 맨 위에 있고 아래의 모든 값에 재귀적으로 적용됩니다.
별칭 뒤에는 모니터링할 디렉터리가 있습니다. 정규 표현식을 사용할 수 있습니다. 예를 들어 var 디렉토리에 대한 모니터링을 설정하지만 ! 를 '!/var/ log.*' 및
'!/var/spool.*' 과 함께 사용하여 not 절으로 덮어씁니다.
8.4.2. 추가 AIDE 값 링크 복사링크가 클립보드에 복사되었습니다!
다음 AIDE 값을 사용할 수도 있습니다.
AideConfPath: aide 구성 파일의 전체 POSIX 경로이며 기본값은 /etc/aide.conf 입니다. 파일 위치를 변경할 필요가 없는 경우 기본 경로를 유지하는 것이 좋습니다.
AideDBPath: AIDE 무결성 데이터베이스에 대한 전체 POSIX 경로입니다. AIDE 데이터베이스 파일이 읽기 전용 파일 마운트에 노드에서 저장되는 경우가 많으므로 이 값은 운영자가 자체 전체 경로를 선언할 수 있도록 구성할 수 있습니다.
AideDBTempPath: AIDE 무결성 임시 데이터베이스에 대한 전체 POSIX 경로입니다. 이 임시 파일은 AIDE에서 새 데이터베이스를 초기화할 때 생성됩니다.
AideHour: 이 값은 AIDE cron 구성의 일부로 hour 속성을 설정하는 것입니다.
AideMinute: 이 값은 AIDE cron 구성의 일부로 minute 속성을 설정하는 것입니다.
AideCronUser: 이 값은 linux 사용자를 AIDE cron 구성의 일부로 설정하는 것입니다.
AideEmail: 이 값은 cron 실행이 수행될 때마다 AIDE에서 보고하는 이메일 주소를 설정합니다.
AideMuaPath: 이 값은 AIDE 보고서를 AideEmail 내에 설정된 이메일 주소로 보내는 데 사용되는 메일 사용자 에이전트의 경로를 설정합니다.
8.4.3. AIDE의 Cron 구성 링크 복사링크가 클립보드에 복사되었습니다!
AIDE director 서비스를 사용하면 cron 작업을 구성할 수 있습니다. 기본적으로 이메일 경고를 사용하려면 /var/log/audit/;로 보고서를 전송한 다음 AideEmail 매개 변수를 활성화하여 구성된 이메일 주소로 경고를 보냅니다. 중요한 경고에 대한 이메일 의존은 시스템 중단 및 의도하지 않은 메시지 필터링에 취약할 수 있습니다.
8.4.4. 시스템 업그레이드 효과 고려 링크 복사링크가 클립보드에 복사되었습니다!
업그레이드가 수행되면 AIDE 서비스는 새 무결성 데이터베이스를 자동으로 다시 생성하여 업그레이드된 모든 파일을 올바르게 다시 계산하여 업데이트된 체크섬을 보유합니다.
openstack overcloud deploy 를 초기 배포에 대한 후속 실행으로 호출하고 AIDE 구성 규칙이 변경되면 director AIDE 서비스에서 데이터베이스를 다시 빌드하여 새 구성 특성이 무결성 데이터베이스에 캡슐화되도록 합니다.