OpenVAS 사용법 가이드
OpenVAS는 오픈소스 취약점 스캐닝 도구로, 네트워크 및 시스템의 보안 취약점을 탐지하고 평가하는 강력한 솔루션입니다.
라이선스
OpenVAS (Greenbone Community Edition)
- 라이선스: GNU GPL v2
- 상업적 사용: 가능
- 재배포: 가능
- 조건: 소스코드 공개 의무, 동일 라이선스 유지
Docker Community Edition
- 라이선스: Apache 2.0
- 완전 무료, 상업적 제한 없음
- 프로덕션 환경에 적합
- 안정성과 성능 우수
Docker Desktop
- 재배포시 문제 발생 가능성 있음 (특히 대기업, 공공기관)
설치하기
Windows 10/11 Pro, Windows Server
Docker Community Edition 을 이용해 설치합니다.
Power Shell 실행 후 아래 명령을 입력합니다.
# WSL2 활성화 (Ubuntu 가 설치됨)
wsl --install
# Ubuntu Server에 Docker Community Edition 설치
sudo apt update -y
sudo apt upgrade -y
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose
sudo usermod -aG docker $USER
# 다시 시작을 해야 오류가 발생하지 않습니다.
# permission denied while trying to connect to the docker API at unix:///var/run/docker.sock
# exit
# wsl -d Ubuntu
# docker ps
sudo service docker start
mkdir openvas
cd openvas
curl -f -L https://greenbone.github.io/docs/latest/_static/docker-compose-22.4.yml -o docker-compose.yml
# 첫번째 라인을 삭제합니다.
# name: greenbone-community-edition
vi docker-compose.yml
docker-compose up -d
# 초기 설정 완료까지 약 10-15분 소요
# 브라우저에서 https://localhost:9392 접속
# 계정: admin / 비밀번호: admin
Ubuntu
# Docker 이미지 다운로드
docker pull greenbone/openvas
# 컨테이너 실행
docker run -d -p 443:443 --name openvas greenbone/openvas
초기 설정
관리자 계정 생성
# 관리자 사용자 생성
sudo runuser -u _gvm -- gvmd --create-user=admin --password=your_password
# 사용자 역할 설정
sudo runuser -u _gvm -- gvmd --modify-setting 78eceaec-3385-11ea-b237-28d24461215b --value your_uuid
취약점 데이터베이스 업데이트
# NVT 피드 동기화
sudo greenbone-nvt-sync
# SCAP 데이터 동기화
sudo greenbone-scapdata-sync
# CERT 데이터 동기화
sudo greenbone-certdata-sync
서비스 시작
# OpenVAS 서비스 시작
sudo gvm-start
# 또는 개별 서비스 시작
sudo systemctl start ospd-openvas
sudo systemctl start gvmd
sudo systemctl start gsad
기본 사용법
- 브라우저에서 https://localhost:9392 또는 https://서버IP:9392 접속
- 설정한 관리자 계정으로 로그인
- SSL 인증서 경고가 나타나면 ‘계속 진행’ 선택
스캔 설정 및 실행
타겟(Target) 생성
-
Scans → Targets → 새로운 타겟 아이콘 클릭
-
필수 설정 항목:
-
Name: 타겟 식별 이름 (예: "내부 웹서버")
-
Hosts: 스캔할 대상
-
단일 IP: 192.168.1.100
-
IP 범위: 192.168.1.1-192.168.1.254
-
CIDR: 192.168.1.0/24
-
호스트명: example.com
-
Port List: 스캔할 포트 범위 선택
-
All IANA assigned TCP (33,000+ 포트)
-
All TCP and Nmap top 100 UDP
-
사용자 정의 포트 리스트
-
스캔 태스크 생성
- Scans → Tasks → 새로운 태스크 아이콘 클릭
- 주요 설정:
- Name: 웹서버 취약점 스캔
- Scan Targets: [앞서 생성한 타겟 선택]
- Scanner: OpenVAS Default
- Scan Config: Full and fast
- Schedule: [선택사항] 정기 스캔 설정
스캔 설정(Scan Config) 유형
- Full and fast: 종합적이면서 빠른 스캔 (권장)
- Full and deep: 가장 상세한 스캔 (시간 소요 큼)
스캔 실행
- Tasks 목록에서 생성한 태스크 찾기
- 재생 버튼(▶) 클릭하여 스캔 시작
- Status 컬럼에서 진행률 확인
결과 분석
취약점 확인
스캔 완료 후 결과 보기:
Tasks 목록에서 완료된 태스크의 Results 컬럼 숫자 클릭
심각도별로 정렬된 취약점 목록 확인
심각도 분류
High (9.0-10.0): 즉시 조치 필요
Medium (4.0-8.9): 우선 순위 조치
Low (0.1-3.9): 장기 계획에 포함
Log: 정보성 메시지
상세 정보 보기
각 취약점을 클릭하면 다음 정보 확인:
Summary: 취약점 요약
Vulnerability Detection Result: 탐지된 구체적 내용
Impact: 영향도
Solution: 해결 방법
References: CVE, CVSS 점수 등
보고서 생성
-
Scans → Reports → 원하는 스캔 결과 선택
-
다양한 형식으로 다운로드:
- PDF: 경영진 보고용
- HTML: 웹 공유용
- XML: 데이터 분석용
- CSV: 엑셀 작업용
-
다운로드 아이콘 클릭 → 형식 선택 → Download
```
```bash