AIDE/ko

AIDE(Advanced Intrusion Detection Environment : 고급 침임 탐지 환경)은 호스트 기반 침입 탐지 시스템입니다. AIDE는 파일 및 기타 자원을 검사하며, 이 파일 정보를 데이터베이스에 저장합니다. 저장한 정보에는 파일 해시 출력, 파일 크기, 소유자, 수정 일시, 생성 일시 등의 키 파일 속성을 담고 있습니다. 데이터베이스를 처음 만들고 나면, AIDE에서 시스템을 다시 검사하고 새 검사 결과와 이전 검사 값과 비교합니다. 값이 다르면 파일의 내용이 바뀌었음을 의미하며, 바뀐 내용을 보고합니다. AIDE를 사용하는 개념은 시스템 스냅샷을 만들고 각 스냅샷의 내용을 비교하여 감시 범위를 벗어난 파일을 찾는 것에 있습니다.

USE 플래그
를 설치하는 일은 다음 항목과 같이 USE 플래그를 설정하면 참 쉬워집니다.

각각의 꾸러미 상태를 바꾸는 USE 플래그는 파일 또는  디렉터리의 텍스트 파일에 설정합니다. 예를 들어 "파일"을 사용한다면:

Emerge
USE 플래그를 설정했으면, 프로그램을 설치하십시오:

설정
The configuration file for is not as daunting as it might seem at first sight. The default file is stored at but administrators can easily create multiple configuration files if necessary. Besides a few variables, the configuration file contains short-hand notations for what aspects of files to scan for (only hashes, or also inode information, etc.) and which files to scan.

일단 database 변수를 들여다보도록 하겠습니다:

상단 예제의 첫번째 줄에서는 알려진 값을 보관하는 데이터베이스의 위치를 설정합니다. 두번째 줄 다른 데이터베이스를 이미 만들었을 경우 새 데이터베이스를 저장할 위치를 설정합니다. 보통 동일한 데이터베이스를 가리키도록 두 변수의 값을 설정(두 변수에 동일한 경로를 설정)하는 것이 좋습니다. 어떤 데이터베이스가 다른 데이터베이스에 덮어쓰기를 한다면, 가장 좋은 방법이 있다면, 한 위치에서 다른 위치로 이미 만든 데이터베이스에 "직접 복사"하는 방법이 있습니다. 예를 들어 앞의 데이터베이스를 그 다음 데이터베이스로 덮어쓰려면, 다음 명령을 사용할 수 있습니다:

일단, 데이터베이스 변수 값은 그대로 두겠습니다. 자세한 내용은 이 글에서 나중에 다루겠습니다.

다음 확인해볼 파일은 파일입니다. 변수 값은 데이터베이스에 어떤 내용을 기록할 지 나타내는 간단한 표기 설정값 입니다.

각 문자의 설명은 기본 파일에 들어있지만, 다음 표를 통해 편의상 보통 사용하는 옵션을 보여드리겠습니다:

Next is an overview of which directories to scan, and what to scan for. In three line example to follow, AIDE is instructed to scan the and  directories via the measures identified in the Binlib short-hand notation variable. The file will display the scan measures defined in the Logs variable defined above.

AIDE에는 정규표현식을 지원하며 일치하는 요소를 "제거" 할 수 있습니다. 예를 들어, 를 검사하지만 를 검사하지 않으려면, 다음과 같이 제외 경로 앞에 (느낌표)를 붙여 제외 항목을 설정하십시오:

초기화 및 잦은 검사
기본 AIDE 설정을 하려면, 데이터베이스를 초기화 해야합니다. 옵션을 사용하여 진행합니다. AIDE가 이전 섹션에서 설정한 환경 설정 내용을 활용하도록 한다면 올바른 설정 파일을 가리키도록  옵션을 확실히 전달하십시오:

초기화를 하고 나면, 이전의 데이터베이스 파일 사본을 넘길 수 있습니다:

새 데이터베이스가 있으면,  옵션을 사용하여 (지금 아니면 나중에) 항목을  다시 검사할 수 있습니다. 이 명령을 통해 데이터베이스를 처음 만든 후 파일 시스템에 바뀐 내용이 있다면 바뀐 내용이 들어있는 다른 데이터베이스를 만듭니다. 옵션 값이 처음 데이터베이스를 만든 위치와 동일한 지 확인하십시오:

파일 수정이 발생하면, 다음 알림을 내보냅니다:

검사 대상을 확실히 설정 하십시오
기본 AIDE 설정은 유용하지만, 사용자의 요구에 맞추려면 세밀하게 조절해야 합니다. 어떤 파일을 왜 검사해야 하는지 아는 것이 중요합니다.

예를 들어, 인증 관련 파일만을 모두 검사하지만, 다른 파일에 대해서는 검사하지 않는다면, 다음처럼 설정을 사용할 수 있습니다:

데이터베이스를 오프라인 상태 및 읽기 전용으로 유지하십시오
두번째로 중요한 양상은, 필요하지 않을 때는 데이터베이스를 오프라인에 저장해야하며, 필요할 때는 읽기 전용 방식으로 사용하려 하는 점입니다. 이러한 방식을 통해 타협 숙주를 지니고 데이터베이스를 멋대로 수정하는 악의적인 사용자로부터 보호할 수 있습니다. 예를 들어 읽기 전용 NFS 마운트(서버) 또는 CD/DVD 또는 읽기 전용 USB 메모리같은 읽기 전용 매체(머신에 직접 접근할 수 있을 경우)를 통해 결과 데이터베이스를 제공할 수 있습니다.

After storing the database on a read-only location, update the file to have   point to this new location.

오프라인 상태에서 검사하십시오
가능하다면, 시스템에 대해 오프라인 검사 방법을 사용해보십시오. 가상 플랫폼의 경우 시스템의 스냅샷을 취할 수 있고 이 스냅샷을 마운트(읽기 전용) 할 수 있으며 마운트한 파일 시스템에 대해 AIDE 검사를 수행할 수 있습니다.

The above approach uses. This is only needed when the initial file system has been scanned from the live system and the administrator wants to perform an offline validation. If the initial scan was done offline, then the file will point to the mount point already and the database will use these paths immediately, so then there is no need for chrooting.

추가 참조

 * Integrity/Concepts 에서는 시스템 무결성과 관련 있는 개념을 다룹니다

외부 자료

 * Tutorial on how to use AIDE (Linux.com)
 * Securing Linux with AIDE article (Symantec.com)