精华内容
下载资源
问答
  • Linux防火墙策略

    万次阅读 2019-05-15 21:16:31
    linux防火墙策略 什么是防火墙 众所周知,相较于企业内网,外部的公网环境更加恶劣,罪恶丛生。在公网与企业内网之间充当保护屏障的防火墙虽然有软件或硬件之分,但主要功能都是依据策略对穿越防火墙自身的流量...

    linux之防火墙策略

    • 什么是防火墙

    众所周知,相较于企业内网,外部的公网环境更加恶劣,罪恶丛生。在公网与企业内网之间充当保护屏障的防火墙虽然有软件或硬件之分,但主要功能都是依据策略对穿越防火墙自身的流量进行过滤。防火墙策略可以基于流量的源目地址、端口号、协议、应用等信息来定制,然后防火墙使用预先定制的策略规则监控出入的流量,若流量与某一条策略规则相匹配,则执行相应的处理,反之则丢弃。这样就可以保证仅有合法的流量在企业内网和外部公网之间流动了。

    rhel7.0之前的版本用的是iptables
    rhel7.0之后的版本是iptables与firewall都用

    • firewalld防火墙

    RHEL 7系统中集成了多款防火墙管理工具,其中firewalld(Dynamic Firewall Manager of Linux systems,Linux系统的动态防火墙管理器)服务是默认的防火墙配置管理工具,它拥有基于CLI(命令行界面)和基于GUI(图形用户界面)的两种管理方式

    相较于传统的防火墙管理配置工具,firewalld支持动态更新技术并加入了区(zone)的概念。简单来说,区域就是firewalld预先准备了几套防火墙策略集合(策略模板),用户可以根据生产场景的不同而选择合适的策略集合,从而实现防火墙策略之间的快速切换。

    firewalld中常用的区域名称及策略规则

    区域默认规则及策略
    trusted(信任)可接受所有的网络连接
    home(家庭)用于家庭网络,仅接受ssh,msdns,ipp-client,samba-client,dhcpv6-client服务连接
    internal(内部)用于内部网络,仅接受ssh,msdns,ipp-client,samba-client,dhcpv6-client服务连接
    work(工作)用于工作区,仅接受ssh ipp-client或dhcpv6-client服务连接
    public(公共)在公共区域内使用,仅接受ssh或dhcpv6-client服务连接
    external(外部)出去的ipv4网络连接通过此区域伪装和转发,仅接受ssh服务连接
    dmz(非军事区)仅接受ssh服务连接
    block(限制)拒绝所有网络连接
    drop(丢弃)任何接受的网络数据包都被丢弃,并没有任何回复
    • firewalld图形界面管理
    firewall-config  ##图形界面管理防火墙
    

    在这里插入图片描述
    1:选择运行时(Runtime)模式或永久(Permanent)模式的配置。

    2:可选的策略集合区域列表。

    3:常用的系统服务列表。

    4:当前正在使用的区域。

    5:管理当前被选中区域中的服务。

    6:管理当前被选中区域中的端口。

    7:开启或关闭SNAT(源地址转换协议)技术。

    8:设置端口转发策略。

    9:控制请求icmp服务的流量。

    10:管理防火墙的富规则。

    11:管理网卡设备。

    12:管理源(ip网段)

    13:被选中区域的服务,若勾选了相应服务前面的复选框,则表示允许与之相关的流量。

    图形界面修改端口转发:

    设定永久生效并开启masquerade地址伪装:
    在这里插入图片描述
    在port forwarding添加端口转发
    在这里插入图片描述
    在这里插入图片描述
    添加http服务
    在这里插入图片描述
    重新加载防火墙

    在这里插入图片描述

    测试:
    在真机打开浏览器输入172.25.254.84:5543
    在这里插入图片描述

    • firewalld命令管理

    火墙状态的查看,开启,关闭:

    systemctl start firewalld   ##开启火墙
    systemctl stop firewalld    ##关闭火墙
    systemctl enable firewalld  ##火墙开机启动
    systemctl stop firewalld    ##火墙开机关闭
    systemctl status firewalld  ##查看火墙状态
    

    管理火墙的域信息:

    firewall-cmd --get-default-zone      ##查看当前默认域
    firewall-cmd --set-default-zone=     ##设置默认域,此命令是永久更改,立即生效
    firewall-cmd --get-zones      ##查看可以使用的域
    firewall-cmd --get-active-zones     ##查看所有正在使用的域及接口和源信息
    

    在这里插入图片描述

    在这里插入图片描述
    管理火墙上的服务信息:

    firewall-cmd --get-services     ##查看所有可添加的服务
    firewall-cmd --add-service=  --zone=     ##添加某域某服务的流量
    firewall-cmd --remove-service=  --zone=  ##禁止某域某服务的流量
    

    在这里插入图片描述
    在这里插入图片描述

    查看指定域的所有配置:

    firewall-cmd --list-all  ##查看默认域的所有配置(接口,源,服务,端口)
    firewall-cmd --zone=work --list-all   ##查看指定的work域的信息
    firewall-cmd --list-all-zones    ##列出所有域的所有配置
    

    在这里插入图片描述
    在这里插入图片描述
    管理指定ip的流量到本主机的指定域:

    firewall-cmd --zone= --remove-source=172.25.254.83    ##从指定域中删除用于路由来自83主机的所有流量规则
    firewall-cmd --zone= --add-source=172.25.254.83  ##将来自83主机的所有流量路由到指定域
    

    在这里插入图片描述
    管理火墙的设备信息:

    firewall-cmd --add-interface=  --zone=   ##将来自该接口的所有流量到指定域
    firewall-cmd --change-interface=  --zone=   ##将接口已有区域与其它区域关联
    firewall-cmd --remove-interface=   ##删除
    

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    管理火墙上的端口信息:

    firewall-cmd  --add-port= /tcp   ##添加某域某端口的流量
    firewall-cmd --remove-port= /tcp   ##禁止某域的某服务的流量
    

    在这里插入图片描述
    在这里插入图片描述

    查看火墙工作状态:

    firewall-cmd --state    ##查看火墙状态
    

    在这里插入图片描述

    火墙重新加载:

    firewall-cmd --reload     ##丢弃runtime配置并应用permanent配置
    firewall-cmd --permanent --complete --reload  ##状态信息将丢失,当防火墙有问题时可以使用
    firewall-cmd 表示临时设置,firewall-cmd --permanent 表示永久设置(需要reload操作)
    

    在这里插入图片描述

    • firewalld配置文件管理服务

    配置文件添加服务:

    cd /etc/firewalld/zones
    vim public.xml
    systemctl restart firewalld
    

    在这里插入图片描述
    在这里插入图片描述
    配置文件为http服务添加或更改端口:

    cd /usr/share/firewalld
    cd /usr/lib/firewalld/services
    vim http.xml
    添加则需要重新复制一个配置文件
    cp http.xml http8080.xml
    vim http8080.xml
    systemctl restart firewalld
    

    在这里插入图片描述
    在这里插入图片描述

    • firewalld的Diect Rules

    filter
    通过 firewall-cmd工具,可以使用–direct选项在运行时间里增加或者溢出链

    目的:允许某一ip可以连接ssh或限制某一ip连接ssh

    firewall-cmd --direct --add-rule ipv4 filter INPUT 1 -p tcp --dport 22 -s 172.25.254.83 -j ACCEPT  ##只允许83主机连接ssh
    firewall-cmd --direct --add-rule ipv4 filter INPUT 1 -p tcp --dport 22  ! -s 172.25.254.83 -j ACCEPT ##感叹号表示“除过”
    

    在这里插入图片描述
    测试:
    在这里插入图片描述

    firewall-cmd --direct --add-rule ipv4 filter INPUT 1 -p tcp --dport 22 -s 172.25.254.83 -j REJECT  ##限制83主机连接ssh
    

    在这里插入图片描述
    测试:

    在这里插入图片描述

    firewall-cmd --direct --get-all-rules  ##查看规则
    firewall-cmd --direct --remove-rule ipv4 filter INPUT 1 -p tcp --dport 22 -s 172.25.254.83 -j ACCEPT ##移除规则
    

    在这里插入图片描述

    firewalld的SNAT设置(原地址转换)
    实验环境准备:
    client虚拟机ip为1.1.1.1
    在这里插入图片描述
    server虚拟机作为路由器,具有两块网卡,一个ip为172.25.254.84(eth0),一个ip为1.1.1.2(eth1)
    在这里插入图片描述
    真机ip为172.25.254.13

    设置步骤:
    设置client虚拟机的网关为1.1.1.2

    vim /etc/sysconfig/network
    route -n
    

    在这里插入图片描述

    添加server虚拟机路由器地址伪装功能:

    firewall-cmd --permanent --add-masquerade
    firewall-cmd --reload
    

    在这里插入图片描述

    测试:
    client虚拟机(1.1.1.1)ping真机(172.25.254.13)
    client虚拟机(1.1.1.1)ssh连接真机(172.25.254.13),用w -i命令查看连接的是server路由器端口(172.25.254.84)
    在这里插入图片描述

    • firewall的DNAT设置(目的地址伪装)

    目的:
    连接一台主机,通过端口转发设置发现连接的是另外一台主机

    设置端口转发:
    在server虚拟机(172.25.254.84)添加目的地址转换服务,将访问路由器的主机自动去访问1.1.1.1

    firewall-cmd --add-forward-port=port=22:proto=tcp:toport=22:toaddr=1.1.1.1 ##添加
    

    在这里插入图片描述
    测试:
    用真机(172.25.254.13)ssh连接路由器server(172.25.254.84),发现连接的主机是client(1.1.1.1)
    在这里插入图片描述
    删除DNAT设置:

    firewall-cmd --remove-forward-port=port=22:proto=tcp:toport=22:toaddr=1.1.1.1  ##删除
    systemctl restart firewalld
    

    在这里插入图片描述

    • iptables防火墙

    在早期的Linux系统中,默认使用的是iptables防火墙管理服务来配置防火墙。尽管新型的firewalld防火墙管理服务已经被投入使用多年,但是大量的企业在生产环境中依然出于各种原因而继续使用iptables

    • iptables策略与规则链

    防火墙会从上至下的顺序来读取配置的策略规则,在找到匹配项后就立即结束匹配工作并去执行匹配项中定义的行为(即放行或阻止)。如果在读取完所有的策略规则之后没有匹配项,就去执行默认的策略。一般而言,防火墙策略规则的设置有两种:一种是“通”(即放行),一种是“堵”(即阻止)。当防火墙的默认策略为拒绝时(堵),就要设置允许规则(通),否则谁都进不来;如果防火墙的默认策略为允许时,就要设置拒绝规则,否则谁都能进来,防火墙也就失去了防范的作用。

    iptables服务把用于处理或过滤流量的策略条目称之为规则,多条规则可以组成一个规则链,而规则链则依据数据包处理位置的不同进行分类,具体如下:

    在进行路由选择前处理数据包(PREROUTING);
    处理流入的数据包(INPUT);
    处理流出的数据包(OUTPUT);
    处理转发的数据包(FORWARD);
    在进行路由选择后处理数据包(POSTROUTING)。

    iptables服务动作术语中解释:
    ACCEPT(允许流量通过)
    REJECT(拒绝流量通过,会看到响应)
    LOG(记录日志信息)
    DROP(拒绝流量通过,不会看到响应)

    • 开启iptables防火墙

    相关软件: iptables-services
    配置文件:/etc/sysconfig/iptables
    实验环境准备:

    systemctl stop firewalld   ##关闭firewalld火墙
    systemctl mask firewalld  ##冻结火墙服务
    systemctl disable firewalld  ##火墙开机关闭
    yum install ipatbles-services  ##安装提供iptable管理的软件
    systemctl start iptables     ##开启服务
    systemctl enable iptables    ##开机自启
    

    在这里插入图片描述
    在这里插入图片描述

    • iptables常用管理命令

    注意:如果执行不了iptables命令,请安装iptables命令插件
    yum install system-config-firewall-base -y
    在这里插入图片描述
    iptable的查看:

    iptables -L   ##查看默认表filter的策略(没有真实ip),如需指定表,加-t参数
    iptables -n	##不作解析
    iptables -nL     ##查看默认表,附带解析
    iptables -t nat -nL   ##查看指定表nat
    iptables -F    ##清除默认filter表中的所有策略,如需指定表,加-t参数
    service iptables save    ##保存对表的更改(如果在修改后不保存,在重启iptables服务后,更改失效)
    

    iptable的管理:

    iptables -P INPUT DROP  ##此时设置INPUT为drop,所有主机不能输入数据,实验用ssh不能连接
    iptables -P INPUT ACCEPT  ##此时设置INPUT为accept,可以ssh连接
    iptables -N westos       ##新建链westos
    iptables -E westos WESTOS   ##将链westos名称修改为WESTOS
    iptables -X WESTOS      ##删除表WESTOS
    iptables -t filter -A INPUT -s 172.25.254.1 -p tcp --dport 22 -j REJECT   ##添加策略只允许主机1ssh连接,且插入位置默认为最后一条
    -s ##数据来源  -p ##网络协议 --dport ##端口 -j ##动作
    
    iptables -I INPUT -s 172.25.254.1 -p tcp --dport 22 -j ACCEPT   ##添加只允许1ssh连接的策略,且插入位置默认为1,-I INPUT 3表示插入到第3条
    iptables -D INPUT 3   ##删除第三条策略
    iptables -A INPUT ! -s 172.25.254.1 -p tcp --dport 22 -j REJECT   ##!表示除了的意思,插入策略,除了1都可以ssh访问
    iptables -R INPUT 2 -j ACCEPT   ##将第二条策略的动作修改为ACCEPT
    

    防火墙优化:

    iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    iptables -A INPUT -m state --state NEW -i lo -j ACCEPT
    iptables -A INPUT -m state --state NEW -p tcp -dport 22 -j ACCEPT
    iptables -A INPUT -m state --state new -j REJECT
    service iptables save
    iptables -nL
    
    • iptables命令实验演示

    在iptables命令后添加-L参数查看已有的防火墙规则链:
    在这里插入图片描述
    在iptables命令后添加-F参数清空已有的防火墙规则链:
    在这里插入图片描述
    把INPUT规则链的默认策略设置为拒绝:
    在这里插入图片描述

    向INPUT链中添加允许ICMP流量进入的策略规则:
    并尝试ping
    在这里插入图片描述

    删除INPUT规则链中刚刚加入的那条策略(允许ICMP流量),并把默认策略设置为允许:
    在这里插入图片描述

    将INPUT规则链设置为只允许指定网段172.25.254的主机访问本机的22端口,拒绝来自其他所有主机的流量:
    在这里插入图片描述

    在设置完上述INPUT规则链之后,我们使用IP地址在172.25.254.网段内的主机访问服务器(即前面提到的设置了INPUT规则链的主机)的22端口,效果如下:
    在这里插入图片描述

    然后,我们再使用1.1.1网段内的主机访问服务器的22端口(虽网段不同,但已确认可以相互通信),效果如下,就会提示连接请求被拒绝了:
    在这里插入图片描述

    向INPUT规则链中添加拒绝所有人访问本机12345端口的策略规则:

    在这里插入图片描述
    向INPUT规则链中添加拒绝172.25.254.13主机访问本机22端口(ssh服务)的策略规则:
    在这里插入图片描述
    用ip为13的主机测试ssh连接,被拒绝
    在这里插入图片描述

    • iptable的DNAT设置

    实验环境准备:
    重新安装iptables软件,初始化实验环境
    查看内核的路由器功能是否开启:
    sysctl -a | grep ip_forward
    若是0则没有开启
    vim /etc/sysctl.conf
    加入:
    net.ipv4.ip_forward=1
    systemctl restart network

    设置步骤:

    iptables -t nat -nL
    iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 172.25.254.84
    iptables -F
    

    在这里插入图片描述

    测试:
    client虚拟机(1.1.1.1)通过server服务器的eth1(1.1.1.2)进入,从eth0(172.25.254.84)(172.25.254.13)
    最后查看到连接真机172.25.254.13的主机是服务器的eth0端口(172.25.254.84)
    w -i ##查看
    如果ping不通真机,尝试在路由器端键入命令iptables -F
    下图“X”的是之前firewalld地址转换实验,通过时间判断
    在这里插入图片描述

    • iptables的DNAT设置

    设置步骤:

    iptables -t nat -A PREROUTING -i eth0 -j DNAT --to-dest 1.1.1.1
    

    在这里插入图片描述

    测试:
    此时真机(172.25.254.13)ssh连接路由器的eth0端(172.25.254.84),最后重看到ssh连接到的ip是client虚拟机(1.1.1.1)
    ifconfig ##查看

    在这里插入图片描述

    END

    展开全文
  • linux防火墙策略规则

    千次阅读 2021-05-13 14:32:55
    介绍:防火墙默认有四表五链四表:(表的优先级:raw > mangle > nat > filter )1.Raw表——两个链:PREROUTING、OUTPUT作用:决定数据包是否被状态跟踪机制处理 内核模块:iptable_raw2.Mangle表——五个链...

    介绍:

    防火墙默认有四表五链

    四表:(表的优先级:raw > mangle > nat > filter )

    1.Raw表——两个链:PREROUTING、OUTPUT

    作用:决定数据包是否被状态跟踪机制处理  内核模块:iptable_raw

    2.Mangle表——五个链:PREROUTING、POSTROUTING、INPUT、OUTPUT、FORWARD

    作用:修改数据包的服务类型、TTL、并且可以配置路由实现QOS内核模块:iptable_mangle

    3.Nat表——三个链:PREROUTING、POSTROUTING、OUTPUT

    作用:用于网络地址转换(IP、端口) 内核模块:iptable_nat

    4.filter表——三个链:INPUT、OUTPUT、FORWARD

    作用:过滤数据包,定义拒绝或者允许  内核模块:iptables_filter

    五链:(默认的,不能删除,但能清除里面的规则)

    1.INPUT——进来的数据包应用此规则链中的策略

    2.OUTPUT——外出的数据包应用此规则链中的策略

    3.FORWARD——转发数据包时应用此规则链中的策略

    4.PREROUTING——对数据包作路由选择前应用此链中的规则

    5.POSTROUTING——对数据包作路由选择后应用此链中的规则

    一、开始对防火墙配置时:

    iptables   -X(清除所有自定义规则链)

    iptables  -F(清除所有规则)

    iptables  -L(列出所有[加n 以数字形式显示IP])

    二、编写规则:

    iptables  -I (插入规则) 规则链名 优先级

    iptables  -A (增加规则,默认是) 规则链名

    iptables  -D (删除规则) 规则链名 序号

    iptables   -N (自定义规则链名)

    iptables   -P (默认) 规则链名 DROP(拒绝)或者ACCEPT(允许) PS:建议除紧急情况外,最后配置

    -p (协议)

    --sport(源端口)

    --dport(目的端口)

    -s (源地址)

    -d(目的地址)

    -i(入网卡)

    -o(出网卡)

    -m(扩展)

    1、state --state RELATED,ESTABLISHED //用状态检测,因回来的数据没能转发。         2、limit --limit 5/m --limit-burst 10//10个通行证,每分钟增加5个              3、connlimit --connlimit-above 1 //每个IP地址只允许1个连接

    -j (行为)

    ACCEPT(接受)

    DROP(停止)

    DNAT(目的地址转发)一般在PREROUTING链中

    SNAT(源地址转发) 一般在POSTROUTING链中

    规则链名(加入这条规则链)

    MASQUSERADE(地址伪装)

    --to-destination(目标地址)

    -t nat (选择nat表,一般地址映射用到)

    --line-number  (显示序号)

    例子:

    1)linux系统作为服务器和防火墙时:

    1.允许外界能访问我的80端口httpd服务:

    iptables -A INPUT -p tcp --dport 80 -j ACCEPT  tcp协议目的端口80在入站规则通过

    iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT tcp协议源端口80在出站规则通过

    也可以自定义规则链:

    iptables -N httpd-in          //自定义规则名为httpd-in

    iptalbes -A INPUT -j httpd-in     //把httpd-in规则链加入到INPUT链

    iptables -A httpd-in -p tcp --dport 80 -j ACCEPT tcp协议目的端口80在httpd-in链通过

    iptables -N httpd-out         //自定义规则名为httpd-out

    iptalbes -A OUTPUT -j httpd-out   //把httpd-out规则链加入到OUTPUT链

    iptables -A httpd-out -p tcp --sport 80 -j ACCEPT tcp协议源端口80在httpd-out链通过

    展开全文
  • 1.防火墙的介绍 防火墙就是一个位于计算机和它所连接的网络之间的软件。该计算机流入流出的所有网络通信均要经过此防火墙。广义来说,只要能够分析与过滤进出管理网段的...·限制整台Linux主机仅可以接受客户端...

    1.防火墙的介绍

    • 防火墙的定义及功能

        防火墙就是一个位于计算机和它所连接的网络之间的软件。该计算机流入流出的所有网络通信均要经过此防火墙。广义来说,只要能够分析与过滤进出管理网段的数据包数据,就可以称为防火墙。
        防火墙最大的功能就是帮助用户限制某些服务的存取来源。防火墙最主要的功能是:
        ·限制文件传输服务(FTP)只在子网段内的主机之间使用,而不对整个Internet开放。
        ·限制整台Linux主机仅可以接受客户端的WWW要求,其他的服务都关闭。
        ·限制整台主机仅能主动对外联机,对向主机主动联机的数据包状态(TCP数据包的SYN flag)予以阻止等。
        防火墙最主要的任务是规划出切割被信任与不被信任的网段,划分出可提供给Internet的服务与必须受保护的服务,分析出接受以及不可接受的数据包状态。

    • IP Filter(数据包过滤机制)

        IP Filter利用数据包过滤的方式来实现防火墙的功能。
        直接使用进入本机的TCP/IP数据包协议来进行过滤分析,例如利用TCP/IP数据包表头的IP来源、端口号等数据进行过滤,以判断该数据包是否能够进入本机取得本机资源。由于这种方式可以直接分析最底层的数据包表头数据,所以包括硬件地址(MAC),软件地址(IP),TCP,UDP,ICMP等数据包的信息都可以进行过滤分析,因此用途非常广泛。
        在Linux上,使用内核中内置的iptables软件作为防火墙数据包过滤机制,由于iptables是内核内置的功能,因此它的效率非常高,适合一般小型企业环境。它利用一些数据包过滤规则设置来定义出什么数据可以接收,什么数据必须剔除,实现保护主机的目的。

    • Netfilter/iptables

        Netfilter/iptables IP信息包过滤系统是一种功能强大的工具,可用于添加、编辑和除去规则。这些规则存储在专用的信息包过滤表中,而这些表集成在Linux内核中。在信息包过滤表中,规则被分组放在所谓的链(Chain)中。Netfilter提供了一个抽象、通用化的框架,该框架定义的一个子功能的实现就是包过滤子系统。
        iptables是一个用来指定Netfilter规则和管理内核包过滤的工具,它为用户配置防火墙规则提供了方便。Netfilter/iptables组成Linux平台下的包过滤防火墙,与大多数的Linux软件一样,这个包过滤防火墙是免费的,它可替代昂贵的商业防火墙解决方案,完成包过滤、封包重定向和网络地址转换NAT等功能。

    2.火墙管理工具切换

    在rhel8中防火墙管理工具默认使用的是firewalld,火墙管理方式只能有一种,要么是firewalld方式,要么是iptables方式
    firewalld----->iptables
    dnf install iptables-services -y 安装iptables管理工具包
    在这里插入图片描述

    systemctl stop firewalld	##关闭firewalld服务
    systemctl disable firewalld 	##firewalld服务开机不启动
    systemctl mask firewalld 	##冻结firewalld服务,防止有些依赖性服务开启时firewalld随之开启
    systemctl enable --now iptables	##开启iptables服务
    

    在这里插入图片描述

    3. iptables 的使用

    iptables 策略记录文件:/etc/sysconfig/iptables
    永久保存策略:
    iptales-save 可以读取火墙策略信息
    在这里插入图片描述
    iptales-save > /etc/sysconfig/iptables
    将读取到的火墙策略永久保存到火墙策略信息文件中
    service iptables save
    将iptables服务中的策略进行保存,和上边保存方法性质一样,都是保存到火墙策略信息文件中

    4.火墙默认策略

    默认策略中的5条链

    input 		##输入
    output 		##输出
    forward 	##转发
    postrouting 	##路由之后
    prerouting		##路由之前
    

    默认的3张表

    filter 	##经过本机内核的数据(input output forward)
    nat 	##不经过内核的数据(postrouting,prerouting,input,output)
    mangle 	##当filter和nat表不够用时使用(input output forward postrouting,prerouting,)
    

    5.iptables命令

    iptables	-t ##指定表名称
    			-n ##不做解析
    			-L ##查看 
    			-F ##刷新策略
    			-A ##添加策略
    			-p ##协议
    			--dport ##目的地端口
    			-s ##来源
    			-j ##动作
    				ACCEPT ##允许
    				DROP ##丢弃
    				REJECT ##拒绝
    				SNAT ##源地址转换
    				DNAT ##目的地地址转换
    			-N ##新建链 
    			-E ##更改链名称
    			-X ##删除链 
    			-D ##删除规则
    			-I ##插入规则
    			-R ##更改规则
    			-P ##更改默认规则	
    

    iptables -L ##查看
    在这里插入图片描述
    iptables -F ##刷新策略,可以看到策略都没有了,重启iptables服务这些策略就又都出现了,这是因为/etc/sysconfig/iptables文件里面记录了策略的存在,所以在重启后,就会再次读取这个文件,显示出来
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    实验环境设定
    watch -n 1 iptables -t filter -nL ## 对filter表中的策略进行实时监控
    iptables -A INPUT -j REJECT ## 添加拒绝所有人访问策略条目
    在这里插入图片描述
    测试:效果是ping不通,不能连接
    在这里插入图片描述
    iptables -D INPUT 1 ## 删除策略条目,恢复为默认策略,允许其他人访问连接
    在这里插入图片描述
    测试:效果是可以ping通,可以连接
    在这里插入图片描述
    iptables -A INPUT -j DROP ## 添加数据访问丢弃的策略条目
    在这里插入图片描述
    在这里插入图片描述
    注意:reject和drop的区别,reject拒绝以后,远程主机就不会再发送数据过来,drop它会一直尝试
    火墙处理数据的一种方式:在火墙策略当中是从上到下依次读取,当所读取到的策略和现在的资源达到了匹配的程度,就依照这条策略执行,后面即使再有匹配的也不读取了
    iptables -I INPUT -s 192.168.1.10 -j ACCEPT ##插入策略,数据源192.168.1.10主机可以访问本主机
    iptables -I INPUT -s 192.168.1.10 -p tcp --dport 22 -j ACCEPT ##目的端口(22)可以访问
    iptables -R INPUT -s 192.168.1.10 -p tcp --dport 80 -j ACCEPT ##更改规则 (80)端口可访问
    在这里插入图片描述
    在这里插入图片描述
    测试:效果是只能连接,其它什么都做不了
    在这里插入图片描述
    iptables -P INPUT DROP ##更改默认策略,-P后只能跟drop和accept,不能跟reject
    在这里插入图片描述
    测试:效果是ping不通,连接不了
    在这里插入图片描述
    在这里插入图片描述
    更改默认策略为accept
    在这里插入图片描述
    在表中添加链
    更改表中的链名称
    删除链

    在这里插入图片描述
    在这里插入图片描述

    6.数据包状态

    数据包在访问其他主机时有以下三种状态:

    RELATED 	##建立过连接的
    ESTABLISHED ##正在连接的
    NEW 		##新的
    

    需求:只允许别人访问我本机上的dns服务和Apache服务,不允许访问其他服务,除了192.168.1.10主机以外的所有主机都可以连接我的ssh,如何操作?
    执行以下命令:

    watch -n 1 iptables -t filter -nL
    iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT	##已经建立过连接的数据包和正在连接的,火墙直接让它过,检测新的数据包
    iptables -A INPUT -m state --state NEW -i lo -j ACCEPT	##在拒绝时首先要允许自己的回环接口是允许的
    iptables -A INPUT -m state --state NEW -p tcp --dport 80 -j ACCEPT	##新的数据包允许访问我的80端口(Apache服务)
    iptables -A INPUT -m state --state NEW -p tcp --dport 443 -j ACCEPT	##新的数据包允许访问我的443端口(Apache加密)
    iptables -A INPUT -m state --state NEW -p tcp --dport 53 -j ACCEPT	##新的数据包允许访问我的53端口(dns服务)
    iptables -A INPUT -m state --state NEW ! -s 192.168.1.10 -p tcp --dport 22 -j ACCEPT	##在数据源前加感叹号,表示除了...都...
    ptables -A INPUT -m state --state NEW -j REJECT	##最后要收尾,即满足需求的大条件
    service iptables save	##保存策略信息
    

    在这里插入图片描述
    测试:效果是除了192.168.1.10主机外其他主机可以通过22端口来连接192.168.1.11主机
    都ping不通是因为icmp协议是不被允许的(题目需求)
    在这里插入图片描述
    在这里插入图片描述

    7.nat表中的snat与dnat

    地址转发实验
    实验准备:
    双网卡主机一台:ip:192.168.1.11;172.25.254.11
    单网卡主机两台(不同网段,网段分别是和双网卡主机匹配的)
    rhel7_node1 ip:192.168.1.10 (本实验代表外部网络)
    test ip:172.25.254.21(本实验代表内部网络)
    在这里插入图片描述
    在这里插入图片描述
    设定内部网络主机test网关为双网卡主机的172.25.254.11
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    进行实验

    watch -n 1 iptables -t nat -nL
    snat
    iptable -t nat -A POSTROUTING -o ens160 -j SNAT --to-source 192.168.1.11	##源地址转换(内到外)
    dnat
    iptables -t nat -A PREROUTING -i ens160 -j DNAT --to-dest 172.25.254.21	##目的地地址转换(外到内)
    

    在这里插入图片描述
    内部主机172.25.254.21可以连接到外部主机192.168.1.10上
    在这里插入图片描述
    在192.168.1.10主机上查看,发现连接他的是192.168.1.11这台主机,其实真正连接他的是172.25.254.21这台主机,这叫做源地址转换(snat)
    在这里插入图片描述
    当外部主机192.168.1.10给192.168.1.11主机返回信息时(这里用连接表示),192.168.1.11主机把这些信息都转给172.25.254.21这台主机,这叫做目的地地址转换(dnat)
    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • Linux防火墙策略

    2021-03-30 08:56:43
    firewalld防火墙是Centos7系统默认的防火墙管理工具,取代了之前的iptables防火墙,也是工作在网络层,属于包过滤防火墙 firewalld和iptables都是用来管理防火墙的工具(属于用户态)来定义防火墙的各种规则功能,内部...

    一、firewalld防火墙简介
    firewalld防火墙是Centos7系统默认的防火墙管理工具,取代了之前的iptables防火墙,也是工作在网络层,属于包过滤防火墙

    firewalld和iptables都是用来管理防火墙的工具(属于用户态)来定义防火墙的各种规则功能,内部结构都指向netfilter网络过滤子系统(属于内核态)来实现包过滤防火墙功能。

    firewalld提供了支持网络区域所定义的网络连接以及接口安全等级的动态防火墙管理工具。

    它支持IPv4、 IPv6防火墙设置以及以太网桥(在某些高级服务可能会用到,比如云计算),并且拥有两种配置模式:运行时配置与永久配置。
    二、firewalld 与 iptables 的区别
    1、iptables主要是基于接口,来设置规则,从而判断网络的安全性。

    • firewalld是基于区域,根据不同的区域来设置不同的规则,从而保证网络的安全。与硬件防火墙的设置相类似。

    2、iptables在/etc/ sysconfig/iptables中储存配置,

    firewalld将配置储存在/etc/firewalld/ ( 优先加载)和/usr/lib/ firewalld/ ( 默认的配置文件)中的各种XML文件里。
    3、使用iptables每一个单独更改意味着清除所有旧有的规则和从/etc/sysconfig/iptables里读取所有新的规则。

    使用firewalld却不会再创建任何新的规则,仅仅运行规则中的不同之处。因此firewalld可以在运行时间内,改变设置而不丢失现行连接。
    4、iptables防火墙类型为静态防火墙

    firewalld防火墙类型为动态防火墙
    三、firewalld 区域的概念
    firewalld防火墙为了简化管理,将所有网络流量分为多个区域(zone)。然后根据数据包的源IP地址或传入的网络接口等条件将流量传入相应区域。每个区域都定义了自己打开或者关闭的端口和服务列表。
    1、firewalld防火墙9个区域
    在这里插入图片描述
    2、区域介绍
    最终一个区域的安全程度是取决于管理员在此区域中设置的规则。
    区域如同进入主机的安全门,每个区域都具有不同限制程度的规则,只会允许符合规则的流量传入。
    可以根据网络规模,使用一个或多个区域,但是任何一个 活跃区域 至少需要关联 源地址或接口。
    默认情况下,public区域是默认区域,包含所有接口(网卡)
    四、firewalld数据处理流程
    firewalld对于进入系统的数据包,会根据数据包的源IP地址或传入的网络接口等条件,将数据流量转入相应区域的防火墙规则。对于进入系统的数据包,首先检查的就是其源地址。
    五、firewalld检查数据包的源地址规则
    1、若源地址关联到特定的区域(即源地址或接口绑定的区域有冲突),则执行该区域所制定的规则。

    2、若源地址未关联到特定的区域(即源地址或接口绑定的区域没有冲突),则使用传入网络接口的区域并执行该区域所制定的规则。

    3、若网络接口也未关联到特定的区域(即源地址或接口都没有绑定特定的某个区域),则使用默认区域并执行该区域所制定的规则。
    六、firewalld防火墙的配置方法
    1、使用firewall-cmd 命令行工具
    在这里插入图片描述
    2、使用firewall-config 图形工具
    在这里插入图片描述
    3、编写/etc/firewalld/中的配置文件
    七、区域管理
    在这里插入图片描述
    八、服务管理
    在这里插入图片描述
    九、端口管理
    在这里插入图片描述

    展开全文
  • 目录1. 防火墙管理工具的切换2. iptables的使用 ...iptables 是 Linux 系统上管理防火墙规则的工具。另一方面,firewalld 也是 Linux 机器上管理防火墙规则的工具。 iptables和firewalld将用户的安...
  • 配置linux防火墙策略

    2020-09-08 11:48:03
    配置linux防火墙策略 linux环境 查看linux 版本,版本不同,有细微差别,这里采用版本如图 cat /etc/redhat-release 测试防火墙状态 firewall-cmd --state # 检测防火墙状态 防火墙的开关 systemctl start ...
  • linux防火墙策略配置、查看操作实例

    千次阅读 2021-03-08 12:58:45
    1.查看已经开放的端口 firewall-cmd --list-ports 查看配置信息 firewall-cmd --list-all 2.开启/移除指定协议的端口 开放端口 firewall-cmd --zone=public --add-port=...重新加载,使策略生效 firewall-cmd --reload
  • iptables有两种策略的...开启防火墙:service iptables start2.设为开机自启:chkconfig –list iptableschkconfig iptables on3.清空原有的策略:iptables -F4.添加策略:iptables -A INPUT -s 192.168.42.133 -j ...
  • 原标题:通过iptables设置Linux防火墙INPUT策略小白电脑课堂开课啦!游戏团战就死机,多半是废了。大家好我是小白。说到防火墙,同学们都会想到开了防火墙就会卡的Windows。而在Linux中,防火墙是个很重要的服务。...
  • linux关闭防火墙、添加访问策略

    千次阅读 2018-01-19 09:09:31
    1.centos7 systemctl stop firewalld.service #停止firewall systemctl disable ...firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running) 2、iptables防火墙(这里iptables已
  • 不关闭防火墙,我们ping Linux服务器的IP会...So,针对特殊情况我们还要对防火墙策略进行相关配置。1.防火墙的关闭方式(这里只讲述如何关闭)Centos6:查看防火墙状态:service iptables status仅关闭防火墙:servic...
  • linux下的软件防火墙iptables——规则的查看与清除、定义默认策略软件防火墙IPTABLES ——规则在Linux下查看和清除,定义默认策略防火墙意味着用户限制某些ip或用户对其主机的访问。防火墙可以分为两类,硬件...
  • linux 6查看防火墙状态及开启关闭命令存在以下两种方式:一、service方式查看防火墙状态:[root@centos6 ~]# service iptables statusiptables:未运行防火墙。开启防火墙:[root@centos6 ~]# service iptables ...
  • 构建Linux环境下Iptables防火墙策略,赵富,,Linux操作系统的Iptables管理工具是一种基于包过滤型防火墙工具,利用Iptables工具,通过设置规则,可以实现Linux环境下防火墙的功能。本�
  • Linux软件防火墙策略

    2019-09-11 21:22:07
    前言: ...防火墙 防火墙分类: 软件防火墙 硬件防火墙 防火墙作用: 隔离 防火墙处理接收到的访问消息规则: 匹配即停止: 1.查看客户端请求数据包中,源IP地址,查看自己所有的预设区域...
  • Linux 防火墙策略

    万次阅读 2013-09-11 11:01:32
    inux开启防火墙端口和查看 即时生效,重启后失效  开启: service iptables start  关闭: service iptables stop  重启后生效  开启: chkconfig iptables on
  • Linux之firewalld防火墙策略优化

    千次阅读 2018-06-07 00:55:56
    firewalld 域 开启 firewalld systemctl stop iptables.service systemctl disable iptables.service systemctl start firewalld ...下载安装防火墙: [root@client ~]# firewall-conf...
  • 该楼层疑似违规已被系统折叠隐藏此楼查看此楼firewall防火墙1、查看firewall服务状态systemctl status firewalld停防火墙:systemctl stop firewalld启防火墙:systemctl start firewalld重启防火墙:systemctl ...
  • 主要介绍了阿里云linux服务器安全设置,主要是针对防火墙策略等一些补充
  • linux防火墙如何配置

    2021-05-15 16:43:03
    linux防火墙对于我们来说是非常重要的!那么我们要怎么样去配置呢?下面由学习啦小编给你做出详细的linux防火墙配置方法介绍!希望对你有帮助!linux防火墙配置方法一:1. /sbin/iptables -A INPUT -p tcp --dport 80 -j...
  • 1.查看防火墙状态:  service iptables status 2.关闭防火墙:  servcie iptables stop ---临时关闭防火墙 chkconfig iptables off ---永久关闭防火墙 3.开启防火墙:  servcie iptables start...
  • Linux防火墙iptables的策略

    千次阅读 2017-08-25 17:09:43
     iptables -F #清除现有防火墙策略  只允许特定流量通过,禁用其他流量 1.允许SSH流量(重要)  iptables -A INPUT -p tcp --dport 22 -j ACCEPT #-A追加的意思;--dport目标端口的意思 2.允许DNS流量(重要...
  • Linux防火墙配置策略.pdf
  • Linux防火墙配置

    万次阅读 2019-06-26 21:12:48
    1.不允许外网不经过防火墙与内网进行通信 2.允许内网用户通过防火墙访问外部HTTP、HTTPS服务器 3.允许内网用户通过防火墙访问外部FTP服务器 二、实验环境 1.使用两台Linux虚拟机和一台win10物理机。一台Linux...
  • 防火墙设置 service firewalld stop service firewalld start service firewall restart service firewalld status 开机禁用 : systemctl disable firewalld 开机启用 : systemctl enable firewalld 查看版本: ...
  • Linux防火墙——SNAT实现策略控制路由转发SNAT原理与应用 SNAT原理与应用 应用环境:局域网主机共享单个公网IP地址接入Internet,私有IP不能在Internet中正常路由 原理:修改数据包的源地址。 SNAT转换前提条件: ...
  • Linux防火墙开放端口或者设定端口 centos处于对安全的考虑,通常的解决办法有两个。一个是直接关闭防火墙(非常不推荐): service iptables stop 但是这样相当于把系统完全暴露,会带来很大的安全隐患。所以,第二...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 48,534
精华内容 19,413
关键字:

linux6防火墙策略

linux 订阅