웹사이트 검색

CentOS 7에서 Tripwire를 사용하여 수정된 파일 모니터링 및 탐지


이 페이지에서

  1. 우리가 할 일\n
  2. 전제 조건
  3. 1단계 - CentOS 7에 Tripwire 설치
  4. 2단계 - CentOS 7용 Tripwire 정책 구성
  5. 3단계 - Tripwire 구성 확인 및 시스템 확인\n
  6. 4단계 - Tripwire 정책에 새 규칙 추가
  7. 5단계 - Tripwire 이메일 알림 및 Cron 설정
  8. 참조

Tripwire는 무료 오픈 소스 침입 탐지 시스템(IDS)입니다. 시스템의 파일 변경 사항을 모니터링하고 경고하는 보안 도구입니다. Tripwire는 원치 않는 변경으로부터 시스템을 보호하는 강력한 IDS입니다. 이를 사용하여 웹사이트 파일을 포함한 시스템 파일을 모니터링할 수 있으므로 원치 않는 파일 변경이 있을 때 Tripwire가 시스템을 확인하고 올바르게 설정되면 이메일로 알려줄 수 있습니다.

이 튜토리얼에서는 CentOS 7 시스템에서 Tripwire를 사용하지 않고 시스템 파일의 변경 사항을 모니터링하고 감지하는 방법을 보여줍니다. CentOS 7에서 Tripwire를 설치 및 구성하는 방법, Tripwire 키 파일을 생성하는 방법, Tripwire 정책을 구성 및 추가하는 방법, 시스템을 확인하고 Tripwire 및 cron 설정에 대한 이메일 알림을 활성화하는 방법을 보여줍니다.

우리가 할 일

  1. CentOS 7에 Tripwire 설치
  2. CentOS 7용 Tripwire 정책 구성
  3. Tripwire 구성 확인\n
  4. Tripwire 정책에 새 규칙 추가
  5. Tripwire 이메일 알림 및 Cron 설정

전제 조건

  • CentOS 7 시스템
  • 루트 권한\n

1단계 - CentOS 7에 Tripwire 설치

우리가 해야 할 첫 번째 단계는 Tripwire를 시스템에 설치하는 것입니다. 기본적으로 Tripwire는 CentOS 7 저장소에서 사용할 수 있습니다.

서버에 로그인하고 모든 패키지를 업데이트하십시오.

ssh 
sudo yum update -y

이제 yum을 사용하여 Tripwire를 설치합니다.

yum -y install tripwire

설치 후 새 키 파일을 생성해야 합니다.

Tripwire는 2개의 주요 파일과 함께 작동합니다.

  1. site-key: Tripwire 구성을 보호하는 데 사용됩니다. 따라서 트립와이어 구성에 대한 변경 사항은 구성을 다시 생성할 때까지 적용되지 않으며 이에 대한 사이트 키 암호를 입력하라는 메시지가 표시됩니다.\n
  2. local-key: 트립와이어 바이너리를 확인하는 데 사용됩니다. tripwire 시스템 데이터베이스를 업데이트하려면 tripwire 명령을 실행해야 하며 local-key에 대한 암호를 묻는 메시지가 표시됩니다.\n

아래 명령을 사용하여 새 트립와이어 키 파일(사이트 및 로컬 키)을 생성합니다.

sudo tripwire-setup-keyfiles

이 명령은 두 개의 키 파일인 site-key와 local-key를 생성하며 각각에 대한 암호를 묻는 메시지가 표시됩니다.

고유한 사이트 키 암호를 입력하고 Enter 키를 누릅니다.

고유한 로컬 키 암호를 입력하고 Enter 키를 다시 누릅니다.

다음으로 사이트 키를 사용하여 트립와이어 구성에 서명합니다.

사이트 키 암호를 입력합니다.

이제 Tripwire 정책에 서명하기 위해 로컬 키 암호를 입력합니다.

Tripwire는 CentOS 7에 설치되었으며 새로운 Tripwire 구성 및 키는 /etc/tripwire 디렉토리에 있습니다.

2단계 - CentOS 7용 Tripwire 정책 구성

첫 번째 단계에서 논의한 트립와이어 설치 후 트립와이어 데이터베이스를 초기화하고 오류가 없는지 확인해야 합니다.

아래의 tripwire 명령을 사용하여 tripwire 데이터베이스를 초기화하십시오.

sudo tripwire --init

로컬 키 암호에 대해 묻는 메시지가 표시되고 아래와 같은 디렉터리가 없다는 오류 메시지가 표시될 수 있습니다.

트립와이어 구성에 이미 정의된 디렉토리와 파일이 시스템에 없기 때문에 오류가 발생합니다. 이 오류를 해결하려면 트립와이어 구성 twpol.txt를 편집하고 트립와이어 구성에 다시 서명해야 합니다.

이제 아래 명령을 사용하여 트립와이어에서 로그 오류를 생성합니다.

sudo sh -c "tripwire --check | grep Filename > no-directory.txt"

CentOS 7 시스템에 존재하지 않는 모든 디렉토리와 파일은 mo-directory.txt 파일에 나열됩니다.

cat no-directory.txt

다음 bash 스크립트를 사용하여 트립와이어 구성 twpol.txt를 편집합니다. 터미널에서 이 스크립트를 실행합니다.

for f in $(grep "Filename:" no-directory.txt | cut -f2 -d:); do
sed -i "s|\($f\) |#\\1|g" /etc/tripwire/twpol.txt
done

이 모든 작업이 끝나면 아래와 같이 twadmin 명령을 사용하여 트립와이어 구성을 재생성하고 다시 서명해야 합니다.

sudo twadmin -m P /etc/tripwire/twpol.txt

사이트 키 암호를 입력합니다.

트립와이어 데이터베이스를 다시 초기화하고 오류가 없는지 확인하십시오.

sudo tripwire --init

오류 없이 트립와이어 데이터베이스를 다시 초기화하십시오.

3단계 - Tripwire 구성 확인 및 시스템 확인

Tripwire 구성을 확인하기 위해 아래와 같이 시스템 검사 명령을 실행할 수 있습니다.

sudo tripwire --check

그리고 다음과 유사한 결과를 얻어야 합니다.

따라서 이는 시스템에서 오류나 시스템 위반이 발견되지 않았음을 의미합니다.

이제 루트 홈 디렉토리 아래에 새 파일을 추가하고 tripwire를 사용하여 다시 확인하려고 합니다.

루트 홈 디렉터리로 이동하여 새 파일 hakase-labs.txt를 만듭니다.

cd ~/
touch hakase-labs.txt

이제 tripwire 명령을 사용하여 시스템을 다시 확인하십시오.

sudo tripwire --check

그러면 아래와 같이 심각도 100의 시스템에 대한 새로운 위반 결과가 표시됩니다.

이 단계에서 Tripwire는 CentOS 7 시스템에 설치 및 구성됩니다.

4단계 - Tripwire 정책에 새 규칙 추가

이 단계에서는 트립와이어 정책 구성 twpol.txt에 새 규칙을 추가하는 방법을 보여줍니다.

이 작업을 수행하려면 규칙 이름, 심각도, 모니터링할 디렉터리 및 파일 유형을 정의해야 합니다. 이 단계에서는 심각도가 HIGH/SIG_HI인 /var/www/ 디렉토리의 WordPress 설치에 대해 Wordpress Data라는 새 규칙을 생성합니다. 해당 디렉토리의 모든 파일은 중요합니다(소유권과 소스 코드 모두 변경됩니다).

tripwire 구성 디렉토리 /etc/tripwire로 이동하고 vim을 사용하여 구성 파일 twpol.txt를 편집합니다.

cd /etc/tripwire/
vim twpol.txt

줄 끝으로 이동하여 다음 WordPress 규칙을 붙여넣습니다.

# Ruleset for Wordpress
(
  rulename = "Wordpress Data",
  severity= $(SIG_HI)
)
{
        /var/www        -> $(SEC_CRIT);
}

저장 및 종료.

아래와 같이 twadmin 명령을 사용하여 구성을 재생성하고 다시 서명하십시오.

sudo twadmin -m P /etc/tripwire/twpol.txt

사이트 키 암호를 입력합니다.

이제 트립와이어 데이터베이스를 다시 생성해야 합니다.

sudo tripwire --init

로컬 키 암호를 입력합니다.

새로운 규칙 세트가 추가되어 Tripwire 정책 구성에 적용되었습니다.

아래의 tripwire 명령을 사용하여 시스템을 확인하십시오.

sudo tripwire --check

그리고 오류나 위반이 없는 결과를 얻어야 합니다.

이제 /var/www/ 디렉토리로 이동하여 그 안에 새 파일을 만듭니다.

cd /var/www/
touch hakase-labs.php

트립와이어를 사용하여 시스템 확인을 다시 수행하십시오.

sudo tripwire --check

그러면 보안 수준이 높음 100인 /var/www/ 디렉토리에 시스템 위반이라는 결과가 표시됩니다.

새로운 규칙이 추가되어 Tripwire 정책 구성에 적용되었습니다.

5단계 - Tripwire 이메일 알림 및 Cron 설정

이 단계에서는 특정 tripwire 규칙 집합 정책에 대한 알림을 구성하고 자동 시스템 검사를 위해 cronjob을 구성합니다. Wordpress 데이터 규칙 위반에 대한 보고서를 [email 이메일 주소로 보내드립니다.

이메일 알림을 위해 tripwire는 구성에서 emailto 기능을 제공합니다. 그리고 기본적으로 tripwire는 Postfix 또는 Sendmail을 사용하여 이메일을 통해 보고서를 보냅니다.

이메일 알림을 구성하기 전에 아래 명령을 사용하여 Tripwire 알림 기능을 테스트하십시오.

sudo tripwire --test --email 

이메일을 확인하면 아래와 같이 서버에서 이메일 보고서를 받아야 합니다.

이제 /etc/tripwire 디렉토리로 이동하여 twpol.txt 구성을 편집하십시오.

cd /etc/tripwire/
vim twpol.txt

아래와 같이 Wordpress 데이터 규칙 내부에 새 줄 emailto를 추가합니다.

# Ruleset for Wordpress
(
  rulename = "Wordpress Data",
  severity= $(SIG_HI),
  emailto =
)
{
        /var/www        -> $(SEC_CRIT);
}

저장 및 종료.

twadmin 명령을 사용하여 구성을 재생성하고 서명하십시오.

sudo twadmin -m P /etc/tripwire/twpol.txt

사이트 키 암호를 입력합니다.

그리고 트립와이어 데이터베이스를 재생성합니다.

sudo tripwire --init

트립와이어 로컬 키 암호를 입력합니다.

Tripwire 이메일 알림 구성이 완료되었습니다.

이제 /var/www/ 디렉토리에 새 파일을 다시 생성하여 몇 가지 테스트를 수행합니다.

cd /var/www/
touch hakase.txt

아래 명령을 사용하여 시스템을 다시 확인하십시오.

sudo tripwire --check --email-report

메모:

  • --email-report: 각 규칙에 정의된 이메일 주소로 시스템 보고서를 보냅니다.

이메일을 확인하면 이메일에 아래와 같은 결과가 표시됩니다.

Tripwire에 대한 이메일 알림이 활성화 및 적용되었습니다.

다음으로 cron 설정을 사용하여 자동 Tripwire 시스템 검사를 활성화합니다. 이를 위해 아래의 crontab 명령을 사용하여 루트 사용자 아래에 새로운 cron 스크립트를 생성합니다.

sudo crontab -e -u root

다음 cron 구성을 붙여넣습니다.

0 0 * * * tripwire --check --email-report

저장 및 종료.

메모:

  • - cron 스크립트는 매일 트립와이어 시스템 검사를 수행합니다.\n

이제 CentOS 7에서 crond 서비스를 다시 시작하십시오.

systemctl restart crond

이제 매일 이메일로 트립와이어 보고서 알림을 받을 수 있습니다.

Tripwire가 CentOS 7 시스템용으로 설치 및 구성되었습니다.

참조

  • https://www-uxsup.csx.cam.ac.uk/