
NIST CVE 데이터베이스의 새로운 취약점과 관련 제품에 대한 xlsx 스프레드시트를 매일 일정에 따라 이메일로 보내는 Python 앱 및 셸 스크립트 모음입니다.
프로젝트 설명
매일 일정에 따라 NIST CVE 데이터베이스의 새로운 취약점과 관련 제품의 xlsx 스프레드시트를 이메일로 보내기 위한 Python 앱 및 셸 스크립트 모음입니다. 그런 다음 스프레드시트를 수동으로 해석하여 특정 조직에 대한 위험을 평가할 수 있습니다.
파일: cve_manager.py
원래 Antonios Atlasis([email protected])가 작성한 Python 스크립트
https://github.com/aatlasis/cve_manager
원본과의 변경 사항:
데이터 조작 라이브러리 pandas 가져오기 추가
sudo pip3 install pandas openpyxl
CVE 및 CPE 데이터를 조인하는 데이터베이스 뷰 추가
기본 CPE 쿼리 및 보고서를 수정하여 cvssv2 점수 대신 cvssv3 벡터 문자열 포함
기본 CPE 쿼리 및 보고서를 게시일 ASC, CVSS DESC, CPE ASC 순으로 정렬하도록 수정
CSV 저장 시마다 자동으로 xlsx 형식의 복사본을 저장하도록 CPE CSV 출력 함수 수정
파일: email_xlsx_attach.py
Shane Lawrence가 작성한 새로운 Python 스크립트
로컬 SMTP 릴레이를 통해 xlsx 보고서를 이메일 첨부파일로 전송
파일: daily.sh
Shane Lawrence가 작성한 Bash 셸 스크립트
cron이 매일 실행할 수 있는 스크립트로 모든 것을 통합
다음 cve_manager.py 사용을 자동화합니다:
새 서버 설정:
원본 PDF 읽기:
https://github.com/aatlasis/cve_manager/blob/master/CVE%20Manager.pdf
Python 설정:
Python 3 필요
pip3도 설치하는 것이 좋습니다.
pip3 install psycopg2, openpyxl, pandas
필수 포함 사항:
psycopg2 - 데이터 과학 라이브러리
pandas - 데이터 조작 라이브러리 (openpyxl에 의존)
sys, argparse, os, zipfile, json, requests, re, io, csv, smtplib, base64, email, datetime
PostgreSQL 설정:
배포판에 맞는 최신 PostgreSQL 데이터베이스를 설치하세요.
root로 다음 실행: systemctl enable postgresql
systemctl start postgresql
그런 다음 PostgreSQL 사용자의 비밀번호를 설정합니다:
sudo -u postgres psql
\l lists databases
\du lists users
CREATE USER username WITH PASSWORD 'password';
cve_manager를 사용하여 데이터베이스 생성:
사용자에게 CREATE 권한이 있어야 합니다.
./cve_manager.py -u postgres -ps $PASSWORD -server localhost -db $DB -ow $USER -cd
cve_manager.py를 사용하여 스키마 생성
사용자에게 CREATE 권한이 있어야 합니다.
./cve_manager.py -u postgres -ps $PASSWORD -server localhost -db $DB -ct
cve_manager를 사용하여 CVE 및 CPE 데이터 다운로드
./cve_manager.py -u $user -ps $pass -host $host -db $db -d -p -csv
CWE 데이터 수동 다운로드 및 압축 해제
wget https://cwe.mitre.org/data/csv/1000.csv.zip
unzip 1000.csv.zip
cve_manager를 사용하여 NIST CVE 및 CPE 데이터를 데이터베이스로 가져오기
./cve_manager.py -u $user -ps $pass -host $host -db $db -idb -p
cve_manager를 사용하여 CWE 데이터를 데이터베이스로 가져오기
./cve_manager.py -u $user -ps $pass -host $host -db $db -icwe 1000.csv
예제 보고서 실행.
이 예제는 심각도 7.0 이상이고 2020년 7월 1일 이후 생성 또는 업데이트된 취약점 및 해당 제품의 CSV 및 xlsx를 생성합니다.
./cve_manager.py -u $user -ps $password -host $host -db $db -sc 7.0 -dt 2020-07-01 -cpe cpe -csv -o $reports
xlsx 보고서 이메일 전송
smtp 릴레이, 발신자, 수신자 및 보고서 디렉터리에 맞게 email_xlsx_attach.py를 수정하세요.
할일:
다음 반복에서는 중요한 제품 인벤토리 목록을 통합하고 제품 인벤토리의 CPE에만 적용되는 보고서를 만드는 방법을 알아볼 예정입니다.
Shane Lawrence
수석 고문, 클라우드 플랫폼 보안