리눅스에서 사용가능한 오픈소스 보안툴을(chkrootkit,rkhunter) 설치 및 사용하는 방법에 대해 작성하였습니다.
chkrootkit 이란 ?
시스템 관리자가 자신의 시스템을 알려진 루트킷들로부터 보호하는 것을 돕기 위해 개발된 유닉스 기반 프로그램이다. 이것은 시그니처를 통해서 그리고 /proc 파일시스템의 순회와 ps 명령어의 결과를 비교함으로써 코어 시스템 프로그램들을 찾기 위해 strings나 grep 명령어 같은 유닉스/리눅스 툴들을 사용하는 셸 스크립트이다.
rkhunter 란 ?
루트킷 , 백도어 및 가능한 로컬 익스플로잇 을 검색하는 Unix 기반 도구이다.
두가지 모두 백도어 루트킷등을 검색하는 도구입니다.
오픈소스로 무료로 설치하여 검사할 수 있습니다.
chkrootkit 설치 및 사용법
설치
우선 chkrootkit 파일을 다운로드 합니다.
👉 http://www.chkrootkit.org/download/
👉 ftp://chkrootkit.org/pub/seg/pac/chkrootkit.tar.gz(경로 다운로드가 불가할 경우, 다른 https://fossies.org/linux/misc/chkrootkit-0.55.tar.gz 경로에서 다운로드합니다.)
설치 완료 후 압축 해제를 합니다.
[root@guest-1 download]# tar xvf chkrootkit-0.55.tar.gz
chkrootkit-0.55/
chkrootkit-0.55/chkwtmp.c
chkrootkit-0.55/strings.c
chkrootkit-0.55/chkdirs.c
chkrootkit-0.55/check_wtmpx.c
chkrootkit-0.55/chkrootkit.lsm
chkrootkit-0.55/Makefile
chkrootkit-0.55/ifpromisc.c
chkrootkit-0.55/chkproc.c
chkrootkit-0.55/README.chklastlog
chkrootkit-0.55/README
chkrootkit-0.55/patch
chkrootkit-0.55/chkrootkit
chkrootkit-0.55/COPYRIGHT
chkrootkit-0.55/chkutmp.c
chkrootkit-0.55/README.chkwtmp
chkrootkit-0.55/chklastlog.c
chkrootkit-0.55/ACKNOWLEDGMENTS
[root@guest-1 download]#
압축 해제 경로로 이동 후 설치 진행
[root@guest-1 download]# cd chkrootkit-0.55
[root@guest-1 chkrootkit-0.55]# ls
ACKNOWLEDGMENTS Makefile README.chklastlog check_wtmpx.c chklastlog.c chkrootkit chkutmp.c ifpromisc.c strings.c
COPYRIGHT README README.chkwtmp chkdirs.c chkproc.c chkrootkit.lsm chkwtmp.c patch
[root@guest-1 chkrootkit-0.55]#
[root@guest-1 chkrootkit-0.55]# make sense
🤔설치 진행시, "[Makefile:72: strings-static] 오류 1" 에러 발생한다면,
glibc-static 패키지를 설치합니다.
[root@guest-1 chkrootkit-0.55]# dnf install glibc-static
패키지 설치 완료 후 다시 make sense 명령어로 설치 진행
[root@guest-1 chkrootkit-0.55]# make sense
cc -static -o strings-static strings.c
strip: strings-static[.gnu.build.attributes__libc_freeres_fn]: Warning: version note missing - assuming version 3
cc -o chkutmp chkutmp.c
[root@guest-1 chkrootkit-0.55]#
해당 경로에서 ./chkrookit 명령어로 검사를 진행하면, 아래와 같이 검사 진행과정을 확인할 수 있습니다.
[root@guest-1 chkrootkit-0.55]# ./chkrootkit
ROOTDIR is `/'
Checking `amd'... not found
Checking `basename'... not infected
Checking `biff'... not found
Checking `chfn'... not found
Checking `chsh'... not found
Checking `cron'... not infected
Checking `crontab'... not infected
Checking `date'... not infected
Checking `du'... not infected
Checking `dirname'... not infected
Checking `echo'... not infected
Checking `egrep'... not infected
Checking `env'... not infected
Checking `find'... not infected
Checking `fingerd'... not found
Checking `gpm'... not found
Checking `grep'... not infected
Checking `hdparm'... not infected
Checking `su'... not infected
Checking `ifconfig'... not infected
...생략...
다음은 rkhunter 설치 및 실행입니다.
rkhunter 설치 및 사용법
설치
우선 rkhunter 파일을 다운로드 합니다.
👉 https://rkhunter.sourceforge.net/
👉 https://sourceforge.net/projects/rkhunter/files/rkhunter/1.4.6/
rkhunter-1.4.6.tar.gz tar파일을 다운로드 합니다.
[root@guest-1 download]# wget https://sourceforge.net/projects/rkhunter/files/rkhunter/1.4.6/rkhunter-1.4.6.tar.gz/download
파일명이, download로 되어 다운되므로, 변경해줍니다.
[root@guest-1 download]# mv download rkhunter-1.4.6.tar.gz
압축해제를 합니다.
[root@guest-1 download]# tar xvf rkhunter-1.4.6.tar.gz
해제 후 해당 경로에 들어가면, 설치파일 확인이 가능합니다.
[root@guest-1 download]# cd rkhunter-1.4.6
[root@guest-1 rkhunter-1.4.6]# ls
files installer.sh
[root@guest-1 rkhunter-1.4.6]#
다음은 설치입니다.
./installer.sh --layout default --install 명령어로 설치를 진행해줍니다.
[root@guest-1 rkhunter-1.4.6]# ./installer.sh --layout default --install
Starting installation:
Checking installation directory "/usr/local": it exists and is writable.
Checking installation directories:
Directory /usr/local/share/doc/rkhunter-1.4.6: creating: OK
Directory /usr/local/share/man/man8: exists and is writable.
Directory /etc: exists and is writable.
Directory /usr/local/bin: exists and is writable.
Directory /usr/local/lib64: exists and is writable.
Directory /var/lib: exists and is writable.
Directory /usr/local/lib64/rkhunter/scripts: creating: OK
Directory /var/lib/rkhunter/db: creating: OK
Directory /var/lib/rkhunter/tmp: creating: OK
Directory /var/lib/rkhunter/db/i18n: creating: OK
Directory /var/lib/rkhunter/db/signatures: creating: OK
Installing check_modules.pl: OK
Installing filehashsha.pl: OK
Installing stat.pl: OK
Installing readlink.sh: OK
Installing backdoorports.dat: OK
Installing mirrors.dat: OK
Installing programs_bad.dat: OK
Installing suspscan.dat: OK
Installing rkhunter.8: OK
Installing ACKNOWLEDGMENTS: OK
Installing CHANGELOG: OK
Installing FAQ: OK
Installing LICENSE: OK
Installing README: OK
Installing language support files: OK
Installing ClamAV signatures: OK
Installing rkhunter: OK
Installing rkhunter.conf: OK
Installation complete
[root@guest-1 rkhunter-1.4.6]#
설치가 완료되면, /usr/local하위에 파일들이 생성됩니다.
/usr/local/bin/rkhunter
/usr/local/lib64/rkhunter
/usr/local/share/man/man8/rkhunter.8
/usr/local/share/doc/rkhunter-1.4.6
검사방법
rkhunter --update -c --rwo --propupd 명령어로 진행을 하면 검사가 시작됩니다.
참고 : 사용된 옵션의 설명은 rkhunter --help를 통해 확인이 가능합니다.
--update Check for updates to database files
-c, --check Check the local system
--rwo, --report-warnings-only Show only warning messages
--propupd [file | directory | Update the entire file properties database,
package]... or just for the specified entries
👉검사결과
[root@guest-1 local]# rkhunter --update -c --rwo --propupd
Warning: No hash value found for file '/usr/libexec/gawk'
Hash command output: /usr/bin/sha256sum: /usr/libexec/gawk: Is a directory
Warning: Hidden file found: /etc/.updated: ASCII text
Warning: Hidden file found: /usr/share/man/man1/..1.gz: gzip compressed data, max compression, from Unix, original size 20
Warning: Hidden file found: /usr/share/man/man5/.k5identity.5.gz: gzip compressed data, max compression, from Unix, original size 22
Warning: Hidden file found: /usr/share/man/man5/.k5login.5.gz: gzip compressed data, max compression, from Unix, original size 19
이렇게 공개된 오픈소스를 통해 루트킷,백도어등 검사가 가능합니다.
다음 포스트엔, clamv 오픈소스 바이러스 검사 프로그램 설치 방법에 대해서 작성해보겠습니다.