AIDE/ko

AIDE (Advanced Intrusion Detection Environment) is a host-based intrusion detection system. AIDE scans files and other resources and stores information about these files in a database. Stored information includes key file attributes such as file hash output, file size, ownership, modification time, creation time, and more. After the initial database has been created, AIDE then rescans the system and compares new scan results with previously stored values. If values differ then the file has been changed and the change will be reported. The idea behind using AIDE is to create a snapshot of a system then compare the snapshot to another created snapshot to find compromised files.

USE flags
It is easy to install aide after setting the USE flags accordingly.

USE flag changes specific to a certain package should be defined in the file, or a text file inside a directory called. For example, when using a file:

Emerge
After the USE flags have been set, install the software:

Configuration
aide 프로그램에 대한 설정 파일은 처음에 보신 바와 같이 주눅들게 하지는 않습니다. 기본 파일은 에 있지만 원할 경우 설정 파일을 따로 분리하여 여러개를 쉽게 만들 수 있습니다. 몇가지 변수에 따라, 설정 파일에는 파일의 어떤 특징을 검사할지(해시만 검사할지, inode 정보 등까지 검사할지)와 어떤 파일을 검사할지에 대한 간단한 표기내용이 들어있습니다.

일단 먼저 변수를 들여다보도록 하겠습니다.

The first line in the example above defines where the location of database that contains the known values. The second line defines where to store new databases when another is generated. It is generally recommended against having these variables point to the same database (having the same paths for each variable). If one database is to overwrite another, the best method is to manually copy over the generated database from one location to the other. For example, to overwrite the first database with the second, this command could be used:

이제, 이 변수값을 그대로 내버려두고, 나중에 다시 살펴보기로 하겠습니다.

The next file to consider is the file. The values of the variable are short-hand notations for what information to record in the 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   short-hand notation variable. The file will display the scan measures defined in the   variable defined above.

AIDE에는 정규표현식을 지원하며 일치하는 요소를 "제거" 할 수 있습니다. 예를 들어, 를 검사하지만 를 검사하지 않으려면, 다음과 같이 제외 사항을 포함할 수 있습니다:

초기화 및 잦은 검사
먼저 데이터베이스를 한번 초기화해야 합니다.

초기화를 하고 나면, 데이터베이스 파일을 다른곳으로 복사할 수 있습니다.

이제 데이터베이스를 사용할 수 있으므로, 잠재적인 수정 사항을 다시 검사할 수 있습니다:

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

Be clear on what to scan
기본 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 검사를 수행할 수 있습니다.

위의 접근 방식에서는 chroot를 사용했습니다. 실제 시스템에서 초기 파일 시스템을 검사할 경우에만 필요하며, 관리자는 오프라인 방식 검사를 원합니다. 초기 오프라인 검사가 끝나면, 파일은 마운트 지점을 가리키며, 데이터베이스는 이 경로를 즉시 사용합니다. 따라서 chroot를 할 필요가 없습니다.

추가 참조

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

External resources

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