二、防火墙-安全策略

news2025/1/11 21:03:00

学习防火墙之前,对路由交换应要有一定的认识

  • 1、安全策略基本概念
  • 2、匹配顺序
  • 3、缺省包过滤
  • 4、安全策略发展史
    • 4.1.基于ACL包过滤
    • 4.2.融合UTM安全策略
    • 4.3.一体化安全策略
  • 5、Local区域安全策略
    • 5.1.针对OSPF协议配置Local区域安全策略
    • 5.2.其他协议
  • 6、ASPF
    • 6.1.帮助FTP数据报文穿越防火墙
    • 6.2.帮助用户自定义协议报文穿越防火墙
  • 7、配置思路

——————————————————————————————————————————————————

1、安全策略基本概念

上一章多次提到规则,规则在防火墙转发报文过程中扮演着重要角色,只有规则允许通过,报文才能在安全区域之间流动,否则报文丢弃。规则在防火墙的具体体现就是安全策略。安全策略涵盖的内容很多,实现原理也比较复杂。

先从一个简单的环境说起。下图,PC和Web服务器位于不同的网络,分别与防火墙相连,PC属于Trust区域,Web属于Untrust区域。

在这里插入图片描述

如果想在防火墙上允许PC访问Web服务器,用文字的形式就是:允许Trust区域到Untrust区域、源地址192.168.1.2、目的地址172.16.0.1、目的端口80的报文通过。安全策略基于区域的域间关系来呈现,内容包括两组部分。

1、条件:检查报文的依据,将报文中携带的信息与条件逐一对比,来判断报文是否匹配。

2、动作:匹配了条件报文执行动作,包括允许通过Permit和拒绝通过deny。一个策略只允许一个动作。

安全策略的条件可以分为多个字段,如源地址、源端口、目的地址、目的端口等,这些字段之间是与的关系,也就是说,只有报文中的信息和所有字段都匹配上,才算命中了这条策略。

如果同一个字段中有多个匹配项,如同时匹配有两个源地址或三个目的地址,这些匹配项之间是或的关系,只要报文匹配了其中一项,就算匹配了该条件。

安全策略配置完成后,PC就可以访问WEB。WEB服务器回应给PC的报文,会匹配会话转发,不需要再配置额外的安全策略。这点在状态检测和会话机制中已经介绍过了。

在实际的网络中,不仅只有PC和WEB两个特定目标通信,而是两个网络之间的通信,如192.168.10.0/24网段访问172.16.0.0/24网段。所以策略的条件配置成一个网段。

如果这时有新的需求,不让192.168.10.0/24网段中的特定地址192.168.10.100访问172.16.0.0/24网段,可以新增一条安全策略。拒绝Trust区域到Untrust区域、源地址192.168.10.100的报文通过。这两条安全策略的条件都有源地址192.168.10.100,也可以说既可以命中第一条策略,还可以命中第二条策略,但是两个策略的动作是冲突的,防火墙如何处理这些动作呢?

——————————————————————————————————————————————————

2、匹配顺序

安全策略之间存在顺序的,防火墙会按照从上到下的顺序逐条查找域间存在的安全策略。如果报文命中某一条安全策略,就会执行策略中的动作,或允许通过或拒绝通过,不会再继续查找。如果没有命中某条安全策略,则向下继续查找。

基于上述定义,在配置安全策略时要遵循,先精细、后粗犷的原则。先配置小范围、条件精确的的安全策略,在配置范围大、条件宽泛的安全策略。ACL规则和安全策略是一个原理。

如第一条策略:拒绝Trust区域到Untrust区域、源地址192.168.10.100的报文通过。
第二条策略:允许Trust区域到Untrust区域、源地址192.168.10.0的报文通过。

如果把策略的顺序颠倒下,源地址192.168.10.100的报文永远不会命中动作为拒绝的策略。

如果查找的安全策略时,所有都没有命中,针对这种情况,防火墙提供了缺省包过滤功能。

——————————————————————————————————————————————————

3、缺省包过滤

缺省包过滤本质也是一种安全策略。也可以叫做缺省安全策略。缺省包过滤中没有具体的条件,对所有报文均生效,动作也是分为允许或拒绝两种。缺省包过滤只是一种叫法,华为一直沿用这种叫法,和第一代包过滤防火墙没有关系。

缺省包过滤的条件最宽泛,所有的报文都可以匹配上,所以防火墙把缺省包过滤作为处理报文的最后手段。如报文没有命令任何一条安全策略,最后将命中缺省包过滤,防火墙会对报文执行缺省包过滤中匹配的动作。

默认,缺省包过滤的动作是拒绝通过。

有时候为了简化配置,大家会把默认的缺省包过滤动作设置为允许。这样确实省时省事,但是会带来极大风险。允许所有报文通过。网络隔离和访问控制都无法实现,防火墙也就失去了存在的意义。

默认情况下,华为防火墙也支持安全区域内的安全策略,限制某些特定报文通过。当防火墙工作在交换模式(透明模式)时,经过防火墙的报文也会受到安全策略控制。

除了经过防火墙转发的报文,防火墙本身与外界交互的报文也同样受到安全策略控制。产生这类报文的业务包括管理员登录防火墙、与其他设备建立VPN等。这些将会在Local区域安全策略中详细介绍。

——————————————————————————————————————————————————

4、安全策略发展史

网络世界风云变幻,安全威胁层出不穷,为了适应变化,华为防火墙安全策略也随之改进和完善。

第一阶段:基于ACL的包过滤阶段

匹配条件:报文五元组和时间段。 动作:允许/拒绝。 通过安全域间引用ACL方式实现。

第二阶段:融合UTM安全策略

匹配条件:报文五元组、用户和时间段。 动作:允许/拒绝,允许通过的报文继续进行UTM处理,包括IPS/AV/URL过滤等。通过策略的方式实现,策略中配置的条件和动作。

第三阶段:一体化安全策略

基于ACTUAL的六维度感知体系,精确识别报文。一次识别流量的应用类型和携带内容,内容安全多业务并行处理。

——————————————————————————————————————————————————

4.1.基于ACL包过滤

基于ACL包过滤是华为防火墙早期的实现方式,如USG5000系列V100R003版本,USG9500系列V200R001版本等。

基于ACL的包过滤通过ACL来对报文进行控制,包含若干规则rule,定义条件和动作。在安全域间引用。

acl number 3000  
rule 5 deny ip source 192.168.10.100 0 
rule 10 permit ip source 192.168.10.0 0.0.0.255 destination 172.16.0.0 0.0.0.255 

firewall interzone trust untrust
packet-filter 3000 outbound

——————————————————————————————————————————————————

4.2.融合UTM安全策略

随着UTM产品推出,华为防火墙安全策略也向前迈进了,真正变成了策略的形式。与基于ACL包过滤不同,此时的安全策略可以直接定义条件和动作,无需额外配置ACL。另外安全策略还可以引用AV、IPS等UTM策略,对报文进一步检测。

融合UTM安全策略由条件、动作和UTM组成。在安全策略条件中出现了服务集(Server-set)概念,代替了协议和端口。安全策略中已经内置了一些服务集,包含常见的协议,直接配置条件即可,对于不在此范围之内的协议或端口,可自定义新的服务集。

融合UTM安全策略之间也是存在顺序的。从上到下逐条查找。

例:在Trust区域到Untrust区域方向上,拒绝源地址192.168.10.100的报文通过;允许源地址192.168.10.0/24网段,目的地址172.16.0.0/24网段报文通过。

policy interzone trust untrust outbound
policy 1
policy source 192.168.0.100 0
action deny
policy 2
policy source 192.168.0.0 0.0.0.255
policy destination 172.16.0.0 0.0.0.255
action permit

——————————————————————————————————————————————————

4.3.一体化安全策略

网络高速发展,应用不断增多,协议的使用方式和数据传输方式发生改变,网络蠕虫、僵尸网络以及其他基于应用的攻击不断产生。传统防火墙主要基于端口和协议来识别应用,基于传输层的特征来进行攻击检测和防护,面对网络蠕虫、僵尸网络等威胁将不再具有足够的防护能力。新的安全需求,推动下一代防火墙的产生,华为防火墙与时俱进,安全策略发展到“一体化”安全策略的新阶段。目前USG6000系列防火墙的V100R001版本采用的是一体化安全策略。

统一威胁管理UTM(Unified Threat Management)是一种功能全面的安全产品,作为单个产品能提供多种安全功能,包括反病毒、反恶意软件、防火墙、入侵防御、URL过滤等功能。因此,可以通过单一管理平台监控所有威胁和安全相关活动,通过UTM,用户可以全面、简化地了解安全架构的所有要素。

本人用的模拟器仿真平台,USG6000V2,V500R005版本

在这里插入图片描述

所谓的一体化,主要包括两个内容:配置上的一体化,像防病毒、入侵防御、URL过滤、邮件过滤等安全功能都可以在安全策略中引用安全配置文件来实现。其二是业务上的处理一体化,安全策略对报文进行一次检测,多业务并行处理。

与前两个阶段安全策略相比,一体化策略有以下区别:

1、安全策略基于全局范围,不在基于安全域间,安全区域只作为可选条件。

2、安全策略中的缺省动作代替了缺省包过滤,全局生效,不再区分域间。

security-policy
 rule name to_web_permit
  source-zone trust
  destination-zone untrust
  source-address 192.168.10.100 mask 255.255.255.255
  user user-group /default                 基于用户组
  application label Database               基于应用类数据库
  application label HTTP-Based             基于应用类的Http
  time-range worktime                      基于时间段
  url pre-defined category 1
  profile av default                       引用防病毒模板
  profile ips strict                       引用IPS入侵防御模板
  profile url-filter default               引用URL过滤模板
  profile aapt APT                         引用APT防御模板
  profile dns-filter default               引用DNS过滤模板
  action permit
  
 rule name to_web_pemit
  source-zone local
  destination-zone untrust
  source-address 192.168.10.0 mask 255.255.255.0
  destination-address 172.16.0.0 mask 255.255.255.0
  action permit

——————————————————————————————————————————————————

5、Local区域安全策略

网络中一些业务需要经过防火墙转发,还有一些是自身参与处理。这些业务如果要正常运行,必须在防火墙上的Local安全区域与业务使用的接口所在的区域配置安全策略。

——————————————————————————————————————————————————

5.1.针对OSPF协议配置Local区域安全策略

使用USG6000防火墙和两台路由器搭建一个简单的OSPF环境,验证的是防火墙本身参与到OSPF路由计算的场景。

如果防火墙本身不参与OSPF路由计算,只透传OSPF路由报文的场景中,接收和发送OSPF报文的两个接口属于不同的安全区域时,必须配置安全策略,允许OSPF报文通过。

在这里插入图片描述

HUG6000
interface GigabitEthernet1/0/1
 ip address 1.1.1.1 255.255.255.252
firewall zone untrust
 add interface GigabitEthernet1/0/1
ospf 100                                  
 area 0.0.0.0
  network 1.1.1.0 0.0.0.3

AR1interface GigabitEthernet0/0/0
 ip address 1.1.1.6 255.255.255.252
interface GigabitEthernet0/0/1
 ip address 1.1.1.2 255.255.255.252
ospf 100
 area 0.0.0.0
  network 1.1.1.0 0.0.0.3
  network 1.1.1.4 0.0.0.3

AR2interface GigabitEthernet0/0/0
 ip address 1.1.1.5 255.255.255.252
ospf 100
 area 0.0.0.0
  network 1.1.1.4 0.0.0.3

默认情况下,防火墙没有开启G1/0/1接口所在的Untrust区域和Local区域之间的安全策略。

在防火墙上使用 dis ospf peer查看OSPF邻接关系

在这里插入图片描述

邻居是正常建立的,OSPF邻接关系Full。

但是资料上的案例是ExStart状态,没有成功交换DD报文。资料的案例是USG9500 V300R001版本,而实验环境用的USG6000V2,V500R005版本。查看了下USG6000官方手册。

在这里插入图片描述
在这里插入图片描述

OSPF协议本身是基于组播地址224.0.0.5交互OSPF报文。查看官方文档,USG6000系列防火墙组播报文是不受控制的。所以邻居状态为Full。

如果按照老版本的操作,需要在策略里放行Local到Untrust区域的OSPF报文。

security-policy
 rule name to_web_ospf
  source-zone local
  destination-zone untrust
  service ospf
  action permit

总结:按照单播报文和组播报文的角度考虑,对于防火墙来说,根据官方USG6000系列的手册,默认情况下,单播和组播都不受控制,当执行了firewall packet-filter basic-protocol enable后,单播报文是受控的,需要配置安全策略,而组播报文是不受控的,不需要配置安全策略。

资料上显示的OSPF的DD报文和虚链路报文是单播。使用reset ospf process 重启OSPF进程。来看看DD报文是否为单播。
在这里插入图片描述
都是单播。
在这里插入图片描述
组播。
在这里插入图片描述

所以按照资料案例上的说法是单播受控,所以邻居状态是ExStart状态。USG官方文档的意思只有执行firewall packet-filter basic-protocol enable后,单播报文是受控的。我们来执行下看看。

在这里插入图片描述

OSPF邻居变成了ExStart状态,单播报文受控。
在这里插入图片描述

我们在来配置下策略。

 security-policy
  rule name Local_to_Untrust_ospf
  source-zone local
  destination-zone untrust
  service ospf
  action permit

刚配置完命令,控制台的日志输出:建立邻接关系成功,邻居状态Full。

在这里插入图片描述

书上的资料可能老旧了,但是明白原理对维护很有帮助。新版本的OSPF协议报文安全策略不管是单播还是组播都是不受控制的。

——————————————————————————————————————————————————

5.2.其他协议

以前提到的管理员登录设备、与认证服务器对接、建立VPN、OSPF等。其实还有许多如:GRE VPN、L2TP VPN、IPSec VPN、SSL VPN等功能后续会介绍。

补充下,针对管理员登录设备,需要配置Trust到Local区域的安全策略,但是在实际中,防火墙都提供了默认的登录方式,可以通过M口登录到防火墙,不需要配置安全策略。

——————————————————————————————————————————————————

6、ASPF

通过策略的学习,可能也会认为,只要把安全策略配置好了,就可以一劳永逸。但是有些协议变化莫测,比如FTP协议,它的报文交互就暗藏玄机,让安全策略防不胜防。单凭安全策略无法完成掌控报文转发。

——————————————————————————————————————————————————

6.1.帮助FTP数据报文穿越防火墙

我们先模拟下FTP客户端访问FTP服务器的组网,FTP客户端和FTP服务器与防火墙相连,客户端属于Trust区域,服务器属于Untrust区域。

在这里插入图片描述

如果想让FTP客户端访问FTP服务器,防火墙的安全策略怎么配置??肯定是在Trust到Untrust,允许特定源/目的的FTP报文通过就可以了。

配置完防火墙接口及区域后,配置FTPSer。接着我们加入策略

Trust到Untrust,源地址192.168.10.2,目的地址172.16.0.1,协议FTP,动作允许。

security-policy
 rule name Trust_to_Untrust_FTP
  source-zone trust
  destination-zone untrust
  source-address 192.168.10.2 mask 255.255.255.255
  destination-address 172.16.0.1 mask 255.255.255.255
  service ftp
  action permit

FTP无法访问。。。。
在这里插入图片描述

查看防火墙会话,发现以建立会话
在这里插入图片描述

为什么会无法访问?要从FTP协议的特殊讲起,FTP协议是一个多通道协议,FTP客户端和服务器之间会建立两条连接,控制连接和数据连接,控制传输FTP指令和参数,包括建立数据连接所需要的信息,数据连接获取目的及传输数据。

大概说下吧:

1、先是客户端向服务器端口21发送,控制连接的三次握手。。TCP3次握手。。。

2、控制连接交互。。交互用户名/密码。协商接下来发送数据的端口等等。。

3、交互完了开始数据连接的TCP三次握手。。。服务端向客户端协商的数据端口发送。

4、控制连接确认后,开始传输数据,。。。。

我们只配置了允许FTP客户端访问服务端的安全策略,控制连接能成立。但是FTP服务端向客户端协商的端口的报文到达防火墙时,防火墙认为这是一个新的报文,不是之前连接的后续报文。我们没有配置服务器到客户端的安全策略。所以交互失败。

如何解决这个问题呢?聪明的人肯定说,在FTP服务器到客户端配置一条安全策略。这算是一种方法。

但是协商出来的端口是随机的。无法精确预知,所以要开放所有端口,这样会带来安全隐患。要是防火墙能自己记录这个端口,然后开启安全策略就好了。

防火墙已经考虑这个问题了,这个时候就要有请安全策略的神秘助手ASPF(针对应用层的包过滤)出场了。ASPF主要盯着报文的应用层信息来做文章,记录应用层信息中携带的关键数据,使得某些在安全策略中没有明确定义要放行的报文也能正常转发。

记录应用层信息中关键数据的表项称为Server-map表,报文命中该表后,不再受安全策略控制。Sever-map表记录的不是当前连接的信息,而是分析当前连接的报文后得到的信息。防火墙收到报文后,先检查是否命中会话表,如命中,则认为是后续报文,如不命中则认为是首包,检查是否命中Server-map表。

防火墙Server-map表和会话表作为防火墙重要表项,两者作用不同,也不能互相替代。

开启ASPF的FTP功能操作很简单。

firewall interzone trust untrust
detect ftp

也可以全局开启ASPF的FTP功能

firewall detect ftp

在这里插入图片描述
开启后可以正常访问。当我们正常访问数据的时候。可以查看server-map表。可以看到服务器访问客户端报文的Server-map表项。老化时间到期后,自动清除。

在这里插入图片描述

我们也可以在WEB界面全局开启ASPF功能。华为USG6000V2默认开启ASPF FTP功能。

在这里插入图片描述

除了FTP以外,还支持针对其他多通道协议的ASPF功能,如SIP、H.323、MGCP等。具体默认开启还得看官方手册。。

——————————————————————————————————————————————————

6.2.帮助用户自定义协议报文穿越防火墙

对于不在detect命令支持协议范围内的某些特殊应用,防火墙提供了用户自定义协议的ASPF功能。可以通过ACL来识别该应用的报文,ASPF会自动为其创建三元组Server-map表项。保证该应用报文顺利通过防火墙。配置ACL越精细越好,以免影响其他业务。

以TFTP举例

在这里插入图片描述

TFTP协议控制通道和数据通道共用TFTP客户端的端口号。开启用户自定义的ASPF功能很简单。

acl 3000
rule permit ip source 192.168.10.2 0
firewall interzone trust untrust
detect user-defined 3000 outbound

开启后虽然生成的表项保证了业务,但是也存在对端口的访问权限。防火墙针对ASPF安全策略,对命中三元组表项再进行过滤,实现更精细化的控制。例如,通过上面配置的三元组Server-map表项,要求对命中该表项报文进一步控制。

acl 3000
rule permit ip source 192.168.10.2 0 destination 172.16.0.1 0
firewall interzone trust untrust
aspf packet-filter 3000 outbound

无论是FTP、QQ、自定义协议,ASPF都会生成Server-map表项,帮助这些协议穿越防火墙,保证业务正常运行。

此外,防火墙的ASPF功能还可以阻断HTTP协议的有害插件。HTTP协议包含Java和ActiveX插件,非常容易制作成木马和病毒。它们包含在HTTP报文的载荷中传输,只检查报文头信息,无法识别。

阻断HTTP协议有害插件也很简单,在安全区域的域间内执行detect activex-blocking或detect java-blocking命令即可。

firewall interzone untrust trust 
detect activex-blocking 
detect java-blocking

——————————————————————————————————————————————————

7、配置思路

如何精确指定匹配条件是配置安全策略难点,匹配设置过于宽泛带来安全风险,过于严格,可能会导致报文无法命中,影响业务运行。

在配置的时候,首先将缺省包过滤动作改为允许通过,对业务进行调测。然后查看会话表,以会话表中记录的信息为匹配条件配置安全策略,最后恢复缺省包过滤配置。再次验证策略是否正确。

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

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

相关文章

PCIE链路训练-状态跳转1

A:12ms超时,或者再任何lane上检测到Electrical Idle Exit; B: 1.发送“receiver detection”之后没有一个lane的接收逻辑被rx检测到 2.不满足条件c,比如两次detection出现差别; C:发送端在没…

文本分析:NLP 魔法!

一、说明 这是一个关于 NLP 和分类项目的博客。NLP 是自然语言处理,目前需求量很大。让我们了解如何利用 NLP。我们将通过编码来理解流程和概念。我将在本博客中介绍 BagOfWords 和 n-gram 以及朴素贝叶斯分类模型。这个博客的独特之处(这使得它很长&…

竞赛选题 车道线检测(自动驾驶 机器视觉)

0 前言 无人驾驶技术是机器学习为主的一门前沿领域,在无人驾驶领域中机器学习的各种算法随处可见,今天学长给大家介绍无人驾驶技术中的车道线检测。 1 车道线检测 在无人驾驶领域每一个任务都是相当复杂,看上去无从下手。那么面对这样极其…

Oracle 的 Java SE、OpenJDK、Database 链接

1 访问主站 Oracle | Cloud Applications and Cloud Platform 2 开发者 2.1 OpenJDK (这里的不用登录,就可以下载) JDK Builds from Oracle 2.2 JavaSE (需要登录,才可以下载) Java Downloads | Oracle 2.3 DataBase (MySQL为例) MySQL :: MySQL Dow…

排序算法--快速排序

实现逻辑 ① 从数列中挑出一个元素,称为 “基准”(pivot), ② 重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面(相同的数可以到任一边)。在这…

DataFunSummit:2023年OLAP引擎架构峰会-核心PPT资料下载

一、峰会简介 OLAP技术是当前大数据领域的热门方向,该领域在各个行业都有广泛的使用场景,对OLAP引擎的功能有丰富多样的需求。同时,在性能、稳定性和成本方面,也有诸多挑战。目前,OLAP技术没有形成统一的事实标准&…

系统移植-交叉编译工具链

不同架构的机器码 与 汇编语言 都不可移植, 且二者一一对应 c语言中三种成分: 1.分号结尾的叫做语句 语句可以让CPU执行,可以进行预处理,编译等生成机器码 2.#开头的为预处理指令 不带分号 CPU无法执行 3.注释,…

AR道具特效制作工具

AR(增强现实)技术已经逐渐渗透到各个行业,为企业带来了全新的营销方式和用户体验。在这个背景下,美摄科技凭借其强大的技术实力和创新精神,推出了一款专为企业打造的美摄AR特效制作工具,旨在帮助企业轻松实…

Eclipse常用设置-乱码

在用Eclipse进行Java代码开发时,经常会遇到一些问题,记录下来,方便查看。 一、properties文件乱码 常用的配置文件properties里中文的乱码,不利于识别。 处理流程:Window -> Preferences -> General -> Ja…

stm32定时器输入捕获模式

频率测量 频率测量有两种方法 测频法:在闸门时间T内,对上升沿或下降沿计次,得到N,则评率fxN/T测周法:两个上升沿内,以标准频率fc计次得到N,则频率fx fc/N中界频率:测频法和测周法误…

Altium Designer学习笔记8

创建原理图元件: 画出原理图: 根据规则书画出原理图: 根据规则书画出封装图: 参照: 确认下过孔的内径和外径的最小允许值。

设计模式-创建型模式-工厂方法模式

一、什么是工厂方法模式 工厂模式又称工厂方法模式,是一种创建型设计模式,其在父类中提供一个创建对象的方法, 允许子类决定实例化对象的类型。工厂方法模式是目标是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类中。…

前端js语音朗读文本

<!DOCTYPE html> <html lang"zh"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>语音朗读</title></head><body>&l…

js双击修改元素内容并提交到后端封装实现

前面发过一个版本了&#xff0c;后来又追加了些功能。重新发一版。新版支持select和radio。 效果图&#xff1a; 右上角带有绿标的&#xff0c;是可以修改的单元格。如果不喜欢显示绿标&#xff0c;可以传递参数时指定不显示&#xff0c;如果想改为其它颜色&#xff0c;也可以…

C++多线程学习(二):多线程通信和锁

参考引用 C11 14 17 20 多线程从原理到线程池实战代码运行环境&#xff1a;Visual Studio 2019 1. 多线程状态 1.1 线程状态说明 初始化 (lnit)&#xff1a;该线程正在被创建就绪 (Ready)&#xff1a;该线程在就绪列表中&#xff0c;等待 CPU 调度运行 (Running)&#xff1a;…

PDF转Word,1行Python代码就够了,免费用

大家好&#xff0c;这里是程序员晚枫。 今年十一假期没出去旅游&#xff0c;在家里更新一套原创课程&#xff0c;&#x1f449;给小白的《50讲Python自动化办公》。 所有功能&#xff0c;都只需要1行代码&#xff0c;非常适合非程序员入门Python使用。 目前全网播放量直逼100…

基于C#实现优先队列

一、堆结构 1.1性质 堆是一种很松散的序结构树&#xff0c;只保存了父节点和孩子节点的大小关系&#xff0c;并不规定左右孩子的大小&#xff0c;不像排序树那样严格&#xff0c;又因为堆是一种完全二叉树&#xff0c;设节点为 i,则 i/2 是 i 的父节点&#xff0c;2i 是 i 的…

Django报错:RuntimeError at /home/ 解决办法

错误提示&#xff1a; RuntimeError at /home/ Model class django.contrib.contenttypes.models.ContentType doesnt declare an explicit app_label and isnt in an application in INSTALLED_APPS. 原因剖析&#xff1a; 博主在使用pycharm创建Django项目的时候&#xff0…

Linux 磁盘/分区/修复 命令

目录 1. lsblk&#xff08;list block devices&#xff09; 2. fdisk&#xff08;fragment disk&#xff09; 3. gdisk 4. mkfs&#xff08;make filesystem&#xff09; 5. df&#xff08;display file-system disk space usage&#xff09; 6. du 7. fsck&#xff08;file-sy…

npm ERR!问题解决

问题一 解决办法 两个文件夹【node_global】和【node_cache】 修改文件属性 问题二 解决办法 安装淘宝镜像 npm config set registry https://registry.npm.taobao.org 查看是否成功&#xff1a; npm config get registry 是淘宝的就ok