기업 안전 구축 하는 방법? 기업 보안 취약점 알림 엔진. 오늘날, 대부분의 기업은 취약점 스캔 + 취약점 알림 사용 하는, 두 가지 문제가 있다:
1. 누설에 "긴 검사 주기, 검사 라이브러리 업데이트는 적시"을 존재, 같은 시간 검색 보고서에 수많은 간섭 진짜 유용 하지 몇 가지, 그리고 파티를 하자 항목, 누수에서 발생 "누출 정보에 말뚝", 평등에 대 한 보고에 유용한 정보를 찾을 연산자는 정말 비정상적으로 시간이 소비.
2. 보안 제조 업체의 취약점은 "만 통지, 서버, 자신을 찾을 하 윤-웨이의 특정 영향." "
위의 두 통증 점, 그리고 해당 서버 운영자 사서함을 일치 하도록 자산 목록을 통해 모든 서버의 현재 미들웨어, 데이터베이스, 그리고 다른 버전을 수집 하는 방법의 다양 한 활용의 조합으로 올 하겠습니다 그리고 마지막으로 최신 취약점 및의 범위를 잡으려고 게시판 사이트를 찾을 보안 회사의 안전에는 현재 버전은 영향을 받는 버전 범위, 메일 경고는 즉시 사용할 수 있습니다.
0X01 전체 프레임 워크
전체 세 부분으로 나누어져 있습니다: 입력, 주요 엔진 및 출력.
1. 입력된 섹션:
버전 A) 검출: 수동 확인 버전 및 입력 영역을 스캔 쉽지 않은 버전 감지 스캔의 서버 응용 프로그램에 대 한
B 크롤러: 보안 업체의 번호를 선택, 매일 (또는 더 빈번한) 취약점 정보에 대 한 보안 취약점 공지 사이트를 통해 크롤 링
2. 주요 엔진 부분:
A) 파이썬: 진정으로 유용한
"적용-ip-버전-관리자" 테이블의 B 데이터베이스: 개발
c) 버전 비교: 취약점 영향 범위 및 현재 응용 프로그램 버전을 비교 하 여 보안 문제가 있는지 확인 하려면
D 최신 취약점 경고: 자동으로 최신 보안 취약점 발견 (한 번 이상 하루)을 실행 하는 작업을 시간 초과
3. 출력 부분:
"응용 프로그램-ip-버전-관리자" 통신에 따르면 해당 응용 프로그램 취약점 보다 정확한 자동된 취약점 알림 & 새로운 취약점 경고를 달성 하기 위해 해당 작업 및 유지 보수 관리자, 자동으로 전송 됩니다.
0x02 입력된 섹션
여기 네, 같은 누출의 제조 업체를 검색 하는 자동의 버전을 달성 하는 방법의 다양 한, 등, 응용 프로그램 버전 업데이트 빈도의 인해 낮습니다, 그리고 취약점 업데이트 빈도가 높습니다, 매월 검사를 통해 응용 프로그램 버전을 실행 하는 현재 감지 서버를 더 정확 하 게 있을 수 있습니다. 또한 최신 취약점을 식별 하 고 적절 한 응용 프로그램 관리자에 게 통보를 "적용-ip-버전-관리자" 통신을 만들 필요가 있다.
2.1 확인 "응용 프로그램-ip-버전" 해당 관계 테이블 (테이블 이름은 애플 리 케이 션)
먼저 버전 정보 위치를 찾이 필요가, 누설을 통해 내보낸 Excel 호스트 보고서 찾을 수 있습니다. 그래서 찾을 지정 시트 + 방법을 찾아 지정 함으로써 폼에 일반 가져오기 사용 하 여 열 "스캔 보고서-취약점 정보 시트-반환 열만" 버전 정보 (아래 사진)을 포함할 수 있습니다. 마이크로소프트 iis/8.5에 정보]
Pyexcel_xls 여기 다음과 같이 Excel 테이블에서 정보를 읽는 데 사용 됩니다.
#从excel中读出漏洞信息这个sheet
vullist = xls_data [u ' 취약점 정보 ']
#设置一个去重的集合, 스토어 현재 IP 응용 프로그램 및 버전
Currentipapps = (세트)
#从第二行开始读
전 범위 (1, len (vullist), 1)에서:
# 取excel表中第4列的漏洞描述和第14列的版本信息
[i] #print Vullist
이름 = Vullist [i] [3]
보십시오.
버전 = Vullist [i] [13]
경우 "/" 버전에서:
경우 ("[" 버전에서) 및 ("]" 버전에서):
Version_tmp = Re.findall ("\[(\w+.*/\d+.*)]", 버전)
세분화 된 일반 및 후 배제의 다양 한 이국적인 콘텐츠, 정보를 Nginx 1.8.1, 사용 되는 데이터베이스에 저장 된 현재 버전을 얻을.
많은 수의 호스트 보고서 각 검색 (아래 그림)에 생성 됩니다.
한 번에 한 디렉터리의 모든 파일을 통과 해야 합니다.
데 프 getfilelist (dir, filelist):
Newdir Dir =
경우 Os.path.isfile (dir):
Filelist.append (Dir.decode ('GBK'))
Elif Os.path.isdir (dir):
Os.listdir (dir)에 대 한:
# 무시 하는 일부 폴더, 다음 코드를 사용 하려는 경우
# 만약 s "xxx"를 = =:
# 계속
Newdir Os.path.join (dir, s) =
Getfilelist (Newdir, FileList)
filelist 반환
디렉터리 탐색을 통해 다음 + 엑셀 탐색, 해당 관계의 응용 프로그램 ip 버전 이루어집니다.
2.2 완벽 한 "적용-ip-버전-관리자 관계 테이블"
위의 테이블은 충분, 누수 통지, 경우에 수 자동으로 구현 하지 사람, 하지만 또한 빈 이야기. Ip 관리자의 해당 관계 다음 추가 됩니다.
이 시점에서 우리가 필요 이상 포함 해야 하는 정보 시스템 자산 시트 "ip 관리자" (아래 사진)
다음 쿼리 조건, 자산 테이블 쿼리, 획득된 관리자 보고서 IP의 각 탐색 검색 결과 출력 디렉터리에 따라 이름 테이블에 추가 "애플 리 케이 션" 해당 위치에 다음 그림의 생산 후 자산 입력 부분 완료.
2.3 취약점 공지 웹 크롤러
크롤러의 목적은: 모두 잡으려고 취약점 정보 및 영향 범위의 응용 프로그램 이름.
크롤러 예: 녹색 연합 취약점 공지 크롤러