Kali Linux에서 docker-compose를 활용한 OpenVAS 보안 스캐너 배포

개요

취약점 평가 도구인 OpenVAS(Greenbone Vulnerability Assessment System)는 네트워크 자산의 보안 취약점을 식별하고 분석하는 데 사용됩니다. 본 문서에서는 Kali Linux 환경에서 docker-compose를 이용해 OpenVAS를 컨테이너 기반으로 설치하고 구성하는 절차를 설명합니다.

실험 환경

항목 세부 정보
운영체제 Kali Linux 2024.1
IP 주소 192.168.204.100 (정적)
Docker 버전 20.10.25
Docker Compose 버전 1.29.2
대상 시스템 Windows Server 2008 R2 (192.168.204.150)

시스템 정보 확인

cat /etc/os-release
ip addr show

Docker 및 Docker Compose 설치

Docker는 컨테이너 기반 애플리케이션 실행을 가능하게 하며, Docker Compose는 멀티 컨테이너 애플리케이션을 정의하고 실행하는 도구입니다.

1. Docker 설치

sudo apt update
sudo apt install -y docker.io

2. Docker Compose 설치

sudo apt install -y docker-compose

3. 버전 확인

docker --version
docker-compose --version

4. Docker 레지스트리 미러 설정 (선택 사항)

이미지 다운로드 속도 향상을 위해 미러 서버를 구성합니다.

sudo tee /etc/docker/daemon.json <<EOF
{
  "registry-mirrors": [
    "https://docker.mirrors.ustc.edu.cn",
    "http://hub-mirror.c.163.com",
    "https://registry.docker-cn.com"
  ]
}
EOF

설정 후 Docker 서비스 재시작:

sudo systemctl restart docker

5. 부팅 시 자동 시작 활성화

sudo systemctl enable docker

OpenVAS 컨테이너 배포

Greenbone에서 제공하는 공식 docker-compose 파일을 사용하여 OpenVAS를 배포합니다.

1. docker-compose.yml 다운로드

curl -f -L https://greenbone.github.io/docs/latest/_static/docker-compose-22.4.yml -o docker-compose.yml

2. 이미지 다운로드

docker-compose -f docker-compose.yml -p greenbone-community-edition pull

3. 컨테이너 백그라운드 실행

docker-compose -f docker-compose.yml -p greenbone-community-edition up -d

4. 로그 모니터링

초기 실행 시 데이터베이스 초기화 및 NVT(네트워크 취약점 테스트) 업데이트가 수행되므로 시간이 소요됩니다.

docker-compose -f docker-compose.yml -p greenbone-community-edition logs -f

5. 포트 상태 확인

netstat -tulnp | grep 9392

OpenVAS 웹 인터페이스는 기본적으로 9392 포트에서 실행됩니다.

6. 실행 중인 컨테이너 확인

docker ps

7. 웹 인터페이스 접근

브라우저에서 다음 주소로 접속:

https://127.0.0.1:9392
  • 사용자명: admin
  • 비밀번호: admin

첫 로그인 후 비밀번호 변경을 권장합니다.

OpenVAS 기본 사용법

1. 포트 목록 관리

Configuration → Port Lists 메뉴에서 사전 정의된 또는 사용자 지정 포트 그룹을 생성할 수 있습니다.

2. 사용자 정의 포트 리스트 생성 예시

  • 이름: HTTP_Services
  • 포트: 80, 443, 8080

3. 스캔 대상 추가

Configuration → Targets 에서 새로운 대상 호스트를 등록합니다.

  • 이름: WinServer2008
  • 호스트: 192.168.204.150
  • 포트 리스트: 위에서 생성한 HTTP_Services 선택

4. 스캔 작업 생성

Scans → Tasks 메뉴에서 새 작업을 만들고, 대상과 스캔 정책을 지정합니다. 기본 제공되는 Full and fast 정책을 사용할 수 있습니다.

관리 작업

비밀번호 변경 방법

컨테이너 내부에서 Greenbone 명령어를 사용하여 비밀번호를 변경합니다.

docker exec -it greenbone-community-edition-gsa-1 gvm-cli --gmp-username admin --gmp-password admin socket --xml "<modify_user user_id='your-user-id' new_password='new-strong-password'/>"

실제 사용 시에는 먼저 사용자 ID를 조회해야 하며, XML 요청 본문은 적절히 수정되어야 합니다.

환경 종료 및 제거

모든 컨테이너 중지 및 볼륨 제거:

docker-compose -f docker-compose.yml -p greenbone-community-edition down -v

대체 설치 방법: 패키지 매니저 직접 설치 (권장하지 않음)

일부 환경에서는 gvm 또는 openvas 패키지를 APT를 통해 설치하려 하지만, 의존성 충돌 및 오래된 버전 문제로 인해 실패할 수 있습니다.

apt install openvas  # 비추천, 레포지토리에 없거나 오래됨

최신 기능과 안정성을 위해서는 컨테이너 기반 배포를 권장합니다.

CVE 및 보안 정보 참고 자료

태그: OpenVAS Kali Linux docker-compose 보안 스캐닝 취약점 분석

7월 23일 17:09에 게시됨