개요
취약점 평가 도구인 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 및 보안 정보 참고 자료
- NVD (National Vulnerability Database)
- CVE 공식 사이트
- Microsoft Security Update Guide: https://msrc.microsoft.com/update-guide