防火墙技术

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

▶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盘上;二是防火墙不能防范那些已经获得超级用户权限的黑客,黑客会伪装成网络管理员,借口系统进行升级维护,询问用户个人财务系统的登录账户名称和密码;三是防火墙不能防止传送已感染病毒的软件或文件,不能期望防火墙对每一个文件进行扫描,查出潜在的计算机病毒。

相关推荐
2301_7634724618 分钟前
C++20概念(Concepts)入门指南
开发语言·c++·算法
XH华38 分钟前
备战蓝桥杯,第九章:结构体和类
学习·蓝桥杯
TechWJ40 分钟前
PyPTO编程范式深度解读:让NPU开发像写Python一样简单
开发语言·python·cann·pypto
枷锁—sha1 小时前
【SRC】SQL注入WAF 绕过应对策略(二)
网络·数据库·python·sql·安全·网络安全
Gain_chance1 小时前
35-学习笔记尚硅谷数仓搭建-DWS层最近n日汇总表及历史至今汇总表建表语句
数据库·数据仓库·hive·笔记·学习
lly2024061 小时前
C++ 文件和流
开发语言
m0_706653231 小时前
分布式系统安全通信
开发语言·c++·算法
Zach_yuan1 小时前
深入浅出 JSONCpp
linux·服务器·网络·c++
寻寻觅觅☆2 小时前
东华OJ-基础题-104-A == B ?(C++)
开发语言·c++
lightqjx2 小时前
【C++】unordered系列的封装
开发语言·c++·stl·unordered系列