설치성공기
HOME > 커뮤니티 > 설치성공기

[프로그램] 수리눅스(sulinux) 1.5에 tripwire 소스 설치. ssu에서 확인할때

 글쓴이 : 3226
작성일 : 07-06-07 13:09    조회 : 9,800  
상세한 설명은 아래 주소를 참고하기 바랍니다.
 
본문에서는 sulinux 1.5에서 ssu를 사용할때
tripwire 점검 항목
-> tripwire 가 설치되지 않아 결과가 나오지 않습니다. 설치하시기 바랍니다.
라고 뜰 경우 tripwire 소스 설치하는 과정만 간단히 설명합니다.
수리눅스의 경우 tripwire rpm이 제공되지 않아 http://sourceforge.net/projects/tripwire/에서 제공되는
소스 파일을 이용하여 설치를 진행합니다.
다른 리눅스 서버를 이용한다면 http://rpmfind.net에서 tripwire를 검색하여
해당하는 시스템에 맞는 rpm을 다운 받아 사용하시면 편할 거라 생각됩니다.^^
 
1. 다운로드
http://sourceforge.net/projects/tripwire/를 방문하여 tripwire-버전.src 형식의 파일을 다운받아
/usr/local/src 디렉토리에 넣습니다.(소스설치는 보통 /usr/local/src디렉토리 안에서 진행합니다.
아래는 wget를 이용한 직접 다운로드 방식입니다.
[root@linux ~]# cd /usr/local/src
 
2. 압축 풀기 및 컴파일
[root@linux src]# tar -jxvf tripwire-2.4.1.2-src.tar.bz2
[root@linux src]# cd tripwire-2.4.1.2-src
[root@linux tripwire-2.4.1.2-src]# ./configure --prefix=/usr --sysconfdir=/etc/tripwire --enable-static
[root@linux tripwire-2.4.1.2-src]# make
warning이 보이지만 걍 무시해도 됩니다. (원인은 잘 모르겠습니다.^^) 시스템 사양에 따라 수분의 시간이 소요됩니다.
 
3. 설치 파일 수정 (설치될 경로를 지정합니다.)
[root@linux tripwire-2.4.1.2-src]# vi install/install.cfg (설치환경파일 수정) : i 누르면 수정할 수 있는 건 모두 아시죠?^^
33번째 줄
TWMAN="${prefix}/man" 을 TWMAN="${prefix}/local/tripwire/man" 으로 수정합니다.
36번째 줄
TWDB="${prefix}/lib/tripwire" 을 TWDB="/var/lib/tripwire" 으로 수정합니다.
39번째 줄
TWDOCS="${prefix}/doc/tripwire" 을 TWDOCS="${prefix}/share/doc/tripwire" 으로 수정합니다.
 
설치경로 관련설명은 조금 아래에 보시면 나와있습니다.
esc key를 누르고 :wq 명령으로 저장하고 나옵니다.
이곳을 수정했기때문에 연관있는 파일을 아래와 같이 수정을 합니다.
[root@linux tripwire-2.4.1.2-src]# vi install/install.sh
579번째 줄 이하를 보면
#f11=' ff=twpolicy.4 ; d="/man/man4" ; dd=$TWMAN/man4 ; rr=0444 '
#f12=' ff=twconfig.4 ; d="/man/man4" ; dd=$TWMAN/man4 ; rr=0444 '
#f13=' ff=twfiles.5 ; d="/man/man5" ; dd=$TWMAN/man5 ; rr=0444 '
#f14=' ff=siggen.8 ; d="/man/man8" ; dd=$TWMAN/man8 ; rr=0444 '
#f15=' ff=tripwire.8 ; d="/man/man8" ; dd=$TWMAN/man8 ; rr=0444 '
#f16=' ff=twadmin.8 ; d="/man/man8" ; dd=$TWMAN/man8 ; rr=0444 '
#f17=' ff=twintro.8 ; d="/man/man8" ; dd=$TWMAN/man8 ; rr=0444 '
#f18=' ff=twprint.8 ; d="/man/man8" ; dd=$TWMAN/man8 ; rr=0444 '
# Binaries and manpages are already installed by the install target
loosefiles="f3 f8 f9 f10"
여기서 f숫자 앞에 주석처리된 부분을 주석 제거하고
마지막 loosefiles="f3 f8 f9 f10" 을 loosefiles="f3 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18"로 수정합니다.
그리고 몇개의 디렉토리를 생성해줍니다.
[root@linux tripwire-2.4.1.2-src]# mkdir /usr/local/tripwire/
[root@linux tripwire-2.4.1.2-src]# mkdir /usr/local/tripwire/man/
[root@linux tripwire-2.4.1.2-src]# mkdir /usr/local/tripwire/man/man4
[root@linux tripwire-2.4.1.2-src]# mkdir /usr/local/tripwire/man/man5
[root@linux tripwire-2.4.1.2-src]# mkdir /usr/local/tripwire/man/man8
 
4. 트립와이어 설치
[root@linux tripwire-2.4.1.2-src]# make install
.............
Installer program for:
Tripwire(R) 2.4 Open Source
Copyright (C) 1998-2000 Tripwire (R) Security Systems, Inc.  Tripwire (R)
is a registered trademark of the Purdue Research Foundation and is
licensed exclusively to Tripwire (R) Security Systems, Inc.

LICENSE AGREEMENT for Tripwire(R) 2.4 Open Source
Please read the following license agreement.  You must accept the
agreement to continue installing Tripwire.
Press ENTER to view the License Agreement.
엔터를 치라고 하네요^^ 엔터치시고 스페이스바 몇번 눌러주면
..................
Please type "accept" to indicate your acceptance of this
license agreement. [do not accept]
여기서 accept를 타이핑하고 엔터를 쳐주시면 됩니다. 라이센스에 동의 한다는 말입니다.
................
----------------------------------------------
Verifying existence of binaries...
./bin/siggen found
./bin/tripwire found
./bin/twprint found
./bin/twadmin found
This program will copy Tripwire files to the following directories:
               TWBIN: /usr/sbin
             TWMAN: /usr/local/tripwire/man
         TWPOLICY: /etc/tripwire
        TWREPORT: /var/lib/tripwire/report
                TWDB: /var/lib/tripwire
   TWSITEKEYDIR: /etc/tripwire
TWLOCALKEYDIR: /etc/tripwire
CLOBBER is false.
Continue with installation? [y/n] y
여기서 눈여겨 봐야할 부분은 아래와 같으며 간단히 설명을 드립니다.
  • /usr/sbin/ : tripwire의 주된 실행파일 (siggen, tripwire, twadmin, twprint 파일이 /usr/sbin/디렉토리에 생성됩니다.)
  • /etc/tripwire/* : tripwire에 관련된 설정파일과 key파일및 정책파일들이 저장된 디렉토리
  • /var/lib/tripwire/report : tripwire실행결과 보고서가 저장될 디렉토리
  • /var/lib/tripwire : tripwire DB파일이 저장될 디렉토리
    y를 누르고 엔터를 치면 아래처럼 나옵니다.
    ..............................
    ----------------------------------------------
    The Tripwire site and local passphrases are used to
    sign a variety of files, such as the configuration,
    policy, and database files.
    Passphrases should be at least 8 characters in length
    and contain both letters and numbers.
    See the Tripwire manual for more information.
    ----------------------------------------------
    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.)
    Enter the site keyfile passphrase:
    ################### 편집자 주석
    passphrase 키파일라는 것으로 tripwire에 관한 중요한 설정변경과 초기화등을 시킬때 사용되는 패스워드역할을 하는 것입니다.
    "Enter the site keyfile passphrase:" 라고 되어 있는 곳과
    "Enter the local 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.)
    Enter the local keyfile passphrase:
    Verify the local keyfile passphrase:

    Generating key (this may take several minutes)...Key generation complete.
    ----------------------------------------------
    Generating Tripwire configuration file...
    ----------------------------------------------
    Creating signed 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.

    ----------------------------------------------
    Customizing default policy file...
    ----------------------------------------------
    Creating signed policy 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.

    ----------------------------------------------
    Customizing default policy file...
    ----------------------------------------------
    Creating signed 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.

    ----------------------------------------------
    The installation succeeded.
    Please refer to
    for release information and to the printed user documentation
    for further instructions on using Tripwire 2.4 Open Source.
     
    5. 초기 DB 생성하기(tripwire 초기화)
    저는 root 디렉토리에서 작업합니다.
    [root@linux ~]# tripwire --init
    Please enter your local passphrase: 아까 지정했던 passphrase 를 입력합니다.
     
    ### Warning: File system error.
    ### Filename: /usr/local/doc
    ### \xb1\xd7\xb7\xb1 \xc6\xc4\xc0\xcf\xc0\xcc\xb3\xaa
    ### \xb5\xf0\xb7\xba\xc5\xe4\xb8\xae\xb0\xa1 \xbe\xf8\xc0\xbd
    ### Continuing...
    식의 에러가 검출될 것입니다. twpol.txt 파일을 수정하여 tw.pol이라는 정책 파일을 다시 만들겠습니다.
    이는 tripwire의 기본정책파일이 모든 시스템에 알맞게 적용되는 것은 아니고
    점검할 필요가 없는 파일이 있을수도 있고, 또는 시스템에 없는 파일을 점검하는 경우도 있기 때문입니다.
    다양하게 수정이 가능하지만 본문에서는 간단히 에러난 부분을 확인하여 주석처리만 하겠습니다
    [root@linux ~]# vi /etc/tripwire/twpol.txt
      /usr/local/doc                -> $(ReadOnly) ;
      /usr/local/games              -> $(ReadOnly) ;
      /usr/local/man                -> $(ReadOnly) ;
      /usr/local/sysinfo            -> $(ReadOnly) ;
      /var/lost+found               -> $(Dynamic) ;
      /etc/mail/statistics           -> $(Growing) ;
      /cdrom                        -> $(Dynamic) ;
      /floppy                       -> $(Dynamic) ;
      /home/lost+found              -> $(Dynamic) ;
    저의 경우는 위의 디렉토리가 에러로 검출되었기 때문에 위의 항목을 모두 주석처리했습니다.
     
    6. 정책 파일(tw.pol) 변경 및 파일무결성 점검
    twpol.txt 수정을 적당히 하셨다면 아래와 같이 실행하여 tw.pol 파일을 다시 만듭니다.
    [root@linux ~]# tripwire -m p --secure-mode low /etc/tripwire/twpol.txt
    Parsing policy file: /etc/tripwire/twpol.txt
    Please enter your local passphrase: 또 묻는군요^^
    Please enter your site passphrase:
    키 입력후 엔터치면
    ======== Policy Update: Processing section Unix File System.
    ======== Step 1: Gathering information for the new policy.
    ................ 주루룩...(__) 시간이 좀 소비됩니다.
    Wrote policy file: /etc/tripwire/tw.pol
    Wrote database file: /var/lib/tripwire/linux.twd

    다시 초기화를 진행합니다.
    [root@linux ~]#tripwire --init
    자, 끝났으면 파일 무결성 점검을 해봅시다.
    tripwire --check라는 명령어는 tripwire로서 서버에서 사용중인 파일들의 무결성을 체크하여 보고서를 만들게 되는 명령어입니다.
    적용되는 정책파일은 위에서 설명한 /etc/tripwire/tw.pol 이라는 파일이며,
    결과보고서는 /var/lib/tripwire/report/디렉토리에 실행된날짜를 가진 파일로 저장이 됩니다.
    [root@linux ~]#tripwire --check
    Parsing policy file: /etc/tripwire/tw.pol
    *** Processing Unix File System ***
    Performing integrity check...
    ........................기다림 그 참을 수 없는 지루함...ㅡㅡ
     
    출력물은 생략합니다..^^
     
    이제 모든 설치는 마쳤으니 아래와 같이 실행하여 설치 관련 파일들을 삭제합니다.
    [root@linux ~]# cd /usr/local/src/tripwire-2.4.1.2-src
    [root@linux tripwire-2.4.1.2-src]# make clean
    [root@linux tripwire-2.4.1.2-src]# cd
    [root@linux ~]# rm -rf /usr/local/src/tripwire-2.4.1.2-src*
    *주의 : rm -rf 명령어는 삭제할때 묻는 것을 생략하고 디렉토리도 삭제하라는 뜻입니다.
    절대 [root@linux /]# 상태인 루트 디렉토리에서 rm -rf * 식으로 실행하셔서는 안됩니다.
     
    이제 마지막으로 /etc/tripwire/twpol.txt 파일과 /etc/tripwire/twcfg.txt 파일은 삭제하거나 본인만 확인할 수 있는 곳에
    보관을 해둡니다.
    이제 ssu에 접속하시면 tripwire 내용을 확인 할 수 있을 것입니다.
    수고하셨습니다.^^
     
    Tong - 달이좋은인형님의 리눅스통 에서 인용 및 참고하였고, 대부분 직접 작성하였습니다. 리눅스 입문한지 얼마 안된 유저라 잘못된 내용이 있을 수 있으니 지적해주시면 정말 고맙겠습니다.


  • 이 글을 트위터로 보내기 이 글을 페이스북으로 보내기