防火墙技术与网络安全
网络已经成为了人类所构建的最丰富多彩的虚拟世界,网络的迅速发展,给我们的工作和学习生活带来了巨大的改变。我们通过网络获得信息,共享资源。如今,Internet遍布世界任何一个角落,并且欢迎任何一个人加入其中,相互沟通,相互交流。随着网络的延伸,安全问题受到人们越来越多的关注。在网络日益复杂化,多样化的今天,如何保护各类网络和应用的安全,如何保护信息安全,成为了本文探讨的重点。
几乎所有接触网络的人都知道网络中有一些费尽心机闯入他人计算机系统的人,他们利用各种网络和系统的漏洞,非法获得未授权的访问信息。不幸的是如今攻击网络系统和窃取信息已经不需要什么高深的技巧。网络中有大量的攻击工具和攻击文章等资源,可以任意使用和共享。不需要去了解那些攻击程序是如何运行的,只需要简单的执行就可以给网络造成巨大的威胁。甚至部分程序不需要人为的参与,非常智能化的扫描和破坏整个网络。这种情况使得近几年的攻击频率和密度显著增长,给网络安全带来越来越多的安全隐患。
我们可以通过很多网络工具,设备和策略来保护不可信任的网络。其中防火墙是运用非常广泛和效果最好的选择。它可以防御网络中的各种威胁,并且做出及时的响应,将那些危险的连接和攻击行为隔绝在外。从而降低网络的整体风险。
防火墙的基本功能是对网络通信进行筛选屏蔽以防止未授权的访问进出计算机网络,简单的概括就是,对网络进行访问控制。绝大部分的防火墙都是放置在可信任网络(Internal)和不可信任网络(Internet)之间。
防火墙一般有三个特性:
A、所有的通信都经过防火墙。
B、防火墙只放行经过授权的网络流量。
C、防火墙能经受的住对其本身的攻击。
我们可以看成防火墙是在可信任网络和不可信任网络之间的一个缓冲,防火墙可以是一台有访问控制策略的路由器(Route+ACL),一台多个网络接口的计算机,服务器等,被配置成保护指定网络,使其免受来自于非信任网络区域的某些协议与服务的影响。所以一般情况下防火墙都位于网络的边界,例如保护企业网络的防火墙,将部署在内部网络到外部网络的核心区域上。
为什么要使用防火墙?很多人都会有这个问题,也有人提出,如果把每个单独的系统配置好,其实也能经受住攻击。遗憾的是很多系统在缺省情况下都是脆弱的。最显著的例子就是Windows系统,我们不得不承认在Windows 2003以前的时代,Windows默认开放了太多不必要的服务和端口,共享信息没有合理配置与审核。如果管理员通过安全部署,包括删除多余的服务和组件,严格执行NTFS权限分配,控制系统映射和共享资源的访问,以及帐户的加固和审核,补丁的修补等。做好了这些,我们也可以非常自信的说,Windows足够安全。也可以抵挡住网络上肆无忌惮的攻击。但是致命的一点是,该服务器系统无法在安全性,可用性和功能上进行权衡和妥协。
对于此问题我们的回答是:“防火墙只专注做一件事,在已授权和未授权通信之间做出决断。”
如果没有防火墙,粗略的下个结论,就是:整个网络的安全将倚仗该网络中所有系统的安全性的平均值。遗憾的是这并不是一个正确的结论,真实的情况比这更糟:整个网络的安全性将被网络中最脆弱的部分所严格制约。即非常有名的木桶理论也可以应用到网络安全中来。没有人可以保证网络中每个节点每个服务都永远运行在最佳状态。网络越庞大,把网络中所有主机维护至同样高的安全水平就越复杂,将会耗费大量的人力和时间。整体的安全响应速度将不可忍受,最终导致网络安全框架的崩溃。
防火墙成为了与不可信任网络进行联络的唯一纽带,我们通过部署防火墙,就可以通过关注防火墙的安全来保护其内部的网络安全。并且所有的通信流量都通过防火墙进行审记和保存,对于网络安全犯罪的调查取证提供了依据。总之,防火墙减轻了网络和系统被用于非法和恶意目的的风险。
对于企业来说,防火墙将保护以下三个主要方面的风险:
A、机密性的风险。
B、数据完整性的风险。
C、用性的风险。
我们讨论的防火墙主要是部署在网络的边界(Network Perimeter),这个概念主要是指一个本地网络的整个边界,表面看起来,似乎边界的定义很简单,但是随着虚拟专用网络(VPN)的出现,边界这个概念在通过VPN拓展的网络中变的非常模糊了。在这种情况下,我们需要考虑的不仅仅是来自外部网络和内部网络的威胁,也包含了远程VPN客户端的安全。因为远程VPN客户端的安全将直接影响到整个防御体系的安全。
防火墙的主要优点如下:
A、防火墙可以通过执行访问控制策略而保护整个网络的安全,并且可以将通信约束在一个可管理和可靠性高的范围之内。
B、防火墙可以用于限制对某些特殊服务的访问。
C、防火墙功能单一,不需要在安全性,可用性和功能上做取舍。
D、防火墙有审记和报警功能,有足够的日志空间和记录功能,可以延长安全响应的周期。
同样的,防火墙也有许多弱点:
A、不能防御已经授权的访问,以及存在于网络内部系统间的攻击。
B、不能防御合法用户恶意的攻击.以及社交攻击等非预期的威胁。
C、不能修复脆弱的管理措施和存在问题的安全策略。
D、不能防御不经过防火墙的攻击和威胁。
现代企业对网络依赖主要来自于运行在网络上的各种应用,同样的,网络的范围也覆盖到整个企业的运营区域。我们将分析一个典型的企业网络,从结构,应用,管理,以及安全这几个层次来探讨一下对企业来说,如何去实现真正的网络安全。
在开始之前,我们首先必须面对一个事实,绝对的安全是没有的。我们所能做的,是减少企业所面临的安全风险,延长安全的稳定周期,缩短消除威胁的反映时间。网管与安全人员需要解决的是来自内部和外部的混合威胁,是蓄意或无意的攻击和破坏,是需要提高整体安全防范意识与科学的协调和管理。客观的去分析现今的企业网络,我们不难发现,在经历了普及终端和网络互联的时代后,我们面对的问题还有很多,如客户端的非法操作,对网络的不合法的访问与利用;网络结构的设计缺陷与混杂的部署环境;网络边界与关键应用的区域缺乏必要的防御措施和审记系统等等。下面我们来逐一分析,并提供相应的产品解决方案与安全建议。
首先是网络内部,即面向企业内部员工的工作站,我们不能保证用户每一次操作都是正确与安全的,绝大情况下,他们仅知道如何去使用面前的计算机来完成属于自己的本职工作。而对于其他,比如病毒,木马,间谍程序,恶意脚本,往往通过内部网络中某一台工作站的误操作而进入到网络并且迅速的蔓延。如访问非法网站,下载或运行不可信程序,使用移动设备复制带有病毒的文件等看似平常的操作。由于如今流行的操作系统存在大量的漏洞与缺陷,并且新的漏洞与利用各种漏洞的蠕虫变种层出不穷,网络的迅速发展,也给这类威胁提供高速繁殖的媒介。特别是企业内部拥有高速的网络环境,给各种威胁的扩散与转移提供了可能。现在人们都通过安装防病毒软件来防御病毒的威胁,但是面对蠕虫和木马程序,后门程序等,防病毒并不能起到很显著的效果,例如蠕虫病毒,一般都是利用操作系统中存在的缺陷和漏洞来攻击与传播的,即使安装了防病毒软件,也没有修补操作系统本身的漏洞,安全威胁从根本上没有被消除。并且随着蠕虫的不断攻击,防病毒系统将会调用大量的系统资源来修复和防御蠕虫攻击后修改的系统文件,频繁的对文件系统进行扫描与恢复。这样也无形的增加了系统的不稳定性,影响了系统的可用性,最关键的是,蠕虫攻击在仍然在网络中传播,给交换机,路由器带来持续的压力和威胁。另外,客户端感染威胁的途径是多种多样的,比如Internet Explorer浏览器漏洞,可以利用VBS恶意脚本,BMP图片木马,ActiveX控件后门程序等,通过各类嵌入攻击代码的网页,在浏览者毫不知情的情况下,后台进驻到操作系统中,修改注册表和系统设置,种植后门程序,收集用户信息和资料。这一切都会给工作站造成无法估量的安全风险。一旦工作站遭到攻击与控制,就很可能威胁到整个内部网络和核心区域,所以我们说,保护好工作站的安全,是企业网络安全的一个重要部分。
通过上面简单的分析和举例,工作站的安全工作主要包含如下几个方面:桌面防病毒,桌面防火墙,系统补丁管理,系统授权与审核,软件使用许可监控和网络访问控制。从如今市场上流行的解决桌面安全的产品中,从保护用户系统的稳定性与可用性以及综合安全的角度,我们选择Symantec公司的Symantec Client Security 2.0 作为桌面防病毒和防火墙的集成安全解决方案。该产品最大的优势是不存在互操作性问题,SCS 2.0将防病毒,防火墙与桌面入侵检测完美结合,提供如今防御混合性威胁最佳组合。采用来自不同厂商的多种单点产品使得全面防护变为一项极为复杂甚至根本不可能的任务,因为跨厂商的互操作性问题往往会存在漏洞,从而使威胁乘虚而入危及安全性。此外,当病毒发作时,必须针对各种不同的技术,对每个厂商提供的修复方案进行测试和验证。这样就降低了对攻击的反应速度,并潜在地增加了成本。
网络的核心区域包括核心交换机,核心路由器等重要设备,它们负担整个网络的核心数据的转发,并且连接着DMZ区的各个关键应用,如OA系统,ERP系统,CRM系统,对内或对外的Web服务器,数据库服务器等。从安全的角度来说,这个区域是最关键的,也是风险最集中的区域。我们遇到的矛盾是,既要不影响DMZ区应用的可用性和友好性,又要保证其访问的安全性与审核。很多情况下我们不但要在网络的边界部署防火墙,也要在这个区域部署为保护DMZ等类似的关键区域的防火墙。
存在的矛盾:如果部署安全策略,在提高安全性的同时,势必会影响其可用性。这个矛盾是不可调和的。
与边界防火墙不同的是,关键区域的防火墙主要是面对内部用户,保护重要服务和资源的访问控制与完善安全日志的收集。边界防火墙不仅仅要防御来自外部的各种威胁,比如扫描,渗透,入侵,拒绝服务攻击等攻击,也要提供诸如NAT服务,出站控制,远程VPN用户和移动用户访问的授权等。我们可以将各种防御的职能根据网络的结构和提供的应用来分派到两类防火墙上来。即内部防火墙重点保护DMZ区域,提供深层次的检测与告警。因为一旦涉及到数据包深入检测,将会大大影响设备的性能。而这是对边界防火墙要求高性能数据过滤和转发,不成为出口瓶颈所不能容忍的。管理人员应该先充分了解网络的特点与用途,结合设备与现有的网络环境灵活部署,才能达到较高可用性与安全性的平衡。
如今的防火墙的功能越来越强大,这里我们选择业界一流的防火墙CheckPoint的Stateful Inspection(状态检测技术)和Web Intelligence(Web智能技术)来简单介绍下对于防火墙的智能防御与Web安全保护。
简单来说,状态检测技术工作在OSI参考模型的Data Link与Network层之间,数据包在操作系统内核中,在数据链路层和网络层时间被检查。防火墙会生成一个会话的状态表,Inspect Engine检测引擎依照RFC标准维护和检查数据包的上下文关系。该技术是CheckPoint发明的专利技术。对状态和上下文信息的收集使得CheckPoint防火墙不仅能跟踪TCP会话,也能智能处理无连接协议,如UDP或RPC。这样就保证了在任何来自服务器的数据被接受前,必须有内部网络的某一台客户端发出了请求,而且如果没有受到响应,端口也不会处于开放的状态。状态检测对流量的控制效率是很高的,同时对于防火墙的负载和网络数据流增加的延迟也是非常小。可以保证整个防火墙快速,有效的控制数据的进出和做出控制决策。
在Web环境中,威胁来自于多个方面,从端点到传输到边界,最后到达Web服务器和后台数据库。这一系列的数据交换将会引发大量的安全问题。传统的防火墙的功能对于Web的保护相当有限,比如,无法深入检测HTTP的内容,不能理解Web应用的上下文,性能低下,无法提前部署与防御等等。CheckPoint的Web Intelligence,有一种名为Malicious Code Protector(可疑代码防护器)来提供对应用层的保护。比如,Web会话是否符合RFC的标准不能包含二进制数据;协议使用是否为预期或典型的;应用是否引入了有害的数据或命令;应用是否执行了未授权的操作或引入了有害的可执行代码等。如何去判断上述的一些威胁呢?MCP使用了通过分拆及分析嵌入在网络传输中的可执行代码,模拟行来判断攻击,将可执行代码放置到一个虚拟的仿真服务器中运行,检测是否对虚拟系统造成威胁,最终来决定是否定义为攻击行为。该技术最大的优势是可以非常精确的阻止已知和未知攻击,并且误报率相当低。
通过多种技术的协同防护,可以保证在网络边界对访问进行控制,但是,随着VPN网络和远程移动办公用户的接入增多,网络边界的概念在如今已经非常模糊了。很明显的,网络的边界已经拓展到实际用户的桌面端。所以还是回到了我们文章一开始谈到的,网络安全是需要综合的部署和完善的策略来做保证的。企业的网络安全是一项综合性很强的工作,并且持续的时间将随着整个拓扑和应用的周期而扩展。
相关文章:
防火墙技术与网络安全
网络已经成为了人类所构建的最丰富多彩的虚拟世界,网络的迅速发展,给我们的工作和学习生活带来了巨大的改变。我们通过网络获得信息,共享资源。如今,Internet遍布世界任何一个角落,并且欢迎任何一个人加入其中…...
html 中 表格和表单的关系与区别
在 HTML 中,表格 (<table>) 和表单 (<form>) 是两种常用于展示数据和收集用户输入的元素。它们具有不同的功能和结构。以下是关于这两者的详细介绍: 1. HTML 表格(<table>) 表格用于展示结构化的数据…...
基于Java的购物网站毕业论文
标题:基于 Java 的购物网站 内容:1.研究背景 1.1.国内研究进展 近年来,随着我国电子商务市场的不断发展,越来越多的企业开始涉足电子商务领域。其中,基于 Java 的购物网站成为了众多企业的首选。Java 语言具有跨平台、安全性高、稳定性好等优…...
Redis——缓存预热+缓存雪崩+缓存击穿+缓存穿透
文章目录 1、 缓存预热2、 缓存雪崩3、 缓存击穿4、 缓存穿透总结 1、 缓存预热 什么是预热: mysql加入新增100条记录,一般默认以mysql为准作为底单数据,如何同步给redis(布隆过滤器)这100条新数据。 为什么需要预热…...

wxWidgets使用wxStyledTextCtrl(Scintilla编辑器)的正确姿势
开发CuteMySQL/CuteSqlite开源客户端的时候,需要使用Scintilla编辑器,来高亮显示SQL语句,作为C/C领域最成熟稳定又小巧的开源编辑器,Scintilla提供了强大的功能,wxWidgets对Scintilla进行包装后的是控件类:…...

【ETCD】【实操篇(二)】如何从源码编译并在window上搭建etcd集群?
要在 Windows 上编译 etcd 及 etcdctl 工具,并使用 bat 脚本启动 etcd 集群,首先需要准备好开发环境并确保依赖项正确安装。下面是从 etcd 3.5 源码开始编译和启动 etcd 集群的详细步骤: 目录 1. 安装 Go 环境2. 获取 etcd 源码3. 编译 etcd…...

服务器数据恢复—V7000存储中多块磁盘出现故障导致业务中断的数据恢复案例
服务器存储数据恢复环境: 一台V7000存储上共12块SAS机械硬盘(其中1块是热备盘),组建了2组Mdisk,创建了一个pool。挂载在小型机上作为逻辑盘使用,小型机上安装的AIXSybase。 服务器存储故障: V7…...

冯诺依曼架构与哈佛架构的对比与应用
冯诺依曼架构(Von Neumann Architecture),也称为 冯诺依曼模型,是由著名数学家和计算机科学家约翰冯诺依曼(John von Neumann)在1945年提出的。冯诺依曼架构为现代计算机奠定了基础,几乎所有现代…...

Hive其四,Hive的数据导出,案例展示,表类型介绍
目录 一、Hive的数据导出 1)导出数据到本地目录 2)导出到hdfs的目录下 3)直接将结果导出到本地文件中 二、一个案例 三、表类型 1、表类型介绍 2、内部表和外部表转换 3、两种表的区别 4、练习 一、Hive的数据导出 数据导出的分类&…...
CMake function使用
在 CMake 中,function 用于定义一个可复用的代码块,可以在 CMake 脚本中多次调用。它类似于其他编程语言中的函数。函数内的变量默认是局部的,不会影响外部的变量,除非显式地使用 PARENT_SCOPE 来修改父级作用域中的变量。 基本语…...

【AI学习】Huggingface复刻Test-time Compute Scaling技术
OpenAI ChatGPT o1 背后的关键技术Test-time Compute Scaling,Huggingface实现并开源了! Hugging Face 团队发布了一篇关于“开源模型中的推理阶段计算扩展”(Test-time Compute Scaling) 的研究文章。Hugging Face 团队通过复现…...
前端导出PDF的组件及方法
前端导出PDF的组件及方法 在Web应用程序中,导出PDF文件是一项常见的需求。无论是为了打印、分享还是存档,能够将网页内容转换为PDF格式都非常有用。幸运的是,前端开发者有多种方法和组件可以实现这一功能。在本文中,我们将详细介…...

Mac升级macOS 15 Sequoia后,无法ssh连接本地虚拟机
现象 macOS 15后,无法ssh连接本地启动的虚拟机,提示错误: No route to host,也ping不通。包括UTM、Parallels Desktop这两个虚拟机软件。之前都是没问题的,通过一些简单排查,目前没发现什么问题。 在虚拟…...

Pytorch | 利用MI-FGSM针对CIFAR10上的ResNet分类器进行对抗攻击
Pytorch | 利用MI-FGSM针对CIFAR10上的ResNet分类器进行对抗攻击 CIFAR数据集MI-FGSM介绍背景算法原理 MI-FGSM代码实现MI-FGSM算法实现攻击效果 代码汇总mifgsm.pytrain.pyadvtest.py 之前已经针对CIFAR10训练了多种分类器: Pytorch | 从零构建AlexNet对CIFAR10进行…...
linux 无网络安装mysql
下载地址 通过网盘分享的文件:mysql-5.7.33-linux-glibc2.12-x86_64.tar.gz 链接: https://pan.baidu.com/s/1qm48pNfGYMqBGfoqT3hxPw?pwd0012 提取码: 0012 安装 解压 tar -zxvf mysql-5.7.33-linux-glibc2.12-x86_64.tar.gz mv /usr/mysql-5.7.33-linux-glibc2.1…...

自毁程序密码—阿里聚安全(IDA动态调试)
App信息 包名:com.yaotong.crackme Java层分析 MainActivity 很容易就能看出来是在securityCheck函数里进行安全校验。securityCheck是一个native函数,到so中进行分析。 SO层分析 定位函数位置 在导出函数里搜索 securityCheck 数据类型修复和…...
【华为OD-E卷-寻找关键钥匙 100分(python、java、c++、js、c)】
【华为OD-E卷-寻找关键钥匙 100分(python、java、c、js、c)】 题目 小强正在参加《密室逃生》游戏,当前关卡要求找到符合给定 密码K(升序的不重复小写字母组成) 的箱子,并给出箱子编号,箱子编…...

vscode 使用说明
文章目录 1、文档2、技巧显示与搜索宏定义和包含头文件 3、插件4、智能编写5、VSCode 与 C(1)安装(2)调试(a)使用 CMake 进行跨平台编译与调试(b)launch.json(cÿ…...

【Linux系统编程】:信号(2)——信号的产生
1.前言 我们会讲解五种信号产生的方式: 通过终端按键产生信号,比如键盘上的CtrlC。kill命令。本质上是调用kill()调用函数接口产生信号硬件异常产生信号软件条件产生信号 前两种在前一篇文章中做了介绍,本文介绍下面三种. 2. 调用函数产生信号 2.1 k…...

Android Studio AI助手---Gemini
从金丝雀频道下载最新版 Android Studio,以利用所有这些新功能,并继续阅读以了解新增内容。 Gemini 现在可以编写、重构和记录 Android 代码 Gemini 不仅仅是提供指导。它可以编辑您的代码,帮助您快速从原型转向实现,实现常见的…...

工业安全零事故的智能守护者:一体化AI智能安防平台
前言: 通过AI视觉技术,为船厂提供全面的安全监控解决方案,涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面,能够实现对应负责人反馈机制,并最终实现数据的统计报表。提升船厂…...

Docker 运行 Kafka 带 SASL 认证教程
Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明:server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...

CMake基础:构建流程详解
目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...

现代密码学 | 椭圆曲线密码学—附py代码
Elliptic Curve Cryptography 椭圆曲线密码学(ECC)是一种基于有限域上椭圆曲线数学特性的公钥加密技术。其核心原理涉及椭圆曲线的代数性质、离散对数问题以及有限域上的运算。 椭圆曲线密码学是多种数字签名算法的基础,例如椭圆曲线数字签…...
【python异步多线程】异步多线程爬虫代码示例
claude生成的python多线程、异步代码示例,模拟20个网页的爬取,每个网页假设要0.5-2秒完成。 代码 Python多线程爬虫教程 核心概念 多线程:允许程序同时执行多个任务,提高IO密集型任务(如网络请求)的效率…...

Springboot社区养老保险系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,社区养老保险系统小程序被用户普遍使用,为方…...

算法:模拟
1.替换所有的问号 1576. 替换所有的问号 - 力扣(LeetCode) 遍历字符串:通过外层循环逐一检查每个字符。遇到 ? 时处理: 内层循环遍历小写字母(a 到 z)。对每个字母检查是否满足: 与…...
第7篇:中间件全链路监控与 SQL 性能分析实践
7.1 章节导读 在构建数据库中间件的过程中,可观测性 和 性能分析 是保障系统稳定性与可维护性的核心能力。 特别是在复杂分布式场景中,必须做到: 🔍 追踪每一条 SQL 的生命周期(从入口到数据库执行)&#…...

wpf在image控件上快速显示内存图像
wpf在image控件上快速显示内存图像https://www.cnblogs.com/haodafeng/p/10431387.html 如果你在寻找能够快速在image控件刷新大图像(比如分辨率3000*3000的图像)的办法,尤其是想把内存中的裸数据(只有图像的数据,不包…...
上位机开发过程中的设计模式体会(1):工厂方法模式、单例模式和生成器模式
简介 在我的 QT/C 开发工作中,合理运用设计模式极大地提高了代码的可维护性和可扩展性。本文将分享我在实际项目中应用的三种创造型模式:工厂方法模式、单例模式和生成器模式。 1. 工厂模式 (Factory Pattern) 应用场景 在我的 QT 项目中曾经有一个需…...