Tripwire는 시스템에서 실행되며 시간이 지남에 따라 발생한 허가되지 않은 파일시스템 변경을 감지하는 대표적인 리눅스 침입 탐지 시스템(IDS)입니다. 서버 보안을 강화하려는 관리자라면 반드시 알아야 할 필수 도구 중 하나입니다.
CentOS와 RHEL 배포판에서는 Tripwire가 공식 저장소에 포함되어 있지 않습니다. 하지만 EPEL(Extra Packages for Enterprise Linux) 저장소를 통해 손쉽게 설치할 수 있습니다.
1단계: EPEL 저장소 설치
먼저 아래 명령어를 실행하여 CentOS 및 RHEL 시스템에 EPEL 저장소를 설치합니다.
# yum install epel-release
2단계: 시스템 업데이트
EPEL 저장소 설치가 완료되면 다음 명령어로 시스템을 최신 상태로 업데이트합니다.
# yum update
3단계: Tripwire 설치
업데이트가 끝나면 아래 명령어로 Tripwire IDS 소프트웨어를 설치합니다.
# yum install tripwire
참고로 Ubuntu와 Debian의 경우 Tripwire가 기본 저장소에 포함되어 있어 다음 명령어로 바로 설치할 수 있습니다.
$ sudo apt update $ sudo apt install tripwire
4단계: 사이트 키와 로컬 키 생성
Ubuntu/Debian에서는 설치 과정 중 사이트 키(site key)와 로컬 키(local key)의 패스프레이즈를 선택하고 확인하라는 안내가 나타납니다. 이 키들은 Tripwire가 설정 파일을 보호하는 데 사용됩니다.
CentOS/RHEL에서는 아래 명령어로 직접 키를 생성해야 하며, 이때 사이트 키와 로컬 키 각각에 대한 패스프레이즈(passphrase)를 입력해야 합니다.
# tripwire-setup-keyfiles
강력한 패스프레이즈를 설정하는 것이 중요합니다. 이 키가 유출되면 공격자가 무결성 데이터베이스를 조작하여 침입 흔적을 숨길 수 있기 때문입니다.
5단계: Tripwire 데이터베이스 초기화
시스템 검증을 위해 다음 명령어로 Tripwire 데이터베이스를 초기화합니다. 데이터베이스가 아직 초기화되지 않은 상태이기 때문에 이 과정에서 많은 오탐(false-positive) 경고가 표시될 수 있으며, 이는 정상적인 현상입니다.
# tripwire --init
6단계: 시스템 점검 및 리포트 생성
마지막으로 아래 명령어로 Tripwire 시스템 리포트를 생성하여 설정을 점검합니다. --help 옵션을 사용하면 tripwire check 명령어의 모든 옵션 목록을 확인할 수 있습니다.
# tripwire --check --help # tripwire --check
Tripwire 리포트 확인 방법
tripwire check 명령어가 완료되면 /var/lib/tripwire/report/ 디렉터리에 확장자가 .twr인 리포트 파일이 생성됩니다. 이 파일은 바이너리 형식이므로 텍스트 편집기로 열기 전에 먼저 텍스트 파일로 변환해야 합니다.
# twprint --print-report --twrfile /var/lib/tripwire/report/서버명-날짜-시간.twr > report.txt # vi report.txt
변환된 report.txt 파일을 열어 파일 변경, 권한 수정 등 감지된 내역을 꼼꼼히 검토하시기 바랍니다. 정기적으로 tripwire --check를 실행(예: cron 작업으로 매일 자동 실행)하면 시스템 무결성을 지속적으로 모니터링할 수 있습니다.
마무리
이제 리눅스 서버에 Tripwire를 성공적으로 설치했습니다. 위 단계들을 따라 하면 Tripwire IDS를 쉽게 구성하고 파일시스템 무결성을 체계적으로 관리할 수 있습니다. 초기 기준선(baseline) 데이터베이스 구축 후에는 시스템 변경 사항이 모두 기록되므로, 불법적인 변조 시도를 신속하게 파악하고 대응할 수 있습니다.