【网络安全】防火墙知识点全面图解(二)
本系列文章包含:
- 【网络安全】防火墙知识点全面图解(一)
- 【网络安全】防火墙知识点全面图解(二)
防火墙知识点全面图解(二)
- 21、路由器的访问控制列表是什么样的?
- 22、防火墙的安全策略是什么样的?
- 23、什么是内容安全策略?
- 24、什么是 NAT ?
- 25、什么是 VPN ?
- 26、VPN 有哪几种网络拓扑?
- 27、IPsec VPN 有哪些专用名词?
- 28、点对点 VPN 的处理过程是什么样的?
- 29、远程站点之间的通信过程是什么样的?
- 30、什么是基于策略的 VPN ?
- 31、什么是基于路由的 VPN ?
- 32、什么是阶段 1 ?
- 33、什么是阶段 2 ?
- 34、什么是 SSL-VPN ?
- 35、什么是反向代理?
- 36、什么是端口转发?
- 37、什么是隧道?
- 38、什么是主机检查?
21、路由器的访问控制列表是什么样的?
通常一个规则是由多条 访问控制列表 组成,一条访问控制列表也叫做一个 表项。一个表项由对象(object
)、行为(action
)、选型(option
)这 3 3 3 个元素组成。
举个栗子:思科 标准访问控制列表,表项只允许源 IP 地址作为对象,而行为是在允许(permit
)和拒绝(deny
)之间二选一。当满足条件时,也就是触发对象时,选项可以指定 “记录日志” 或 “表项有效时间” 等操作。如果使用了有效时间选项,就可以设置一个只有公司上班时间为对象的表项。
扩展访问控制列表,对象就不仅仅是 IP 地址,还可以是 IP 协议号、源 IP 地址、目的 IP 地址、ToS 数据域、ICMP 类型、ICMP 消息、源 TCP/UDP 端口号、目的 TCP/UDP 端口号、TCP 会话是否已经建立等。
举个栗子:允许 IP 地址是 10.1.1.2
的客户端向 IP 地址是 172.16.1.1
的服务器进行 Telnet 连接,Telnet 的 TCP 端口是 23
,访问控制列表如下:
access-list 101 permit tcp host 10.1.1.2 host 172.16.1.1 eq telnet
22、防火墙的安全策略是什么样的?
对比路由器的访问控制列表,防火墙的安全策略最大的不同点是对象,防火墙以 区域 作为对象,还可以以应用程序名称和用户名称等信息作为对象。
序号 | 源区域 | 目的区域 | 源地址 | 目的地址 | 目的端口 | 行为 |
---|---|---|---|---|---|---|
1 | Trust | Untrust | 192.168.1.0/24 | Any | Any | Allow |
2 | Trust | Untrust | 192.168.2.0/24 | Any | 80 | Deny |
3 | Untrust | DMZ | Any | 10.1.1.1 | 80 | Allow |
举个栗子:在上表的安全策略中,192.168.2.1
从信任区域向不信任区域的 80
端口通信时,防火墙首先执行第 1 1 1 条安全策略,发现源地址不匹配,不执行 Allow
。接着执行第 2 2 2 条安全策略,发现地址和端口匹配,执行 Deny
,也就是拒绝通信。防火墙的安全策略从上往下依次执行的行为,也叫做安全策略查找(policy lookup
)。
Any
表示任何值都与策略匹配。如果是安全策略中,出现未定义的通信,比如从信任区到 DMZ
区域的通信,防火墙默认执行拒绝,这个策略叫做 “默认拒绝”(implicit deny
)。
如果需要在防火墙没有匹配的情况下,执行 Allow
,可以在安全策略的最后一行设置对象为 Any
,行为为 Allow
的策略。
序号 | 源区域 | 目的区域 | 源地址 | 目的地址 | 目的端口 | 行为 |
---|---|---|---|---|---|---|
1 | Trust | Untrust | 192.168.1.0/24 | Any | Any | Allow |
2 | Trust | Untrust | 192.168.2.0/24 | Any | 80 | Deny |
3 | Untrust | DMZ | Any | 10.1.1.1 | 80 | Allow |
4 | Any | Any | Any | Any | Any | Allow |
当然,防火墙的安全策略是会有上限,上限由产品规格决定。而且当表项越多时,设备性能也会随之下降。
23、什么是内容安全策略?
防火墙不仅能够基于区域、IP 地址、端口号、应用程序等设置安全策略,还可以使用 内容安全策略 进行通信控制。内容安全策略包括 反病毒、IPS(入侵防御系统)、URL 过滤、DLP(数据泄露防护)等基于内容的安全机制,能够拦截非法通信和避免不必要的通信流量。还可以对这些通信不进行拦截,而是记录到告警日志中后放行。
安全设备的默认设置是拦截严重程度高的攻击,严重程度低的攻击只记录到告警日志中。当然,严重程度的高低可以自定义,也可以修改设置为拦截严重程度低的攻击。
反病毒和 IPS 可能会出现误判,误判分为 假阳性错误 和 假阴性错误 两种。
- 假阳性错误 是没有攻击行为或病毒入侵,但是被判定为攻击行为或病毒入侵,并记录到日志中,或把通信拦截。这类错误,用户容易察觉。
- 假阴性错误 是存在攻击行为,却判定没有攻击行为,而允许通信,也没有记录到日志中,无法察觉到严重后果。只有 PC 上安装反病毒软件或防火墙软件,才能找到没有被识别的攻击行为。这种错误一般是由于数字签名本身不存在,或误认为数字签名存在而导致的检测失败。
24、什么是 NAT ?
私有 IP 地址只能在内部网络通信,如果要访问外部网络(互联网),可以通过路由器或防火墙把私有 IP 地址转换为公网 IP 地址,这个过程叫做 NAT(Network Address Translator
)。
NAT 以前是路由器的功能,后来位于网络边界的防火墙也常常使用这个功能。路由器和防火墙等运行 NAT 功能后,也叫做 网关(gateway
)。
一、静态 NAT
静态 NAT(Static NAT
)是指 NAT 转换前的地址和 NAT 转换后的地址是一对一的对应关系,通常是一个私网地址对应一个公网地址,手动将对应信息配置到网关中。
二、动态 NAT
动态 NAT(Dynamic NAT
)是在网关配置一个 IP 地址池(IP address pool
),地址池里面包含多个 IP 地址。在 NAT 建立会话时,在地址池内的 IP 地址按顺序分配一个转换后的 IP 地址。由于地址范围能够手动进行设置和更改,因此这种方式应用的比较多。
虽然和静态 NAT 有点类似,私有地址和公网地址是一对一的映射关系,但不是指定的 NAT 转换后地址,而是动态分配的、在 IP 地址池中排序靠前的有效地址。
三、源 NAT
源 NAT(Source NAT
)是对发送方的源 IP 地址进行 NAT 转换。在公司内部网络的客户端,要访问互联网的服务器,客户端的私有地址作为发送源,把数据发送到网关时,必须将私有 IP 地址转换成公网 IP 地址才行。
要和互联网上的服务器进行通信,必须使用公网 IP 地址,但是 IPv4 地址有限,无法为每台客户端都分配一个公网地址。大部分情况下,源 NAT 能够通过动态 NAT 方式节约公网地址资源。在网关上设置地址池,或在网关的接口使用 NAPT ,可以实现私有网络访问互联网的功能。
外部网络只能看到公网地址信息,源 NAT 能够隐藏客户端实际使用的 IP 地址,从而降低受到外部网络攻击的风险。
四、目的 NAT
目的 NAT(Destination NAT
)是接收到的目的 IP 地址进行 NAT 转换。
互联网的客户端,想要通过网关访问内部网络的服务器时,由于公司内部服务器使用内网地址,无法直接从互联网访问到,需要进行目的 NAT 。网关作为内部服务器的代理,把服务器的内网地址映射到公网地址,收到外网客户端访问公网地址时,网关将报文的目的地址转换为内部服务器的私有地址,完成路由和访问。公司内的服务器通常放置在 DMZ 区域中,能够对外部网络屏蔽内部服务器的地址,从而避免内部网络受到攻击。
五、NAPT
当有大量的内网客户端要跟外网通信,而公网地址只有一个或者少量时,网关无法完成私有地址和公网地址的一对一的分配。
这时,网关需要结合 TCP 或 UDP 端口号,完成多个私有地址映射成一个公网地址的转换,这种转换方式叫做 NAPT(Network Address Port Translation
,网络地址端口转换)。
25、什么是 VPN ?
VPN,全称是 Virtual Private Network
,也就是 虚拟私有网络。VPN 是使用电信运营商提供的公共网络,搭建内部网络的技术。
内部网络的财务、人事等数据,对外而言是属于机密信息,必须在内部封闭的传输数据。如果只有一个办公场所,可以通过 LAN 搭建内网。但如果北京和上海都有分支机构时,就需要在不同的办公场所之间搭建内网。电信运营商有 专线服务,可以完成不同地域的内网搭建。专线是单独使用的线路,不用担心数据被窃听,通信质量也能得到保证,但是专线费用昂贵。
还有 ADSL 这种互联网接入服务,虽然属于共享类型网络,但是价格低廉,搭建内网有成本优势。路由器、防火墙、VPN 设备都支持 IPsec-VPN 功能,在各个分支机构内,使用这些设备建立 IPsec 隧道,完成 VPN 的搭建。
26、VPN 有哪几种网络拓扑?
常见的 VPN 网络拓扑有 点对点 VPN、中心型 VPN、远程接入 VPN。
一、点对点 VPN
点对点 VPN(site-to-site VPN
)是通过 IPsec 隧道连接两个网络的拓扑结构。网络的网关,通常是路由器或防火墙等网络设备,在两个网络间,使用点对点的拓扑结构,建立 IPsec 隧道。
这里的网络,是指不在同一个局域网的网络,比如:成都机构或广州总部的任意一个站点。因为是站点(site
)之间的连接,所以叫做点对点 VPN 。
二、中心型 VPN
中心型 VPN(hub and spoke VPN
)是星型拓扑结构,也就是一个中心站点的设备,连接多个远程站点的设备,形成的网络结构。中心站点(center site
)位于总部的网络,也就是数据中心,成为整个结构的核心站点。一般是电信供应商提供的 VPN 业务,以电信供应商的基础设施为中心站点,通过 VPN 连接其它站点。
三、远程接入 VPN
在家里,或出差在外时,通过互联网使用 PC 上的软件,与公司的 VPN 设备建立 IPsec 隧道,能够访问公司内部网络的拓扑结构,叫做 远程接入 VPN。
远程接入的 IPsec-VPN
需要在 PC 上安装 VPN 客户端软件,而 SSL-VPN
是通过 Web 浏览器,使用 SSL 连接到公司的 VPN ,通过 SSL(HTTPS
)和公司的内部网络进行连接。
27、IPsec VPN 有哪些专用名词?
-
SA(
Security Association
):IPsec 通信时建立的逻辑连接。 -
ESP(
Encapsulating Security Payloads
):原始报文使用DES
/3DES
/AES
中的任意一种算法进行加密,通过 HMAC 确定数据是否被篡改,使用的 IP 协议号是 50 50 50。 -
AH(
Authentication Header
):根据 HMAC 信息确定报文是否被篡改的认证协议。不对报文做加密处理,使用的 IP 协议号是 51 51 51。 -
IKE(
Internet Key Exchange
):IPsec 协议用来交换key
信息的协议,也叫做ISAKMP
/Oakley
。在ISAKMP
协议上实现Oakley
的key
交换过程。使用的是 UDP 端口号 500 500 500。分为阶段一和阶段二进行处理。 -
HMAC(
Keyed-Hashing for Message Authentication code
):用来验证信息是否被篡改的一种 MAC(Message Authentication code
),也就是消息认证码,通过散列函数与密钥信息的组合计算得出,其中散列函数使用的算法一般是MD5
或SHA-1
。 -
SPI(
Security Pointer Index
):表示 SA 的编号, 32 32 32 比特。在对报文加密时,用这个值表示使用了什么加密算法和密钥信息。 -
NAT traversal:通过 ESP 加密的报文,由于没有 TCP / UDP 头部,因此无法使用 NAPT。可以使用
NAT traversal
技术,给 ESP 加密后的报文添加 UDP 头部,从而在 NAPT 环境下进行 IPsec 通信。一般使用 500 500 500 或 4500 4500 4500 的端口号。 -
IPsec-VPN 连接:在建立 IPsec 隧道时,发起协商的叫做发起方(
initiator
),另一方叫做应答方(responder
)。发送方是最先发出通过 IPsec 隧道报文的设备。 -
更新 key(
rekey
) :IPsec 隧道建立后,每过一段时间,或经过一定量的数据,就会进行rekey
操作。VPN 设备有修改rekey
时间的功能。
28、点对点 VPN 的处理过程是什么样的?
举个栗子:网络 A 与网络 B 通过 IPsec 隧道连接时,网络 A 的 PC1 想和网络 B 的 PC2 进行通信。
PC1 发送请求,到达网络 A 的网关,也就是 VPN 设备 A ,这时的报文还未加密,是明文状态。VPN 设备 A 对报文进行加密,并添加 ESP 头部和在隧道中使用的 IP 头部(叫做外层 IP 地址),再通过 IPsec 隧道发送出去。
网络 B 的 VPN 设备 B 通过 IPsec 隧道收到加密的报文,会检查 ESP 头部和 AH 头部。如果 ESP 序列号不正确,VPN 设备 B 就会认为是重放攻击,并输出错误信息,SPI 值不正确,会输出 “Bad SPI
” 的错误通知信息。
如果加密报文正常,就进行解密操作,去除外部 IP 、ESP 、AH 等头部,并对原来 IP 头部的目的地址进行路由,从而到达 PC2 。
PC2 向 PC1 回复消息时,由 VPN 设备 B 进行加密处理,由 VPN 设备 A 进行解密处理。
中心型 VPN 的远程站点客户端和中央站点服务器的 VPN 通信也是这种处理流程。
29、远程站点之间的通信过程是什么样的?
举个栗子:远程站点 A 、远程站点 B 和中央站点 VPN 设备 C 。A 的 PC1 和 B 的 PC2 进行通信。
报文通过 VPN 设备 A 和 VPN 设备 C 的 IPsec 隧道,再经过 VPN 设备 C 和 VPN 设备 B 的 IPsec 隧道,最终到达 PC2 。
如果中央站点是路由器或 VPN 设备,一般只会解密、加密和路由选择处理。如果中央站点是防火墙,就会在报文解密后进行检查,只对安全的报文进行加密,然后再向远程站点发送。
30、什么是基于策略的 VPN ?
路由器和 VPN 设备通常使用基于策略的 VPN 。基于策略的 VPN 是指根据策略(访问控制列表)控制经过 IPsec 隧道的流量,这样即使路径发生变化,也不会对 IPsec 通信造成影响。
基于策略的 VPN 需要设置 IPsec 策略和 proxyID 信息。proxyID 指定 IPsec 隧道传输报文的本地网络和远程网络。
举个栗子:站点 A 和站点 B 使用点对点 VPN 组成网络,其中站点 A 网络是 192.168.1.0/24
和 192.168.2.0/24
,站点 B 网络是 192.168.3.0/24
和 192.168.4.0/24
。如果只有 192.168.1.0/24
和 192.168.3.0/24
进行加密通信,那么在站点 A 的 VPN 设备设置本地 proxyID 为 192.168.1.0/24
,远程 proxyID 为 192.168.3.0/24
。在站点 B 的 VPN 设备设置本地 proxyID 为 192.168.3.0/24
,远程 proxyID 为 192.168.1.0/24
。
31、什么是基于路由的 VPN ?
基于路由的 VPN 通常是防火墙产品使用的 VPN 类型。防火墙会对 IPsec 报文进行精确的控制。
在基于路由的 VPN 中,IPsec 隧道是使用的虚拟接口,又叫做隧道接口(tunnel interface
),流量通过这个接口进入 IPsec 隧道。如果有流量需要在 IPsec 隧道内传输,可以设置路由选择,转发到隧道接口就行。
基于策略的 VPN 使用策略来控制 IPsec 通信的流量,而基于路由的 VPN 通过隧道接口的路由信息来控制 IPsec 通信的流量。所以在进行 IPsec 通信时,可以和处理普通报文一样,通过策略定义报文过滤和防火墙处理等。
32、什么是阶段 1 ?
在 IPsec 通信中,为了建立加密隧道的 SA ,需要在设备之间使用 IKE 协议完成密钥的交换。
为了提高安全性,IKE 协议分为阶段 1 和阶段 2 两个部分。IKE 阶段 1 是完成鉴别和保护 SA 通信的双方,同时生成阶段 2 需要的公有密钥,建立 IKE SA 等工作。
参数 | 值 | 说明 |
---|---|---|
模式 | main 模式或 aggressive 模式 | 在 main 模式中,使用 IP 地址标识设备。隧道终端的两个 VPN 设备如果是固定分配的 IP 地址,就可以使用 main 模式,如果一个终端是使用 PPPoE 或 DHCP 自动获取 IP 地址,就需要使用 aggressive 模式 |
认证方式 | 数字证书或预共享密钥 | 使用公共机构发行的安全证书安全性较高,但申请流程麻烦。预共享密钥就是在隧道两端的设备使用相同口令登录的方法,引入非常简单。使用数字证书时,需要指定密钥的类型(RSA 或 DSA )和长度(bit 数)。一般密钥长度在 512 512 512 / 768 768 768 / 1024 1024 1024 / 2048 2048 2048 bit 中任选,而 bit 数越大安全性就越强 |
Diffie-Hellman group | group1 、group2 、group5 | 简称 DH,group 数字越大表示在 Oakley 密钥交换时使用的公有密钥强度越强。group1 的长度是 768 768 768 bit ,group2 的长度是 1024 1024 1024 bit ,group5 的长度是 1536 1536 1536 bit |
加密算法 | DES 、3DES 、AES | 可以选择密钥长度是 56 56 56 bit 的 DES 、密钥长度是 168 168 168 bit 的 3DES 或密钥长度是 128 128 128 / 192 192 192 / 256 256 256 bit 的 AES ,其中 AES 的使用比较普遍。密钥长度越长强度越高,处理也就越耗费时间 |
认证算法 | MD5 、SHA-1 | MD5 使用 128 128 128 bit 、SHA-1 使用 160 160 160 bit 的散列值进行数摆的认证。像 SHA-1 这种使用的散列值超长,不同数据之间因散列计算结果相同而造成散列 “冲突” 的可能性就越低 |
IKE ID | IP 地址或 FQDN | 用于识别作为执行 IKE 对象的设备的标识符。大多使用 IP 地址,也有使用 FQDN 等作为标识符的 |
33、什么是阶段 2 ?
IKE 阶段 2 负责生成 IPsec 通信使用的密钥,并建立 IPsec SA 。
参数 | 值 | 说明 |
---|---|---|
IPsec 协议 | AH 、ESP | AH 只能用来认证,ESP 就能够进行认证和加密处理 |
模式 | 隧道模式、透明模式 | 通过 IPsec 构建 VPN 时使用随道模式,在终端之间建立 IPsec 隧道时则使用透明模式 |
ESP 选项 | 指定 ESP 协议是仅用于加密处理还是同时用于加密和认证处理。这个参数一般都设置为后者 | |
加密算法和认证算法 | DES 、3DES 、AES | 可以选择密钥长度是 56 56 56 bit 的 DES 、密钥长度是 168 168 168 bit 的 3DES 或密钥长度是 128 128 128 / 192 192 192 / 256 256 256 bit 的 AES ,其中 AES 的使用比较普遍。密钥长度越长强度越高,处理也就越耗费时间 |
反重放选项 | ON 、OFF | 点选反重放选项后,IPsec 隧道将检查收到的加密报文的序列号信息,丢弃序列号不正确的报文,并通过记录日志告知管理员这个功能主要用来防止重放攻击,即获取加密报文的内容后,再次发送相同内容来“复改“原有报文顺序的攻击 |
PFS 选项 | ON 、OFF | 这个选项用于防止某密钥成为破解其它密钥的线素,点选 PFS 选项后,当 IPsec SA 密钥生成 / 更新时会再次执行 Diffie-Hellman 算法,同时与阶段 1 1 1 一样, 选择 Diffie-Hellman 的 group 类型。 |
34、什么是 SSL-VPN ?
SSL-VPN 是通过浏览器使用 HTTPS(HTTP over SSL
)进行 Web 访问的远程接入 VPN 。
如果要使用 IPsec-VPN ,需要在 PC 上安装专用的客户端软件。这个客户端软件不一定支持 Mac OS 、手机等操作系统。同时 IPsec-VPN 连接过程,可能会因为防火墙过滤了 IPsec-VPN 的协议号或 NAT traversal 的端口号,而导致连接失败。
SSL-VPN 就方便很多,只要设备带有浏览器,就能够通过反向代理的方式完成 VPN 的连接。而且防火墙几乎不会拦截,因为使用的是 HTTPS 的 443 443 443 端口,让 VPN 远程连接摆脱了操作系统和连接方式的限制。
远程接入 IPsec-VPN | SSL-VPN |
---|---|
需要专用的客户端软件 | 无需专用客户端软件,只需有 Web 浏览器即可 |
依赖操作系统或 NIC 驱动 | 不受操作系统和 NIC (Network lnterface Card )驱动的限制 |
在通过防火墙中需要设置多个安全策略(IKE 、ESP 用的端口等) | 使用防火墙运行通过的 HTTPS (TCP 443 443 443)端口 |
在 NAT 环境下需要 NAT traversal 过程 | 不受 NAT 环境限制 |
需要注意 MTU 大小 | 不受 MTU 大小限制 |
需要管理个人计算机 | 无需管理个人计算机 |
报文头部小于 SSL-VPN | 报文头部较大,数据吞吐量较低 |
网络层以上的协议都支持实现隧道传输 | 使用反向代理以及端口转发方式时只有 TCP 协议上特定的应用程序可以支持隧道传输,使用隧道方式时网络层以上的所有协议都支持隧道传输 |
IPsec-VPN 是在网络层实现的,能够完成传输层 TCP 和 UDP 的加密和隧道传输处理。而 SSL-VPN 是在会话层实现的,基于 TCP 的 443 443 443 端口运行。只有特定的几种 TCP 能够使用反向代理和端口转发方式,而 ICMP 和 UDP 等传输层通信,只能选择隧道方式。
35、什么是反向代理?
反向代理,又叫做 无客户端 SSL-VPN。SSL-VPN 的终端在 443 443 443 端口号上,通过 HTTPS 完成解密工作后,转换为 80 80 80 端口号的 HTTP 通信,与内部网络上的 Web 服务器进行交互。这种方式只有使用 80 80 80 端口号、通过浏览器访问 Web 的应用程序才能使用。
在内部客户端访问互联网时,进行中继的代理服务器,叫做 转发代理服务器。如果访问方向相反,也就是在互联网上的客户端访问内部网络服务器时,进行中继的代理服务器叫做 反向代理服务器(reverse proxy
)。
36、什么是端口转发?
端口转发,又叫做 瘦客户端 SSL-VPN。使用 ActiveX
或 Java applet
等浏览器插件来创建 PC 和服务器的 SSL 隧道。用户只要登录 Web 门户(SSL-VPN 网关),并完成认证,就能够下载相关插件。用户能够使用公司内网服务器上的特定应用程序,也能够使用端口固定且无需浏览器支持的 TCP 应用程序,比如 E-mail 。有些产品还能够支持端口号变动的应用和 UDP 应用程序等。
37、什么是隧道?
隧道方式 是使用 SSL-VPN 客户端软件的方式。和 IPsec-VPN 一样,支持网络层以上协议的隧道传输。
用户通过浏览器访问 SSL-VPN 设备,并完成认证,就可以下载应用程序,并安装在用户的 PC 上。接下来就是通过客户端软件建立 PC 和 SSL-VPN 设备的隧道。由于使用了客户端软件,还是会不可避免的受到操作系统的限制。
38、什么是主机检查?
支持主机检查(Host Checker
)功能的 SSL-VPN ,在客户端与 SSL-VPN 设备连接时,能够对连接的客户端主机进行检查,检查信息如下表。
检查项 | 检查内容 |
---|---|
是否安装了防毒软件 | 检查反病毒软件的签名版本信息 |
是否安装了个人防火墙 | 检查特定的进程是否启动(硬件加密软件以及日志收集软件等) |
OS 和 Service Pack 的种类、补丁兼容性 | 检查特定的注册信息 |
MAC 地址 | 检查是否存在特定文件 |
如果主机检查结果 OK
,就允许客户端的 SSL-VPN 连接,就能够从外部网络访问公司内网。如果结果是 NO
,就拒绝客户端的 SSL-VPN 连接,或只能进行软件升级等特定范围的访问操作。
相关文章:
【网络安全】防火墙知识点全面图解(二)
本系列文章包含: 【网络安全】防火墙知识点全面图解(一)【网络安全】防火墙知识点全面图解(二) 防火墙知识点全面图解(二) 21、路由器的访问控制列表是什么样的?22、防火墙的安全策…...
【计算机视觉 | 目标检测】arxiv 计算机视觉关于目标检测的学术速递(8 月 14 日论文合集)
文章目录 一、检测相关(7篇)1.1 Continual Face Forgery Detection via Historical Distribution Preserving1.2 Exploring Predicate Visual Context in Detecting of Human-Object Interactions1.3 Out-of-Distribution Detection for Monocular Depth Estimation1.4 Cyclic-…...
自学设计模式(类图、设计原则、单例模式 - 饿汉/懒汉)
设计模式需要用到面向对象的三大特性——封装、继承、多态(同名函数具有不同的状态) UML类图 eg.—— 描述类之间的关系(设计程序之间画类图) : public; #: protected; -: private; 下划线: static 属性名:类型(默认值…...
python爬虫10:selenium库
python爬虫10:selenium库 前言 python实现网络爬虫非常简单,只需要掌握一定的基础知识和一定的库使用技巧即可。本系列目标旨在梳理相关知识点,方便以后复习。 申明 本系列所涉及的代码仅用于个人研究与讨论,并不会对网站产…...
c++ java rgb与nv21互转
目录 jni函数 c++ rgb转nv21,可以转,不报错,但是转完只有黑白图 java yuv420保存图片,先转nv21,再保存ok: c++ yuv420月bgr互转,测试ok jni函数 JNIEXPORT void JNICALL Java_com_tencent_blazefacencnn_BlazeFaceNcnn_encode(JNIEnv *env,jobject thiz, jobject in…...
多视图聚类(multi-view clustering)简介
多视图聚类 目前大概有以下几种: 多视图k-means聚类多视图谱聚类多视图图聚类多视图子空间聚类 (multi-view subspace clustering)深度学习多视图聚类 (deep multi-view clustering) 其中多视图子空间聚类具有不错的数据表征能力。 对于多视图子空间聚类而言&…...
wazhu配置以及漏洞复现
目录 1.wazhu配置 进入官网下载 部署wazhu 修改网络适配器 重启 本地开启apache wazhu案例复现 前端页面 执行 1.wazhu配置 进入官网下载 Virtual Machine (OVA) - Installation alternatives (wazuh.com) 部署wazhu 修改网络适配器 重启 service network restart 本地…...
javaweb项目部署linux服务器遇到的问题
其他有关本次部署内容请参考本站其他文章 javaweb项目要用war包 IntelliJ IDEA 可以打包out里的子目录 D:\D盘文件\浏览器\webshop\out\artifacts\webshop_war_exploded>jar cvf webshop.war * 方法来源视频 18、web项目的打包与发布_哔哩哔哩_bilibili myeclipse项目…...
【数据结构OJ题】环形链表
原题链接:https://leetcode.cn/problems/linked-list-cycle/description/ 目录 1. 题目描述 2. 思路分析 3. 代码实现 1. 题目描述 2. 思路分析 整体思路:定义快慢指针fast,slow,如果链表确实有环,fast指针一定会…...
PySpark-核心编程
2. PySpark——RDD编程入门 文章目录 2. PySpark——RDD编程入门2.1 程序执行入口SparkContext对象2.2 RDD的创建2.2.1 并行化创建2.2.2 获取RDD分区数2.2.3 读取文件创建 2.3 RDD算子2.4 常用Transformation算子2.4.1 map算子2.4.2 flatMap算子2.4.3 reduceByKey算子2.4.4 Wor…...
vue 在IOS移动端中 windon.open 等跳转外部链接后,返回不触发vue生命周期、mounted等相关事件-解决方法
做了一个列表的h5页面,通过点击列表跳转到外部链接,然后返回是回到原来页面状态,类似缓存。发现在ios端返回后,vue 的mounted() 、create()、路由监听等方法都不会执行。在安卓和pc 端都能正常调用。 解决方案:监听pa…...
股票预测和使用LSTM(长期-短期-记忆)的预测
一、说明 准确预测股市走势长期以来一直是投资者和交易员难以实现的目标。虽然多年来出现了无数的策略和模型,但有一种方法最近因其能够捕获历史数据中的复杂模式和依赖关系而获得了显着的关注:长短期记忆(LSTM)。利用深度学习的力…...
Docker搭建个人网盘、私有仓库
1、使用mysql:5.6和 owncloud 镜像,构建一个个人网盘 [rootlocalhost ~]# docker pull mysql:5.6 [rootlocalhost ~]# docker pull owncloud [rootlocalhost ~]# docker run -itd --name mysql --env MYSQL_ROOT_PASSWORD123456 mysql:5.6 [rootlocalhost ~]# doc…...
3种获取OpenStreetMap数据的方法【OSM】
OpenStreetMap 是每个人都可以编辑的世界地图。 这意味着你可以纠正错误、添加新地点,甚至自己为地图做出贡献! 这是一个社区驱动的项目,拥有数百万注册用户。 这是一个社区驱动的项目,旨在在开放许可下向每个人提供所有地理数据。…...
数据处理与统计分析——MySQL与SQL
这里写目录标题 1、初识数据库1.1、什么是数据库1.2、数据库分类1.3、相关概念1.4、MySQL及其安装1.5、基本命令 2、基本命令2.1、操作数据库2.2、数据库的列类型2.3、数据库的字段属性2.4 创建和删除数据库表2.5、数据库存储引擎2.6、修改数据库 3、MySQL数据管理3.1、外键 My…...
OpenCV之特征点匹配
特征点选取 特征点探测方法有goodFeaturesToTrack(),cornerHarris()和SURF()。一般使用goodFeaturesToTrack()就能获得很好的特征点。goodFeaturesToTrack()定义: void goodFeaturesToTrack( InputArray image, OutputArray corners,int maxCorners, double qualit…...
浅谈开关柜绝缘状态检测与故障诊断
贾丽丽 安科瑞电气股份有限公司 上海嘉定 201801 摘要:电力开关柜作为电力系统的关键设备广泛应用于输电配电网络,其运行可靠性直接影响着电力系统供电质量及安全性能。开关柜绝缘状态检测与故障诊断是及时维修、更换和预防绝缘故障的重要技术手段。在阐述开关柜绝…...
Mybatis 动态 SQL
动态 SQL 1. if 标签2. trim 标签3. where 标签4. set 标签5. foreach 标签 1. if 标签 if 标签有很多应用场景, 例如: 在用户进行注册是有些是必填项有些是选填项, 这就会导致前端传入的参数不固定如果还是将参数写死就很难处理, 这时就可以使用 if 标签进行判断 <insert …...
Android studio之 build.gradle配置
在使用Android studio创建项目会出现两个build.gradle: 一. Project项目级别的build.gradle (1)、buildscript{}闭包里是gradle脚本执行所需依赖,分别是对应的maven库和插件。 闭包下包含: 1、repositories闭包 2、d…...
【ElasticSearch】一键安装IK分词器无需其他操作
要注意的时下面命令中的es是我容器的名称,要换成你对应的es容器名 docker exec -it es /bin/bash # 进入容器 ./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis- ik/releases/download/v7.12.1/elasticsearch-analysis-ik-7.1…...
在Ubuntu上启动一个简单的用户登录接口服务
一个简单的用户登录接口 我使用 Python 和 Flask 框架来创建这个接口 首先,确保你已经安装了 Python 和 Flask。如果没有安装,可以通过以下命令在 Ubuntu 上安装: sudo apt update sudo apt install python3 python3-pip pip3 install Fla…...
【PHP】函数-作用域可变函数匿名函数闭包常用系统函数
文章目录 函数定义&使用命名规则参数种类默认值引用传递函数返回值return关键字 作用域global关键字静态变量 可变函数匿名函数闭包常用系统函数输出函数时间函数数学函数与函数相关函数 函数 函数:function,是一种语法结构,将实现某一个…...
Python使用pymysql和sqlalchemy访问MySQL的区别
Python使用pymysql和sqlalchemy访问MySQL的区别 1. 两个数据库连接工具的对比 pymysql和sqlalchemy是两个Python中经常用于与MySQL数据库交互的库。都可以连接MySQL数据库,但它们有明显的区别。 (1)特点 pymysql是一个Python模块…...
ubuntu服务器的mysql,更改root密码,并允许远程连接
我只是一个搬运工 更改密码远程连接...
微信小程序【构建npm】使用记录
:: 问题 使用原生微信小程序开发时,通过官方 typescript 模板构建的小程序无法正确执行 构建npm 成功,从而导致我想通过 npm 安装并使用第三方库出现问题 :: 开发环境(可参照) 设备:macOS Ventura 13.0 微信开发者工…...
mybatis入门的环境搭建及快速完成CRUD(增删改查)
又是爱代码的一天 一、MyBatis的介绍 ( 1 ) 背景 MyBatis 的背景可以追溯到 2002 年,当时 Clinton Begin 开发了一个名为 iBATIS 的持久化框架。iBATIS 的目标是简化 JDBC 编程,提供一种更直观、易用的方式来处理数据库操作。 在传统的 JDBC 编程中&…...
《HeadFirst设计模式(第二版)》第九章代码——组合模式
上一章链接: 《HeadFirst设计模式(第二版)》第九章代码——迭代器模式_轩下小酌的博客-CSDN博客 前面说到,当一个菜单里面出现了子菜单的时候,前面的迭代器模式得换成组合模式。 组合模式: 允许将对象组合成树形结构来表现部分-整…...
iOS17 widget Content margin
iOS17小组件有4个新的地方可以放置分别是:Mac桌面、iPad锁屏界面、 iPhone Standby模式、watch的smart stack Transition to content margins iOS17中苹果为widget新增了Content margin, 使widget的内容能够距离边缘有一定的间隙,确保内容显示完整。这…...
计网第四章(网络层)(一)
前面学习了数据链路层,我们可以实现一个网络的内部通信,可是要把这些网络互连起来形成更大的互连网,就需要用网络层互联设备路由器。而有了路由器的参与,就有不同网络、跨网络的概念诞生。 这时候我想大家也能理解为什么叫网络层…...
【前端】vue3 接入antdv表单校验
1/🍕背景 1、表单校验是非常常见的需求,能够有效的拦截大部分的错误数据,提升效率。 2、快速的给使用者提示和反馈,用户体验感非常好。 3、成熟的表单校验框架,开发效率高,bug少。 最近使用的是vue3antdv的…...
wordpress多用户博客/如何优化关键词的排名
有时tag跳转打开了很多缓冲区,一个个关闭又太麻烦,在vim定义关闭所有其它缓冲区的函数 实现如下: command! BcloseOthers call <SID>BufCloseOthers() function! <SID>BufCloseOthers() let l:currentBufNum bufnr("%&quo…...
怎么创办网站/汕头网站建设技术外包
基本规则 前缀为“EXACT:”表示完全匹配(大小写敏感) 无前缀表示基本搜索,表示搜索到字符串就匹配 前缀为“NOT:”表示发现就不匹配 前缀为“REGEX:”表示使用正则表达式匹配 前缀为“REGEX:(?insx)”表示匹配方式其中: i表示不…...
网站托管方案/百度口碑官网
共回答了18个问题采纳率:100%初值给一下.在Matlab下输入:edit,然后将下面两行百分号之间的内容,复制进去,保存%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%function dxdtode_Miss_ghost(t,x)%分别用x(1),x(2),x(3),x(4)代替N1,…...
班级网站建设维护/怎么开展网络营销推广
首先ROOT手机,挂载读写,/system/media/audio/ui里面哈,把camera-click.ogg改成camera-click.ogg.bak就可以了转载于:https://www.cnblogs.com/xinye/p/3159221.html...
每日聚划算优惠网站怎么做的/友情链接交换网址大全
1、下载程序包 1-1、进入海康威视官网https://www.hikvision.com/cn/,然后进入开放平台https://open.hikvision.com/,进行注册登录,点击下载进入下载界面,点击硬件产品,选择WEB开发包,下载WEB3.0控件开发包下载文档和…...
企业网站轮播图怎么做/爱网
Raid & LVM 之一 Raid Raid Raid介绍 RAID,全称Redundant Arrays of Inexpensive(Independent)Disks。简单翻译叫磁盘阵列。通俗一点讲就是多个磁盘合成一个“阵列”来提供更好的性能、冗余,或者两者都提供。目的有两个&#…...