루트킷(rootkit)은 악의적인 목적을 가진 공격자가 시스템에 침투하여 사용권한을 얻어낸 후 백도어 프로세스나 파일 등을 심어놓고 시스템 상에서 정상적인 관리자가 흔적을 볼 수 없도록 하는 프로그램을 의미합니다. 루트킷에 감염된 시스템은 심각한 경우 복구가 불가한 사태가 벌어질 수 있어, 예방차원에서 주기적으로 rkhunter를 이용한 점검이 필요합니다. 이번 포스팅에서는 리눅스 시스템에서 루트킷을 검색하는 rkhunter 설치와 사용법에 대해 알아보겠습니다.
▷ 루트킷은 컴퓨터 소프트웨어 중에서 악의적인 것들의 모음으로써, 자신의 또는 다른 소프트웨어의 존재를 가림과 동시에 허가되지 않은 컴퓨터나 소프트웨어의 영역에 접근할 수 있게 하는 용도로 설계되었습니다.
▷ 루트킷의 설치는 자동으로 이루어지거나 공격자가 루트 권한이나 관리자 접근을 획득하였을 때 설치될 수 있습니다. 한 번 설치되면, 권한을 가진 접근을 유지할 뿐만 아니라 침입을 숨길 수도 있습니다. 중요한 점은 루트 또는 관리자 접근으로 시스템에 대한 완전한 제어는 존재하는 소프트웨어가 수정되었을 가능성이 높습니다.
▷ 루트킷 헌터는 루트킷 , 백도어 및 가능한 로컬 익스플로잇을 검색하는 Unix 기반 도구입니다 . 중요한 파일의 SHA-1 해시를 온라인 데이터베이스의 알려진 해시와 비교하고, 기본 디렉토리와 잘못된 권한, 숨겨진 파일, 커널 모듈의 의심스러운 문자열, Linux 및 FreeBSD에 대한 특수 테스트를 검색하여 탐지합니다.
▷ rkhunter 설치와 사용법은 아래와 같습니다. EPEL 레포지토리 설치 후 dnf 또는 yum으로 설치가 가능합니다.
# EPEL 레포지터리 설치
[root@localhost ~]# vi /etc/yum.repos.d/epel.repo
# rkhunter 설치
[root@localhost ~]# dnf --enablerepo=epel -y install rkhunter
# rkhunter 설정 (주석 내용을 참고하여 결과를 받을 메일과 리포트 설정 진행)
[root@localhost ~]# vi /etc/sysconfig/rkhunter
# MAILTO=
# DIAG_SCAN= no - perform normal report scan
# yes - perform detailed report scan
# (includes application check)
MAILTO=root@localhost
DIAG_SCAN=no
# rkhunter 업데이트
[root@localhost ~]# rkhunter --update
# 시스템 파일 속성 업데이트
[root@localhost ~]# rkhunter --propupd
# 루트킷 점검 실행
# [--sk] 엔터(Enter)키 입력 패스 옵션
# [--rwo] 경고(warnings)만 출력하는 옵션
[root@localhost ~]# rkhunter --check --sk
...
System checks summary
=====================
File properties checks...
Files checked: 133
Suspect files: 0
Rootkit checks...
Rootkits checked : 498
Possible rootkits: 0
Applications checks...
All checks skipped
The system checks took: 1 minute and 6 seconds
All results have been written to the log file: /var/log/rkhunter/rkhunter.log
One or more warnings have been found while checking the system.
Please check the log file (/var/log/rkhunter/rkhunter.log)
# 점검 로그 보기
[root@localhost ~]# tail /var/log/rkhunter/rkhunter.log
...
[21:55:23] Rootkit checks...
[21:55:23] Rootkits checked : 498
[21:55:23] Possible rootkits: 0
[21:55:23]
[21:55:23] Applications checks...
[21:55:23] All checks skipped
[21:55:23]
[21:55:23] The system checks took: 1 minute and 6 seconds
[21:55:23]
[21:55:23] Info: End date is Sun Jan 24 21:55:23 KST 2021
▽ 같이 보면 더 좋은 블로그 글 ▽
[CentOS 8] Lynis를 이용한 시스템 보안 감사와 보안 취약점 진단 (2) | 2021.01.29 |
---|---|
[CentOS 8] psacct 로 사용자 활동 모니터링하는 방법 (2) | 2021.01.28 |
[CentOS 8] 파이썬3 설치하는 방법 (4) | 2021.01.25 |
[CentOS 8] ausearch, aureport로 Auditd 로그 확인방법 (0) | 2021.01.17 |
[CentOS 8] Auditd 설정과 사용법 (2) | 2021.01.16 |
댓글 영역