[转]Linux下系统防火墙的发展历程和怎样学好防火墙(iptalbes和firewalld和nftables)
原文地址:Linux下系统防火墙的发展历程和怎样学好防火墙(iptalbes和firewalld) - Repetition_Maximum - 博客园
有关firewalld和iptables详细使用的文章
=====================================华丽的分割线=====================================
1. 认识防火墙
从逻辑上讲防火墙可以分为主机防火墙和网络防护墙。
主机防火墙:针对个别主机对出站入站的数据包进行过滤。(操作对象为个体)
网络防火墙:处于网络边缘,针对网络入口进行防护。(操作对象为整体)
从物理上讲防火墙可以分为硬件防火墙和软件防火墙。
硬件防火墙:通过硬件层面实现防火墙的功能,性能高,成本高。
软件防火墙:通过应用软件实现防火墙的功能,性能低,成本低。
2. 系统防火墙发展过程
防火墙的发展史就是从墙到链再到表,也是从简单到复杂的过程。
防火墙工具变化如下:
ipfirewall--->ipchains--->iptables-->nftables(正在推广)
Linux 2.0版内核中:包过滤机制为ipfw,管理工具是ipfwadm。
Linux 2.2版内核中:包过滤机制为ipchain,管理工具是ipchains。
Linux 2.4,2.6,3.0+版内核中:包过滤机制为netfilter,管理工具是iptables。
Linux 3.1(3.13+)版内核中:包过滤机制为netfilter,中间采取daemon动态管理防火墙,管理工具是firewalld。
# 目前低版本的firewalld通过调用iptables(command),它可以支持老的iptables规则(在firewalld里面叫做直接规则),
# 同时firewalld兼顾了iptables,ebtables,ip6tables的功能。
3. iptables和nftables
nftables
nftables诞生于2008年,2013年底合并到Linux内核,从 Linux 3.13起开始作为iptables的替代品提供给用户。
它是新的数据包分类框架,新的linux防火墙管理程序,旨在替代现存的 {ip,ip6,arp,eb}_tables,它的用户空间管理工具是nft。
由于iptables的一些缺陷,目前正在慢慢过渡用nftables替换iptables,同时由于这个新的框架的兼容性,
所以nftables也支持在这个框架上运行直接iptables这个用户空间的管理工具。
nftables实现了一组被称为表达式的指令,可通过在寄存器中储存和加载来交换数据。
也就是说,nftables的核心可视为一个虚拟机,nftables的前端工具nft可以利用内核提供的表达式去模拟旧的iptables匹配,
维持兼容性的同时获得更大的灵活性。
而未来最新的firewalld(0.8.0)默认使用将使用nftables。详情可以看www.firewalld.org
iptables、nftables和firewalld之间的区别与联系
firewalld同时支持iptables和nftables,未来最新版本(0.8.0)默认将使用nftables。
简单的说firewalld是基于nftfilter防火墙的用户界面工具。而iptables和nftables是命令行工具。
firewalld引入区域的概念,可以动态配置,让防火墙配置及使用变得简便。
准确的说:iptables(command)的最底层是netfilter,它的用户空间管理工具是iptables
nftables(command)是iptables(command) 的一个替代品并兼容iptables(command),最底层依然是netfilter,它的用户空间管理工具是nft,
同时未来firewalld最新版(0.8.0)也将默认支持nftables(command)。https://firewalld.org/
iptables会把配置好的防火墙策略交给内核层的netfilter网络过滤器来处理
firewalld会把配置好的防火墙策略交给内核层的nftables包过滤框架来处理
下图为iptables、firewalld、nftables之间的关系图:
4. centos6.X到centos7.X
centos6.X:防火墙由netfilter和iptables构成。其中iptables用于制定规则,又被称为防火墙的用户态;
而netfilter实现防火墙的具体功能,又被称为内核态。简单地讲,iptables制定规则,而netfilter执行规则。
centos7.X:防火墙在6.X防火墙的基础之上提出了新的防火墙管理工具,提出了区域的概念,通过区域定义网络链接以及安全等级。
5.怎样学好防火墙的配置?
1)OSI7层模型以及不同层对应哪些协议必须很熟悉 # 基础必备
2)TCP/IP三次握手,四次断开的过程,TCP HEADER,状态转换 # 基础必备
3)常用的服务端口要非常清楚了解。 # 基础必备
4)常用服务协议的原理,特别是http协议,icmp协议。 # 基础必备
5)能够熟练的利用tcpdump和wireshark进行抓包并分析,这样会更好 # 拓展
6)对计算机网络有研究,至少基本路由交换要很熟悉 # 拓展
6、企业中安全配置原则
尽可能不给服务器配置外网IP,可以通过代理转发或者通过防火墙映射。
并发不是特别大情况有外网IP,可以开启防火墙服务。
大并发的情况,不能开iptables,影响性能,利用硬件防火墙提升架构安全。