[보안] tripwire 사용법 2003년도

트립와이어는 시스템이 해킹을 당했는지 판별하는 유틸리티입니다.

작동원리는 주요한 파일의 일자와 크기등을 데이터베이스에 기록해

놓고 체크하여 중요한 파일에 변경된 파일내용이 있는지 확인하여

해킹당했는지의 여부를 리포트로 생성하여 줍니다.

주요한 파일들은 모두 암호화 되어 있으며, DB 파일등이나 config

policy 파일(체크할 파일의 목록을 수록한)의 변경시에는 등록한

암호를 입력하여 변경할 수 있도록 되어 있습니다.

일반적으로 CRON 에 등록시켜 하루에 한차례정도 체크하여 리포트를

만들고 관리자에게 보고하는 방법으로 이용합니다.

기본적인 설치는 tripwire 설치 방법에 준하고 사용법만을 정리하였으며,

일반적인 LINUX 시스템에는 대부분 탑재되어 있으며 본인의 경우

한컴리눅스 2.2 플랫폼을 대상으로 했습니다.

트립와이어의 주요파일들은 /etc/tripwire 에 존재하며 twinstall.sh

를 구동하며 설치, 운용되게 할 수 있수있습니다. 그러나 다른 플랫폼의

동작에 참조케 하기 위하여 단계별로 설명합니다.

운용하기 위해서는 2개의 키 (사이트키와 로컬키) 가 필요하며 필요에

따라 암호화 방식을 지정할 수 있습니다. 전 그냥 디폴트를 이용…

사이트 키는 config 및 policy 파일의 갱신에, 로컬키는 파일의

인덱스 DB 의 정보를 갱신하는데 필요합니다. 키이는 보통의 LINUX

계정암호를 넣듯이 넣습니다.

작업은 모두 root 계정에서 작업 합니다. 작업 디렉토리는 /etc/tripwire

1. 사이트 키의 생성

# twadmin -m G -S site.key

site key 암호입력

2. config 파일의 생성

샘플로 제공되는 컨피규 플레인텍스트 파일을 자신의 시스템에

맞도록 조정한후 생성합니다.

# twadmin -m F -S site.key twcfg.txt

사이트키 암호 입력

3. policy 파일의 생성

# twadmin -m P twpol.txt

사이트키 암호입력

4. 로컬키의 생성

여기에서 $HOSTNAME 은 자신의 시스템명칭이다. 똑같이 $HOSTNAME 으로

쓰는 사람은 … 바부…

# twadmin -m G -L $HOSTNAME-local.key

로컬키 암호입력

5. 현재의 파일의 정보를 수집하여 DB 를 생성합니다.

# tripwire -m i

Local key 암호입력

…..

…..

여기에서 해당파일이 없다고 에러가 나올수 있는데 policy 플레인텍스트 파일

인 twpol.txt 파일을 수정 (해당파일의 앞에 #으로 막거나 지운다) 하여

3번작업과 5번작업을 다시 합니다.

여기에서 만들어진 DB 파일 (위치는 twcfg.txt 에서 지정한 위치) 은

어딘가에 백업해 놓습니다. 해커가 접근하기 불가능한곳에…

6. DB 파일 목록 출력

DB 파일의 목록을 출력하는 것은 인쇄물로 만들어서 만일의 경우 눈으로

대조 (@_@) 하여 해킹여부를 파악할때를 대비하기 위한 것 입니다.

출력하면 (stdout 으로 출력되므로 파이프로 파일을 받습니다)

# twprint -m d

7. 체크

DB 파일과 현 파일시스템를 체크하여 리포트를 만듭니다. 리포트에는

파일이 변경되었는지, 변경되었으면 어떤 파일이 변경되었는지등의 정보를

수록하고 있습니다.

# tripwire -m c

…..

…..

이렇게 하면 twcfg.txt 에 수록한대로 리포트파일이 생성된다.

8. 리포트 파일 출력

리포트 파일은 바이너리 파일로서 실제 읽을수 있는 텍스트 문서로서

출력 하려면 다음과 같이 합니다. 리포트 파일은 7번 조작에서 나온

파일명 입니다. 똑같이 입력하면 역시 바부…

# twprint -m r -r <report_file>

이제 7번과 8번을 스크립트로 만든후 CRON 에 등록하면 OK

근데 주지하여야 할 사항은 만약에 해킹을 당해서 root 까지 뺏겨서

머리좋은 해커가 이것에 관련된 정보까지 몽땅 바까버리게 되면 상당기간

속을수 있습니다. 해커가 만들지 못하는 것은 사이트키와 로컬키 뿐이니깐요.

따라서 즉효성을 인정받으려면 DB 파일을 제3의 장소에 두고 체크하도록

하는것이 완벽합니다. 어디에 누느냐구요…. 글세요… 그것은 각자가

알아서 해보시죠…

한가지 생각난것이 CD-R 로 WRITE 해놓구서 CD-ROM 에 넣어두면 그래두

안전하지 않을까 생각합니다.

서진우

슈퍼컴퓨팅 전문 기업 클루닉스/ 상무(기술이사)/ 정보시스템감리사/ 시스존 블로그 운영자

You may also like...

페이스북/트위트/구글 계정으로 댓글 가능합니다.