T

Tripwire

Tripwire는 설치된 정보를 DB화 하여 가지고 있다가 서버의 이상유무 (변동사항)를 체크 하여
사용자에게 알려주는 유용한 툴이다.

기존에 설치된 초기 정보를 가지고있다는 것은 그만큼 보안에 신경 쓰고 있다는 것이니 잘 활용
하도록하자.

해킹의 유형을 보면 대부분 한번 침입에 성공하면 들어오자 마자 해꼬지 하는 경우는 드물다.
두번째, 세번째 들어와서 정찰을 하는데, 이때 남기는 것이 트로이쟌 바이러스류의 Back-door 프로그램
을 이용한다.

예를 들면 리눅스 사용자가 빈번하게 사용하는 명령어인 ls, ps 등을 변조시켜 공격자에게 정보를 그대로 전송하는 스크립트 등을 사용하거나, 혹은 공격자가 자기 입맛에 맞게 패치를 하여, 다른 공격자가 공격하지 못하도록 한다. 즉, 나만의 서버를 만드는 셈이다. -_-;;

여기서는 tar-ball (Source)설치에 대한설명은 하지 않겠다.
tripwire의 설치를 설명하기 전에 현재, tripwire의 버전은 리눅스 커널 2.4x에 맞추어져 있다.

즉, Fedora (RedHat 9와 다름)에서는 적용되지 않는다. Fedora 버전은 커널 2.6을 기본으로 하고 있기때문이다. 이점을 반드시 확인 후, 사용하도록 한다.

Tripwire는 감시 및 점검 유틸리티이지 백신프로그램이 아니다.
그럼 설치를 해보자.

1. 설치 여부 확인 하기

[root@test root]#rpm -qa | grep tripwire

- 아무것도 나오지 않아야 한다. 그러면 설치가 안된 것이므로 설치하도록 한다. 만약 설치가 된 경우라면 tripwire 버전 얼마얼마~ 이러면서 나올 것이다.

2. tripwire 구하기
tripwire의 최신버전은 http://www.tripwire.org 에서구할 수 있으며 만일 일반 버전을 설치하고 싶은 경우, ftp.redhat.com에서 각자 맞는 버전을 확인 한 후, rpm 소스를 다운 받는다.

* 자신의 리눅스 버전 확인하기 (레드햇)

[root@test root]#cat /etc/redhat-realease
RedHat 7.3

3. 설치하기
rpm들은 늘 그렇듯 간단하게 설치 할 수 있다.
[root@test root]#rpm -Uvh tripwire-Version.i386.rpm --force

* Version 부분은 해당하는 숫자가 써있을 것이다.
* 이미 설치된 tripwire 말고 최신 버전을 설치할 경우 --force 명령어를 통하여 강제로 엎어쓰자.
간혹, 커널 패치후에 오류가 나는 수가 있으므로 --force를 주는 것이다.

[root@test root]#cd /etc/tripwire
[root@test tripwire]#./twinstall.sh
* 반드시 해당 경로를 확인하자. rpm으로 설치하게 되면 경로는 모두 같다.

twinstall.sh의 shell을 실행시키면 암호키를 생성하게 되는데, 이때 비밀번호를 잘 설정하도록 하자.
비밀번호는 반드시 8자 이상 입력한다.

1) keyfile passphrase 비밀번호 생성

Creating key files...
(When selecting a passphrase, keep in mind that good passphrases typically
have upper and lower case letters, digits and punctuation marks, and are
at least 8 characters in length.)

2) site keyfile passphrase의 재 확인

Enter the site keyfile passphrase:
Verify the site keyfile passphrase:
Generating key (this may take several minutes)...Key generation complete.
(When selecting a passphrase, keep in mind that good passphrases typically
have upper and lower case letters, digits and punctuation marks, and are
at least 8 characters in length.)


3) local keyfile passphrase 키 생성

Enter the local keyfile passphrase:
Verify the local keyfile passphrase:
Generating key (this may take several minutes)...Key generation complete.
----------------------------------------------

4) site passphrase를 이용하여 configuration file을 완성한다.

Signing configuration file...
Please enter your site passphrase:
Wrote configuration file: /etc/tripwire/tw.cfg
A clear-text version of the Tripwire configuration file
/etc/tripwire/twcfg.txt
has been preserved for your inspection. It is recommended
that you delete this file manually after you have examined it.
----------------------------------------------

5) site passphrase를 이용하여 policy file을 완성한다.

다음의 policy file이 생성되었다는 메시지와 함께 설치가 끝나게 된다.
Signing policy file...
Please enter your site passphrase:
Wrote policy file: /etc/tripwire/tw.pol
A clear-text version of the Tripwire policy file
/etc/tripwire/twpol.txt
has been preserved for your inspection. This implements
a minimal policy, intended only to test essential
Tripwire functionality. You should edit the policy file
to describe your system, and then use twadmin to generate
a new signed copy of the Tripwire policy.

이제 모든 설치는 끝났다.
최초로 실행 시켜 각 서버에 맞는 설정을 하도록 하자.

[root@test tripwire]./tripwire --init
Please enter your local passphrase:
Parsing policy file: /etc/tripwire/tw.pol

이렇게 비밀번호를 요구할때, 입력을 해준다.
최초로 initializing을 실시 하면, 경로가 다르거나 없는 파일을 체크 해준다.
잘 기록해 뒀다가 다음 파일을 수정하여 새로 initializing 하도록 한다.

* 기본 수정파일 /etc/tripwire/twpol.txt
twpol.txt 파일을 열면 에러가 났던 부분의 파일들을 수정할 수 있다.
필요없는 부분은 '#'으로 처리하자.

처리가 다 되었으면 Db갱신을 해야 한다.

[root@test tripwire]./tripwire --create-polfile twpol.txt

twadmin --create-polfile /etc/tripwire/twpol.txt

새롭게 DB가 생성되고 나면 다시 초기화 하도록 한다.

[root@test tripwire]./tripwire --init
Please enter your local passphrase:
Parsing policy file: /etc/tripwire/tw.pol

에러 사항에 대해서는 위의 부분을 반복하여 에러가 검출되지 않도록 한다.
모든 설정이 끝나면 최초로 무결성 검사를 실시하도록 한다.

# ./tripwire --check
Parsing policy file: /etc/tripwire/tw.pol
*** Processing Unix File System ***
Performing integrity check...
Wrote report file: /var/lib/tripwire/report/리포트 파일명.twr

자.이제 모든 준비가 되었으므로 하루에 한번씩 체크 하여 무결성 보고를 받도록 하자.

4. shell파일 만들기.

shell파일은 서버관리자만 쓸 파일 이므로 각자의 관리 디렉토리(여기서는 admin으로 하겠음) 로 이동하여 만든다.

[root@test tripwire]# mkdir -p /admin;cd /admin
[root@test admin]# cat triprun
#!/bin/sh
/usr/sbin/tripwire -m c | mail -s "tripwire report from linux-1" admin@test.com

(* 실제로는 vi를 사용하셔야 합니다.^^;;)
[root@test admin]#chmod 100 triprun

5. Crontab 정의
crontab 을 편집하여 아래 문구를 집어 넣는다.
1 1 * * * /usr/local/bin/runtripwire.sh
[root@test admin]crontab -e

... 중략..
1 1 * * * /usr/local/bin/runtripwire.sh

* 저장하고 빠져나온다.

[root@test admin]

자~ 이제 모든 설정이 끝났다. 이젠 매일 새벽 1시에 무결성 검사를 하여 admin@test.com (각자 수정하세요~ ^^) 로 보고서를 보낼 것이다. ^^


------------------------------------------------------------------------------------------
안녕하세요.(주)인터넷 나야나 시스템 관리자 강성규 입니다.
본 내용은 제가 직접 작성한 글이며, 타 사이트의 링크나 복사,전제가 허용 됩니다.
단, 복사, 전제 하실 경우에는 출처를 반드시 남겨 주시면 감사하겠습니다.
http://icomis.co.kr/<div class='small'>[이 게시물은 관리자님에 의해 2011-10-31 17:32:05 Linux에서 이동 됨]</div>
|
댓글을 작성하시려면 로그인이 필요합니다.

프로그램

태그 필터 (최대 3개) 전체 개발자 소스 기타 mysql 팁자료실 javascript php linux flash 정규표현식 jquery node.js mobile 웹서버 os 프로그램 강좌 썸네일 이미지관련 도로명주소 그누보드5 기획자 견적서 계약서 기획서 마케팅 제안서 seo 통계 서식 통계자료 퍼블리셔 html css 반응형 웹접근성 퍼블리싱 표준화 반응형웹 홈페이지기초 부트스트랩 angularjs 포럼 스크린리더 센스리더 개발자톡 개발자팁 퍼블리셔톡 퍼블리셔팁 기획자톡 기획자팁 프로그램강좌 퍼블리싱강좌
+
제목 글쓴이 날짜 조회
20년 전 조회 2,405
20년 전 조회 2,039
20년 전 조회 1,722
20년 전 조회 1,911
20년 전 조회 4,017
20년 전 조회 1,743
20년 전 조회 2,071
20년 전 조회 2,399
20년 전 조회 1,882
20년 전 조회 3,026
20년 전 조회 2,071
20년 전 조회 2,152
20년 전 조회 3,719
20년 전 조회 3,026
20년 전 조회 2,153
20년 전 조회 1만
20년 전 조회 2,289
20년 전 조회 1,644
20년 전 조회 2,708
20년 전 조회 2,323
20년 전 조회 1,718
20년 전 조회 1,520
20년 전 조회 1,953
20년 전 조회 1,747
20년 전 조회 1,780
20년 전 조회 2,389
20년 전 조회 1,593
20년 전 조회 1,540
20년 전 조회 1,677
20년 전 조회 2,762
20년 전 조회 1,830
20년 전 조회 1,899
20년 전 조회 2,022
20년 전 조회 1,846
20년 전 조회 1,927
20년 전 조회 1,746
20년 전 조회 2,114
20년 전 조회 1,845
20년 전 조회 2,612
20년 전 조회 2,302
20년 전 조회 2,597
20년 전 조회 1,531
20년 전 조회 1,633
20년 전 조회 2,199
20년 전 조회 1,671
20년 전 조회 3,808
20년 전 조회 2,690
20년 전 조회 2,120
20년 전 조회 2,815
20년 전 조회 1,778
20년 전 조회 1,663
20년 전 조회 2,603
20년 전 조회 1,513
20년 전 조회 1,775
20년 전 조회 3,266
20년 전 조회 1,925
20년 전 조회 1,655
20년 전 조회 4,984
20년 전 조회 4,611
20년 전 조회 3,549
20년 전 조회 3,824
20년 전 조회 7,097
20년 전 조회 3,588
20년 전 조회 2,655
20년 전 조회 2,664
20년 전 조회 7,214
20년 전 조회 4,623
20년 전 조회 1,928
20년 전 조회 3,291
20년 전 조회 1,979
20년 전 조회 1,591
20년 전 조회 2,345
20년 전 조회 1,823
20년 전 조회 1,489
20년 전 조회 1,846
20년 전 조회 3,018
20년 전 조회 2,477
20년 전 조회 1,776
20년 전 조회 1,694
20년 전 조회 4,021
20년 전 조회 2,961
20년 전 조회 3,684
20년 전 조회 3,473
21년 전 조회 3,776
21년 전 조회 8,601
21년 전 조회 2,626
21년 전 조회 3,776
21년 전 조회 3,237
21년 전 조회 2,643
21년 전 조회 2,707
21년 전 조회 2,625
21년 전 조회 2,900
21년 전 조회 3,078
21년 전 조회 5,334
21년 전 조회 3,940
21년 전 조회 4,989
21년 전 조회 6,244
21년 전 조회 7,378
21년 전 조회 1.8만
21년 전 조회 6,913