系统的安全性设计
要设计一个安全的系统,除了要了解一些前面讲到的常用的保护手段和技术措施外,还要对系统中可能出现的安全问题或存在的安全隐患有充分的认识,这样才能对系统的安全作有针对性的设计和强化,即“知己知彼,百战百胜”。
下面以物理安全、防火墙、入侵检测为例讲解系统安全中可能出现的问题及如何采取相应的措施。
一、物理安全问题与设计
物理安全包括物理设备本身是否安全可靠,还包括设备的位置与环境的安全、限制物理访问、地域因素等几个方面。
信息系统的所有重要的物理设备、设施都应该放在专门的区域,并尽可能集中,同时严格限制外来人员来访,尽可能地减少未经授权的访问。
物理安全还要求在设计中注意物理设备的冗余备份,例如,核心设备或部件都应该是热备份系统,具有实时或准实时切换的能力。
物理安全还要求严格限制对网络信息点、线缆等网络基础设施及其所在地进行物理访问,要想访问必须经过专门的授权。
物理安全还包括环境方面的因素,在设计之初就要对信息系统中的温度、湿度、灰尘、振动、雷电、电力等方面的参数有明确的要求,要对自然灾害(地震、台风、闪电等)有充分的考虑,还要对电磁泄漏等方面的要求作明确的定义。设计系统时要对这些因素全盘考虑,并采取适当的防护措施或强化手段。例如,机房这种重要的地点,除了所在的建筑物要有防雷系统外,还可以加装一套专用的防雷系统。这样可以保证即使建筑物遭到雷击时,万一建筑物的避雷系统未能充分保护好昂贵的信息系统,那么单独为机房安装的专用避雷系统也能保障机房设备免受损失。
二、防火墙及其在系统安全中的应用
网络安全隐患主要是由网络的开放性、无边界性、自由性造成的,所以保护网络安全可以首先考虑把被保护的网络从开放的、无边界的、自由的公共网络环境中独立出来,使之成为有管理的、可控制的、安全的内部网络。也只有做到这一点,实现信息网络的通信安全才有可能。
目前,最基本的网络分隔手段就是防火墙,它也是目前用来实现网络安全的一种主要措施。利用防火墙,可以用来在拒绝未经允许的网络连接、阻止敏感数据的泄漏的同时,保证合法用户的合法网络流量畅通无阻,可以实现内部可信任网络(如企业网)与外部不可信任网络(如 Internet)之间,或是内部不同子网之间的隔离与控制,保证网络系统及网络服务的可用性。
1.防火墙的基本原理
防火墙通常使用的采用包过滤、状态检测、应用网关等几种方式控制网络连接。
包过滤防火墙是一种简单而有效的安全控制技术,它根据在防火墙中预先定义的规则(允许或禁止与哪些源地址、目的地址、端口号有关的网络连接),对网络层和传输层的数据包进行检查,进而控制数据包的进出。包过滤的优点是对用户透明、传输性能高。但是由于只能在网络层、传输层进行控制,安全控制的方式也只限于源地址、目的地址和端口号这几种,对于应用层的信息无法感知,因而只能进行较为初步的安全控制,对于拥塞攻击、内存覆盖攻击或病毒等高层次的攻击手段,则无能为力。
状态检测防火墙保持了包过滤防火墙的优点,所以性能比较好,而且对应用是透明的。同时,状态检测防火墙改进了包过滤防火墙仅仅检查进出网络的数据包,不关心数据包状态的缺点,在防火墙的内部建立状态连接表,维护了连接,将进出网络的数据当成一个个的事件来处理。对于每一个网络连接,状态检测根据预先设置的安全规则,允许符合规则的连接通过,并在内存中记录下该连接的相关信息,生成状态表。对该连接的后续数据包,只要符合状态表,就可以通过。这种方式的好处在于:由于不需要对每个数据包进行规则检查,而是对一个连接的后续数据包(通常是大量的数据包)通过散列算法,直接进行状态检查,从而使得性能得到了较大提高。
与不关心应用层数的前两种方式不同,应用网关防火墙检查所有应用层的信息包,并将检查的内容信息放入决策过程,从而提高网络的安全性。然而,应用网关防火墙是通过打破客户机/服务器模式实现的。每个客户机/服务器通信需要两个连接:一个是从客户端到防火墙,另一个是从防火墙到服务器。另外,每个网关需要一个不同的应用进程,或一个后台运行的服务程序,对每个新的应用必须添加针对此应用的服务程序,否则不能使用该服务。所以,应用网关防火墙使用起来比较麻烦,而且通用性比较差。
2.防火墙的优点
在系统中使用防火墙,对于系统的安全有很多的优点:
(1)可以隔离网络,限制安全问题的扩散。防火墙可以隔离不同的网络,或者用来隔离网络中的某一个网段,这样就能够有效地控制这个网段或网络中的问题在不同的网络中传播,从而限制安全问题的扩散。
(2)通过防火墙可以对网络中的安全进行集中化管理,简化网络安全管理的复杂度。只要在防火墙上配置好过滤策略,就能使防火墙成为一个网络安全的检查站,所有进出网络的信息都需要通过防火墙,把非法访问拒于门外。从而实现安全的集中统一的管理,并且能够简化安全管理的复杂度。
(3)能够有效地记录 Internet 上的活动。因为所有进出内部网络的信息都必须通过防火墙,所以防火墙能够收集内部网络和外部网络之间或者不同网段之间所发生的事件,为管理员的进一步分析与安全管理提供依据。
3.正确使用防火墙虽然防火墙的技术日渐成熟起来,成为维护网络安全的一个重要的手段。但是,它也不能完全解决网络上的安全问题。在实际使用过程中还有一些安全性是防火墙不能实现的,在实际工作中,一般应注意如下几点:
(1)防火墙虽然能对来自外部网络的非法连接作很严格的限制,但是对来自本地网络内部的攻击却无从防范。事实上,大多数攻击不是来自外部,而是来自内部。因此,即使使用了防火墙,对本地网络内部的主机、应用系统、数据库等也要采取其他有效的措施,才能真正做到安全。
(2)即使对于来自外部的攻击,目前的任何防火墙也不能做到完全阻挡所有的非法入侵。随着各种新技术的陆续涌现,非法分子对系统的深入研究与剖析,各种新的应用需求不断被开发,防火墙本身也会受到越来越多的威胁。对这些新的动态、趋势要密切关注,不断地升级防火墙、修正完善防火墙的配置,才能使防火墙本身更加坚固,进而长久地发挥安全保护作用。
(3)防火墙不能防范病毒,无法抵御基于数据的攻击。尽管防火墙的过滤技术在不断完善,可是由于病毒的类型太多,隐藏方式也非常复杂,而且它们很多都是隐藏在数据文件中,因此要防火墙对所有的包含病毒的文件作出限制是不太现实的,而应当在系统中单独安装专门的病毒网关或者在主机上安装相应的防病毒软件、反间谍软件等工具软件,才能较好地防范此类安全隐患。
(4)防火墙不能防范全部的威胁,而只能防备已知的威胁。所以在使用过程中,应当经常根据需要配合使用入侵检测系统。
(5)防火墙不能防范不通过它的链接。防火墙可以有效地过滤经过它的信息传输,但不能防范不通过它的信息传输,例如,如果允许拨号访问防火墙后面的内部系统,则防火墙没有任何办法对它进行控制。
三、入侵检测系统
传统上,一般采用防火墙作为系统安全的边界防线。但是,随着攻击者的知识日趋丰富,攻击工具与手法的日趋复杂多样,单纯的防火墙已经无法满足对安全高度敏感的部门的需要,网络的防卫必须采用一种纵深的、多样的手段。
与此同时,当今的网络环境也变得越来越复杂,各式各样的复杂的设备,需要不断升级、补漏,系统管理员的工作不断加重,不经意的疏忽便有可能造成安全的重大隐患。所以,信息系统中存在着不少可以被攻击者所利用的安全弱点、漏洞及不安全的配置,主要表现在操作系统、网络服务、TCP/IP 协议、应用程序(如数据库、浏览器等)、网络设备等几个方面。正是这些弱点、漏洞和不安全设置给攻击者以可乘之机。
另外,由于大部分网络缺少预警防护机制,即使攻击者已经侵入到内部网络,侵入到关键的主机,并从事非法的操作,系统管理员也很难察觉到。这样,攻击者就有足够的时间来做他们想做的任何事情。
要防止和避免遭受攻击和入侵,不仅要找出网络中存在的安全弱点、漏洞和不安全的配置,然后采取相应措施解决这些弱点、漏洞,对不安全的配置进行修正,最大限度地避免遭受攻击和入侵;还要对网络活动进行实时监测,一旦监测到攻击行为或违规操作,能够及时作出反应,包括记录日志、报警甚至阻断非法连接。
在这种环境下,入侵检测(Intrusion Detection)技术受到人们愈来愈多的关注,而且已经开始在各种不同的环境中发挥其关键作用。入侵检测系统可以在系统中发生一些不正常的操作时发出警报,防患于未然。设置硬件防火墙,可以提高网络的通过能力并阻挡一般性的攻击行为;而采用入侵检测系统,则可以对越过防火墙的攻击行为及来自网络内部的违规操作进行监测和响应。
入侵检测技术IDS,通过对计算机网络或计算机系统中的若干关键点收集信息并对其进行分析,从中发现网络或系统中是否有违反安全策略的行为和被攻击的迹象。与其他安全产品不同的是,入侵检测系统需要更多的智能,它要根据智能库对收集到的数据进行分析,并采取相应措施。
作为对防火墙极其有益的补充,入侵检测系统(IDS)能够帮助人们快速发现系统攻击的发生,扩展了系统管理员的安全管理能力(包括安全审计、监视、进攻识别和响应等),提高了信息系统的安全性。入侵检测系统被认为是防火墙之后的第二道安全闸门,它能在不影响网络性能的情况下对网络进行监听,从而提供对内部攻击、外部攻击和误操作的实时保护。
入侵检测系统作为一种积极主动的安全防护工具,能够在计算机网络和系统受到危害之前进行报警、拦截和响应。其主要功能包括:通过检测和记录系统中的安全违规行为,惩罚信息系统攻击,防止入侵事件的发生;检测其他安全措施未能阻止的攻击或安全违规行为;检测黑客在攻击前的探测行为,预先给管理员发出警报;报告信息系统中存在的安全威胁;提供有关攻击的信息,帮助管理员诊断系统中存在的安全弱点,利于其进行修补。
在大型、复杂的计算机系统中布置入侵检测系统,可以明显提高信息系统安全管理的质量。
1.入侵检测技术
入侵检测系统的处理过程分为数据采集阶段、数据处理及过滤阶段、入侵分析及检测阶段、报告及响应阶段 4 个阶段。数据采集阶段主要收集目标系统中引擎提供的通信数据包和系统使用等情况。数据处理及过滤阶段是把采集到的数据转换为可以识别是否发生入侵的数据的阶段。分析及检测阶段通过分析上一阶段提供的数据来判断是否发生入侵。这一阶段是整个入侵检测系统的核心阶段。报告及响应阶段针对上一个阶段中得出的判断作出响应。如果被判断为发生入侵,系统将对其采取相应的响应措施,或者通知管理人员发生入侵,以便于采取措施。
在入侵检测系统的工作过程中,对信息系统中的各种事件进行分析,从中检测出违反安全策略的行为是入侵检测系统的核心功能。检测技术分为两类:一种是基于标识(signature-based)的入侵检测,另一种是基于异常情况(anomaly-based)的入侵检测。
基于标识的检测技术,先定义出违背安全策略的事件的特征,如网络数据包的某些头
信息等。然后对收集到的数据进行分析,通过判别这类特征是否在所收集到的数据中出现来判断是否受到入侵。此方法非常类似杀毒软件的特征码检测,比较简单有效。
而基于异常的检测技术则先定义一组系统“正常”情况的数值,如 CPU 利用率、网络流量规律、文件校验和等(这类数据可以人为定义,也可以通过观察系统,并用统计的办法得出),然后将系统运行时的数值与所定义的“正常”情况比较,得出是否有被攻击的迹象。这种检测方式的核心在于如何定义所谓的“正常”情况。
两种检测技术的方法、所得出的结论有时会有非常大的差异。基于标识的检测技术的核心是维护一个知识库。对于已知的攻击,它可以详细、准确地报告出攻击类型,但是对未知攻击却效果有限,而且知识库必须不断更新。基于异常的检测技术则无法准确判别出攻击的手法,但它可以判别更广泛,甚至未发觉的攻击。如果条件允许,两者结合的检测会达到更好的效果。
2.入侵检测系统的种类和选用
一般来说,入侵检测系统可分为主机型和网络型。
主机型入侵检测系统往往以系统日志、应用程序日志等作为数据源,当然也可以通过其他手段(如监控系统调用)从所在的主机收集信息进行分析。主机型入侵检测系统保护的一般是其所在的主机系统。主机型入侵检测系统需要为不同平台开发不同的程序,而且会增加系统负荷,还要在每一台主机安装,比较麻烦,但是可以充分利用操作系统本身提供的功能,并结合异常分析,更准确地报告攻击行为。
网络型入侵检测系统则以网络上的数据包作为数据源,通过在一台主机或网络设备上监听本网段内的所有数据包来进行分析判断。一般网络型入侵检测系统担负着保护整个网段的任务。这种系统应用十分简便:一个网段上只需安装一个或几个这样的系统,便可以监测整个网段的情况,但是它不跨越多个物理网段,对于复杂结构的网络(如交换环境)监测效果有一定影响。
主机型入侵检测系统和网络型入侵检测系统各有利弊,应用中可以根据实际需要从中选择。
相关文章:

系统的安全性设计
要设计一个安全的系统,除了要了解一些前面讲到的常用的保护手段和技术措施外,还要对系统中可能出现的安全问题或存在的安全隐患有充分的认识,这样才能对系统的安全作有针对性的设计和强化,即“知己知彼,百战百胜”。 下…...

美容店预约小程序搭建指南
随着互联网的发展,越来越多的传统行业开始尝试将业务与互联网相结合,以提供更加便捷、高效的服务。美容行业也不例外。本文将通过使用第三方制作平台,如乔拓云网,指导您如何搭建一个美观实用的美容店预约小程序,帮助您…...
AI:ElasticSearch
ElasticSearch是一款开源的分布式搜索引擎和数据分析引擎,主要用于处理海量数据并提供近实时的搜索和分析功能。它具有全文检索、结构化检索和数据分析等特点,能够满足各种复杂的搜索需求。ElasticSearch使用Java编写,可以运行在多个服务器上…...
如何用 Python 代码打包成一个可执行的 exe 文件?
将Python代码打包成可执行的EXE文件通常需要使用第三方工具,其中PyInstaller是一个流行的选择。PyInstaller可以将Python脚本打包成独立的可执行文件,无需用户安装Python解释器。 打包Python代码成EXE文件的步骤 步骤1:安装PyInstaller 首…...

【Hive】——CLI客户端(bin/beeline,bin/hive)
1 HiveServer、HiveServer2 2 bin/hive 、bin/beeline 区别 3 bin/hive 客户端 hive-site.xml 配置远程 MateStore 地址 XML <?xml version"1.0" encoding"UTF-8" standalone"no"?> <?xml-stylesheet type"text/xsl" hre…...

简约大气视频制作模板PR剪辑素材PR项目工程文件
Premiere Pro模板,简约大气视频剪辑素材PR项目工程文件(包含手机竖屏分辨率),包含24个媒体占位符和9个文本占位符。可以编辑和自定义文本占位符和媒体占位符。用来展示照片视频制作。包含视频教程。 来自PR模板网:http…...
Guarded Suspension(担保挂起)设计模式
当线程访问某个对象时,发现条件不满足,暂时挂起等待条件满足时再次访问。Guarded Suspension模式是一个非常基础的模式,主要关注(临界值)不满足时将操作的线程正确挂起,以防止出现数据不一致或者操作超过临…...

禾匠榜店商城系统 RCE漏洞复现
0x01 产品简介 禾匠榜店商城系统是浙江禾匠信息科技有限公司的一套基于PHP和MySQL的商城系统。 0x02 漏洞概述 禾匠榜店商城系统的api/testOrderSubmit模块下的preview方法存在命令执行漏洞,攻击者可以向服务器写入木马文件,直接获取服务器权限 0x03 漏洞概述 FOFA:bod…...

Python移动未标注的图片数据集
Python移动未标注的图片数据集 前言前提条件相关介绍实验环境Python移动未标注的图片数据集情况一:有图,无标注文件代码实现输出结果 情况二:有图,有标注文件,但标注信息为空代码实现输出结果 情况一与情况二同时都考虑…...

判断css文字发生了截断,增加悬浮提示
示例: 固定显示宽度,溢出显示...,利用了css的属性,想要实现成下面这样: 针对溢出的文字,hover显示全部。 提示很好加,使用tooltip组件就行了,难点是如何判断是否发生了文字溢出。…...

day33-37-SpringBootV12(整合Spring,SpringMVC,Mybatis,日志,api测试等框架)
ssm spring --> applicationContext.xml配置文件 springmvc --> springmvc.xml配置文件 mybatis —> mybatis-config.xml配置文件 —> springboot优化了之前的框架配置,思想是约定大于配置 一、引言 1.1 初始化配置 为了使用SSM框架去开发,准备SSM…...

如何处理好面试中的“压力测试”?
作为一名求职者,在面试时有时遇到的是压力测试,有时则遇到的是一些无良企业单位,究竟如何把握忍耐的限度,才合格当一个能经受压力的员工,才能避免对无良单位的一味隐忍! 压力面试是指有意制造紧张,以了解求…...

大数据----31.hbase安装启动
二.Hbase安装 先前安装: Zookeeper 正常部署 首先保证 Zookeeper 集群的正常部署,并启动之。 三台机器都执行:zkServer.sh startHadoop 正常部署 Hadoop 集群的正常部署并启动。 主节点上进行 :start-all.sh 1.HBase 的获取 一定…...

ChatGPT Plus重新开启订阅
12月14日凌晨,OpenAI首席执行官Sam Altman在社交平台宣布,终于找到了更多的GPU算力,重新开启订阅ChatGPT Plus。 上个月15日,OpenAI就因为算力不足,以及用户激增等原因暂停了ChatGPT Plus订阅。 Sam表示,在…...

C#科学绘图之scottPlot绘制多个图像
文章目录 示例移除图像图例信号图 scott系列:绘图初步 示例 从名字就能看出,ScottPlot的绘图函数AddScatter的作用是为图窗添加数据点,换言之,每调用一次AddScatter,就可以在图窗中添加一组图像。下面添加两个按钮&a…...

二百一十五、Flume——Flume拓扑结构之复制和多路复用的开发案例(亲测,附截图)
一、目的 对于Flume的复制和多路复用拓扑结构,进行一个小的开发测试 二、复制和多路复用拓扑结构 (一)结构含义 Flume 支持将事件流向一个或者多个目的地。 (二)结构特征 这种模式可以将相同数据复制到多个channe…...

Leetcode—2962.统计最大元素出现至少 K 次的子数组【中等】
2023每日刷题(五十六) Leetcode—2962.统计最大元素出现至少 K 次的子数组 滑动窗口算法思想 参考的灵神思路 实现代码 class Solution { public:long long countSubarrays(vector<int>& nums, int k) {int n nums.size();long long ans…...
MapReduce模拟统计每日车流量-解决方案
MapReduce模拟统计每日车流量-解决方案 1.Map阶段:将原始数据分割成若干个小块,每个小块由一个Map任务处理。Map任务将小块中的每个数据项映射成为一个键值对,其中键为时间戳,值为车流量。2.Shuffle阶段:将Map任务输出…...

【深度学习】强化学习(二)马尔可夫决策过程
文章目录 一、强化学习问题1、交互的对象2、强化学习的基本要素3、策略(Policy)4、马尔可夫决策过程1. 基本元素2. 交互过程的表示3. 马尔可夫过程(Markov Process)4. 马尔可夫决策过程(MDP)5. 轨迹的概率计…...

Vue.js 使用基础知识
Vue.js 是一款用于构建用户界面的渐进式框架,它专注于视图层。Vue.js 不同于传统的 JavaScript 框架,它采用了组件化的开发方式,使得开发者可以更加高效和灵活地构建交互式的 Web 应用程序。 目录 什么是 Vue.js安装 Vue.jsVue 实例模板语法插…...
基于大模型的 UI 自动化系统
基于大模型的 UI 自动化系统 下面是一个完整的 Python 系统,利用大模型实现智能 UI 自动化,结合计算机视觉和自然语言处理技术,实现"看屏操作"的能力。 系统架构设计 #mermaid-svg-2gn2GRvh5WCP2ktF {font-family:"trebuchet ms",verdana,arial,sans-…...
脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)
一、数据处理与分析实战 (一)实时滤波与参数调整 基础滤波操作 60Hz 工频滤波:勾选界面右侧 “60Hz” 复选框,可有效抑制电网干扰(适用于北美地区,欧洲用户可调整为 50Hz)。 平滑处理&…...
模型参数、模型存储精度、参数与显存
模型参数量衡量单位 M:百万(Million) B:十亿(Billion) 1 B 1000 M 1B 1000M 1B1000M 参数存储精度 模型参数是固定的,但是一个参数所表示多少字节不一定,需要看这个参数以什么…...

通过Wrangler CLI在worker中创建数据库和表
官方使用文档:Getting started Cloudflare D1 docs 创建数据库 在命令行中执行完成之后,会在本地和远程创建数据库: npx wranglerlatest d1 create prod-d1-tutorial 在cf中就可以看到数据库: 现在,您的Cloudfla…...
Java如何权衡是使用无序的数组还是有序的数组
在 Java 中,选择有序数组还是无序数组取决于具体场景的性能需求与操作特点。以下是关键权衡因素及决策指南: ⚖️ 核心权衡维度 维度有序数组无序数组查询性能二分查找 O(log n) ✅线性扫描 O(n) ❌插入/删除需移位维护顺序 O(n) ❌直接操作尾部 O(1) ✅内存开销与无序数组相…...
Frozen-Flask :将 Flask 应用“冻结”为静态文件
Frozen-Flask 是一个用于将 Flask 应用“冻结”为静态文件的 Python 扩展。它的核心用途是:将一个 Flask Web 应用生成成纯静态 HTML 文件,从而可以部署到静态网站托管服务上,如 GitHub Pages、Netlify 或任何支持静态文件的网站服务器。 &am…...

微服务商城-商品微服务
数据表 CREATE TABLE product (id bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 商品id,cateid smallint(6) UNSIGNED NOT NULL DEFAULT 0 COMMENT 类别Id,name varchar(100) NOT NULL DEFAULT COMMENT 商品名称,subtitle varchar(200) NOT NULL DEFAULT COMMENT 商…...

有限自动机到正规文法转换器v1.0
1 项目简介 这是一个功能强大的有限自动机(Finite Automaton, FA)到正规文法(Regular Grammar)转换器,它配备了一个直观且完整的图形用户界面,使用户能够轻松地进行操作和观察。该程序基于编译原理中的经典…...

sipsak:SIP瑞士军刀!全参数详细教程!Kali Linux教程!
简介 sipsak 是一个面向会话初始协议 (SIP) 应用程序开发人员和管理员的小型命令行工具。它可以用于对 SIP 应用程序和设备进行一些简单的测试。 sipsak 是一款 SIP 压力和诊断实用程序。它通过 sip-uri 向服务器发送 SIP 请求,并检查收到的响应。它以以下模式之一…...

初探Service服务发现机制
1.Service简介 Service是将运行在一组Pod上的应用程序发布为网络服务的抽象方法。 主要功能:服务发现和负载均衡。 Service类型的包括ClusterIP类型、NodePort类型、LoadBalancer类型、ExternalName类型 2.Endpoints简介 Endpoints是一种Kubernetes资源…...