본문 바로가기

기타

Rkhunter(Rootkit Hunter)을 소스 코드로부터 컴파일하여 설치하는 방법

728x90

Rkhunter(Rootkit Hunter)을 소스 코드로부터 컴파일하여 설치하는 방법

rkhunter로 해킹 여부 체크하기

단계 1: rkhunter 소스 코드 다운로드

  • Rkhunter의 최신 소스 코드를 다운로드합니다.
cd /usr/local/src
wget https://downloads.sourceforge.net/project/rkhunter/rkhunter/1.4.0/rkhunter-1.4.0.tar.gz
  • 압축을 해제합니다.
tar -xvf rkhunter-1.4.0.tar.gz

단계 2: rkhunter 컴파일 및 설치

  • rkhunter 디렉토리로 이동합니다.
cd rkhunter-1.4.0
  • 다음 명령어를 사용하여 rkhunter를 컴파일하고 설치합니다.
sudo ./installer.sh --layout default --install

단계 3: Rkhunter 업데이트

  • Rkhunter의 데이터베이스를 업데이트
/usr/local/bin/rkhunter --update
  • Rkhunter 설치의 속성 파일(properties file)을 업데이트
/usr/local/bin/rkhunter --propupd

단계 4: Rkhunter 검사 실행

  • Rkhunter를 실행하여 시스템을 검사합니다. 검사는 일반적으로 시간이 걸리므로 조금 기다려야 합니다.
sudo ./installer.sh --layout default --install
  • 검사가 완료되면 보고서가 생성됩니다. 보고서는 /var/log/rkhunter.log 파일에 저장됩니다.
sudo cat /var/log/rkhunter.log

참고: 컴파일 설치한 rkhunter는 시스템에 종속성이나 실행 파일이 설치된 기본 경로와 다를 수 있습니다. 따라서 rkhunter 실행 시에는 전체 경로(/usr/local/bin/rkhunter)를 명시해야 합니다. 또한, 검사가 완료된 후에는 보고서를 신중하게 확인하여 어떤 보안 위협이 발견되었는지 검토하고, 필요한 조치를 취하여 시스템의 보안을 유지하도록 합니다.

728x90

rkhunter를 정기적으로 실행하는 Cronjob을 등록하고, 점검 결과를 메일로 발송하는 방법

단계 5: Rkhunter Cronjob 등록

  • 텍스트 에디터를 사용하여 Cronjob 스크립트를 작성합니다.
sudo nano /etc/cron.daily/rkhunter.sh
  • 다음 스크립트를 복사하여 붙여넣고 저장합니다.
#!/bin/bash

(
  /usr/bin/rkhunter --update
  /usr/bin/rkhunter --check --sk
) | /bin/mail -s "Rkhunter Daily Scan Report" your_email@example.com
  • 스크립트 파일에 실행 권한을 부여합니다.
sudo chmod +x /etc/cron.daily/rkhunter.sh

단계 6: 메일 설정

  • 필요한 경우 메일 서버를 설치하여 메일 발송을 지원합니다. 여기서는 "postfix" 메일 서버를 설치하는 예시를 드리겠습니다.
sudo yum install postfix
  • Postfix 설정을 변경하여 외부 메일을 발송할 수 있도록 합니다.
sudo vim /etc/postfix/main.cf
  • 다음과 같이 설정 파일을 변경합니다.
relayhost = smtp.example.com   # 외부 메일 서버 주소 (예시)
  • Postfix를 재시작합니다.
sudo systemctl restart postfix

참고: 위 예시에서는 "smtp.example.com"을 외부 메일 서버 주소로 사용하였으며, 실제 사용하실 때는 해당 주소를 실제 메일 서버 주소로 바꿔야 합니다.

단계 7: Cronjob 테스트

  • Rkhunter가 정상적으로 작동하는지 테스트하려면 수동으로 Cronjob을 실행해볼 수 있습니다.
sudo /etc/cron.daily/rkhunter.sh
  • 정상적으로 실행되면 해당 이메일 주소로 Rkhunter 검사 결과를 받게 됩니다.

참고: "Cronjob"은 리눅스 시스템에서 정기적으로 반복되는 작업을 스케줄링하는 방법입니다. /etc/cron.daily 디렉토리에 위치한 스크립트는 하루에 한 번 실행됩니다. 필요에 따라 더 자세한 스케줄링을 위해 crontab을 사용할 수도 있습니다. 또한, 메일 서버 설정은 시스템 환경에 따라 다를 수 있으므로, 메일 서버 설정은 실제 환경에 맞추어 변경하셔야 합니다.

 

Cronjob 등록 및 점검 파일 메일 발송

[root@lamp01 src]$ crontab -e
###################################################################################################################
## Rkhunter(월 초에 점검 진행)
###################################################################################################################
#0 1 1 * *    /usr/local/bin/rkhunter -c --report-warnings-only --cronjob 2>&1 | mail -s "lamp.sangchul.kr RKHUNTER" scbyun@sangchul.kr
0 1 1 * *     /usr/local/bin/rkhunter -c --cronjob 2>&1 | mail -s "lamp.sangchul.kr RKHUNTER" scbyun@sangchul.kr

 

참고URL

- http://www.rootkit.nl/projects/rootkit_hunter.html

 

728x90