5 款漏洞扫描工具:实用、强力、全面(含开源)

目录

引言

5款工具,打包带走吧!

第一款:Trivy

概述

安装

第二款:OpenVAS

概述

安装

第三款:Clair

概述

安装

第四款:Anchore

概述

安装

第五款:Sqlmap

概述

安装


引言

漏洞扫描是一种安全检测行为,更是一类重要的网络安全技术,它能够有效提高网络的安全性,而且漏洞扫描属于主动的防范措施,可以很好地避免黑客攻击行为,做到防患于未然。那么好用的漏洞扫描工具有哪些?

答案就在本文!

5款工具,打包带走吧!

第一款:Trivy

概述

  Trivy 是一个开源漏洞扫描程序,能够检测开源软件中的 CVE。这款工具针对风险提供了及时的解释,开发人员可自行决定是否在容器或应用程序中使用该组件。常规的容器安全协议使用的是静态镜像扫描来发现漏洞,Trivy 则是将漏洞扫描工具无缝合并到集成开发环境当中。

  另外,由于背靠庞大的开源社区,许多的集成及附加组件都支持 Trivy,例如使用 Helm 图表能够将 Trivy 安装到 Kubernetes 集群,借助 Prometheus 导出器能够提取漏洞指标。

安装

Trivy安装:

非常简单,如果有Golang环境的可以Clone源码仓自己编译构建。或者使用发行版的包安装器安装,比如CentOS:
 

sudo apt-get install wget apt-transport-https gnupg lsb-releasewget -qO - aquasecurity.github.io/trivy-repo/deb/public.key | sudo apt-key add -echo deb aquasecurity.github.io/trivy-repo/deb $(lsb_release -sc) main | sudo tee -a /etc/apt/sources.list.d/trivy.listsudo apt-get updatesudo apt-get install trivy

Ubuntu安装:
 

sudo apt-get install wget apt-transport-https gnupg lsb-releasewget -qO - aquasecurity.github.io/trivy-repo/deb/public.key | sudo apt-key add -echo deb aquasecurity.github.io/trivy-repo/deb $(lsb_release -sc) main | sudo tee -a /etc/apt/sources.list.d/trivy.listsudo apt-get updatesudo apt-get install trivy

Trivy也支持容器方式部署:

docker pull aquasec/trivy:0.20.2

然后直接启动容器:

docker run --rm -v [YOUR_CACHE_DIR]:/root/.cache/ aquasec/trivy:0.20.2 [YOUR_IMAGE_NAME]

如果想要扫主机上的镜像,可能需要挂载docker.sock,例如:

docker run --rm -v /var/run/docker.sock:/var/run/docker.sock \-v $HOME/Library/Caches:/root/.cache/ aquasec/trivy:0.20.2 python:3.4-alpine

第二款:OpenVAS

概述

  OpenVAS 是一款功能全面的免费开源漏洞扫描器和管理系统。它得到了 GNU 通用公开许可证授权许可,支持包括多个 Linux 发行版在内的不同操作系统。OpenVAS 利用了可自动更新的社区来源的漏洞数据库,涵盖 5 万多个已知网络漏洞测试。也就是说,它能非常细致地查看整个系统,并对已经或未经身份验证的协议进行测试。而实施过的漏洞测试也相当细致,会深入分析计算机及服务器受保护的程度。

安装

1、前提条件

①.虚拟机配置静态ip,桥接模式,设置IPADDR,其中GATEWAY,NETMASK,DNS需要设置与 右键网络–更改适配器–以太网状态–详细信息保持一致

②.设置虚拟机代理,通过图形化界面给虚拟机设置代理,可以访问网络,但是不能使用yum源。安装openvas 需要使用yum源,做如下修改。在/etc/yum.conf中加入下面几句
proxy=http://10.4.200.228:8080
proxy_username=bmcc\60000
proxy_password=pl,12345

③./root/.bashrc(/etc/profile)中加入(或者在命令行中输入,终端中是暂时的):
export http_proxy=“http://username:[email protected]:808”

④.如果是通过ip或者是网卡的认证,可以忽略所有的user,password等。停止使用代理的的时候,需要将环境变量,yum配置文件恢复:unset http_proxy(去除环境变量),输入env可以查看环境变量
 

2、配置步骤
①.禁用selinux,重启生效

(#SELINUX=enforcing,
#SELINUXTYPE=targeted)


yum在线装

[root@localhost ~]#vi /etc/selinux/config
SELINUX=disabled
[root@localhost ~]#reboot


②.关闭防火墙

systemctl stop firewalld


③.yum更新

yum update -y


④.安装依赖:

yum install -y wget bzip2 texlive net-tools alien gnutls-utils


⑤.添加仓库

wget -q -O - http://www.atomicorp.com/installer/atomic | sh


⑥.安装openvas

yum install openvas -y

第三款:Clair

概述

  Clair 是基于 API 的漏洞扫描程序,可对开源容器层的任何已知安全漏洞进行检测,更加便于创建持续监控容器并查找安全漏洞的服务。Clair 能定期从各个来源收集漏洞元数据,对容器镜像索引,并提供用于检索镜像发现的特征的 API。漏洞元数据一旦更新,用户就会收到提醒,这样就能从之前扫描的镜像中及时发现新的漏洞。另外,Clair 还提供了可用于查询特定容器镜像漏洞的 API。

安装

1、在 OpenShift 安装 Clair 环境

  1. 创建项目
  2. 创建 clairv4-postgres.yaml 文件,内容如下:
  3. 执行命令,根据 clairv4-postgres.yaml 创建对象
  4. 创建 config.yaml 文件,内容如下:
  5. 执行命令,根据 config.yaml 文件创建 secret
  6. 创建 clair-combo.yaml 文件,内容如下:
  7. 执行命令,根据 clair-combo.yaml 文件创建对象
  8. 查看部署的资源

步骤详细命令如下:

1.

$ oc new-project quay-enterprise

2.

---
apiVersion: apps/v1
kind: Deployment
metadata:name: clairv4-postgresnamespace: quay-enterpriselabels:quay-component: clairv4-postgres
spec:replicas: 1selector:matchLabels:quay-component: clairv4-postgrestemplate:metadata:labels:quay-component: clairv4-postgresspec:volumes:- name: postgres-datapersistentVolumeClaim:claimName: clairv4-postgrescontainers:- name: postgresimage: postgres:11.5imagePullPolicy: "IfNotPresent"resources:limits:cpu: '2'memory: 6Girequests:cpu: '1'memory: 4Giports:- containerPort: 5432env:- name: POSTGRES_USERvalue: "postgres"- name: POSTGRES_DBvalue: "clair"- name: POSTGRES_PASSWORDvalue: "postgres"- name: PGDATAvalue: "/etc/postgres/data"volumeMounts:- name: postgres-datamountPath: "/etc/postgres"
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:name: clairv4-postgreslabels:quay-component: clairv4-postgres
spec:accessModes:- "ReadWriteOnce"resources:requests:storage: "10Gi"volumeName: "clairv4-postgres"

3.

$ oc create -f clairv4-postgres.yaml
$ oc expose deployment/clairv4-postgres

4.

introspection_addr: :8089
http_listen_addr: :8080
log_level: debug
indexer:connstring: host=clairv4-postgres port=5432 dbname=clair user=postgres password=postgres sslmode=disablescanlock_retry: 10layer_scan_concurrency: 5migrations: true
matcher:connstring: host=clairv4-postgres port=5432 dbname=clair user=postgres password=postgres sslmode=disablemax_conn_pool: 100run: ""migrations: trueindexer_addr: clair-indexer
notifier:connstring: host=clairv4-postgres port=5432 dbname=clair user=postgres password=postgres sslmode=disabledelivery: 1mpoll_interval: 5mmigrations: true

5.

$ oc create secret generic clairv4-config-secret --from-file=./config.yaml

6.

---
apiVersion: apps/v1
kind: Deployment
metadata:labels:quay-component: clair-comboname: clair-combo
spec:replicas: 1selector:matchLabels:quay-component: clair-combotemplate:metadata:labels:quay-component: clair-combospec:containers:- image: quay.io/projectquay/clair:4.1.0imagePullPolicy: IfNotPresentname: clair-comboenv:- name: CLAIR_CONFvalue: /clair/config.yaml- name: CLAIR_MODEvalue: comboports:- containerPort: 8080name: clair-httpprotocol: TCP- containerPort: 8089name: clair-introprotocol: TCPvolumeMounts:- mountPath: /clair/name: configimagePullSecrets:- name: redhat-pull-secretrestartPolicy: Alwaysvolumes:- name: configsecret:secretName: clairv4-config-secret
---
apiVersion: v1
kind: Service
metadata:name: clairv4labels:quay-component: clair-combo
spec:ports:- name: clair-httpport: 80protocol: TCPtargetPort: 8080- name: clair-introspectionport: 8089protocol: TCPtargetPort: 8089selector:quay-component: clair-combotype: ClusterIP

7.

$ oc apply -f clair-combo.yaml 
$ oc expose svc/clairv4

8.

$ oc get all
NAME                                   READY   STATUS    RESTARTS   AGE
pod/clair-combo-6754dcfd75-wwbt9       1/1     Running   0          34s
pod/clairv4-postgres-b9f679dc6-fhmcs   1/1     Running   0          2m51sNAME                       TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)           AGE
service/clairv4            ClusterIP   10.217.4.159   <none>        80/TCP,8089/TCP   34s
service/clairv4-postgres   ClusterIP   10.217.5.64    <none>        5432/TCP          119sNAME                               READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/clair-combo        1/1     1            1           34s
deployment.apps/clairv4-postgres   1/1     1            1           2m51sNAME                                         DESIRED   CURRENT   READY   AGE
replicaset.apps/clair-combo-6754dcfd75       1         1         1       34s
replicaset.apps/clairv4-postgres-b9f679dc6   1         1         1       2m51sNAME                               HOST/PORT                                                                 PATH   SERVICES   PORT         TERMINATION   WILDCARD
route.route.openshift.io/clairv4   clairv4-quay-enterprise.crc-dzk9v-master-0.crc.fa7bdknrdb3y.instruqt.io          clairv4    clair-http                 None

安装 Clair 客户端

从 https://github.com/quay/clair/releases 下载 Clair 客户端。

$ curl -L https://github.com/quay/clair/releases/download/v4.3.5/clairctl-linux-amd64 -o ~/clairctl
$ chmod +x clairctl
$ PATH=$PATH:~/

第四款:Anchore

概述

  Anchore 是一款开源 Docker 容器策略合规与静态分析的工具。激活之后,Anchore 会自动执行容器内容的镜像扫描、分析及评估。最终结果会针对每个镜像进行策略评估,并判定是否符合业务要求。Anchore 主要是通过分析容器镜像的内容,发现隐藏的漏洞。同时,它也会扫描已知漏洞并确保镜像遵循了最佳安全标准与最佳行业实践。最重要的是,Anchore 集成了容器注册表和 CI/CD 工具。

安装

https://github.com/anchore/anchore.git

锚的架构

过去,设置 Anchore 需要专门安装 Anchore Engine,该引擎独立于您的映像构建环境运行。单独的 CLI 可让您与引擎交互。

此模型需要使用一系列 CLI 命令来向 Anchore 注册图像、开始扫描并访问结果。这些步骤通过从注册表中提取图像、生成报告并使其可供使用来推进锚定。

Anchore 现在也提供内联扫描。这些为您提供了一个命令来扫描图像并在终端中获取结果。我们将在本文中重点介绍此功能。

运行内联脚本

内联扫描由托管在 Anchore 服务器上的 Bash 脚本提供。将脚本下载到您的机器上并使其可执行:

curl -s https://ci-tools.anchore.io/inline_scan-latest -o anchore.shchmod +x anchore.sh

现在您可以使用内联脚本开始扫描容器映像:

./anchore.sh -r alpine:latest

第一次扫描可能需要一段时间。该脚本将拉取 Anchore Engine Docker 镜像,启动一个新的 Anchore 实例,并配置 PostgreSQL 和一个 Docker 注册表实例。然后它会等待锚定引擎启动。

 一旦引擎运行,目标 Docker 镜像将被拉取和分析。然后,您将看到终端中显示的安全报告。该脚本将通过清理环境并停止 Anchore Engine Docker 容器来完成。

第五款:Sqlmap

概述

  Sqlmap 属于渗透测试工具,但具有自动检测和评估漏洞的功能。该工具不只是简单地发现安全漏洞及利用漏洞的情况,它还针对发现结果创建了详细的报告。Sqlmap 利用 Python 进行开发,支持任何安装了 Python 解释器的操作系统。它能自动识别密码哈希,并使用六种不同方法来利用 SQL 注入漏洞。此外,Sqlmap 的数据库非常全面,支持 oracle、PostgreSQL、MySQL、SqlServer 和 access。

安装

1、环境要求

 Python2.7(python3不支持)

2、安装步骤

在sqlmap官网http://sqlmap.org/下载最新版本的sqlmap安装包。当前展示版本为1.3.2-25,如下图所示:

将下载下来的安装包sqlmapproject-sqlmap-1.3.2-25-gaf890d6.zip解压到自己想存放的目录并重命名,这里以D盘为例,并将解压后的文件重命名为sqlmap。解压后的目录结构如下图所示:

验证sqlmap是否安装完成,可进行如下操作进行验证:

1.打开cmd窗口,进入到python的安装目录(这里如果配置了python环境变量,则不需要进入到此目录):

2.执行如下命令:

python D:\sqlmap\sqlmap.py --version

3.若显示sqlmap版本号,则安装成功。如下图所示:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/1383296.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

这些很好用的扫描文件免费软件,你确定你不点进来看看吗

随着数字化时代的到来&#xff0c;扫描文件已经成为人们日常办公中不可或缺的一部分。无论是在公司内部进行文件共享和协作&#xff0c;还是在与客户和合作伙伴进行沟通和合作&#xff0c;扫描文件都扮演着至关重要的角色。那有什么扫描方法可以扫描文件呢&#xff1f;可以扫描…

cuda+anaconda+pytorch按照教程

首先安装显卡对应的CUDA版本&#xff0c;关键点在于区别显卡支持的CUDA最高版本和运行版本 1、查看当前显卡支持的最高版本&#xff0c;有两种方式&#xff1a; 1&#xff09;NVIDIA控制面板—>帮助—>系统信息—>组件—>NVCUDA.dll对应版本 请注意&#xff0c;12…

1985-2016年全球自杀数据分析(Kaggle)

1、分析背景 伴随人们的生活压力日益增大&#xff0c;引发了许多心理疾病。由于没有及时的沟通与制止&#xff0c;导致很多自杀的悲剧&#xff0c;例如去年韩国艺人崔雪莉、具荷拉离世。本次数据分析是利用Kaggle平台上一份1985-2016年部分国家的自杀概述数据集&#xff0c;了…

英国第一位重要的浪漫主义诗人

【诗歌是上帝的语言&#xff0c;人工智能中的自然语言处理研究就是在寻找上帝的声音】 威廉布莱克&#xff08;William Blake&#xff0c;1757~1827&#xff09;是十八世纪诗人&#xff0c;英国第一位重要的浪漫主义诗人、版画家。时至今日&#xff0c;诸多评论家将布莱克列为英…

“死于25岁葬于75岁”:你的人生也会是这样的吗?

“死于25岁&#xff0c;葬于75岁。” 这是美国著名科学家富兰克林的一句名言。这里所谓的“死”&#xff0c;是指激情的褪去、梦想的幻灭、精神的死去。 就像本文视频中的主人公一样——在楼上浇花时&#xff0c;不小心踩到香蕉皮从楼上掉下来&#xff0c;在这生死关键时刻&…

与ChatGPT 技术对话 42 天后,30多岁男子过于焦虑自杀身亡...

点击“开发者技术前线”&#xff0c;选择“星标” 让一部分开发者看到未来 来自&#xff1a;极目新闻 最近ChatGPT的飞速发展引起了世界范围的广泛关注&#xff0c;有人兴奋&#xff0c;也有人担忧。 据比利时媒体LAvenir3月28日报道&#xff0c;一名热衷于环境问题的比利时男子…

LinearAlgebraMIT_9_LinearIndependence/SpanningASpace/Basis/Dimension

这节课我们主要学习一下(Linear Independence)线性无关&#xff0c;(spanning a space)生成空间&#xff0c;(basis)基和(dimension)维度。同时我们要注意这四个很重要的基本概念的描述对象&#xff0c;我们会说向量组线性无关&#xff0c;由一个向量组生成的空间&#xff0c;子…

谈谈Java开发语言

目录 1.概念 2.特点 3.应用领域 4.就业情况 1.概念 Java是一种面向对象的编程语言&#xff0c;它由James Gosling和他的团队在1995年于Sun Microsystems&#xff08;现在是Oracle Corporation&#xff09;开发出来。Java的设计目标是让开发者能够编写一次代码&#xff0c;在…

安装使用IDEA,修改样式,配置服务,构建Maven项目(超级详细版)

目录 前言&#xff1a; 一&#xff0c;安装 1.1打开官网JetBrains: Essential tools for software developers and teams点击 Developer Tools&#xff0c;再点击 Intellij IDEA 2.点击下载​编辑 3.选择对应的版本&#xff0c;左边的 Ultimate 版本为旗舰版&#xff0c;需要…

【简单实用】PPT转成exe可执行文件,没有PPT照样得心应手

几乎每一个经常使用Powerpoint软件的人都曾经有过这样的想法&#xff1a;能不能把所有需要的文件&#xff08;PPT播放程序、PPT文件、声音视频等外部文件&#xff09;都封装到一个EXE文件中呢&#xff1f;这样&#xff0c;不但方便&#xff08;全部只有一个文件&#xff09;还可…

【Matlab】PSO优化(单隐层)BP神经网络算法

上一篇博客介绍了BP-GA&#xff1a;BP神经网络遗传算法(BP-GA)函数极值寻优——非线性函数求极值&#xff0c;本篇博客将介绍用PSO&#xff08;粒子群优化算法&#xff09;优化BP神经网络。 1.优化思路 BP神经网络的隐藏节点通常由重复的前向传递和反向传播的方式来决定&#…

无情被裁的后续来了

关注、星标公众号&#xff0c;直达精彩内容 来源&#xff1a;技术让梦想更伟大作者&#xff1a;不生气 大家好&#xff0c;给大家分享一个案例&#xff0c;收集好证据&#xff0c;劳动仲裁吧 &#xff0c;裁员时候老板打感情牌&#xff0c;员工呢坚持付出就得回报按照程序来。…

java教程配置通达信,通达信公式转换JAVA,通达信20个经典公式

内容导航&#xff1a; Q1&#xff1a;用Excel公式实现文本转Java输出文本的问题 public class Excel { private jxl.Workbook rwb null; /** * 得到当前工作薄的总列数 * * parma sheetIndex 工作薄号 * return int */ public int getColCount(int sheetIndex) { int colCnt …

通达信接口官网-TcApi的工作机制

通达信接口官网-TcApi的工作机制&#xff0c;小编总结了以下几点&#xff1a; 1、初始化&#xff0c;创建通达信实例&#xff1b; 2、和驻留进程的通讯。 以上就是关于通达信接口官网-TcApi的工作机制的介绍。 下面&#xff0c;给大家分享一下&#xff0c;关于通达信接口官…

腾讯云服务器轻量和CVM有什么区别?

腾讯云轻量服务器和云服务器有什么区别&#xff1f;为什么轻量应用服务器价格便宜&#xff1f;是因为轻量服务器CPU内存性能比云服务器CVM性能差吗&#xff1f;轻量应用服务器适合中小企业或个人开发者搭建企业官网、博客论坛、微信小程序或开发测试环境&#xff0c;云服务器CV…

Cmder:从此告别记事本记命令的日子

前言 平时开发中遇到这样那样的命令需要记下来&#xff0c;一般做法是这样。 新建记事本将需要记下的关键命令保存。每次需要使用时&#xff0c;粘贴复制即可。 好像没什么毛病&#xff01;直到遇到了 Cmder。。。 当看到同事分析问题时在 Cmder 里命令快捷键刷刷一顿操作&…

Lombok的使用及注解含义

文章目录 一、简介二、如何使用2.1、在IDEA中安装Lombok插件2.2、添加maven依赖 三、常用注解3.1、Getter / Setter3.2、ToString3.3、NoArgsConstructor / AllArgsConstructor3.4、EqualsAndHashCode3.5、Data3.6、Value3.7、Accessors3.7.1、Accessors(chain true)3.7.2、Ac…

PHP证券交易员学习网站mysql数据库web结构apache计算机软件工程网页wamp

一、源码特点 PHP证券交易员学习网站 是一套完善的web设计系统&#xff0c;对理解php编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。 下载地址https://download.csdn.net/download/qq_41221322/88205549 PHP证券交易员…

Similarities:精准相似度计算与语义匹配搜索工具包,多维度实现多种算法,覆盖文本、图像等领域,支持文搜、图搜文、图搜图匹配搜索

Similarities&#xff1a;精准相似度计算与语义匹配搜索工具包&#xff0c;多维度实现多种算法&#xff0c;覆盖文本、图像等领域&#xff0c;支持文搜、图搜文、图搜图匹配搜索 Similarities 相似度计算、语义匹配搜索工具包&#xff0c;实现了多种相似度计算、匹配搜索算法&…

JAVA面向对象基础 对象 类 方法学习笔记

面向对象基础 类 构造 对象 使用对象 对象.方法&#xff08;&#xff09; 类&#xff1a;[访问控制符] class 类名{ } 属性&#xff1a;[访问控制符] 数据类型 变量名; 方法&#xff1a;[访问控制符] void|返回值类型 方法名; 类名 对象new 类名(); 练习景区门…