iptables防火墙

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iptables防火墙相关的知识,希望对你有一定的参考价值。

防火墙的几个知识点

1、防火墙的概念  
2、iptables的基本认识
3、iptables的组成
4、iptables的基本语法
5、iptables之forward的概念
6、iptables之地址转换法则
7、SNAT源地址转换的具体实现
8、DNAT目标地址转换的具体实现
9、firewalld介绍
10、firewalld配置命令
11、rich规则

防火墙概念

    防火墙一般分为硬件防火墙和软件防火墙。但实际上,不管是硬件和软件防火墙,它们都需要使用硬件来作为联机介质,
    也需要使用软件来设定安全政策,严格来说,两者间的差别并不太大,因此只能从使用的硬件与操作系统来加以区分:硬件防火墙使用专用的硬件,
    而软件式防火墙则使用一般的计算机硬件、硬件防火墙使用专有的操作系统,而软件式防火墙则使用一般的操作系统。
    根据工作方式,防火墙还是可以分为封包过滤式防火墙,应用层网关防火墙两种,其中广为采用的是封包过滤式防火墙,本次介绍的iptables防火墙就属于这一种。
    iptables是Linux系统内嵌的一个防火墙软件,它集成在系统内核中,因此执行效率非常高。iptables通过设置一些封包过滤规则,来定义什么数据可以接受,什么数据需要拒绝,因此,用户通过iptables可以对进出计算机的数据包进行IP过滤以达到保护主机的目的。

1、安全技术:
        检测与管理系统(Intrusion Detection Systems):
            特点是不阻断任何网络访问,量化、定位来自内外网络的威胁情况,主要以提供报告和事后监督为主,提供有针对性的指导措施和安全决策依据。一般采用旁路部署方式
        防御系统(Intrusion Prevention System):
            以透明模式工作,分析数据包的内容如:溢出***、拒绝服务***、***、蠕虫、系统漏洞等进行准确的分析判断,在判定为***行为后立即予以阻断,主动而有效的保护网络的安全,一般采用在线部署方式
        防火墙(FireWall):
            隔离功能,工作在网络或主机边缘,对进出网络或主机的数据包基于一定的规则检查,并在匹配某规则时由规则定义的行为进行处理的一组功能的组件,基本上的实现都是默认情况下关闭所有的通过型访问,只开放允许访问的策略
            一般而然,对一台主机来讲网络通信就是通过网络通信接口设备,一般叫做网卡,通过报文交换来实现
            而主机所谓的防火墙,无非就是对此类的报文通信的来回交换给它予以隔离,称为"防火墙"
            防火墙功能本身是如何具体实施规则的,是需要用户根据自己的实际需求进行设置的
            防火墙防火是靠报文过滤实现的(Packet filter)
            定义一些特殊的访问行为特征

2、防火墙的分类:
        防火墙的分类
            主机防火墙:
                服务范围为当前主机
            网络防火墙:
                服务范围为防火墙一侧的局域网
            硬件防火墙:
                在专用硬件级别实现部分功能的防火墙;另一个部分功能基于软件实现,Checkpoint,NetScreen
            软件防火墙:
                运行于通用硬件平台之上的防火墙的应用软件
            网络层防火墙:
                OSI模型下四层
            应用层防火墙/代理服务器:
                代理网关,OSI模型七层

            要想达到识别越透彻目的,所消耗的时间成本就越大,这是必然的
            从平均的角度来讲,因此应用层防火墙和网络层防火墙的主要区别在于:
                网络层防火墙性能好、但是识别的精确度就没有应用层那样高,但是应用层的识别很显然,它们对于时间的消耗或者对用户的访问带来的延迟略大、越长

3、网络型防火墙:
        包过滤防火墙
        网络层对数据包进行选择,选择的依据是系统内设置的过滤逻辑,被称为访问控制列表(ACL),通过检查数据流中每个数据的源地址,目的地址,所用端口号和协议状态等因素,或他们的组合来确定是否允许该数据包通过
        优点:
            对用户来说透明,处理速度快且易于维护
        缺点:
            无法检查应用层数据,如病毒等

技术分享图片

4、应用层防火墙:
        应用层防火墙/代理服务型防火墙(Proxy Service)
            将所有跨越防火墙的网络通信链路分为两段
            内外网用户的访问都是通过代理服务器上的“链接”来实现
            优点:在应用层对数据进行检查,比较安全
            缺点:增加防火墙的负载
        现实生产环境中所使用的防火墙一般都是二者结合体
            即先检查网络数据,通过之后再送到应用层去检查
            端口代表进程地址

技术分享图片

iptables的基本认识

1、Netfilter组件:
    内核空间,集成在linux内核中
    扩展各种网络服务的结构化底层框架
    内核中选取五个位置放了五个hook(勾子) function(INPUT、OUTPUT、FORWARD、PREROUTING、POSTROUTING),而这五个hook function向用户开放,用户可以通过一个命令工具(iptables)向其写入规则
    由信息过滤表(table)组成,包含控制IP包处理的规则集(rules),规则被分组放在链(chain)上
2、三种报文流向:
    流入本机:
        PREROUTING --> INPUT-->用户空间进程
    流出本机:
        用户空间进程-->OUTPUT--> POSTROUTING
    转发:
        PREROUTING --> FORWARD --> POSTROUTING
3、防火墙工具
4、iptables
    命令行工具,工作在用户空间
    用来编写规则,写好的规则被送往netfilter,告诉内核如何去处理信息包
5、firewalld
    CentOS7 引入了新的前端管理工具
    管理工具:
        firewall-cmd命令行
        firewall-config图形   

iptables的组成

iptables由五个表和五个链以及一些规则组成
    五个表table:
        filter、nat、mangle、raw、security
        filter表:
            过滤规则表,根据预定义的规则过滤符合条件的数据包
        nat表:
            network address translation 地址转换规则表
        mangle:
            修改数据标记位规则表
        raw:
            关闭NAT表上启用的连接跟踪机制,加快封包穿越防火墙速度
        security:
            用于强制访问控制(MAC)网络规则,由Linux安全模块(如SELinux)实现
        优先级由高到低的顺序为:security -->raw-->mangle-->nat-->filter
         conntrack
    五个内置链chain:
        INPUT
        OUTPUT
        FORWARD
        PREROUTING
        POSTROUTING

    表和链的对应关系:
        不同的功能,实现位置是不一样的
            filter:
                INPUT,FORWARD, OUTPUT
            nat:
                PREROUTING, INPUT, OUTPUT, POSTROUTING
            mangle:
                PREROUTING, INPUT, FORWARD, OUTPUT, POSTROUTING
            raw:
                PREROUTING, OUTPUT

    配置文件保存路径
        /etc/sysconfig/iptables
    从指定目录中读取或加载配置文件
        iptables-restore  < /etc/sysconfig/iptables

以上是关于iptables防火墙的主要内容,如果未能解决你的问题,请参考以下文章

CentOS中iptables防火墙 开放80端口方法

iptables防火墙

iptables防火墙

iptables防火墙网路安全实践配置

Linux中iptables防火墙指定端口范围

Iptables 网络安全