Zabbix 3.4를 docker로 운용하여 Vuls와 연동시킨다 ~ 그 2 ~ Vuls의 인스톨
소개
그 1에서는 Zabbix 3.4를 설치했습니다.
이번에는 Vuls를 docker에서 움직여 보겠습니다.
환경
Vuls를 배포할 위치와 검색할 서버가 필요합니다.
Vuls는 Docker에서 움직이고 스캔 대상은 VirtulBox에 구축한 Ubuntu로 해 보았습니다.
공통
macOS High Sierra (10.13)
Vuls의 도입처
Docker Version 17.09.0-ce-mac33 (19543)
스캔 대상 서버
VirtualBox 5.1.28
Ubuntu Server 16.04.3 LTS
IP 주소 192.168.56.102
테스트를 위해 자동 업데이트가 꺼져 있습니다.
Vuls 설치
여기 과 여기 의 기사를 참고로 했습니다.
공식:
htps : // 기주 b. 코 m / 푹신 푹신 ct / ㈜ ls / t 어 /
컨테이너 준비
데이터 공유 볼륨 컨테이너를 준비합니다.
docker pull busybox:latest
docker run -v /vuls --name vuls-data busybox
Vuls의 컨테이너 이미지를 가져옵니다.
docker pull vuls/go-cve-dictionary
docker pull vuls/goval-dictionary
docker pull vuls/vuls
당신을 위해 버전을 확인합니다.
docker run --rm vuls/go-cve-dictionary -v
docker run --rm vuls/goval-dictionary -v
docker run --rm vuls/vuls -v
go-cve-dictionary 구축
NVD에서 취약성 데이터베이스를 검색합니다.
for i in `seq 2002 $(date +"%Y")`; do \
docker run --rm -it \
--volumes-from vuls-data \
vuls/go-cve-dictionary fetchnvd -years $i; \
done
일본어화하고 싶기 때문에 JVN에서도 취약성 데이터베이스를 취득합니다.
for i in `seq 1998 $(date +"%Y")`; do \
docker run --rm -it \
--volumes-from vuls-data \
vuls/go-cve-dictionary fetchjvn -years $i; \
done
goval-dictionary 구축
이번에는 우분투가 대상이므로 우분투용 OVAL 정보를 취득합니다.
마지막 숫자는 대상 Ubuntu 버전입니다.
공백으로 구분하여 여러 버전을 지정할 수 있습니다.
docker run --rm -it \
--volumes-from vuls-data \
vuls/goval-dictionary fetch-ubuntu 16
SSH 키 만들기
기존 SSH 키가 없으면 새로 만듭니다.
cd ~/.ssh/
ssh-keygen -t rsa
chmod 600 id_rsa
【스캔 대상 서버측】사용자 추가 및 SSH 설정
이 작업은 스캔 대상 서버에서 수행됩니다.
스캔을 위해 사용자(vuls)를 추가하고 sudo
권한을 부여합니다.
우분투 이외의 배포판에서는 방법이 다를 수 있으므로 주의합시다.
sudo adduser vuls
sudo gpasswd -a vuls sudo
vuls 유저로 로그인해, 「SSH 키의 작성」으로 작성한 공개키( id_rsa.pub
)의 내용을 authorized_keys
에 추가해, 공개키로 로그인할 수 있도록 합니다.
vim ~/.ssh/authorized_keys
SSH 연결할 수 있는지 확인
공개 키로 스캔 대상 서버에 로그인할 수 있는지 확인합니다.
ssh -i ~/.ssh/id_rsa [email protected]
config.toml 만들기
작업 폴더에서 만듭니다.
config.toml[servers]
[servers.ubuntu]
host = "192.168.56.102"
port = "22"
user = "vuls"
keyPath = "/home/vuls-user/.ssh/id_rsa"
config.toml 테스트
docker run --rm -it \
--volumes-from vuls-data \
-v ~/.ssh:/home/vuls-user/.ssh:ro \
-v $PWD:/vuls/config \
vuls/vuls configtest \
-config=/vuls/config/config.toml \
-ssh-native-insecure
스캔 수행
docker run --rm -it \
--volumes-from vuls-data \
-v ~/.ssh:/home/vuls-user/.ssh:ro \
-v $PWD:/vuls/config \
-v /etc/localtime:/etc/localtime:ro \
-e "TZ=Asia/Tokyo" \
vuls/vuls scan \
-config=/vuls/config/config.toml \
-ssh-native-insecure
명령줄에서 스캔 결과 보기
docker run --rm -it \
--volumes-from vuls-data \
-v ~/.ssh:/home/vuls-user/.ssh:ro \
-v $PWD:/vuls/config \
-v /etc/localtime:/etc/localtime:ro \
vuls/vuls report \
-cvedb-path=/vuls/cve.sqlite3 \
-ovaldb-path=/vuls/oval.sqlite3 \
-format-short-text \
-config=/vuls/config/config.toml \
-lang=ja
이런 결과가 출력되었습니다.
일부 문자 깨져있다 ....
신규 인스톨한 상태의 Ubuntu이므로, 대량의 취약성이 검출되고 있군요.
VulsRepo로 스캔 결과 표시
docker run -dt \
--volumes-from vuls-data \
-p 5111:5111 \
--name vulsrepo \
vuls/vulsrepo
이 상태에서 스캔을 실시해, 브라우저로부터 http://localhost:5111
에 액세스 하면 그래프 표시등을 이용할 수 있습니다.
TUI는 내 환경에서 오류 ( invalid dimensions
)로 표시 할 수 없습니다.
Zabbix와 연계한다면, 여기까지 할 수 있으면 OK일까.
다음은 드디어 Vuls와 Zabbix의 협력입니다.
Zabbix 3.4를 docker로 운용하여 Vuls와 연계시킨다 ~ 그 3 ~ Zabbix와 Vuls의 연계
Reference
이 문제에 관하여(Zabbix 3.4를 docker로 운용하여 Vuls와 연동시킨다 ~ 그 2 ~ Vuls의 인스톨), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/sikkim/items/9d8daf9fd7e6cb0ddf38
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Vuls를 배포할 위치와 검색할 서버가 필요합니다.
Vuls는 Docker에서 움직이고 스캔 대상은 VirtulBox에 구축한 Ubuntu로 해 보았습니다.
공통
macOS High Sierra (10.13)
Vuls의 도입처
Docker Version 17.09.0-ce-mac33 (19543)
스캔 대상 서버
VirtualBox 5.1.28
Ubuntu Server 16.04.3 LTS
IP 주소 192.168.56.102
테스트를 위해 자동 업데이트가 꺼져 있습니다.
Vuls 설치
여기 과 여기 의 기사를 참고로 했습니다.
공식:
htps : // 기주 b. 코 m / 푹신 푹신 ct / ㈜ ls / t 어 /
컨테이너 준비
데이터 공유 볼륨 컨테이너를 준비합니다.
docker pull busybox:latest
docker run -v /vuls --name vuls-data busybox
Vuls의 컨테이너 이미지를 가져옵니다.
docker pull vuls/go-cve-dictionary
docker pull vuls/goval-dictionary
docker pull vuls/vuls
당신을 위해 버전을 확인합니다.
docker run --rm vuls/go-cve-dictionary -v
docker run --rm vuls/goval-dictionary -v
docker run --rm vuls/vuls -v
go-cve-dictionary 구축
NVD에서 취약성 데이터베이스를 검색합니다.
for i in `seq 2002 $(date +"%Y")`; do \
docker run --rm -it \
--volumes-from vuls-data \
vuls/go-cve-dictionary fetchnvd -years $i; \
done
일본어화하고 싶기 때문에 JVN에서도 취약성 데이터베이스를 취득합니다.
for i in `seq 1998 $(date +"%Y")`; do \
docker run --rm -it \
--volumes-from vuls-data \
vuls/go-cve-dictionary fetchjvn -years $i; \
done
goval-dictionary 구축
이번에는 우분투가 대상이므로 우분투용 OVAL 정보를 취득합니다.
마지막 숫자는 대상 Ubuntu 버전입니다.
공백으로 구분하여 여러 버전을 지정할 수 있습니다.
docker run --rm -it \
--volumes-from vuls-data \
vuls/goval-dictionary fetch-ubuntu 16
SSH 키 만들기
기존 SSH 키가 없으면 새로 만듭니다.
cd ~/.ssh/
ssh-keygen -t rsa
chmod 600 id_rsa
【스캔 대상 서버측】사용자 추가 및 SSH 설정
이 작업은 스캔 대상 서버에서 수행됩니다.
스캔을 위해 사용자(vuls)를 추가하고 sudo
권한을 부여합니다.
우분투 이외의 배포판에서는 방법이 다를 수 있으므로 주의합시다.
sudo adduser vuls
sudo gpasswd -a vuls sudo
vuls 유저로 로그인해, 「SSH 키의 작성」으로 작성한 공개키( id_rsa.pub
)의 내용을 authorized_keys
에 추가해, 공개키로 로그인할 수 있도록 합니다.
vim ~/.ssh/authorized_keys
SSH 연결할 수 있는지 확인
공개 키로 스캔 대상 서버에 로그인할 수 있는지 확인합니다.
ssh -i ~/.ssh/id_rsa [email protected]
config.toml 만들기
작업 폴더에서 만듭니다.
config.toml[servers]
[servers.ubuntu]
host = "192.168.56.102"
port = "22"
user = "vuls"
keyPath = "/home/vuls-user/.ssh/id_rsa"
config.toml 테스트
docker run --rm -it \
--volumes-from vuls-data \
-v ~/.ssh:/home/vuls-user/.ssh:ro \
-v $PWD:/vuls/config \
vuls/vuls configtest \
-config=/vuls/config/config.toml \
-ssh-native-insecure
스캔 수행
docker run --rm -it \
--volumes-from vuls-data \
-v ~/.ssh:/home/vuls-user/.ssh:ro \
-v $PWD:/vuls/config \
-v /etc/localtime:/etc/localtime:ro \
-e "TZ=Asia/Tokyo" \
vuls/vuls scan \
-config=/vuls/config/config.toml \
-ssh-native-insecure
명령줄에서 스캔 결과 보기
docker run --rm -it \
--volumes-from vuls-data \
-v ~/.ssh:/home/vuls-user/.ssh:ro \
-v $PWD:/vuls/config \
-v /etc/localtime:/etc/localtime:ro \
vuls/vuls report \
-cvedb-path=/vuls/cve.sqlite3 \
-ovaldb-path=/vuls/oval.sqlite3 \
-format-short-text \
-config=/vuls/config/config.toml \
-lang=ja
이런 결과가 출력되었습니다.
일부 문자 깨져있다 ....
신규 인스톨한 상태의 Ubuntu이므로, 대량의 취약성이 검출되고 있군요.
VulsRepo로 스캔 결과 표시
docker run -dt \
--volumes-from vuls-data \
-p 5111:5111 \
--name vulsrepo \
vuls/vulsrepo
이 상태에서 스캔을 실시해, 브라우저로부터 http://localhost:5111
에 액세스 하면 그래프 표시등을 이용할 수 있습니다.
TUI는 내 환경에서 오류 ( invalid dimensions
)로 표시 할 수 없습니다.
Zabbix와 연계한다면, 여기까지 할 수 있으면 OK일까.
다음은 드디어 Vuls와 Zabbix의 협력입니다.
Zabbix 3.4를 docker로 운용하여 Vuls와 연계시킨다 ~ 그 3 ~ Zabbix와 Vuls의 연계
Reference
이 문제에 관하여(Zabbix 3.4를 docker로 운용하여 Vuls와 연동시킨다 ~ 그 2 ~ Vuls의 인스톨), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/sikkim/items/9d8daf9fd7e6cb0ddf38
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
docker pull busybox:latest
docker run -v /vuls --name vuls-data busybox
docker pull vuls/go-cve-dictionary
docker pull vuls/goval-dictionary
docker pull vuls/vuls
docker run --rm vuls/go-cve-dictionary -v
docker run --rm vuls/goval-dictionary -v
docker run --rm vuls/vuls -v
for i in `seq 2002 $(date +"%Y")`; do \
docker run --rm -it \
--volumes-from vuls-data \
vuls/go-cve-dictionary fetchnvd -years $i; \
done
for i in `seq 1998 $(date +"%Y")`; do \
docker run --rm -it \
--volumes-from vuls-data \
vuls/go-cve-dictionary fetchjvn -years $i; \
done
docker run --rm -it \
--volumes-from vuls-data \
vuls/goval-dictionary fetch-ubuntu 16
cd ~/.ssh/
ssh-keygen -t rsa
chmod 600 id_rsa
sudo adduser vuls
sudo gpasswd -a vuls sudo
vim ~/.ssh/authorized_keys
ssh -i ~/.ssh/id_rsa [email protected]
[servers]
[servers.ubuntu]
host = "192.168.56.102"
port = "22"
user = "vuls"
keyPath = "/home/vuls-user/.ssh/id_rsa"
docker run --rm -it \
--volumes-from vuls-data \
-v ~/.ssh:/home/vuls-user/.ssh:ro \
-v $PWD:/vuls/config \
vuls/vuls configtest \
-config=/vuls/config/config.toml \
-ssh-native-insecure
docker run --rm -it \
--volumes-from vuls-data \
-v ~/.ssh:/home/vuls-user/.ssh:ro \
-v $PWD:/vuls/config \
-v /etc/localtime:/etc/localtime:ro \
-e "TZ=Asia/Tokyo" \
vuls/vuls scan \
-config=/vuls/config/config.toml \
-ssh-native-insecure
docker run --rm -it \
--volumes-from vuls-data \
-v ~/.ssh:/home/vuls-user/.ssh:ro \
-v $PWD:/vuls/config \
-v /etc/localtime:/etc/localtime:ro \
vuls/vuls report \
-cvedb-path=/vuls/cve.sqlite3 \
-ovaldb-path=/vuls/oval.sqlite3 \
-format-short-text \
-config=/vuls/config/config.toml \
-lang=ja
docker run -dt \
--volumes-from vuls-data \
-p 5111:5111 \
--name vulsrepo \
vuls/vulsrepo
Reference
이 문제에 관하여(Zabbix 3.4를 docker로 운용하여 Vuls와 연동시킨다 ~ 그 2 ~ Vuls의 인스톨), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/sikkim/items/9d8daf9fd7e6cb0ddf38텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)