防火墙技术

建筑中的防火墙是为了防止火灾蔓延而设置的防火障碍。计算机中的防火墙是用于隔离本地网络与外部网络之间的一道防御系统。客户端用户一般采用软件防火墙;服务器用户一般采用硬件防火墙,网络服务器一般都放置在防火墙设备之后。

▶1.防火墙工作原理

防火墙是一种特殊路由器,它将数据包从一个物理端口路由到另外一个物理端口。防火墙主要通过检查接收数据包包头中的IP地址、端口号(如80端口)等信息,决定数据包是"通过"还是"丢弃"。这类似于单位的门卫,只检查汽车牌号,而对驾驶员和货物不进行检查。防火墙内部有一系列访问控制列表(ACL),它定义了防火墙的检测规则。

例如,在防火墙内部建立一条记录,假设访问控制列表规则为:"允许从192.168.1.0/24到192.168.20.0/24主机的80端口建立连接。"这样,数据包通过防火墙时,所有符合以上IP地址和端口号的数据包都能够通过防火墙,其他地址和端口号的数据包就会被丢弃。

▶2.防火墙的功能

(1)所有内部网络和外部网络之间交换的数据,都可以而且必须经过该防火墙。例如。学生宿舍的计算机既接入校园网,同时又接入电信外部网络时,就会造成一个网络后门,攻击信息会绕过校园网中的防火墙,攻击校园内部网络。

(2)只有防火墙安全策略允许的数据,才可以出入防火墙,其他数据一律禁止通过。例如,可以在防火墙中设置内部网络中某些重要主机(如财务部门)的IP地址,禁止这些IP地址的主机向外部网络发送数据包;阻止上班时间浏览某些网站(如游戏网站)或禁止某些网络服务(如QQ);以及阻止接收已知的不可靠信息源(如黑客网站)。

(3)防火墙本身受到攻击后,应当仍然能稳定有效的工作。例如,在防火墙中进行设置,对防火墙接收端口突然增加的巨量数据包进行随机丢包处理。

(4)防火墙应当有效地过滤、筛选和屏蔽一切有害的信息和服务。例如,在防火墙中检测和区分正常邮件与垃圾邮件,屏蔽和阻止垃圾邮件的传输。

(5)防火墙应当能隔离网络中的某些网段,防止一个网段的故障传播到整个网络。例如,在防火墙中对外部网络访问区(DMZ,非军事区)和内部网络访问区(LAN)采用不同网络接口,一旦外部网络访问区(DMZ)崩溃,不会影响到内部网络的使用。

(6)防火墙应当可以有效地记录和统计网络的使用情况。

▶3.防火墙的类型

硬件防火墙可以是一台独立的硬件设备;也可以在一台路由器上,经过软件配置成为一台具有安全功能的防火墙。防火墙还可以是一个纯软件,如一些个人防火墙软件等。软件防火墙的功能强于硬件防火墙,硬件防火墙的性能高于软件防火墙。按技术类型可分为包过滤型防火墙、代理型防火墙或混合型防火墙。

(6)防火墙应当可以有效地记录和统计网络的使用情况。

▶4.防火墙的局限性

防火墙技术存在以下局限性:一是防火墙不能防范网络内部攻击,例如,防火墙无法禁止内部人员将企业敏感数据拷贝到U盘上;二是防火墙不能防范那些已经获得超级用户权限的黑客,黑客会伪装成网络管理员,借口系统进行升级维护,询问用户个人财务系统的登录账户名称和密码;三是防火墙不能防止传送已感染病毒的软件或文件,不能期望防火墙对每一个文件进行扫描,查出潜在的计算机病毒。

相关推荐
我材不敲代码3 小时前
Python实现打包贪吃蛇游戏
开发语言·python·游戏
身如柳絮随风扬4 小时前
Java中的CAS机制详解
java·开发语言
韩立学长6 小时前
【开题答辩实录分享】以《基于Python的大学超市仓储信息管理系统的设计与实现》为例进行选题答辩实录分享
开发语言·python
树℡独6 小时前
ns-3仿真之应用层(五)
服务器·网络·tcp/ip·ns3
froginwe116 小时前
Scala 循环
开发语言
m0_706653236 小时前
C++编译期数组操作
开发语言·c++·算法
故事和你917 小时前
sdut-Java面向对象-06 继承和多态、抽象类和接口(函数题:10-18题)
java·开发语言·算法·面向对象·基础语法·继承和多态·抽象类和接口
Bruk.Liu7 小时前
(LangChain实战2):LangChain消息(message)的使用
开发语言·langchain
qq_423233907 小时前
C++与Python混合编程实战
开发语言·c++·算法
m0_715575347 小时前
分布式任务调度系统
开发语言·c++·算法