본문 바로가기
모의해킹 (WAPT)

OpenVAS 설치 및 설정 단계별 가이드

by 날으는물고기 2023. 10. 4.

OpenVAS 설치 및 설정 단계별 가이드

OpenVAS 설치 및 설정을 단계별로 자세히 안내한 내용입니다. OpenVAS는 Debian Stable 기반 시스템에서 주로 개발되었으므로, Debian Bullseye (11)를 기준으로 설명하겠습니다.

1. 필수 사전 요구사항 설치

먼저 OpenVAS를 빌드하고 실행하기 전에 다음의 필수 요구 사항을 설치해야 합니다.

아래 명령어를 사용하여 필요한 패키지를 설치하세요.

sudo apt-get update
sudo apt-get install gcc pkg-config libssh-gcrypt-dev libgnutls28-dev \
libglib2.0-dev libjson-glib-dev libpcap-dev libgpgme-dev bison libksba-dev \
libsnmp-dev libgcrypt20-dev redis-server libbsd-dev cmake doxygen pandoc nmap

2. 필요한 환경 변수 설정

OpenVAS가 필요한 라이브러리를 찾을 수 있도록 PKG_CONFIG_PATH 환경 변수를 설정해야 합니다. 이 환경 변수는 컴파일러가 필요한 라이브러리를 찾을 때 사용됩니다. 필요한 라이브러리가 표준 위치가 아닌 다른 위치에 설치되었다면 다음 명령어로 PKG_CONFIG_PATH를 설정하세요.

export PKG_CONFIG_PATH=/your/location/lib/pkgconfig:$PKG_CONFIG_PATH

3. OpenVAS 소스 코드 빌드

OpenVAS 소스 코드를 빌드하기 위해 다음 단계를 따르세요.

# 빌드 디렉토리 생성
mkdir openvas-build
cd openvas-build

# 빌드 구성
cmake -DCMAKE_INSTALL_PREFIX=/path/to/your/installation ..

# 또는 기본 설치 경로 (/usr/local)를 사용하려면 다음을 사용하세요.
# cmake ..

# 빌드 진행
make

# 문서 빌드
make doxygen     # 개발자용 문서 빌드
make doxygen-full   # 더 많은 개발자 문서 빌드
make doxygen-xml    # 문서 (XML) 빌드
make manual         # HTML 메뉴얼 빌드
make nasl-man       # NASL 내장 함수를 위한 man 페이지 빌드
make tests          # 테스트 빌드

# OpenVAS 설치
sudo make install

4. OpenVAS 설정

OpenVAS를 설정하려면 다음 단계를 따르세요.

  • (선택사항) OpenVAS 스캐너의 기본 환경 설정을 변경하려면 /etc/openvas/openvas.conf 파일 또는 <SYSCONFDIR>/openvas/openvas.conf (SYSCONFDIR가 cmake 호출로 설정된 경우) 파일에서 설정을 변경하세요. 설정 파일이 없으면 기본 설정이 사용됩니다. openvas -s 명령을 사용하여 현재 설정을 확인할 수 있습니다.
  • OpenVAS를 실행하여 취약성 스캔을 실행하려면 OpenVAS에서 실행할 수 있는 네트워크 취약성 테스트(NVT)의 모음이 필요합니다. 초반에는 NVT 모음이 비어 있을 것입니다. OpenVAS를 처음 실행하기 전에 NVT 피드 서비스와 동기화하는 것이 좋습니다. 기본적으로 greenbone-feed-sync 스크립트를 사용하므로 다음 명령어를 실행하세요.
sudo greenbone-feed-sync
  • 스캐너는 스캔된 호스트에서 수집된 정보를 임시로 저장하기 위해 Redis 서버가 실행 중이어야 합니다. Redis 3.2 이상을 지원합니다. Redis 서버를 시작하려면 다음 명령어를 사용하세요.
sudo cp config/redis-openvas.conf /etc/redis/
sudo chown redis:redis /etc/redis/redis-openvas.conf
sudo echo "db_address = /run/redis-openvas/redis.sock" > /etc/openvas/openvas.conf # 또는 cmake 호출로 SYSCONFDIR이 설정된 경우 <SYSCONFDIR>/openvas/openvas.conf에 추가
sudo systemctl start redis-server@openvas.service
  • OpenVAS는 스캐너로서 동작하지 않으며, 스캐너를 제어하고 연결하기 위한 OSP 클라이언트 역할을 하는 Greenbone Vulnerability Management service (gvmd)가 필요합니다. 스캐너는 ospd-openvas 모듈을 통해 OSP 서비스 역할을 수행하지 않습니다. 스캐너를 업로드하려면 다음 명령어를 사용하세요.
openvas -u
  • OpenVAS를 일반 사용자 권한으로 실행할 수 있지만, 특정 작업(패킷 위조 등)을 수행하기 위해 루트 권한이 필요한 네트워크 취약성 테스트(NVT)가 있으므로 가능하면 루트 권한으로 OpenVAS를 시작하는 것이 좋습니다.
  • OpenVAS를 루트 권한으로 실행하려면 다음 단계를 따르세요.
  • sudoers 파일을 편집하세요.
sudo visudo
  • 다음과 같은 줄을 추가하여 ospd-openvas를 실행하는 사용자가 루트 권한으로 openvas를 실행할 수 있도록 허용하세요. <user>는 사용자 이름으로 대체하세요.
<user> ALL = NOPASSWD: /path/to/openvas/sbin/openvas
  • 또한, install prefix를 설정한 경우 sudoers 파일에서도 경로를 업데이트해야 합니다.
Defaults        secure_path=<existing paths...>:/path/to/openvas/sbin

5. 로깅 설정

OpenVAS 스캐너의 로그는 기본적으로 /var/log/gvm/openvas.log 또는 <LOCALSTATEDIR>/log/gvm/openvas.log (cmake 호출로 LOCALSTATEDIR을 설정한 경우) 파일에 기록됩니다. 이 파일은 문제 해결에 도움이 될 수 있는 유용한 정보를 포함할 수 있습니다. 로깅은 /etc/openvas/openvas_log.conf 파일 또는 <SYSCONFDIR>/openvas/openvas_log.conf (SYSCONFDIR이 cmake 호출로 설정된 경우) 파일을 통해 구성됩니다. 로깅 수준은 level 필드에서 제어되며, 로깅 레벨은 다음과 같습니다.

  • 4: 오류
  • 8: 심각한 상황
  • 16: 경고
  • 32: 메시지
  • 64: 정보
  • 128: 디버그 (많은 출력)

모든 로그를 기록하려면 모든 도메인에 대해 level을 128로 설정하세요.

로그를 syslog로 기록하려면 각 도메인에서 다음과 같이 설정할 수 있습니다.

[sd   main]
prepend=%t %p
prepend_time_format=%Y-%m-%d %Hh%M.%S %Z
file=syslog
syslog_facility=daemon
level=128

이제 OpenVAS가 설치되고 설정되었으며, 스캔 및 취약성 관리 작업을 수행할 준비가 되었습니다.

필요한 경우 추가 설정을 수행하여 보안 취약점을 검색하고 관리하세요.

 

참고 : https://github.com/greenbone/openvas-scanner

728x90

댓글