[보안] Fcheck 파일 무결성 체크 ..-아랑

파일 무결성 체크 프로그램 Fcheck 설치 활용 방법

작성자 : 서진우 (alang@sysmng.com)

————————————————————————-

리눅스에는 많은 명령어와 설정파일들이 있습니다. 간혹 해커들에 위해 중요파일이

변조되거나 백도어로 사용되는 명령어가 생기는 경우가 많습니다. 관리자는 이런

세밀한 시스템의 변화를 항상 관찰하여야 한다. 하지만..아무리 부지런한 관리자라

고 해도 수만개의 파일로 이루어진 리눅스 시스템을 체크한다는것은 불가능하다.

이에 여러가지 시스템 파일의 무결성을 체크 하는 프로그램이 있다. 여기에 소개할

fcheck 는 다른 무결성 프로그램들에 비해 그 설정이 매우 간단하고 성능도 효과적

이라 할수 있다.

먼저 프로그램을 다운 받도록 하자.

http://www.geocities.com/fcheck2000/

가면 최신 프로그램이 있을것이다. 다운을 받고 /usr/local 및에 둔다.

압축을 풀고..fcheck,fcheck.cfg 파일의 설정값을 몇개 수정하자.

# tar xzvf FCheck_2.07.59.tar.gz

# cd fcheck

# vi fcheck

——————————————————————-

.

# This should be passed through the command line, but hard coding still works

$config=”/usr/local/fcheck/fcheck.cfg”;

—————————————– 이부분을 시스템 환경에 맞게 수정

——————————————————————-

# vi fcheck.cfg

——————————————————————-

Directory   = /etc/

Directory   = /bin/

Directory   = /usr/bin/

Directory   = /sbin/

Directory   = /usr/sbin/

Directory   = /usr/local/bin/

Directory   = /usr/local/sbin/

Directory   = /lib/

Directory   = /usr/lib/

Directory   = /usr/local/lib/

#

# Directory 설정은 fcheck 가 체크할 파일들이 들어 있는 디렉토리로 시스템에

# 중요한 명령어나 설정파일등이 있는 곳을 정해 주면 된다.

#

Exclusion      = /etc/passwd

Exclusion       = /etc/shadow

#

# Exclusion 설정은 Directory 설정에서 정한 디렉토리중 자주 변경이 되는 파일

# 이 있어서 체크때마다 걸리므로 체크 생략을 요하는 파일을 정해 주면 된다.

# 호스팅 업체나 기타 자주 사용자를 추가하는 서버라면 위와 같이 해주면 된다.

#

DataBase        = /usr/local/fcheck/data/data.dbf

#

# DataBase 설정은 리눅스 파일 정보를 DB 파일로 저장해서 다음 체크시 비교

# 분석할때 사용되어진다.

#

TimeZone        = GMT-9

#

# 한국 시간을 적용한다. GMT-9

#

#File   = /usr/local/admtools/logs/sol.dbf

File 설정은 필요 없으니 주석 처리 해준다.

기타 여러 설정값이 있으나 크게 작동하는데 영향을 주지 않는다.기본값을 적용

한다.

이와 같이 적용후 /usr/local/fcheck/data 디렉토리를 만들어 준다.

# mkdir /usr/local/fcheck/data

# /usr/local/fcheck/fcheck -ac

이와 같이 fcheck -ac 로 파일 무결성 체크를 시작한다. 그럼 data 디렉토리 안

에 data.dbf 파일이 생성되어 진다.

이제 Directory 설정에 해당하는 디렉토리 안에다가 파일을 하나 생성하고 재대

로 점검을 하는지 테스트를 하여 보자..

# touch /etc/test

# /usr/local/fcheck/fcheck -a

그럼 아마 아래와 같은 결과를 출력할것이다.

PROGRESS: validating integrity of /etc/

STATUS:

        ADDITION: [zzang911.net] /etc/test

        Inode   Permissons      Size    Created On

        19508   -rw-r–r–      0       Sep 19 20:13 2001

자 이제 이 명령어를 이용하여 주기적으로 시스템 파일 무결성을 체크하고 관리

자에게 통보하는 프로그램을 만들어 보도록 하자.

# vi fcheck.sh

————————————————————————-

#!/bin/sh

CHECK=`/usr/local/fcheck/fcheck -a | grep Inode`

HOSTNAME=`hostname`

if [ -n “$CHECK” ]

then

   /usr/local/fcheck/fcheck -a > fcheck_result

   mail -s “$HOSTNAME File 무결성 체크 결과” alang at sysmng.com <

fcheck_result

   rm -f fcheck_result

fi

————————————————————————-

간단한 이정도 스크립터로 보다 효율적인 관리가 가능해 질것이다.

이제 cron 에 등록시켜 놓고..매일 파일 무결성 체크를 간단히 메일로 받아서 관리

할수 있게 된다. 만일 변화된 파일이 정당한 변화라면..

# /usr/local/fcheck/fcheck -ac

로 DBfile 를 업데이트 시켜 줘야 한다. 아님..계속 메일이 날아 오게 된다.

서진우

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

You may also like...

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