当前位置: 首页 > news >正文

蓝队基础:企业网络安全架构与防御策略

声明
学习视频来自B站up主 **泷羽sec** 有兴趣的师傅可以关注一下,如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,此文章为对视频内容稍加整理发布,文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽sec团队无关,切勿触碰法律底线,否则后果自负!!!!有兴趣的小伙伴可以点击下面连接进入b站主页[B站泷羽sec](https://space.bilibili.com/350329294)

目录

企业网络架构与管理

高层管理

IT管理

中央技术团队

安全部门

企业管理技术

典型企业网络分区

网络分区概述

模糊的边界

外部攻击面

攻击面管理

身份管理与企业数据安全

识别Windows典型应用

识别Linux典型应用

识别WEB服务

识别客户端设备

身份和访问管理

目录服务

企业数据存储

企业虚拟化平台

数据湖

企业数据库

传统存储形式

安全运营中心(SOC)与管理流程

SOC概述

网络杀伤链

日志收集

日志搜索与分析

监控告警

事件响应

Cyber Hunting(网络狩猎)

威胁情报

安全管理

零信任网络

安全和基础设施

SABSA多层控制策略与管理事件响应方法

SABSA多层控制策略

管理事件响应的方法

应急响应准备

一、风险评估与威胁分析

二、人员、流程和技术

三、控制

四、成熟度评估

五、应急响应手册概述

六、演练与沟通

七、事件检测与响应

八、报告与总结

九、入侵检测与防御

snort工具介绍

安装依赖包与配置Snort

文件管理概述(Snort规则配置)

Snort规则配置字段详细描述

具体Snort条件子句示例及解释

外部规则集

In Line部署及阻断操作

总结


企业网络架构与管理

企业技术和信息团队的管理架构因企业的规模、行业特性和业务需求而异,但通常遵循定的框架和原则

高层管理

CIO(首席信息官):负责企业信息系统的战略规划、管理和优化,确保信息技术与企业战略保持一致。

CTO(首席技术官):负责运营技术的整体方向,包括技术创新、研发、技术选型等

从事蓝队需要了解管理人员名词,会需要提交报告给管理人员看

IT管理

中央系统:集中管理企业内的所有IT资源,包括软件、硬件和数据

自带设备(BYOD):员工自带移动设备(如手机、平板电脑)接入企业网络,需要制定相应的安全策略和管理规定。

影子IT:员工可能在企业内部搭建的小网络或使用的未经授权的IT设备和软件,这增加了企业的安全风险,需要加以管理和控制。相当于给内网留了后门,攻击者可以通过这些设备或者端口攻击从而轻易拿下内网系统

中央技术团队

客户服务团队:提供技术支持和服务,包括工作站、笔记本的维护和服务台支持。

基础设施团队:负责网络、服务器机群的规划、部署和维护。

数据库管理团队:负责数据库存储、备份和恢复,确保数据的完整性和安全性。

技术团队:通常由项目驱动,负责采购系统、维护和建立技术运营团队。根据信息技术基础设施库(ITIL)进行日常操作和管理。

安全部门

由CISO(首席信息安全官)领导,负责企业整体的信息安全策略、规划和管理。安全部门需要向CIO、CTO、CFO(首席财务官)和CRO(首席风险官)报告,确保信息安全与企业战略、财务和风险管理保持一致。

企业管理技术

信息安全管理成熟度模型(ISM3):描述了企业安全运行和管理流程的成熟度等级,为企业提供了改进信息安全管理的指导。

安全职能:包含战略、战术和运营安全所有方面。由CIS0负责管理运营,确保企业信息安全策略的有效实施和持续改进。

安全团队成员:应了解企业文化、组织和关键人员,以及推动业务成功的关键流程。这有助于安全团队在企业内部树立积极形象,提高信息安全意识和管理水平。

无论是红队还是蓝队都需要了解蓝队人员构成,对红队而言也是知己知彼,对蓝队有针对性的攻击,蓝队红队很多方向已经融合到一起,都需要了解

典型企业网络分区

网络分区概述

企业网络通常划分为不同的安全区域,以控制区域之间的访问权限。划分安全区可以防御外部和内部攻击。

DMZ(非军事区):隔离内部与外部系统,提供安全的访问通道。

蜜罐:引诱和分析入侵者,收集攻击信息和行为式。

代理:对外提供有限的服务,保护内部网络免受外部攻击。在红队也可以增加攻击的保密性,甚至挂三四层代理(本机连云服务器,云服务器再连接云服务器,再挂代理)一般这样溯源难度非常高

VPN:员工与合作商通过VPN连接内网,确保远程访问的安全性和保密性。

核心网络:通常物理分离、冗余设计,确保网络的稳定性和可靠性。

内部网络:包括有线、无线和VPN接入方式,提供全面的网络覆盖和接入服务

安管区:管理日志、告警和事件,提供实时的安全监控和响应能力。

模糊的边界

随着云计算和SaaS服务的普及,传统网络结构逐渐减少,越来越多地在云中部署基础架构或使用Saas服务。

用户从企业工作站登录到云或SaaS服务,需要企业提供身份凭据同步机制甚至SS0(单点登录)解决方案。

云服务可能涉及在本地运行的硬件,例如Azure AD Connect系统等。

数据通过内部和外部服务进行管理,例如Oracle数据集成器等。

工作负载可以通过0racle服务总线或戴尔云平台等跨混合环境共享,实现资源的灵活配置和优化利用。

外部攻击面

攻击面管理

收集开源情报后,绘制网络范围内全部节点,关闭无用节点,减少攻击面。

使用nmap等工具进行网络扫描,例如nmap-Sn/24来发现网络中的活跃主机。

重点关注开启SSH服务的未加固设备,及时进行加固和修复。

使用nmap等工具进行服务探测和版本识别,例如nmap-PS -sV ip-address来发现目标主机上开放的服务和版本信息。

测试漏洞入口,大型网络主机和应用程序很容易缺少补丁或配置存在漏洞。使用漏扫软件(如Nessus等)验证漏洞存在性并及时进行修复。

使用searchsploit等工具搜索相关漏洞利用脚本,例如searchsploit

来查找针对特定服务和版本的漏洞利用脚本。这有助于安全团队及时了解和应对潜在的威胁和漏洞。

蓝队也就是提前对系统做测试,对系统进行优化,用到的方法跟红队差不多

身份管理与企业数据安全

身份管理是确保企业信息安全的关键环节它涉及到对系统中所有用户、设备和服务身份的识别、验证和管理。以下是一些关于身份管理的关键点和工具:

识别Windows典型应用

在Windows环境中,常见的应用和服务包括MicrosoftExchange(邮件服务器)

SharePoint(文档协作平台)和Active Directory(目录服务)。要识别这些应用和服务可以使用网络扫描工具,如sudo nmap-PS-sVsomesystem.com,来探测目标系统上开放的服务和端口。

识别Linux典型应用

在Linux环境中,OpenSSH(安全壳协议)用于远程登录和管理,Samba则用于文件和打印共享。同样,可以使用网络扫描工具来识别这些服务。

识别WEB服务

企业应用或边界设备上的WEB服务也是身份管理的重要部分。可以使用whatweb

http://someweb.org 等工具来识别WEB服务的类型、版本和配置信息。

识别客户端设备

在内网环境中,客户端设备的身份管理同样重要。由于管理员的疏忽或配置不当,终端设备可能会暴露在网络中。因此,需要定期扫描和识别内网中的客户端设备,以确保它们符合企业的安全策略。

身份和访问管理

身份以及特权和访问权管理是企业安全的核心。基本工作站和服务器通常维护自己的身份存储,包括用户账号和服务账号。为了确保系统的安全性,普通用户不能执行系统级配置管理命令,而需要使用sudo权限或以管理员身份运行。有些管理员在内网中为了方便,将所有用户都设置成管理员,这是一种很危险的操作,只要有一台设备被攻破,整个系统都会被拿下

目录服务

LDAP(轻量级目录访问协议)是一种用于访问目录信息的协议,它广泛应用于AD(ActiveDirectory)和0penLDAP等目录服务中。通过域集中管理,可以实现资源的集中存储和集中管理,包括组策略的应用和更新。

企业数据存储

随着数据分析的兴起和监管要求的加强,企业需要集中存储和管理大量数据。常见的存储方案包括SAN(存储区域网络)和NAS(网络附加存储)。SAN由高速网络连培多个存储设备组成,提供高性能的数据存储和访问能力;而NAS则是单个设备拥有大量存储,通过本地网络供服务器和工作站访问。

此外,企业还可以使用串行局域网(SoL)协议,使串行数据基于HTTPS传输,以提高数据传输的安全性和可靠性。

企业虚拟化平台

虚拟化平台是企业数据存储和管理的重要工具之一。常见的虚拟化平台包括VMware的Proxmox等。这些平台可以实现资源的动态分配和优化利用,提高系统vSphere和vCenter的灵活性和可扩展性。

数据湖

数据湖是一个保存大量不同形式数据的大型存储库,结合数据分析可以为企业带来额外价直。Hadoop是企业中常见的数据湖解决方案之一,而另一种本地解决方案是DataBricks。此外,还有基于云的大数据解决方案,如Cloudera、Google BigQuery、0racle BigData.Amazon EMR、Azure Data Lake Storage和Azure HDlnsight(基于云的Hadoop)

围绕数据湖有一个完整的技术生态,提供数据摄取管道和数据分析服务。然而,数据湖也面临着安全风险,如Hadoop的YARN服务配置错误可能导致恶意HTTP请求攻击并获得系统命令行shell。因此,需要加强对数据湖的安全管理和监控。如果拿下数据湖,相当于拿下总数据库。

企业数据库

企业数据库是存储和管理业务数据的重要工具。常见的SQL数据库包括0racleSQL、Microsoft SQL Server和MySQL等;而嵌入式SQL数据库则包括MariaDB、PostgreSQL和SQLite等。此外,还有非SQL数据库如MongoDB、Redis、Azure CosmosDB和AWS DynamoDB等它们提供了不同的数据存储和查询方式以满足企业的多样化需求。

传统存储形式

传统存储形式中,共享驱动器是一种常见的资源共享方式,它允许用户通过网络协议(如SMB/CIFS)访问远程服务器上的文件和文件夹。使用smbclient命令行工具,可以列出远程服务器上的共享资源,以及从共享资源中下载文件。例如,使用smbclient-L server -U

user命令可以列出指定服务器上的共享资源,而smbclient\\someserver\test -U

user则可以连接到名为test的共享资源,并使用get命令下载文件。

在Windows系统中,还存在一些默认的共享资源,如C(所有驱动器的默认共享)ADMIN管理共享)和IPC$(管道,用于与其他计算机互操作的特殊连接器)。这些默认共享通常用于系统管理和维护任务。

安全运营中心(SOC)与管理流程

SOC概述

S0C(Security Operations Center,安全运营中心)是企业信息安全计划的重要组成部分,它负责监控、分析和响应网络中的安全事件。为了将SOC纳入企业的整体信息安全管理体系,需要了解SOC如何适应ISMS(Information Security Management System,信息安全系管理体系)

S027001标准和NIST网络安全框架是指导企业建立运营安全程序的两个重要标准。

S027001标准提供了一种基于控制方法的审计和认证框架,而NIST网络安全框架则更注重预防和应对网络攻击,包括识别、保护、检测、响应和恢复五个阶段。然而,这些标准并没有具体提出建立SOC的要求,因此每个企业安全运营的组织方法都不尽相同。

信息安全生命周期通常包括四个阶段:安全策略、能力设计、实施和运营。戴明环(PDCA)是信息安全生命周期的早期表现,它包括计划、做、检查和行动四个步骤。而SABSA框则对信息安全生命周期进行了改进,将其划分为战略规划、设计、实施和管理测量四个阶段。

从渗透测试的角度来看,掌握SOC的日常操作活动是为了避免被检测出来;而从防御者的角度来看,掌握SOC完整的生命周期视图可以确保其有效性。SOC的目标是通过监控和事件响应为基础设施和操作提供安全保障。

SOC通常分为不同的层级,每个层级负责不同的任务。例如:

L1:提供监视告警、分类和解决小问题。

L2:提供对日常事件的分析、遏制和解决。

L3:负责损失控制、深入调查和取证分析等IR(Incident Response,事件响应)事件A

L4:安全管理,负责日常、非事件相关的程序,如开设账户、访问授权审查、定期安全报告和其他主动安全程序。

网络杀伤链

网络杀伤链模型描述了网络攻击的七个阶段,这些阶段共同构成了攻击者从信息收集到实现攻击目的的完整过程。以下是网络杀伤链的详细阶段:

侦察(Reconnaissance):攻击者对目标进行信息收集和探测,了解目标的网络架构、系统配置、潜在漏洞以及用户活动等相关情况。这一阶段旨在为后续攻击做准备。

例:信息搜集

武器化(Weaponization):根据侦察所获取的信息,攻击者将恶意软件或攻击工具进行定制和包装,使其能够利用目标系统的特定漏洞。这一阶段将普通的恶意软件或工具转化为具有攻击性的‘’武器‘’。

例:主流漏洞扫描工具有特征会被屏蔽,自行将漏洞扫描工具特征修改再进行使用(需要有代码基础)

投送(Delivery):将经过武器化处理的恶意软件或攻击工具投送到目标系统或网络中。常见的投送方式包括通过电子邮件附件、恶意链接、受感染的移动存储设备等。

例:群发钓鱼短信

利用(Exploitation):一旦投送成功,恶意软件会利用目标系统存在的漏洞来触发并行恶意代码,从而获取对目标系统的初步访问权限或控制权。

例:

安装(Installation):在成功利用漏洞进入目标系统后,攻击者会进一步在目标系统内安装额外的恶意软件组件,如后门程序、远程控制工具等。这些组件允许攻击者长期、稳定地控制目标系统。

例:持久化apt,进入后放免杀木马,,方便以后进入

指挥与控制(Command & Control):安装在目标系统内的恶意软件会与攻击者所控制的外部服务器建立连接。这一连接允许攻击者远程对目标系统下达指令、获取数据以及进行进一步的操控。

例:文件上传一句话木马后,通过蚁剑或菜刀进行远程连接

行动(Action):这是网络攻击的最后阶段。攻击者通过已经建立的指挥与控制通道目标系统上执行其预期的恶意活动,如窃取敏感信息、篡改数据、发起拒绝服务攻击等这些活动旨在达成攻击者的目的。

例:已经入侵进去之后,放进病毒,在内网进行横向移动

日志收集

日志收集是网络安全监控的基础,它涉及从各种关键日志来源收集数据。这些来源包括但不限于代理服务器、邮件服务器、Web服务器、数据库、身份认证服务器、防火墙、路由器和交换机,以及应用程序服务器和工作站。为了有效地收集这些日志,需要配置日志源以生成日志,并将其转发给日志收集器,然后上传到SIEM(安全信息和事件管理)系统。

在Windows系统中,可以使用事件日志收集和转发机制来获取日志数据。而在Linux系统中,则通常使用syslog来收集和聚合日志,并将其转发到指定的日志收集器。此外,随着物联网技术的发展,楼宇管理和工控网络日志也成为了重要的日志来源,这些系统现在通常连接到企业网络,并可能成为攻击者的主要目标。

日志搜索与分析

收集到的日志数据需要进行有效的搜索和分析,以便及时发现潜在的安全威胁。Splunk等日志管理工具提供了强大的日志收集、存储、搜索、分析和可视化功能。此外,SIEM系统能够关联日志与活动,识别可疑内容,而Splunk也可以作为SIEM解决方案之一。

监控告警

监控告警是网络安全响应的重要组成部分。告警可以来自SIEM系统,但也可以直接来自安装在系统和网络中的传感器实时告警系统,如IDS(入侵检测系统)设备。此外,事后告警系统,如AIDE(监视系统文件的修改)等,也可以提供重要的安全信息。在某些情况下,事件可能不会从日志或警报中触发,例如攻击者更改了用户密码后,用户可能会直接联系管理员进行通告。

事件响应

事件响应是网络安全管理的关键环节。L2级分析师在收到L1级的工单后,会进行分析评估,并进行相应的事件响应流程。数字取证分析是网络安全的一个专门领域,通常由L3级分析师处理。他们会对内存、硬盘等存储设备以合法方式进行取证,以保护数据的完整性。

Cyber Hunting(网络狩猎)

网络狩猎是SOC(安全运营中心)L3级分析师的一门新兴学科。它假设网络已被渗透,通过主动寻找恶意软件(或入侵者),争取在攻击造成损失之前发现。网络狩猎需要寻找一系列指标,以还原网络攻击时间线。MITRE ATT&CK框架是网络威胁猎人的一个关键资源,它提供了攻击者行为方式及其使用工具的信息,有助于发现攻击痕迹。网络威胁搜寻需要非常了解正常状态,并能够识别入侵和异常活动。

威胁情报

威胁情报是网络安全管理的重要组成部分。妥协指标(IOC)是用于识别恶意软件或恶意活动的签名,通常以文件名和哈希值的形式提供。考虑到新威胁信息的规模,手动获取和记录威胁情报已不再可行。因此,自动化威胁管理变得尤为重要。MITRE开发了结构化威胁信息表达(STIX)和可信智能信息自动交换(TAXII)协议,以实现威胁信息的自动提供和摄取。这些协议允许自动获得威胁情报,并将其输入IDS、SIEM等工具,从而实现威胁情报的近乎实时更新,以确保击败已知威胁。此外,AlienVault OTX等开放威胁交换服务也提供了手动访问危害指标的功能。

安全管理

安全管理是一组确保公司业务安全的日常流程。它涵盖了多个方面,包括身份管理(IAM)、访问控制、特权管理(PAM)、媒体消毒、人事安全、证书管理以及远程访问等。IAM是任何安全程序的基础,也是黑客攻击的主要目标。访问控制需要配置和验证用户访问系统的权限,并制定审计规则。PAM系统使非特权用户能够请求特权访问,以提升权限。媒体消毒涉及在生命周期结束时对敏感数据进行安全清理和销毁。人事安全是公认的业务安全程序之一。证书管理对于维护PKI架构的完整性至关重要。而后疫情时代,远程访问已成为攻击的重点,因此需要加强对其的安全管理。

零信任网络

概念:在2010年谷歌遭受极光行动网络攻击之后,其内部网络管理方式发生了深刻变革,并创造了“零信任”一词,用以描述一种始终假设内部网络可能已被破坏的运行方式。这种全新的安全理念在NIST特别出版物800-207:零信任架构中得到了正式确立,并现已成为所有美国政府机构必须强制实施的安全标准。

零信任架构的核心在于其四个关键特征:

即时访问(Just-In-Time Access, JITA):用户或服务在需要时才被授予访问权限,且权限具有时效性,一旦任务完成或时间过期,权限即被收回。

只需足够的访问权限(Least Privilege Access, LPA 或 JEA, Just Enough Access):用户或服务仅被授予完成特定任务所需的最小权限集,以减少潜在的安全风险。

动态访问策略:访问控制策略根据用户身份、设备状态、位置、时间等多种因素动态调整,以适应不断变化的安全环境。

微观分割:将网络划分为多个小型的、相互隔离的安全区域,以限制攻击者在网络内的横向移动能力。

安全和基础设施

在构建零信任网络的同时,还需关注以下安全和基础设施方面的要素:

数据备份/恢复:作为重要的运营技术,数据备份在发生灾难或攻击事件时,是恢复业务连续性和数据完整性的关键安全资产。

变更管理:安全策略需要与系统的变化过程紧密关联,确保在提交变更前已充分评估风险,并制定详细的变更管理计划,包括推出计划、回滚计划、影响评估和依赖关系清单。

管理物理环境:数据中心环境的物理和电子安全同样重要,包括物理访问控制、机房环境监控(如功率、温度、气压等)。

SABSA多层控制策略与管理事件响应方法

有效的事件响应机制是零信任网络不可或缺的一部分。事件管理生命周期通常包括以下几个阶段:

准备:了解系统及现有控制措施,通过培训和演练提高组织的应急响应能力。

响应:识别安全事件、进行调查、采取行动以响应事件并恢复业务服务。

后续:事后进一步调查、形成报告、总结经验教训,并据此改进安全流程和策略。

SABSA多层控制策略

SABSA(Sherwood Applied Business Security Architecture)多层控制策略提供了一种全面的安全框架,包括威慑、预防、遏制、检测和通知恢复等多个层次的控制措施。

管理事件响应的方法

NIST特别出版物800-61:计算机安全事件处理指南提供了一种标准化的事件响应方法,包括检测和分析、遏制、根除和恢复以及事件后活动等阶段。此外,PDCA(Plan-Do-Check-Act)循环也被广泛应用于事件响应生命周期的优化和持续改进中。

应急响应准备

在构建全面的应急响应体系时,我们需要从多个维度进行准备,包括但不限于风险评估、威胁分析、人员、流程和技术配置,以及持续的控制和成熟度评估。

一、风险评估与威胁分析

风险评估:深入了解组织的技术资产、系统和数据,并明确它们对业务的重要性,从而确定关键保护对象。

威胁分析:通过策略、技术和实践来识别潜在的风险点,并据此制定和实施相应的控制措施。

二、人员、流程和技术

建立团队:组建专业的应急响应团队,明确各成员的角色和责任。

配备工具:为团队提供必要的应急响应工具和设备,如日志分析工具、网络扫描器等。

制定流程剧本:针对不同类型的安全事件,制定详细的应急响应流程和剧本。

演练:定期进行应急响应演练,以提升团队的实战能力和协同效率。

三、控制

响应手册:编制应急响应手册,明确在不同安全事件发生时应执行的标准操作程序。

事前流程规避:通过制定和执行严格的安全政策和流程,尽可能减少安全事件的发生。

事中数据支持:在事件发生时,提供必要的数据支持和分析工具,帮助团队快速定位问题。

事后备份恢复:确保有可靠的数据备份和恢复机制,以便在事件发生后能够迅速恢复业务。

四、成熟度评估

CREST成熟度评估工具:利用CREST提供的成熟度评估工具,对组织的应急响应能力进行持续评估和改进。

流程培训+实践技能培训:结合理论培训和实践技能培训,提升团队的整体应急响应水平。

五、应急响应手册概述

该手册详细规定了在不同安全事件发生时应执行的标准操作程序,涵盖了扫描、托管威胁、入侵、可用性、信息、欺诈、恶意内容、恶意软件检测、技术诚信和盗窃等多个安全事件类别。每个类别下都包含了具体的应急处理流程和操作规范。

六、演练与沟通

演练:通过红蓝对抗等模拟真实攻击场景的方式,锻炼团队的应急响应能力,并验证应急计划的有效性。

沟通:在应急响应过程中,及时、充分、准确的信息沟通至关重要。沟通对象包括内部员工、外部合作伙伴、客户、媒体和政府等。

七、事件检测与响应

事件上报:一旦发现安全事件,立即进行上报。

系统监控与检查日志告警:利用系统监控工具和日志分析技术,及时发现并响应安全事件。

确定事件级别:根据事件的严重程度和影响范围,确定事件的级别。

调查事件:对事件进行深入调查,包括溯源取证等。

采取遏制措施:根据调查结果,采取必要的遏制措施,防止事件进一步扩大。

八、报告与总结

编写应急响应报告:详细记录事件的经过、处理过程和结果,以及后续的调查计划和改进建议。

经验总结与改进建议:对事件处理过程中的经验和教训进行总结,并提出针对性的改进建议。

九、入侵检测与防御

snort工具介绍

Snort:利用Snort等入侵检测和防御系统,对网络流量进行实时监控和分析,及时发现并阻止网络威胁。

流量分析:通过流量分析技术,发现恶意流量,并采取相应的告警和阻止措施。

IDS与IPS:根据实际需求,选择合适的部署方式(带外监视或串联部署),以实现更高效的入侵检测和防御。

安装依赖包与配置Snort

安装DAQ数据采集库:为Snort提供必要的数据采集支持。

安装内存分配器:确保Snort在运行过程中有足够的内存资源。

安装配置Snort3:根据实际需求,安装并配置Snort3,包括自定义规则等。

自定义规则示例:如针对发往特定系统或子网中IP地址的任何流量发出警报等。

文件管理概述(Snort规则配置)

在网络安全监控中,Snort等工具的规则配置是关键。规则定义了如何检测和处理网络流量,并触发相应的告警。这些规则包含多个字段,每个字段都扮演着特定的角色,共同确保网络活动的准确监控。

Snort规则配置字段详细描述

alert

含义:指示这是一个告警规则。当流量匹配规则时,Snort将生成告警。

示例:alert icmp any any -> $HOME_NET any (msg"Test Ping Event"; …)

icmp/tcp/udp

含义:指定要监控的协议类型(如ICMP、TCP、UDP)。

示例:alert icmp … 或 alert tcp …

any

作为源/目标IP或CIDR:表示任意IP地址。

作为源/目标端口:表示任意端口。

示例:any any(任意源IP和端口)

< >(方向运算符)

含义:指示流量的方向。

示例:-> 表示从源到目标的流量。

$HOME_NET

含义:在Snort配置中定义的本地网络。

示例:$HOME_NET 替代具体的IP范围。

msg

含义:告警的描述性名称。

示例:msg"Test Ping Event"

sid

含义:规则的唯一签名ID。

示例:sid:1000001

rev

含义:规则的版本号,用于跟踪更新。

示例:rev:1

classtype

含义:告警的分类类型。

示例:classtype:icmp-event

content

含义:在流量中查找的特定内容。

示例:content:“Login incorrect”

本地账号与Snort条件子句概述

Snort可通过设置条件子句来监控本地账号相关活动,如失败的登录尝试。当满足条件时,触发告警或执行其他操作。

具体Snort条件子句示例及解释

示例:检查失败的telnet登录尝试

规则语句:

alert tcp $HOME_NET 23 -> any any (msg:“Failed login attempt”; content:“Login incorrect”; sid:1000002; rev:1; classtype:attempted-user;)

详细解释:

协议及源目标设定:

alert tcp:针对TCP协议的告警。

$HOME_NET 23:源网络为本地网络,端口为23(Telnet)。

-> any any:流量流向任意目标IP和端口。

告警信息及分类相关:

msg:“Failed login attempt”:告警名称为“Failed login attempt”。

content:“Login incorrect”:流量中需包含“Login incorrect”字符串。

sid:1000002:规则的唯一签名ID为1000002。

rev:1:规则版本号为1。

classtype:attempted-user:告警分类为“attempted-user”。

外部规则集

相关网址:

Proofpoint:可能提供网络安全规则和建议。

Emerging Threats:提供新兴威胁相关的规则集。

In Line部署及阻断操作

In Line部署:

Snort直接介入网络流量路径,实现实时处理。

阻断操作:

D drop:丢弃符合特定条件的流量。

sdrop:类似D drop,但具体实现可能有所不同。

reject:拒绝流量并发送拒绝响应给源端。

通过综合运用Snort的规则配置、外部规则集以及In Line部署和阻断操作,可以实现对网络活动的全面、有效监控和安全防护。这要求管理员深入理解Snort的配置字段和条件子句,并能够根据实际情况灵活设置和调整规则,以确保网络的安全性和稳定性。

总结

重点突出蓝队在企业网络安全中的多种职能与责任。蓝队不仅需要了解和管理技术层面的安全措施,还需要在管理层和策略层面发挥重要作用,从身份管理到漏洞扫描、从事件响应到零信任架构的实施,蓝队的工作贯穿于企业网络安全的各个方面。

相关文章:

蓝队基础:企业网络安全架构与防御策略

声明 学习视频来自B站up主 **泷羽sec** 有兴趣的师傅可以关注一下&#xff0c;如涉及侵权马上删除文章&#xff0c;笔记只是方便各位师傅的学习和探讨&#xff0c;此文章为对视频内容稍加整理发布&#xff0c;文章所提到的网站以及内容&#xff0c;只做学习交流&#xff0c;其他…...

数据结构:栈

什么是栈&#xff1a; 栈是一种特殊的线性表&#xff0c;仅能在线性表的一端操作&#xff0c;栈顶允许操作&#xff0c;栈底不允许操作。 栈的特点是&#xff1a;先进后出&#xff0c;或者说是后进先出&#xff0c;从栈顶放入元素的操作叫入栈&#xff0c;取出元素叫出栈。 栈…...

tcp_recvmsg 函数

tcp_recvmsg 函数是 Linux 内核 TCP 栈的一部分,它主要用于处理从 TCP socket 接收数据的过程。这个函数的主要任务是从 TCP 接收队列中提取数据,并将这些数据拷贝到用户空间提供的缓冲区中。 以下是 tcp_recvmsg 函数的一般工作流程和功能解释: 函数签名和参数 int tcp_re…...

《数据结构》(应用题)

历年真题&#xff08;09~24&#xff09; 2009 最短路径&#xff08;Dijkstra青春版&#xff09; 【2009统考真题】带权图&#xff08;权值非负&#xff0c;表示边连接的两顶点间的距离&#xff09;的最短路径问题是找出从初始顶点到目标顶点之间的一条最短路径。假设从初始顶点…...

阿里内部正式开源“Spring Cloud Alibaba (全彩小册)”

年轻的毕业生们满怀希望与忐忑&#xff0c;去寻找、竞争一个工作机会。已经在职的开发同学&#xff0c;也想通过社会招聘或者内推的时机争取到更好的待遇、更大的平台。 然而&#xff0c;面试人群众多&#xff0c;技术市场却相对冷淡&#xff0c;面试的同学们不得不面临着 1 个…...

LeetCode题练习与总结:根据字符出现频率排序--451

一、题目描述 给定一个字符串 s &#xff0c;根据字符出现的 频率 对其进行 降序排序 。一个字符出现的 频率 是它出现在字符串中的次数。 返回 已排序的字符串 。如果有多个答案&#xff0c;返回其中任何一个。 示例 1: 输入: s "tree" 输出: "eert" …...

Excel VBA学习系列汇总20241205

整理几年工作中&#xff0c;实用VBA代码&#xff0c;绝对干货&#xff01; 方便自己查询&#xff0c;方便大家学习&#xff0c; 有缘人可复制使用&#xff0c;记得分享给大家免费学习哦&#xff01; 序历史文章1新学期开始&#xff0c;如何新学期开始&#xff0c;如何按成绩名次…...

给el-table表头添加icon图标,以及鼠标移入icon时显示el-tooltip提示内容

在你的代码中&#xff0c;你已经正确地使用了 el-tooltip 组件来实现鼠标划过加号时显示提示信息。el-tooltip 组件的 content 属性设置了提示信息的内容&#xff0c;placement 属性设置了提示信息的位置。 你需要确保 el-tooltip 组件的 content 属性和 placement 属性设置正…...

基于LLM智能问答系统【阿里云:天池比赛】

流程&#xff1a; 1、分别识别问题及提供的资料文件中的公司名实体&#xff0c;有公司名的走语义检索&#xff0c;无公司名的走结构化召回 2、结构化召回&#xff1a;Qwen根据问题生成sql&#xff0c;执行sql获取结果数值&#xff0c;把结果数值与问题给到Qwen生成最终结果 …...

k8s-Informer概要解析(2)

Client-go 主要用在 k8s 控制器中 什么是 k8s Informer Informer 负责与 kubernetes APIServer 进行 Watch 操作&#xff0c;Watch 的资源&#xff0c;可以是 kubernetes 内置资源对象&#xff0c;也可以 CRD。 Informer 是一个带有本地缓存以及索引机制的核心工具包&#x…...

Leetcode 3376. Minimum Time to Break Locks I

Leetcode 3376. Minimum Time to Break Locks I 1. 解题思路2. 代码实现 题目链接&#xff1a;3376. Minimum Time to Break Locks I 1. 解题思路 这一题我最开始的思路走的是贪婪算法的路子&#xff0c;优先走X的增长&#xff0c;不过很不幸失败了&#xff0c;后面还是暴力…...

介绍8款开源网络安全产品

01 HFish蜜罐 HFish是一款开源的蜜罐系统&#xff0c;用于模拟各种网络服务和应用&#xff0c;以吸引潜在的黑客攻击。它能够记录攻击尝试并收集攻击者的信息&#xff0c;从而帮助网络管理员识别潜在的威胁。HFish支持多种协议和服务&#xff0c;包括HTTP、FTP、SSH等&#…...

vue2面试题|[2024-12-5]

开题答辩终于结束了&#xff0c;又要开始我的前端面试学习啦&#xff01;&#xff01;&#xff01; 1.v-model双向绑定原理 class Vue{constructor(options){this.$options optionsthis.$watchEvent {}if(typeof options.beforeCreate function){options.beforeCreate.bind…...

共筑数字安全防线,2024开源和软件安全沙龙即将启幕

随着数字化转型进程的加快以及开源代码的广泛应用&#xff0c;开源凭借平等、开放、协作、共享的优秀创作模式&#xff0c;逐渐成为推动数字技术创新、加速传统行业转型升级的重要模式。但随着软件供应链日趋复杂多元&#xff0c;使得其安全风险不断加剧&#xff0c;针对软件供…...

目标跟踪领域经典论文解析

亲爱的小伙伴们&#x1f618;&#xff0c;在求知的漫漫旅途中&#xff0c;若你对深度学习的奥秘、JAVA 、PYTHON与SAP 的奇妙世界&#xff0c;亦或是读研论文的撰写攻略有所探寻&#x1f9d0;&#xff0c;那不妨给我一个小小的关注吧&#x1f970;。我会精心筹备&#xff0c;在…...

SQL DQL数据查询语言(后续)

SQL DQL数据查询语言&#xff08;后续&#xff09; 1.子查询 在查询语句中的WHERE条件子句中&#xff0c;又嵌套了另外一个查询语句在返回列中嵌套一个查询 where条件中嵌套 要求&#xff1a;查询课程为《高等数学-2》且分数不小于80分的学生的学号和姓名select a.StudentNo,a…...

Gitee配置SSH公钥

采用SSH协议同步Git仓库代码的好处就是高效。在配置好SSH公钥后&#xff0c;不需要每次操作都要输入用户名和密码&#xff08;主要针对命令行来说&#xff09;。 以我个人项目为例。 生成 SSH 公钥 1. 通过命令 ssh-keygen 生成 SSH Key&#xff1a; ssh-keygen -t ed25519…...

机器学习——感知机模型

文章目录 前言1.感知机模型介绍1.1基本概念1.2数学表达1.3几何解释1.4优缺点 2.二分类应用2.1应用介绍2.2准备数据集2.2.1环境检查2.2.2数据集介绍2.2.3获取数据2.2.4划分数据集 2.3可视化训练集2.4训练过程2.4.1首轮梯度下降2.4.2多轮梯度下降 2.5可视化分类结果2.6在验证集验…...

如何选择安全、可验证的技术?

澳大利亚信号局的澳大利亚网络安全中心 (ASD 的 ACSC) 发布了一份指导文件&#xff0c;题为《选择安全和可验证的技术》&#xff0c;旨在帮助组织在采购软件&#xff08;专有或开源&#xff09;、硬件&#xff08;例如物联网设备&#xff09;和云服务&#xff08;SaaS、MSP 服务…...

STL库中list的使用与迭代器的实现

STL库中list的使用与迭代器的实现 1.使用list中的部分函数assignspliceremoveuniquemeger 2.list的部分功能实现&#xff08;重点&#xff09;框架迭代器的实现 1.使用list中的部分函数 assign 功能一&#xff1a;当前链表的节点全部销毁&#xff0c;替换成迭代区间的值 功能二…...

android 常用三方框架

说实话&#xff0c; 我是比较讨厌三方框架的&#xff0c; 比如一个eventbus 底层逻辑就是个观察者模式&#xff0c;当然他的场景涵盖的比较丰富&#xff0c; 单从 单一原则来说&#xff0c; 还是一个简单的观察者模式就能解决问题&#xff0c; 何必要添加那么多文件到我们的项目…...

Browser.js断点续传上传

通过断点续传上传的方式将文件上传到OSS前&#xff0c;您可以指定断点记录点。上传过程中&#xff0c;如果出现网络异常或程序崩溃导致文件上传失败时&#xff0c;将从断点记录处继续上传未上传完成的部分。 attention&#xff1a; 1、 当您使用webpack或browserify等打包工具…...

Java项目实战II基于微信小程序的无中介租房系统(开发文档+数据库+源码)

目录 一、前言 二、技术介绍 三、系统实现 四、核心代码 五、源码获取 全栈码农以及毕业设计实战开发&#xff0c;CSDN平台Java领域新星创作者&#xff0c;专注于大学生项目实战开发、讲解和毕业答疑辅导。 一、前言 随着城市化进程的加速&#xff0c;租房市场日益繁荣&a…...

了解Cocoa Touch框架与主要组件

Cocoa Touch框架详解及其主要组件 一、Cocoa Touch框架概述 Cocoa Touch框架是苹果公司为iOS应用程序开发提供的一套完整的框架&#xff0c;它基于Cocoa框架&#xff0c;并专为触控设备如iPhone、iPad等设计。这套框架不仅包含了构建图形用户界面&#xff08;GUI&#xff09;…...

ISO45001职业健康安全管理体系涵盖了丰富的内容

范围与术语 适用范围&#xff1a;明确规定了该标准适用于任何有愿望建立、实施和保持职业健康安全管理体系的组织&#xff0c;旨在使组织能够通过管理体系的有效运行&#xff0c;预防和控制职业健康安全风险&#xff0c;持续改进职业健康安全绩效。术语定义&#xff1a;对职业…...

Spring Boot 整合 Druid 并开启监控

文章目录 1. 引言2. 添加依赖3. 配置数据源4. 开启监控功能5. 自定义 Druid 配置&#xff08;可选&#xff09;6. 访问监控页面7. 注意事项8. 总结 Druid 是一个由阿里巴巴开源的高性能数据库连接池&#xff0c;它不仅提供了高效的连接管理功能&#xff0c;还自带了强大的监控和…...

【JAVA高级篇教学】第一篇:Springboot对接通义千问大模型

博主今天打算讲解下Java如何对接阿里云的通义千问大模型&#xff0c;可以自己玩玩ai问答之类的&#xff01; 目录 一、发展历程 二、API-KEY的获取与配置 三、引用SDK 四、文本模型 1.代码 2.返回数据 3.官方代码案例 五、通义千问VL 1.计量计费 六、查看API-KEY调用额…...

【Windows 同时安装 MySQL5 和 MySQL8 - 详细图文教程】

卸载 MySQL 参考文章&#xff1a; 完美解决Mysql彻底删除并重装_怎么找到mysql并卸载-CSDN博客使用命令卸载mysql_卸载mysql服务命令-CSDN博客 先管理员方式打开 cmd &#xff0c;切换到 MySQL 安装目录的 bin 文件夹下&#xff0c;执行如下命令&#xff0c;删除 MySQL 服务 my…...

Next.js 系统性教学:深入理解缓存与数据优化策略

更多有关Next.js教程&#xff0c;请查阅&#xff1a; 【目录】Next.js 独立开发系列教程-CSDN博客 目录 前言 1. 缓存的基本概念 1.1 缓存的作用 1.2 Next.js 中的缓存策略 2. Next.js 的缓存机制 2.1 请求记忆化&#xff08;Request Memoization&#xff09; 2.1.1 什…...

JAVA数据结构

1.数组 (Array): 固定大小的容器,用于存储相同类型的元素,数组在内存中是连续存储的,支持通过索引快 速访问元素。 int[] numbers = new int[10]; numbers[0] = 1;2.Java Collections Framework (JCF) JCF提供了一组接口和类用于管理和操作集合(如列表,集合,…...

力扣第96题 不同的二叉搜索树

力扣第96题 - 不同的二叉搜索树 题目描述 给定一个整数 n&#xff0c;求以 1 到 n 为节点组成的所有 不同的二叉搜索树&#xff08;BST&#xff09; 的个数。 题目分析 二叉搜索树的性质 对于一个二叉搜索树&#xff0c;以 i 为根节点&#xff1a; 左子树的节点值来自 [1, i…...

在Ubuntu上使用IntelliJ IDEA:开启你的Java开发之旅!

你好&#xff0c;年轻的学徒&#xff01;&#x1f9d1;‍&#x1f4bb; 是时候踏上进入Java开发世界的史诗之旅了&#xff0c;我们的得力助手将是强大的IntelliJ IDEA。准备好了吗&#xff1f;出发吧&#xff01; 在我们开始之前&#xff0c;我们需要下载这个工具。但是&#…...

【C语言】18. 自定义类型:结构体类型

文章目录 前言&#xff1a;一、结构体类型的声明1、结构体回顾1&#xff09;结构的声明2&#xff09;结构体变量的创建和初始化 2、结构的特殊声明3、结构的⾃引⽤ 二、结构体变量的创建和初始化1、对⻬规则2、为什么存在内存对⻬?3、修改默认对⻬数 三、结构成员访问操作符1、…...

智能租赁管理系统助力规范化住房租赁市场提升用户体验

内容概要 在当今的住房租赁市场中&#xff0c;智能租赁管理系统应运而生&#xff0c;为房东和租客带来了前所未有的便利。这套系统就像一位全能助手&#xff0c;将租赁信息、监管机制以及在线签约功能集成在一起&#xff0c;让整个过程变得流畅而高效。换句话说&#xff0c;您…...

ERROR: KeeperErrorCode = NoNode for /hbase/master

原因分析 通过上面的情景模拟&#xff0c;我们可以看到报错的原因在于zookeeper中出现问题&#xff0c;可能是zookeeper中的/hbase/master被删除&#xff0c;或者是在hbase集群启动之后重新安装了zookeeper&#xff0c;导致zookeeper中的/hbase/master节点数据异常。 1. 停止…...

springboot第84集:Java进阶之路, Netty

# kafka-map文件夹 cd /usr/local/kafka-map # 根据需求自行修改配置 vi application.yml # 启动 java -jar kafka-map.jar byte minByte -128; byte maxByte 127; 用于表示一个 8 位&#xff08;1 字节&#xff09;有符号整数。它的值范围是 -128&#xff08;-2^7&#xff0…...

DevOps持续集成

DevOps流程 第一步安装git 关闭防火墙 systemctl stop firewalld cd /usr/loacl vim docker-compose.yml docker search gitlab 拉取gitlab镜像 2.33GB docker pull gitlab/gitlab-ce:latestvim docker-compose.yml修改docker-compose.yml version: 3.1 services:gitlab:i…...

sql server log文件

确定 SQL Server 实例中具有大量 VDF 的数据库 SELECT [name], COUNT(l.database_id) AS vlf_count FROM sys.databases AS s CROSS APPLY sys.dm_db_log_info(s.database_id) AS l GROUP BY [name] HAVING COUNT(l.database_id) > 100; 在收缩日志文件之前确定事务日志中…...

pip install报错 Missing dependencies for SOCKS support的正确解决办法:离线安装pysocks

今天准备开发python项目的时候&#xff0c;发现在pip install 的时候报错了&#xff0c;提示&#xff1a;Missing dependencies for SOCKS support&#xff0c;查遍csdn所有的回答都统一是只需要执行&#xff1a; unset all_proxy unset ALL_PROXY 然后再执行 pip install p…...

嵌入式学习(15)-stm32通用GPIO模拟串口发送数据

一、概述 在项目开发中可能会遇到串口不够用的情况这时候可以用通过GPIO来模拟串口的通信方式。 二、协议格式 按照1位起始位8位数据位1位停止位的方式去编写发送端的程序。起始位拉低一个波特率的时间&#xff1b;发送8位数据&#xff1b;拉高一个波特率的时间。 三、代码 …...

AKE 安全模型:CK, CK+, eCK

参考文献&#xff1a; [BCK98] Mihir Bellare, Ran Canetti, Hugo Krawczyk. A Modular Approach to the Design and Analysis of Authentication and Key Exchange Protocols (Extended Abstract). STOC 1998: 419-428.[CK01] Ran Canetti, Hugo Krawczyk. Analysis of Key-E…...

【Linux】通过crond服务设置定时执行shell脚本,实际执行时间却延迟了8小时

一、问题描述 通过使用crond服务设置定时任务&#xff0c;在每天凌晨的2:00执行脚本&#xff0c;但检查结果时发现&#xff0c;实际执行时间却在上午10点。 检查shell脚本执行结果发现&#xff0c;实际执行脚本时间在上午10:00&#xff0c;延迟了8小时。 检查系统时间&#xf…...

什么是云原生数据库 PolarDB?

云原生数据库 PolarDB 是阿里云推出的一款高性能、兼容性强、弹性灵活的关系型数据库产品。它基于云原生架构设计&#xff0c;结合分布式存储和计算分离的技术优势&#xff0c;为用户提供强大的计算能力、卓越的可靠性以及高性价比的数据库解决方案。PolarDB 适合各种业务场景&…...

(6)JS-Clipper2之ClipperOffset

1. 描述 ClipperOffset类封装了对打开路径和关闭路径进行偏移(膨胀/收缩)的过程。 这个类取代了现在已弃用的OffsetPaths函数&#xff0c;该函数不太灵活。可以使用不同的偏移量(增量)多次调用Execute方法&#xff0c;而不必重新分配路径。现在可以在一次操作中对开放和封闭路…...

基于51单片机64位病床呼叫系统设计( proteus仿真+程序+设计报告+原理图+讲解视频)

基于51单片机病床呼叫系统设计( proteus仿真程序设计报告原理图讲解视频&#xff09; 仿真图proteus7.8及以上 程序编译器&#xff1a;keil 4/keil 5 编程语言&#xff1a;C语言 设计编号&#xff1a;S0095 1. 主要功能&#xff1a; 基于51单片机的病床呼叫系统proteus仿…...

工业智能网关如何为企业实现智能制造赋能?

在数字化转型的浪潮中&#xff0c;工业智能网关作为连接物理世界与数字世界的桥梁&#xff0c;正逐步成为智能制造领域的核心组件。本文将通过一个实际使用案例&#xff0c;深入剖析工业智能网关如何助力企业实现生产流程的优化、数据的高效采集与分析&#xff0c;以及智能化决…...

【Spring项目】表白墙,留言板项目的实现

阿华代码&#xff0c;不是逆风&#xff0c;就是我疯 你们的点赞收藏是我前进最大的动力&#xff01;&#xff01; 希望本文内容能够帮助到你&#xff01;&#xff01; 目录 一&#xff1a;项目实现准备 1&#xff1a;需求 2&#xff1a;准备工作 &#xff08;1&#xff09;…...

Java-WebSocket

文章目录 WebSocket概念SpringBoot实现一个WebSocket示例STOMP消息订阅和发布后端主动发送消息 跨域 WebSocket概念 应用层协议&#xff0c;底层采用TCP&#xff0c;特点&#xff1a;持续连接&#xff0c;有状态&#xff0c;双向通信 当客户端想要与服务器建立WebSocket连接时…...

C#请求https提示未能为 SSL/TLS 安全通道建立信任关系

System.Net.WebException: 基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系 &#xff0c;这个错误通常表明你的应用程序在尝试建立一个安全的 SSL/TLS 连接时遇到了问题。这通常是由于证书验证失败引起的。证书验证失败可能有几个原因&#xff1a; 证书不受信任&#…...

pdf转word/markdown等格式——MinerU的部署:2024最新的智能数据提取工具

一、简介 MinerU是开源、高质量的数据提取工具&#xff0c;支持多源数据、深度挖掘、自定义规则、快速提取等。含数据采集、处理、存储模块及用户界面&#xff0c;适用于学术、商业、金融、法律等多领域&#xff0c;提高数据获取效率。一站式、开源、高质量的数据提取工具&…...