리눅스에서 사용가능한 보안점검툴

Yeeees, I can!·2023년 2월 1일
0
post-thumbnail

리눅스에서 사용가능한 오픈소스 보안툴을(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 오픈소스 바이러스 검사 프로그램 설치 방법에 대해서 작성해보겠습니다.

profile
그동안 경험 및 공부하면서 얻은 지식을 써놓은 블로그입니다~

0개의 댓글