AIDE/ko

AIDE
AIDE는 "고급 침입 탐지 환경"을 의미하며, 파일과 다른 자원을 검사하고, 이 파일에 대한 정보를 데이터베이스에 저장하는 프로그램입니다. 여기서 언급하는 정보에는 해시 정보, 파일 크기, 소유자 등이 있습니다. 프로그램에서는 데이터베이스를 활성화하고, 시스템을 다시 검사하며 이전에 저장한값과 결과를 비교합니다. 값이 다르면, 파일을 바꾸고 바뀐 내용을 보고합니다.

설치 및 설정
젠투에서는 USE 플래그를 설정한 다음에 aide를 쉽게 설치할 수 있습니다. 이때 지원하는 USE 플래그는 다음과 같습니다:

그리고 프로그램을 설치하는 방법은:

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

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

이 매개변수는 알려진 값("database")이 들어있는 데이터베이스를 어디에 저장할지 새로운 데이터베이스를 만든다면 어디에 만들어 저장할지("database_out")에 대한 정보기 들어있습니다. 보통 이 변수들이 같은 곳을 가리키지 않도록 하고, 대신 한 위치에서 다른 위치로 생성한 데이터베이스를 직접 복사하는것을 추천합니다.

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

확인할 요소에 대한 간단한 표기 사항이 있습니다. 각 문자에 대해서는 기본  파일에 설명되어 있으므로, 이 내용을 전부 문서화 하지 않고, 몇가지 내용에 대해서만 알려드리도록 하겠습니다. p는 권한(permissions), i는 inode 번호, n은 (강)연결 갯수, u는 사용자 정보, g는 그룹 정보, s는 파일 크기(또는 S를 표기하기도 하는데 파일 크기가 늘어나는 것보단 줄어드는 것을 허용하지 않을 경우), b는 블록 갯수, m은 수정 시간 등이며, 추측하실 바와 같이 md5나 sha-1는 MD5와 SHA-1 체크섬을 의미합니다.

이러한 간단한 표기 사항은 각 파일을 검사하기 위해 어떤 요소를 확인하는데 사용합니다.

이 내용은 어떤 디렉터리를 검사할지, 대상이 무엇인지에 대한 간단한 예제입니다. 위의 세줄 예제에서 보신 바와 같이 AIDE에게 와  위치를 검사하고, Binlib 간단 표기를 통해 쉽게 확인할 기준을 취합니다. 위치는 검사 조치에 대한 로그를 저장합니다.

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

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

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

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

파일 수정이 발견되었다면, 다음 알림을 볼 수 있습니다:

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

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

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

각각의 위치에 데이터베이스가 있다면, 파일을 업데이트 하여 database=가 새 위치를 가리키도록 하십시오.

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

위의 접근 방식에서는 chroot를 사용했습니다. 실제 시스템에서 초기 파일 시스템을 검사할 경우에만 필요하며, 오프라인 방식으로 검사하려 할 것입니다. 초기 오프라인 검사를 수행하면, 는 마운트 지점을 가리킬 것이고, 데이터베이스는 이 경로를 즉시 사용할 것입니다. 따라서 chroot를 할 필요가 없습니다.

추가 정보

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