OpenVAS 사용법 가이드
OpenVAS는 오픈소스 취약점 스캐닝 도구로, 네트워크 및 시스템의 보안 취약점을 탐지하고 평가하는 강력한 솔루션입니다.
라이선스
OpenVAS (Greenbone Community Edition)
- 라이선스: GNU GPL v2
- 상업적 사용: 가능
- 재배포: 가능
- 조건: 소스코드 공개 의무, 동일 라이선스 유지
Docker Community Edition
- 라이선스: Apache 2.0
- 완전 무료, 상업적 제한 없음
- 프로덕션 환경에 적합
- 안정성과 성능 우수
Docker Desktop
- 재배포시 문제 발생 가능성 있음 (특히 대기업, 공공기관)
탐지 범위
- 포트스캔
- DATABASE 취약점 점검
- SSL/TLS 취약점 점검
설치하기
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
docker-compose.yml 을 다운받아 실행합니다.
기능을 간단히 설명하면…
원래는 OpenVAS 다운받고, 보안진단 데이타 다운받고, 다운받은 것 날라가지 않도록 볼륨 생성해주고…
이걸 한번에 해주는 설정입니다.
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
윈도우 설정 참조합니다.
기본 사용법
로그인
- 브라우저에서 https://localhost:9392 또는 https://서버IP:9392 접속
- 설정한 관리자 계정으로 로그인 (ID/PWD : admin/admin)
- SSL 인증서 경고가 나타나면 ‘계속 진행’ 선택
비밀번호 변경
오른쪽 위 admin 글씨를 클릭합니다.
Setting 을 클릭합니다.
Timezone/Password 를 수정해 줍니다.
스캔 설정 및 실행
타겟(Target) 생성
-
Configuration → Targets → New Target
-
필수 설정 항목:
-
Name: 타겟 식별 이름 (예: localhost)
-
Hosts: 스캔할 대상
-
단일 IP: 127.0.0.1
-
IP 범위: 192.168.1.1-192.168.1.254
-
CIDR: 192.168.1.0/24
-
호스트명: example.com
-
Port List: 스캔할 포트 범위 선택
-
All IANA assigned TCP : 자주 쓰이는 TCP
-
All IANA assigned TCP and UDP : 자주 쓰이는 TCP & UDP
-
All TCP and Nmap top 100 UDP : 모든 TCP 와 Top 100 UDP
-
스캔 태스크 생성
-
Scans → Tasks → New Task
-
주요 설정:
- Name: 로컬 호스트 스캔
- Scan Targets: [앞서 생성한 타겟 선택]
- Scanner: OpenVAS Default
- Scan Config: Full and fast
- 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
기타
로그 확인
docker logs openvas_gvmd_1 | tail -50
다시 시작
docker-compose down
docker-compose up -d