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>
사용자에게 알려주는 유용한 툴이다.
기존에 설치된 초기 정보를 가지고있다는 것은 그만큼 보안에 신경 쓰고 있다는 것이니 잘 활용
하도록하자.
해킹의 유형을 보면 대부분 한번 침입에 성공하면 들어오자 마자 해꼬지 하는 경우는 드물다.
두번째, 세번째 들어와서 정찰을 하는데, 이때 남기는 것이 트로이쟌 바이러스류의 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>
게시글 목록
| 번호 | 제목 |
|---|---|
| 12281 |
JavaScript
팝업창을 브라우저 해상도 구분없이 항상 중앙에 띄우기 입니다.
1
|
| 20386 | |
| 12280 |
jQuery
간단한 셀렉트 드롭다운 제이쿼리
|
| 12279 |
JavaScript
우클릭해제 소스 보기 자바스크립트 입니다.
|
| 12278 |
JavaScript
미리보기 소스 입니다.
|
| 12277 |
JavaScript
움직임이 자연스러운 자바시계 입니다.
|
| 12276 |
JavaScript
특정사람에게 메일 보내기 입니다.
|
| 12275 |
JavaScript
DirectX의 와이프 기능을 사용한 이미지 스와핑 효과 내기 입니다.
|
| 12274 |
JavaScript
iframe 써서 노 프레임 효과 내기 입니다.
|
| 12273 |
jQuery
이미지 없이 구현하는 간단한 별점 기능 제이쿼리
|
| 12272 | |
| 12260 |
node.js
Node.js - 실시간 위치 추적 (1)
11
|
| 360 | |
| 12258 | |
| 12257 | |
| 12256 | |
| 12255 | |
| 12253 | |
| 12252 | |
| 12251 | |
| 12250 | |
| 12249 | |
| 12248 | |
| 12247 | |
| 12246 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기