TripWire는 파일시스템무결성 점검을 하는 서버보안도구로서 파일들의 변동사항유무를 체크할수 있는 대표적인 보안유틸리티이다.

이번 강좌는 이런 Tripwire의 설치와 사용법에 대한 간단한 설명으로서 설치와 간단한 사용법외에 구체적인 사용법은 이후 업그레이드되는 버전에서 자세히 다루도록 할 것이다.



1. tripwire 다운받기

Tripwire의 공식적인 배포사이트인 tripwire.org에서 다운받을 수 있다.

http://www.tripwire.org/downloads/index.php

RPM으로 설치를 하려면 RPM버전을 다운받아서 rpm -Uvh로 설치를 하면된다.

여기서는 소스를 다운받아서 직접 컴파일하여 설치하도록 할 것이다.



2. 압축풀기

아래 예와 같이 다운받은 tripwire 소스파일(tripwire-2.3.tar.gz)를 tar명령어로 압축을 푼 것이다.

gzip으로 압축된 것을 tar로 한번에 풀려먼 z라는 옵션을 함께 사용해야한다.





tar로 압축을 풀고나면 tripwire디렉토리가 생성이 된다.

이 디렉토리로 들어가 보자.







3. 설치하기

tripwire의 설치는 의외로간단하다.

아래 예와 같이 install-sh라는 설치스크립트를 사용하면 간단히 설치가 된다.





install 과정의 긴 메시지중 주의깊게 봐야할 사항은 아래부분으로서 tripwire가 설치되는 위치에 관한 것이다.

간단히 설명하면 다음과 같다.

/usr/sbin/tripwire : tripwire의 주된 실행파일
/etc/tripwire/* : tripwire에 관련된 설정파일과 key파일및 정책파일들이 저장된 디렉토리
/var/lib/tripwire/report : tripwire실행결과 보고서가 저장될 디렉토리
/var/lib/tripwire : tripwire DB파일이 저장될 디렉토리






이제 마지막으로 중요한 것이 하나 남아있다.

passphrase 키파일라는 것으로 tripwire에 관한 중요한 설정변경과 초기화등을 시킬때 사용되는 패스워드역할을 하는 것이다.

\"Enter the site keyfile passphrase:\" 라고 되어 있는 곳과

\"Enter the local keyfile passphrase:\" 라고 되어 있는 곳에

사용할 패스워드를 입력하면 된다.





아래는 tripwire의 정책파일을 생성하는 것으로 설치의 마지막 과정이다.

정책파일이란 tripwire가 파일시스템무결성 점검실행시에 참조하게되는 설정파일이다.

이 파일을 /etc/tripwire디렉토리에 tw.pol이라는 파일로 저장했음을 알리고 있다.







4. 초기 DB 생성하기(tripwire 초기화)

\"tripwire --init\" 이란 명령어를 사용하면 tripwire를 초기화시킬수있다.

tripwire의 초기화의 의미는 마지막으로 점검했던 파일들의 무결성점검결과를 저장하고 있던 DB를 초기화 한다는 것이다.

이것은 매우 중요한 의미를 내포하고 있다.

즉, 초기화시키기전의 변동사항은 이후에는 적용되지 않는다는 것을 의미하기 때문이다.

초기화시킬때에는 반드시 passphrase를 입력해 줘야한다.





새로 생성된 DB의 이름과 위치를 나타내고 있다.





5. 파일무결성 점검하기

이제 tripwire의 실질적인 목적인 파일무결성 점검을 해보도록 하자.

\"tripwire --check\"라는 명령어는 tripwire로서 서버에서 사용중인 파일들의 무결성을 체크하여 보고서를 만들게 되는 명령어이다.

적용되는 정책파일은 위에서 설명한 /etc/tripwire/tw.pol 이라는 파일이며,

결과보고서는 /var/lib/tripwire/report/디렉토리에 실행된날짜를 가진 파일로 저장이 된다.





6. 실행결과보기

tripwire 실행결과 아래와 같이 파일들의 무결성점검한 결과를 볼수 있다.





위의 결과를 잠시만 살펴보면 변경된 파일과 새로생성된 파일들의 내역을 알수가 있다

이들 정보를 참조하여 파일들을 일일이 확인하여보지 않아도 파일들의 변동내역을 확인할수가 있는 것이다.





7. 참고사항 A. 설정파일확인및 변경

/etc/tripwire/twcfg.txt 파일을 보면 tripwire의 설정파일내역을 볼수 있다.

필요한 부분은 적당히 조정하여 사용하는 지혜도 가져볼수 있다.







8. 참고사항 B. 정책파일 수정및 변경

tripwire의 기본정책파일이 모든 시스템에 알맞게 적용되는 것은 아니다.

즉, 점검할 필요가 없는 파일이 있을수도 있고, 또는 시스템에 없는 파일을 점검하는 경우도 있다.

이런경우에 /etc/tripwire/twpol.txt파일을 적당히 수정및 변경하여 적용하면 된다.





9. 수퍼유저를 위한 조언

tripwire는 서버내의 파일무결성점검도구로서 가장 신뢰를 받고 있는 유틸리티라고 필자는 확신하며,

이 tripwire를 사용하여 주기적인 실행과 웹에서의 결과확인하는 방법에 대해서 각자 연구해 보는 것이 필요할 것이다.

필자가 추천하는 가장 간단한 방법은

cron으로 tripwire의 주기적인 실행을 하게하고

실행결과인 보고서의 저장을 웹디렉토리로 지정하여 저장하면 될 것이다.
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2005/06/28 14:54 2005/06/28 14:54
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/255

유닉스 백도어 점검하기

공격자들이 시스템을 공격하여 일정 권한을 획득한 후에는 차후에 다시 쉽게 들어올 수 있도록 자신만이 알고 있는 백도어(BackDoor) 를 만들어 두는 습성이 있다. 백도어는 여러 방식으로 구현 가능한데, 간단히 쉘을 복사해 두는 전통적인 방법부터 최근에는 커널 기반의 루트킷(RootKit) 까지 그 방식이 갈수록 교묘하고 고도화해지고 있어 백도어가 설치되어 있는지 여부를 점검하는 것이 매우 어렵다. 특히 보안에 그리 익숙하지 않은 초보 서버 관리자에게는 더더욱 그러한데, 이를 위해 아주 쉬우면서도 유용한 백도어 점검 프로그램인 chkrootkit 이라는 프로그램을 소개하고자 한다. 이 프로그램은 호스트내에서 t0rn 이나 라면 바이러스, 라이온 바이러스등 20여가지의 최근의 각종 루트킷 설치 여부를 점검해 주며 ifconfig, ps , netstat 등 변조되기 쉬운 40여가지의 바이너리 프로그램의 변조 여부를 체크해 준다.

이 프로그램을 이용하려면 먼저 http://www.chkrootkit.org/ 에서 최신 버전의 tarball 파일을 다운로드하여 압축 해제후 압축 해제한 디렉토리에서 make sense 를 실행하여 컴파일해 주기만 하면 모든 설치는 완료된다.
체크 방법은 두 가지로 할 수 있다. 첫번째는 chkrootkit 이 설치된 디렉토리에서

# ./chkrootkit 만 실행해 주면 자동으로 시스템을 검색하여 루트킷이나 파일 변조 여부를 알려준다. 좀 더 세밀한 분석을 하고자 할 경우에는 # ./chkrootkit -x | more 와 같이 strings 를 이용하여 바이너리 파일을 직접 분석할 수도 있다.

또한 ./chkproc -v 로 Hidden Process 여부도 확인 가능하다. Hidden Process 란 실제 프로세스에 떠서 작동하고는 있지만 ps auxw 등으로는 보이지 않는 것으로 이는 ps 에서 보이는 프로세스 정보와 /proc/pid/ 정보와 비교하여 ps 에서 보이지 않는 숨겨진 프로세스가 있는지 여부를 조사하는 방법으로 매우 유용하다. 하지만 짧은 시간에 많은 접속이 있는 웹서버등의 시스템의 경우 짧은 시간에 많은 프로세스가 죽었다 살았다를 반복하므로 잘못된 정보가 출력될 수도 있으므로 여러 번 실행해 보아야 한다.
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2005/06/28 14:43 2005/06/28 14:43
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/254

독일의 시인 괴테는
그 자신이 낭비 없는 삶을 살다 간 사람이다.
여러 분야에 걸친 탁월한 업적이 그것을 증명한다.
늘그막에 그는 자신의 어린 손자를 위해서
다음과 같은 짤막한 시를 적어주었다.
\"한 시간에는 일 분이 육십이 있다.
하루에는 천이 넘게 있다.
어린 아가야, 잊지 말아라.
사람은 무슨 일이라도 할 수 있음을.\"


- 유종호의《내 마음의 망명지》중에서 -


* \'낭비 없는 삶\'의 중요성이
어찌 \'어린 아가\'에게만 해당되겠습니까.
\"시간이 없어서 못한다...\" 그런 말 말고, 자기 삶을
낭비하고 있지는 않은지 한번쯤 점검해 볼 필요가
있습니다. 자신에게 주어진 시간을 잘 관리하면
누구나 많은 일을 해낼 수 있습니다.
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2005/06/28 09:27 2005/06/28 09:27
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/986

Service라는 단어의 어원은 하인(Servant)이다.
오늘날 비즈니스를 하는 사람들은
모두가 스스로를 그렇게 생각해야 한다.
따라서 항상 겸손하고, 신중하며
주인(고객)의 니즈를 예측할 수 있어야 한다.
당신은 하인으로서
주인(고객)의 신임을 얻어내야만 한다.
그렇지 않으면, 당신이 그들을 소유한다는 것은
영원히 불가능할 것이다.
- 밥 데이비스 라이코스 창업회장


일반 직원은 물론이고, 특히 경영진은
고객을 주인으로 섬기는 것뿐만 아니라
직원, 지역사회, 주주등 모든 이해관계자를 주인으로 섬기는
하인의 역할을 충실히 수행해내야 합니다.
혹시라도 내가 주인이고 다른 모든 이해관계자가
나를 위해 존재한다고 생각한다면,
그 순간 이미 끝이라고 할 수 있습니다.

결국 경영자란 섬겨야 할 대상이
가장 많은 지위를 말한다 하겠습니다.
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2005/06/28 09:26 2005/06/28 09:26
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/1262


블로그 이미지

- 홍반장

Archives

Recent Trackbacks

Calendar

«   2005/06   »
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    
Statistics Graph

Site Stats

Total hits:
183353
Today:
175
Yesterday:
567