精华内容
下载资源
问答
  • 玩转Linux三大防火墙工具!

    千次阅读 2020-04-04 14:41:58
    一:iptables 精华:iptables和firewalld都不是防火墙,他们都只是管理防火墙的工具、服务而已! 重点:iptables防火墙策略规则是按照从上...1.常用操作 iptables -I INPUT -s 网段/掩码 -p tcp --dport 端口号 -j A...

    一:iptables

    精华:iptables和firewalld都不是防火墙,他们都只是管理防火墙的工具、服务而已!

    重点:iptables防火墙策略规则是按照从上到下的顺序匹配的,因此一定要把允许动作放到拒绝动作前面,否则所有的流量就将被拒绝掉,从而导致任何主机都无法访问我们的服务

    1.常用操作

    iptables -I INPUT -s 网段/掩码 -p tcp --dport 端口号 -j ACCEPT 
    iptables -A INPUT-p tcp --dport 端口号 -j REJECT
    iptables -L 
    
    端口转发
    iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
    查看已有的防火墙规则链:
    iptables -L
    清空规则链
    iptables -F
    删除用户自定义 chain 或者所有用户自定义chain (chain就是链的意思)
    iptables -X
    把 chain 或者所有 chain(当未指定 chain 名称时)的包及字节的计数器清空
    iptables -Z
    

    2.在centos系统下想要保存iptables的规则链需要安装iptables服务,因为centos下默认是firewalld服务没有iptables,所以需要手动安装iptables服务后重启服务才行
    以下两个都可以保存iptables的配置

    [root@b sysconfig]# service iptables save
    iptables: Saving firewall rules to /etc/sysconfig/iptables:[  OK  ]
    
    [root@b sysconfig]#systemctl enable iptables 
    [root@b sysconfig]# systemctl restart iptables
    

    3.把所有input规则链的默认策略设置拒绝

    iptables -P INPUT DROP
    

    4.向INPUT链中添加允许ICMP流量进入的策略规则:

    iptables -I INPUT -p icmp -j ACCEPT
    

    5.删除INPUT规则链中刚刚加入的那条策略(允许ICMP流量)

    iptables -D INPUT 1
    

    6.将INPUT规则链设置为只允许指定网段的主机访问本机的22端口,拒绝来自其他所有主机的流量:

    iptables -I INPUT -s 192.168.10.0/24 -p tcp --dport 22 -j ACCEPT
    iptables -A INPUT -p tcp --dport 22 -j REJECT
    iptables -L
    

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

    iptables -I INPUT -p tcp --dport 12345 -j REJECT
    iptables -I INPUT -p udp --dport 12345 -j REJECT
    iptables -L
    

    8.向INPUT规则链中添加拒绝所有主机访问本机1000~1024端口的策略规则:

    iptables -A INPUT -p tcp --dport 1000:1024 -j REJECT
    iptables -A INPUT -p udp --dport 1000:1024 -j REJECT
    iptables -L
    

    二:Firewalld

    精华:firewalld支持动态更新技术并加入了区域(zone)的概念

    重点:区域就是我提前准备几套防火墙策略针对不通的场景来用,在firewalld中可以来回切换域,这样就满足工作生产中不同的需求啦!

    1.查看firewalld服务当前所使用的区域

    firewall-cmd --get-default-zone
    public
    

    2.把firewalld服务的当前默认区域设置为public

    firewall-cmd --set-default-zone=public
    success
    firewall-cmd --get-default-zone 
    public
    

    3.启动/关闭firewalld防火墙服务的应急状况模式,阻断一切网络连接(当远程控制服务器时请慎用):

    firewall-cmd --panic-on
    success
    [root@linuxprobe ~]# firewall-cmd --panic-off
    success
    

    4.重点:流量转发命令格式为firewall-cmd --permanent --zone=<区域> --add-forward-port=port=<源端口号>:proto=<协议>:toport=<目标端口号>:toaddr=<目标IP地址>)*

    firewall-cmd --permanent --zone=public --add-forward-port=port=888:proto=tcp:toport=22:toaddr=192.168.10.10
    firewall-cmd --reload
    success
    

    5.我们可以在firewalld服务中配置一条规则,使其拒绝192.168.10.0/24网段的所有用户访问本机的ssh服务(22端口):

    firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="192.168.10.0/24" service name="ssh" reject"
    success
    firewall-cmd --reload
    success
    

    三:TCP wrappers

    精华:
    TCP Wrappers服务的防火墙策略由两个控制列表文件所控制,用户可以编辑允许控制列表文件来放行对服务的请求流量,也可以编辑拒绝控制列表文件来阻止对服务的请求流量。

    重点文件:
    控制列表文件(/etc/hosts.allow)
    拒绝控制列表文件(/etc/hosts.deny)

    编写规则:
    编写拒绝策略规则时,填写的是服务名称,而非协议名称;
    建议先编写拒绝策略规则,再编写允许策略规则,以便直观地看到相应的效果。

    1.只允许192.168.10.0网段能够访问sshd服务

    vim /etc/hosts.deny
    #
    #hosts.deny This file contains access rules which are used to
    #deny connections to network services that either use
    #the tcp_wrappers library or that have been
    #started through a tcp_wrappers-enabled xinetd.
    #
    #The rules in this file can also be set up in
    #/etc/hosts.allow with a 'deny' option instead.
    #
    #See 'man 5 hosts_options' and 'man 5 hosts_access'
    #for information on rule syntax.
    #See 'man tcpd' for information on tcp_wrappers
    sshd:
    
    ssh 192.168.10.10
    ssh_exchange_identification: read: Connection reset by peer
    
     vim /etc/hosts.allow
    #
    # hosts.allow This file contains access rules which are used to
    # allow or deny connections to network services that
    # either use the tcp_wrappers library or that have been
    # started through a tcp_wrappers-enabled xinetd.
    #
    # See 'man 5 hosts_options' and 'man 5 hosts_access'
    # for information on rule syntax.
    # See 'man tcpd' for information on tcp_wrappers
    sshd:192.168.10.
    
    ssh 192.168.10.10
    The authenticity of host '192.168.10.10 (192.168.10.10)' can't be established.
    ECDSA key fingerprint is 70:3b:5d:37:96:7b:2e:a5:28:0d:7e:dc:47:6a:fe:5c.
    Are you sure you want to continue connecting (yes/no)? yes
    Warning: Permanently added '192.168.10.10' (ECDSA) to the list of known hosts.
    root@192.168.10.10's password: 
    Last login: Wed May 4 07:56:29 2017
    

    小结:三者之间有着相似的地方也有不同的地方,没有必要把各种参数都背会,在实际工作做能够根据工作需求灵活的使用这些工具才是王道!

    四、实操演练
    1.配置端口转发
    在系统 serverx 中配置端口转发
    在 172.25.x.0/24 网络中的系统,访问 server1 的本地端口 5423 将被转发到 80 此设定时永久生效的

    #1.允许172.25.4.0/24 网段的主机可以访问本机(添加到信任域)

    [root@server4 ~]# firewall-cmd --permanent --add-source=172.25.4.0/24 --zone=trusted 
    success
    

    #重启火墙,注意:每此添加火墙策略都需要重启

    [root@server4 ~]# systemctl restart firewalld
    [root@server4 ~]# firewall-cmd --list-all --zone=trusted
    在这里插入图片描述

    #2.端口转发

    [root@server4 ~]# firewall-cmd --permanent --direct --add-rule ipv4 nat PREROUTING 1 -s 172.25.4.0/24 -p tcp --dport 5423 -j DNAT --to-dest :80
    success
    [root@server4 ~]# systemctl restart firewalld
    [root@server4 ~]# firewall-cmd --direct --get-all-rules 
    ipv4 filter INPUT 1 -s 192.168.0.0/24 -p tcp --dport 22 -j REJECT
    ipv4 nat PREROUTING 1 -s 172.25.4.0/24 -p tcp --dport 5423 -j DNAT --to-dest :80
    
     **实验测试:**
    
    ```bash
    [root@server4 ~]# yum install -y httpd
    [root@server4 ~]# systemctl start httpd
    [root@server4 ~]# systemctl enable httpd
    ln -s '/usr/lib/systemd/system/httpd.service' '/etc/systemd/system/multi-user.target.wants/httpd.service'
    

    输入:172.25.4.11 可访问到apahce的默认发布页面(默认使用的是80端口)
    在这里插入图片描述
    输入:172.25.4.11:5423 也可访问到apahce的默认发布页面,即说明5423端口转发到80端口
    在这里插入图片描述

    展开全文
  • 轻轻松松配安全(V7防火墙),防火墙常用的部署方法,防火墙上网配置方法,防火墙发布内部服务器方法,防火墙常见配置方法,防火墙限速配置方法,防火墙策略路由配置方法,防火墙负载均衡配置方法,密码恢复,版本...
  • 文章目录一、前言二、 Linux软件防火墙作用三、 Linux软件防火墙工具四、Firewall简介4.1 firewalld防火墙区域介绍4.2 firewalld防火墙的工作流程五、Firewalld防火墙的配置方法5.3 Firewall-config图形工具5.4 ...

    一、前言

    Linux的防火墙主要工作在网络层,针对TCP/IP数据包实施过滤和限制,属于典型的包过滤防火墙。

    二、 Linux软件防火墙作用

    防火墙可以单独/批量禁止/允许某个/多个端口的数据通过,也可以将某个端口的数据转发到另外一个端口/ip。

    三、 Linux软件防火墙工具

    在Centos 6中主要使用:

    iptables(命令管理工具);操作较复杂。

    在Centos 7中主要使用:

    firewall-config(图形化管理工具);

    firewall-cmd(命令管理工具),在生产环境中用的较多。

    本文主要介绍Centos7 Firewalld防火墙。

    四、Firewalld简介

    (1)支持网络区域所定义的网络连接及接口安全等级的动态防火墙管理工具

    (2)支持IPv4,IPv6防火墙设置

    (3)支持服务或应用程序直接添加防火墙规则接口

    (4)拥有两种配置模式,

    运行时配置和永久配置。

    4.1 firewalld防火墙区域介绍

    为了简化管理,firewalld防火墙将所有的网络流量分为多个区域,每个区域都具有不同程度的规则,默认情况下,public公共区域是默认区域,包含所有接口网卡。
    在这里插入图片描述

    4.2 firewalld防火墙的工作流程

    检查数据来源的源地址:

    若源地址关联到特定的区域,则执行该区域所指定的规则;

    若源地址未关联到特定的区域,则使用传入网络接口的区域并执行该区域所指定的规则;

    若网络接口未关联到特定的区域,则使用默认区域并执行该区域所指定规则。

    五、Firewalld防火墙的配置方法

    5.1 运行时配置

    实时生效,并持续至Firewalld重新启动或重新加载配置;

    不中断现有连接;

    不能修改服务配置。

    5.2 永久配置

    不立即生效,除非Firewalld重新启动或重新加载配置;

    中断现有连接;

    可以修改服务配置。

    六、 Firewall-config图形工具

    Firewal-config是firewalld防火墙自带的图形管理工具,可以直接使用命令firewall-config启动,可以简单的完成很多复杂的防火墙设置。

    [root@localhost ~]# firewall-config
    

    在这里插入图片描述

    七、firewall-cmd 字符工具

    firewall-cmd是firewalld防火墙自带的字符管理工具,可以用来设置防火墙的各种规则。

    特点:

    (1)支持全部防火墙特性;

    (2)–permanent参数:携带该参数表示永久配置,否则表示运行时配置;

    (3)[–zone=< zone >]选项:不携带此选项表示针对默认区域操作,否则针对指定区域。

    7.1 防火墙进程操作命令
    [root@localhost ~]# systemctl 选项 firewalld
    

    选项:start stop restart status(开启,停止,重启,状态)

    常用指令如下:

    7.2 防火墙区域操作命令

    (1)显示所有区域及其规则

    [root@localhost ~]# firewall-cmd --list-all-zones
    

    (2)显示internal区域的所有规则

    [root@localhost ~]# firewall-cmd --zone=internal --list-all
    

    (3)显示默认区域的所有规则

    [root@localhost ~]# firewall-cmd --list-all
    

    (4)显示网络连接或接口的默认区域

    [root@localhost ~]# firewall-cmd --get-default-zone
    public
    

    (5)设置网络连接或接口的默认区域为internal

    [root@localhost ~]# firewall-cmd --set-default-zone=internal
    success
    [root@localhost ~]# firewall-cmd --get-default-zone
    internal       '#默认区域已改为internal'
    [root@localhost ~]# 
    

    (6)显示已激活的所有区域

    激活条件:区域至少关联一个接口或一个源地址/网段

    [root@localhost ~]# firewall-cmd --get-active-zones
    internal
      interfaces: ens33
    [root@localhost ~]# 
    

    (7)显示ens33网卡接口绑定的区域

    [root@localhost ~]# firewall-cmd --get-zone-of-interface=ens33
    internal     '#绑定在默认区域'
    [root@localhost ~]# 
    

    (8)为work区域更改绑定的网络接口ens33

    [root@localhost ~]# firewall-cmd --zone=work --change-interface=ens33  '#更改接口'
    The interface is under control of NetworkManager, setting zone to work.
    success
    [root@localhost ~]# firewall-cmd --get-zone-of-interface=ens33      '#显示接口绑定区域'
    work                             '#更改成功'
    
    

    (9)为work区域删除绑定的接口ens33

    [root@localhost ~]# firewall-cmd --zone=work --remove-interface=ens33 '#删除接口'
    The interface is under control of NetworkManager, setting zone to default.
    success
    [root@localhost ~]# firewall-cmd --get-zone-of-interface=ens33    '#显示接口绑定区域'
    internal                                               '#解绑成功'
    [root@localhost ~]# 
    
    

    (10)查询区域中是否包含ens33接口

    [root@localhost ~]# firewall-cmd --zone=work --query-interface=ens33
    no
    [root@localhost ~]# 
    
    
    7.3 防火墙区域操作命令小结

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

    7.4 防火墙端口操作命令

    (1)启用internal区域22端口的TCP协议组合

    [root@localhost ~]# firewall-cmd --zone=internal --add-port=22/tcp --timeout=5m
    success
    

    –timeout=5m:表示5分钟后删除该端口。

    (2)显示internal区域内允许访问的端口号

    [root@localhost ~]# firewall-cmd --zone=internal --list-ports
    22/tcp
    
    

    (3)禁用internal区域22端口的TCP协议组合

    [root@localhost ~]# firewall-cmd --zone=internal --remove-port=22/tcp 
    success
    

    (4)查询internal区域中是否启用了22端口TCP

    [root@localhost ~]# firewall-cmd --zone=internal --query-port=22/tcp 
    no
    
    7.5 防火墙端口操作命令小结

    在这里插入图片描述

    7.6 防火墙阻塞ICMP操作命令

    (1)为work区域设置阻塞echo-request类型的ICMP

    [root@localhost ~]# firewall-cmd --zone=work --add-icmp-block=echo-request
    success
    

    (2)显示work区域内阻塞的所有ICMP类型

    [root@localhost ~]# firewall-cmd --zone=work --list-icmp-blocks 
    echo-request
    [root@localhost ~]# 
    

    (3)删除work区域已阻塞的echo-request类型的ICMP

    [root@localhost ~]# firewall-cmd --zone=work --remove-icmp-block=echo-request
    success
    

    (4)查询work区域的echo-request类型的ICMP是否阻塞

    [root@localhost ~]# firewall-cmd --zone=work --query-icmp-block=echo-request
    no
    
    7.7 防火墙阻塞ICMP操作命令小结

    在这里插入图片描述

    展开全文
  • 防火墙软件应该怎样设置安全 防火墙软件应该怎样设置安全 防火墙指的是一个有软件和硬件设备组合而成在内部网和外部网之间专用网与公共网之间的界面上构造的保护屏障下面是相关的内容介绍快来看看吧 在防火墙设置...
  • 天融信版本防火墙常用功能配置手册v2 天融信3.3版本防火墙 常用功能配置手册 北京天融信南京分公司 2008年5月 目录 TOC \o "1-3" \h \z \u 一前言 3 二天融信3.3版本防火墙配置概述 3 三天融信防火墙一些基本概念 4 ...
  • 入门学习Linux常用必会60个命令实例详解doc/txt

    千次下载 热门讨论 2011-06-09 00:08:45
    install命令的作用是安装或升级软件或备份数据,它的使用权限是所有用户。 2.格式 (1)install [选项]... 来源 目的地 (2)install [选项]... 来源... 目录 (3)install -d [选项]... 目录... 在前两种格式中,会...
  • 1.首先我们来简单的认识一下防火墙: 防火墙(Firewall),也称防护墙,是由Check Point创立者Gil Shwed于1993年发明并引入国际互联网(US5606668(A)1993-12-15)。防火墙是位于内部网和外部网之间的屏障,它按照...

    1.首先我们来简单的认识一下防火墙:
    防火墙(Firewall),也称防护墙,是由Check Point创立者Gil Shwed于1993年发明并引入国际互联网(US5606668(A)1993-12-15)。防火墙是位于内部网和外部网之间的屏障,它按照系统管理员预先定义好的规则来控制数据包的进出。防火墙是系统的第一道防线,其作用是防止非法用户的进入。下面让我们一起简单的了解一下三种防火墙:
    第一种:软件防火墙
    软件防火墙运行于特定的计算机上,它需要客户预先安装好的计算机操作系统的支持,一般来说这台计算机就是整个网络的网关。俗称“个人防火墙”。软件防火墙就像其它的软件产品一样需要先在计算机上安装并做好配置才可以使用。防火墙厂商中做网络版软件防火墙最出名的莫过于Checkpoint。使用这类防火墙,需要网管对所工作的操作系统平台比较熟悉。
    第二种:硬件防火墙
    这里说的硬件防火墙是指“所谓的硬件防火墙”。之所以加上"所谓"二字是针对芯片级防火墙说的了。它们最大的差别在于是否基于专用的硬件平台。目前,市场上大多数防火墙都是这种所谓的硬件防火墙,他们都基于PC架构,就是说,它们和普通的家庭用的PC没有太大区别。在这些PC架构计算机上运行一些经过裁剪和简化的操作系统,最常用的有老版本的Unix、Linux和FreeBSD系统。值得注意的是,由于此类防火墙采用的依然是别人的内核,因此依然会受到OS(操作系统)本身的安全性影响。传统硬件防火墙一般至少应具备三个端口,分别接内网,外网和DMZ区(非军事化区),现在一些新的硬件防火墙往往扩展了端口,常见四端口防火墙一般将第四个端口做为配置口、管理端口。很多防火墙还可以进一步扩展端口数目。
    第三种:芯片级防火墙
    芯片级防火墙基于专门的硬件平台,没有操作系统。专有的ASIC芯片促使它们比其他种类的防火墙速度更快,处理能力更强,性能更高。做这类防火墙最出名的厂商有NetScreen、FortiNet、Cisco等。这类防火墙由于是专用OS(操作系统),因此防火墙本身的漏洞比较少,不过价格相对比较高昂。
    下面是从不同的方面来对防火墙进行的一些划分:

    从软、硬件形式上分为 软件防火墙和硬件防火墙以及芯片级防火墙;
    从防火墙技术分为 “包过滤型”和“应用代理型”两大类;
    从防火墙结构分为单一主机防火墙、路由器集成式防火墙和分布式防火墙三种;
    按防火墙的应用部署位置分为边界防火墙、个人防火墙和混合防火墙三大类;
    按防火墙性能分为百兆级防火墙和千兆级防火墙两类。

    防火墙功能:

    可以保护易受攻击服务;
    控制内外网之间网络系统的访问;
    集中管理内网的安全性,降低管理成本;
    提高网络的保密性和私有性;
    记录网络的使用状态,为安全规划和网络维护提供依据。

    2.了解Linux防火墙: 防火墙的核心是数据报文的过滤,工作在主机或者网络的边缘,对进出的数据报文进行检查、监控并且能够根据事先定义的匹配条件和规则做出相应的动作的组件、机制或者系统。**Linux一般都是作为服务器系统来使用,对外提供一些基于网络的服务,通常我们都需要对服务器进行一些网络访问控制(常见的访问控制包括:哪些ip可以访问服务器、可以使用哪些协议访问服务器、可以通过哪些接口访问服务器,是否通过数据包进行修改等。比如:服务器可能受到来自于某个ip攻击,这时就需要禁止所有来自ip的访问)**这类似于防火墙的功能,所以我们称之为Linux防火墙服务。
    接着我们认识一下基于操作系统的四层模型,防火墙是在哪一层工作的:
    在这里插入图片描述
    **Linux内核集成了网络控制功能,通过netfilter模块(netfilter提供了一个抽象、通用化的框架,作为中间件,为每种网络协议(IPv4、IPv6等)定义一套钩子函数)来实现网络访问控制功能。**防火墙的核心是数据报文过滤,网络模块由内核实现,而过滤的实现必须在内核中,而用户是无法直接访问内核,更别说把过滤规则放置到内核中,因此在TCP/IP协议栈上,选取了几个不同的位置,开放给用户空间的应用程序,该应用程序可以通过系统调用将规则发送到指定的内核位置,我们Linux操作系统上为大家提供的应用程序是iptables程序、firewalld程序对netfilter进行控制管理。
    iptables 是一个应用层的应用程序,它通过 netfilter 放出的接口来对存放在内核内存中的 XXtables(Netfilter的配置表)进行修改。这个XXtables由表tables、链chains、规则rules组成,iptables(RHEL 7版本之前)在应用层负责修改这个规则文件。类似的应用程序还有firewalld(RHEL 7版本之后) 。
    netfilter可以对数据进行允许、丢弃、拒绝等三个可执行的动作。netfilter支持通过五元组(源ip数据报文从哪来、目的ip数据报文从哪去、源端口、目的端口、传输协议)、使用接口、连接状态(new established related invalid)等对数据包进行分类。
    iptables service的工作原理:首先对旧的防火墙规则进行了清空,然后重新完整地加载所有新的防火墙规则,而如果配置了规则需要 reload 内核模块的话,过程背后还会包含卸载和重新加载内核模块的动作,而不幸的是,这个动作很可能对运行中的系统产生额外的不良影响,特别是在网络非常繁忙的系统中并且iptables只支持针对IPv4进行设置。
    Firewalld的工作原理:如果我们哪怕只修改一条规则也要进行所有规则的重新载入的模式称为静态防火墙的话,那么firewalld 所提供的模式就可以叫做动态防火墙,它的出现就是为了解决这一问题,任何规则的变更都不需要对整个防火墙规则列表进行重新加载,只需要将变更部分保存并更新到运行中的 iptables 即可,它具备对IPv4 和IP v6防火墙设置的支持。3.简单了解Linux防火墙服务的工作原理及netfilter配置表的的配置信息:
    Hook Point:我们可以理解为回调函数点,当数据包到达触发回调函数点的位置时,会主动调用我们的回调函数,使我们有机会能在数据包路由的时候改变它们的方向、内容。
    Linux操作系统内核通过钩子函数(hook function)来实现将数据引导到netfilter模块上匹配相应控制策略的。注意:在未开启防火墙之前,数据包是直接通过内核层转发给主机的,一旦开启防火墙,就需要钩子函数将所有的应用程序数据包引导到netfilter模块。
    五个位置的钩子函数:

    INPUT链:当接收到防火墙本机地址的数据包(入站)时,应用此链中的规则。
    OUTPUT链:当防火墙本机向外发送数据包(出站)时,应用此链中的规则;
    FORWARD链:当接收到需要通过防火墙发送给其他地址的数据包(转发)时,应用此链中的规则;
    PREROUTING链:在对数据包作路由选择之前,应用此链中的规则,如DNAT;
    POSTROUTING链:在进行数据包的路由判断之后,应用此链中的规则,如SNAT。

    规则:就是指网络管理员预定义的条件,规则一般的定义为如果数据包头符合这样的条件,就处理这个数据包。规则存储在内核空间的信息包过滤的表中,这些规则分别指定了源地址、目的地址、传输协议(如TCP、UDP、ICMP等)和服务类型(http、ftp、SMTP等)。当数据包与规则匹配时iptables就根据规则所定义的方法来处理这些数据包,如放行(accept)、拒绝(reject)和丢弃(drop)等。配置防火墙的主要工作就是添加、修改和删除这些规则。
    链:就是数据包传播的路径,每一条链其实就是众多规则中的一个检查清单,每一条链中可以有一条或者数条规则。当一个数据包到达数据链时,iptables就会从链中第一条规则开始检查,看数据包是否满足规则所定义的条件。如果满足,系统就会根据该规则所定义的方法处理该数据包;否则iptables将继续检查下一条规则,如果该数据包不符合链中任意一条规则,iptables就会根据该链预先定义的默认策略来处理数据包。
    表:就是指定规则提供特定的功能,iptables内置了4个表。分别用于实现包过滤,网络地址转换、包重构(修改)和数据跟踪处理。

    filter表:数据包过滤,主要用于对数据包进行过滤,根据具体的规则决定是否放行该数据包(如DROP、ACCEPT、REJECT)。filter表对应的内核模块为iptable_filter;可以针对应用协议、端口、ip、接口、连接状态等来实行过滤。包含三条规则链------INPUT、FORWARD、OUTPUT。
    nat表:地址转换,主要用于修改数据包的IP地址、端口号等信息(网络地址转换SNAT、DNAT)。属于一个流的包(因为包的大小限制导致数据可能会被分成多个数据包)只会经过这个表一次。包含三条规则链接------ OUTPUT、PREROUTING、POSTROUTING。
    mangle表:主要用于报文重构、拆解报文,作出修改并重新封装的功能(类似于Qos)。包含五条规则链------INPUT、OUTPUT、FORWARD、PREROUTING、POSTROUTING。
    raw表:原始报文(相关服务的包要传输可以定义raw表可以快速查询)是自1.2.9以后版本的iptables新增的表,主要用于决定数据包是否被状态跟踪机制处理。在匹配数据包时,raw表的规则要优先于其他表。包含两条规则链------OUTPUT、PREROUTING。

    注意:
    1.四张表的优先级由高到低的顺序为:raw–>mangle–>nat–>filter。

    例如:如果PREROUTING链上,既有mangle表,也有nat表,那么先由mangle处理,然后由nat表处理。
    2.raw表只使用在PREROUTING链和OUTPUT链上,因为优先级最高,从而可以对收到的数据包在连接跟踪前进行处理。一但用户使用了RAW表,在某个链上,RAW表处理完后,将跳过NAT表和MANGLE表处理,即不再做地址转换和数据包的链接跟踪处理了。
    对于四张表中动作的定义:

    ACCEPT------接收数据包;
    DROP------丢弃数据包,不会给发送者返回任何信息;
    REJECT------丢弃数据包并向发送者返回错误消息。

    在这里插入图片描述
    对于五条链,我认为我们可以简单的将其看作是五个虚拟接口更好理解一点,如下图所示,PreInput、PreOutput就是我们防火墙连接外网的接口,Input、Output就是我们防火墙连接内网的接口,而Forward就是连接我们防火墙的一个转发接口,当收到一个数据包,首先会匹配PreInput接口中的规则,如果允许的话并且数据包确实是发送给我这台主机的话,那么数据包通过Input接口中的规则转发给指定的应用程序,否则数据包转发到Forward接口,Forward接口会再次进行规则匹配并根据相应的ip地址将数据包转发出去。相应的,如果某个应用程序需要发送数据的话,那么数据包需要先匹配Output接口中定义的规则对数据包做出处理,之后在根据PostRouting中定义的规则将数据包转发出去。
    在这里插入图片描述
    4.简单了解数据包在Linux防火墙上的转发流程:

    网口数据包由底层的网卡NIC接收,通过数据链路层的解包之后(去除数据链路帧头),就进入了TCP/IP协议栈(本质就是一个处理网络数据包的内核驱动)和Netfilter混合的数据包处理流程中了。数据包的接收、处理、转发流程构成一个有限状态向量机,经过一些列的内核处理函数、以及Netfilter
    Hook点,最后被转发、或者本次上层的应用程序消化掉。

    在这里插入图片描述
    5.学习使用iptables应用程序对netfilter进行规则设定:
    5.1首先我们安装一下iptables应用程序对应的软件包:

    [root@localhost ~]# yum install iptables –y
    

    5.1学习iptables的命令格式(切记在使用iptables时必须将firewalld程序停掉):

    [root@localhost ~]# systemctl status firewalld
    [root@localhost ~]# systemctl stop firewalld
    

    在这里插入图片描述
    iptables用法:

    [root@localhost ~]# iptables [-t tables] [-L] [-nv]
    选项与参数:
    -t:后面接 table,例如nat或filter,若省略此参数,则默认使用的filter表;
    -A:新增一条规则,到该规则链列表的最后一行;
    -I:插入一条规则,原本该位置上的规则会往后顺序移动,没有指定编号则为1;
    -D:从规则链中删除一条规则,要么输入完整的规则,或者指定规则编号加以删除;
    -R:替换某条规则,规则替换不会改变顺序,而且必须指定编号;
    -P:设置某条规则链的默认动作;
    -nL:-L、-n(number,将所有主机显示成ip地址格式),查看当前运行的防火墙规则列表;
    -F:清除所有规则表;
    [-i|o网卡名称]:i是指定数据包从哪块网卡进入,o是指定数据包从哪块网卡输出;
    [-p协议类型]:可以指定规则应用的协议,包含tcp、udp和icmp等;
    例如:
    -p icmp --icmp-type     
                         8:echo-request     //请求                                
                         0:echo-reply         //回复                                    
    举个简单的例子来看一下,要求其他主机当前主机不能互ping。
    [root@localhost ~]#iptables-A OUTPUT -s 192.168.10.206(当前) -d 192.168.10.211(其他) -p icmp --icmp-type 0 -j REJECT
    [root@localhost ~]#iptables-A OUTPUT -s 192.168.10.206(当前) -d 192.168.10.211(其他) -p icmp --icmp-type 8 -j REJECT
    如果要释放规则表的话通过命令[root@localhost ~]# iptables -t filter -F OUTPUT来实现。
    -p tcp --tcp-flags mask comp:只检查mask指定的标志位,是以逗号分隔的标志位列表;comp:此列表中出现的标记位必须为1,comp中没有出现,而mask中出现的必须为1(--tcp-flags SYN,FIN,ACK,RST SYN=--syn);
    [-s源IP地址]:源主机的IP地址或子网地址;
    [--sport源端口号]:数据包的源IP的源端口号;
    [-d目标IP地址]:目标主机的IP地址或子网地址;
    [--dport目标端口号]:数据包的目的IP的目标端口号;
    -m:extend matches,这个选项用于提供更多的匹配参数,如:-m state --state NEW,ESTABLISHED,RELATED
    [root@localhost ~]#iptables -A INPUT -d 192.168.10.206(当前主机) -p tcp -m state --state ESTABLISHED,RELATED(组合使用,表示旧的会话)--dport 22 -j ACCEPT(当前其他主机可以连接我当前主机,但是再开一个新的链接就不可以);
    [root@localhost ~]#iptables -I INPUT -p tcp -s 172.16.30.160 --dport 22 -j REJECT
    -m tcp --dport 22
    -m multiport --dports 80,8080
    -L :列出目前的 table 的规则;
    -n:不进行 IP 与 HOSTNAME 的反查,显示讯息的速度会快很多;
    -v:列出更多的信息,包括通过该规则的封包总位数、相关的网络接口等。
    

    5.2下面我们以几个案例来对iptables进行部署练习:
    案例一: 搭建web服务,并且能够正常访问,通过iptables拒绝web服务端口
    在这里插入图片描述

    [root@localhost ~]# iptables -I INPUT -p tcp --dport 80 -j REJECT
    

    在这里插入图片描述
    #列出规则表中的编号

    [root@localhost ~]#iptables  -L --line-numbers
    

    在这里插入图片描述
    #删除刚刚添加的规则,并进行测试

    [root@localhost ~]# iptables -t filter -D INPUT 1
    

    案例二: 禁止主机192.168.10.211ssh远程登陆服务器192.168.10.206
    在这里插入图片描述

    [root@localhost ~]# iptables -t filter -I INPUT -p tcp -s 192.168.10.211 --dport 22 -j REJECT
    

    在这里插入图片描述
    #删除刚刚添加的规则,并进行测试

    [root@localhost ~]# iptables -t filter -D INPUT 1
    

    其他操作:

    #防止同步包洪水(Sync Flood)
    [root@localhost ~]#iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT
    #防止各种端口扫描
    [root@localhost ~]#iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
    #防止Ping洪水攻击(Ping of Death)
    [root@localhost ~]#iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
    #屏蔽 SYN_RECV 的连接
    [root@localhost ~]#iptables -A INPUT -p tcp -m tcp --tcp-flags SYN,RST,ACK SYN -m limit --limit 1/sec -j ACCEPT
    #记录访问tcp22端口的新连接,记录名称为SSH,--set记录数据包中的来源ip,如果ip地址已经存在的话,将更新已经存在的条目
    [root@localhost ~]# iptables -I INPUT -p tcp --dport 22 -m state --state NEW -m recent --set --name SSH
    #SSH记录中的ip,300s内发起超过3次的连接则拒绝此ip进行连接操作,--update是指每次建立连接都更新列表,--seconds必须与—rcheck或者—update同时使用
    [root@localhost ~]# iptables -I INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 300 --hitcount 3 --name SSH -j DROP
    

    6.学习使用firewalld应用程序对netfilter进行规则设定:
    6.1首先我们来简单的了解一下firewalld,firewalld 使用服务(service) 和区域(zone)来代替 iptables 的规则(rule)和链(chain)。FirewallD提供了支持网络/防火墙区域(zone)定义网络链接以及接口安全等级的动态防火墙管理工具。
    为什么说firewalld是动态防火墙?
    我们首先回忆一下iptables service管理防火墙规则的模式:用户将新的防火墙规则添加进 /etc/sysconfig/iptables 配置文件当中,再执行命令 service iptables reload 使变更的规则生效。在这整个过程的背后,iptables service 首先对旧的防火墙规则进行了清空,然后重新完整地加载所有新的防火墙规则,我们把这种哪怕只修改一条规则也要进行所有规则的重新载入的模式称为静态防火墙。那么 firewalld 所提供的模式就可以叫做动态防火墙,它的出现就是为了解决这一问题,任何规则的变更都不需要对整个防火墙规则列表进行重新加载,只需要将变更部分保存并更新到运行中的 iptables 即可。
    firewalld服务对应的一些文档icmptypes、services、xmlschema、zones等在/usr/lib/firewalld/目录下。
    在这里插入图片描述
    默认情况下,firewalld服务有以下的区域(zone)可用:

    1>drop------丢弃所有传入的网络数据包并且无回应,只有传出网络连接可用;
    2>block------阻塞区,拒绝所有传入网络数据包并回应一条主机禁止的 ICMP 消息,只有传出网络连接可用;
    3>public------只接受被选择的传入网络连接,用于公共区域;
    4>external------外部区,用于启用了地址伪装的外部网络,只接受选定的传入网络连接;
    5>dmz------ DMZ 隔离区,外部受限地访问内部网络,只接受选定的传入网络连接;
    6>work------对于处在你工作区域内的计算机,只接受被选择的传入网络连接;
    7>home------对于处在你家庭区域内的计算机,只接受被选择的传入网络连接;
    8>internal------内部网络区域,对于处在你内部网络的计算机,只接受被选择的传入网络连接;
    9>trusted------受信任区域,所有网络连接都接受。

    6.2firewalld应用程序的使用及案例操作部署:
    6.3通过图形化工具进行相应的配置(可以启动图形界面查看预定义服务,在有条件的情况下推荐使用图形化界面进行配置。预定义服务在命令行模式下可以通过查看firewalld.service(5)man手册也可以通过查看/usr/lib/firewalld/services/目录了解更详细):
    #命令行下通过下列命令进入图形化界面

    [root@localhost ~]# firewall-config
    

    在这里插入图片描述
    6.4通过编辑配置文件对firewalld应用程序进行相应的配置:

    [root@localhost ~]# vim /etc/firewalld/firewalld.conf
    

    6.5通过firewall-cmd命令对firewalld应用程序进行相应的配置(要熟练和习惯使用Tab键进行选项补全和参数补全):

    #使用命令查看所有支持的服务
    [root@localhost ~]# firewall-cmd --get-services
    #使用命令添加服务
    [root@localhost ~]#firewall-cmd --add-service=http
    #设置服务超时时间,即服务的开启时间,单位秒
    [root@localhost ~]# firewall-cmd --add-service=http --timeout=10
    #启用紧急模式(所有的规则出入都拒绝)
    [root@localhost ~]#firewall-cmd --panic-on
    #禁用紧急模式
    [root@localhost ~]# firewall-cmd --panic-off
    #查询紧急模式状态
    [root@localhost ~]# firewall-cmd --query-panic
    #查看当前区域
    [root@localhost ~]# firewall-cmd --get-default-zone
    #查看所有支持的区域
    [root@localhost ~]# firewall-cmd --get-zones
    #设置trusted区域为当前区域
    [root@localhost ~]# firewall-cmd --set-default-zone=trusted
    #根据接口查询区域
    [root@localhost ~]# firewall-cmd --get-zone-of-interface=eno16777736 
    #添加当前源地址
    [root@localhost ~]# firewall-cmd --add-source=192.168.171.1/24
    #添加一个端口
    [root@localhost ~]# firewall-cmd --add-port=8080/tcp
    #删除源地址
    [root@localhost ~]# firewall-cmd --remove-source=192.168.171.1/24
    #删除端口
    [root@localhost ~]# firewall-cmd --remove-port=8080/tcp
    #以上都为运行时生效,若要永久生效,添加--permanent规则
    [root@localhost ~]# firewall-cmd --permanent --add-service=http
    #重新加载
    [root@localhost ~]# firewall-cmd --reload
    #列出所支持的ICMP类型
    [root@localhost ~]# firewall-cmd --get-icmptypes
    #列出所有区域的详细信息
    [root@localhost ~]# firewall-cmd --list-all-zones
    #添加ssh服务进行测试
    [root@localhost ~]# firewall-cmd --permanent --add-service=ssh                                                                           --add-source=目标ip
                                                 --remove-source=目标ip
                                                 --add-source=目标ip 
                                                 --zone=drop (指定不同区域对当前区域不生效)
    #列出指定区域的规则
    [root@localhost ~]# firewall-cmd --zone=trusted --list-all
    #启用伪装功能,但因为内核限制,只支持ipv4
    [root@localhost ~]# firewall-cmd --add-masquerade
    #添加禁止icmp报文
    [root@localhost ~]# firewall-cmd --add-icmp-block=echo-request
    注意:永久模式不直接影响运行时状态,只有在重启服务或者重载时生效,运行模式、直接模式不保存规则,在重载或者重启服务后必须再次提交,传递的参数和iptables一致
    #添加一个列表
    [root@localhost ~]# firewall-cmd ----direct permanent --add-chain ipv4 raw blacklist
    #给列表添加一个规则
    [root@localhost ~]# firewall-cmd --direct --permanent --add-rule ipv4 raw PREROUTING 0 -s 192.168.171.0/24 -j blacklist
    #定义列表的动作
    [root@localhost ~]# firewall-cmd --direct --permanent --add-rule ipv4 raw blacklist 1 -j DROP
    

    6.6了解rich rule富规则(我认为我们可以将富规则理解为比较富裕的规则,得匹配执行的规则):
    图形界面添加富规则:
    在这里插入图片描述
    命令行界面:

    #添加一个富规则
    [root@localhost ~]#firewall-cmd [--zone=zone] --add-rich-rule='rule' [--timeout=timeval]
    #删除一个富规则
    [root@localhost ~]#firewall-cmd [--zone=zone] --remove-rich-rule='rule'
    #查询一个富规则
    [root@localhost ~]# firewall-cmd [--zone=zone] --query-rich-rule='rule'
    

    富规则的格式:

    rule [family="rule family"]
    [ source address="address" [invert="True"] ]
    [ destination address="address" [invert="True"] ]
    [ element ]                                                  //包的限制
    [ log [prefix="prefix text"] [level="log level"] [limit      //日志等级
    value="rate/duration"] ]
    [ audit ]                                                    //审计
    

    #重载

    [root@localhost ~]#firewall-cmd --reload
    

    #启用Linux上的一些服务,以imaps协议为例

    [root@localhost ~]#firewall-cmd --add-service=imaps
    

    #端口管理

    #查询所有可用端口
    [root@localhost ~]#semanage port -l
    [root@localhost ~]#semanage port -a -t nfs_port_t -p tcp 8080
    
    展开全文
  • 12款个人防火墙软件横向评测

    千次阅读 2010-07-21 09:30:42
    12款个人防火墙软件横向评测 2009-04-24 23:01 如今,在很多涉及电脑安全问题的讨论中,我们常会提起这样一个词,这就是“防火墙”。和防病毒软件主要负责电脑内部的问题不同,防火墙的任务,更多的是处理来自...
    12款个人防火墙软件横向评测
    2009-04-24 23:01
    如今,在很多涉及电脑安全问题的讨论中,我们常会提起这样一个词,这就是“防火墙”。和防病毒软件主要负责电脑内部的问题不同,防火墙的任务,更多的是处理来自网络外面的威胁。一般来说,市面上的防火墙,按照形式来分,大致可分为两种。即以专用芯片为载体的硬件防火墙和以个人电脑为载体的软件防火墙。虽然,从运行稳定性和网络效率来讲,硬件防火墙无疑有着巨大的优势,但其昂贵的价格,也足以让很多普通用户咂舌。而相比之下,软件防火墙虽然在性能方面稍显逊色,但凭借其低廉的价格和还算不错的防护能力,还是吸引到了不少用户的目光。那么,在面对市场上五花八门的防火墙软件时,您是否知道如何选择?今天,我们就集合了市面上比较流行的12款防火墙软件,从性能、防御能力、功能人性化程度等多个方面,为您进行一番真实的对比。看一看谁才是真正适合我们的防火墙软件。

      一、 评测环境

      在此次评测中,我们共安排了两台计算机。其中,安装防火墙软件并接受测试的,是一台酷睿2双核笔记本电脑。而辅助测试的,则是一台AMD Athlon 2200+台式PC。为保证最好的测试效果,两台电脑将使用一台D-Link交换机进行互联,其执行交换速率为100 Mbps。此外,为满足评测中的一些联网需要,我们还特意准备了一组2Mbps带宽的网通ADSL。

      在软件配置方面,考虑到目前的实际情况,操作系统仍然选用了目前市场占有率最大的Windows XP Professional(补丁版本SP3)。同时,考虑到各防火墙软件之间,可能会产生一些互排斥问题。评测前,将首先对当前系统进行一次Ghost备份。每测试完一款软件,恢复一遍系统。同时,评测中系统自带的防火墙将处于关闭状态,除必要的评测软件之外,未安装其他任何工具。

    防火墙

    图1 笔记本电脑配置情况

    防火墙

    图2 台式PC配置情况

     

     

       二、 软件界面表现

     

      易用性是很多朋友,考察一款防火墙好坏的第一要素。而界面设计,又是与易用性关系最为密切的一项指标。于是,界面设计是否合理、用户操作是否便捷、显示的内容是否完善等等,便成为了我们判断一款防火墙优劣的首要标准。那么,在今天所参评的12款防火墙软件中,谁的界面设计更为出色呢?下面,还是让我们看一看它们的真实表现吧。

      1.1 Agnitum Outpost Firewall

      Outpost的界面比较传统,采用了最为常见的左右式布局。点击左侧按钮,就能从右侧看到各种详细的功能选项。同时,为了兼顾不同水平的用户,Outpost还特意设计了“简易视图”和“专家视图”两种界面显示方式,能够很好地在易用性和功能性方面,达到一个平衡。在它的“防火墙”标签下,是一项攻击屏蔽记录和规则设置向导。同时,我们也可以通过这个标签,了解到各种详细的数据统计资料。

      点击高速下载:Agnitum Outpost Firewall

    防火墙

    图3 Outpost界面截图

      1.2 ZoneAarm Firewall

      和Outpost一样,ZoneAlarm同样采用了传统的左右式布局。不过,由于没有设计“简易界面”。因此,ZoneAlarm的选项看上去更为“丰富”。此外,滑动式选杆也是ZoneAlarm的一大特色。相比以前的菜单选项,ZoneAlarm的用户,能够直接将滑杆拖动到指定位置,来快速完成选择,大大提高了日常环境中的操作效率。此外,在规则设置上,ZoneAlarm也提供了“简洁”(滑杆方式)和“专家”(对话框)两种方式,同时照顾到了不同用户的操作需要。

      点击高速下载:ZoneAarm Firewall

    防火墙

    图4 ZoneAlarm界面截图

      1.3 Norman Personal Firewall

      Norman也是采用了最为常见的左右式布局。但凭借其良好的界面配色和功能分布,使得整套软件条理感极强。在它的防火墙标签下,我们不但能够看到各种实时的统计信息。而且,还能快速完成“网络锁定”、“临时规则清除”、“专家日志”、“防火墙规则设定”等一些最常用的操作。此外,在Norman中,配置向导也是软件的一大特色。即使您是第一次使用Norman软件,也一定能够很快上手。

      点击高速下载:Norman Personal Firewall

    防火墙

    图5 Norman界面截图

      1.4 Jetico Personal Firewall

      乍一看,Jetico很像是操作系统自带的任务管理器。在它的主界面上,我们能够非常直观地了解到,当前已允许和已阻止的通讯流量。而其他各项功能,则是以功能标签的形式,列示在窗口顶端,切换起来十分方便。此外,在Jetico中,“预设策略”则是它的最大亮点。在日常使用中,我们既可以针对策略重新编辑,也能直接建立自己所需的规则。同时,设在主界面顶端的“策略”选框,则能让用户非常方便地,在不同的策略间来回切换。

      点击高速下载:Jetico Personal Firewall

    防火墙

    图6 Jetico界面截图

      1.5 F-Secure

      相比之下,F-Secure的界面平淡无奇,但使用起来还是颇为顺手的。在这款软件中,防火墙只是作为“Internet防护”组中的一个部分,拥有“IP片断阻止”、“防御规则制订”、“服务进出限制”等一些最基本的防御功能。而“入侵防护”、“控制控制”、“应用程序控制”等其他组件,则与之并列,同时出现在更高一级的“Internet防护”标签下。虽然,这样的设计,可能会让某些用户感觉不适,但熟悉之后,还是比较好用的。

      点击高速下载:F-Secure

    防火墙

    图7 F-Secure界面截图

    1.6 Comodo Firewall

      在界面上,Comodo采用了平时不太常见的上下式布局。所有功能均通过顶端四组按钮,进行切换。而在每个项目下,软件还特意为不同的使用人群,设计了“常用任务”、“高级任务”两大标签,人性化考虑比较完善。但相对于很多新手用户来说,Comodo的设计,条理性不强,可能不太容易快速上手。

      点击高速下载:Comodo Firewall

    防火墙

    图8 Comodo界面截图

      1.7 瑞星个人防火墙

      单从UI来看,瑞星防火墙的确能够让我们眼前一亮。漂亮的配色加上合理的布局,让软件特别便于快速上手。在它的“工作状态”标签下,所有活动的程序,都会以小图标的形式,列示在图表上方。只要某一进程出现流量,便会在图标上快速闪动。这样,我们就能根据具体情况,采取相应措施了。而在其他功能上,瑞星防火墙也毫不逊色。包括“IP包过滤”、“恶意网址拦截”、“应用程序监控”、“出站攻击防御”等一系列常用的功能,都能在相关模块中找到,十分方便。

      点击高速下载:瑞星个人防火墙

    防火墙

    图9 瑞星防火墙 界面截图

      1.8 江民防火墙

      江民防火墙的界面,设计得比较出色。与其他软件过分追求大而全不同,江民防火墙的主界面,只有那么窄窄的一条。而在这个面板中,用户可以非常方便地执行“安全级别调整”、“软件智能升级”、“防火墙暂停”、“网络强制中断”和“防火墙设置”这五项最常用功能。而更多的设置,则隐藏在界面底端的四个伸缩标签中。点击后,才会自动弹出。这样,无论是注重操作的普通用户,还是侧重功能的高级用户,都能在软件中找到适合自己的模式,大大提高了日常工作的操作效率。

      点击高速下载:江民防火墙

    防火墙

    图10 江民防火墙界面截图

      1.9 天网防火墙

      和江民防火墙一样,天网防火墙同样采用了方便的可伸缩式面板。平时,各项常用功能,均以按钮的形式,出现在主面板上。当我们点击其中某一按钮时,相应面板便会自动弹出。而设计在主面板上的流量监视器,也很实用。当网络中出现一些异常流量时,监视器能够直观地将其显示出来。以帮助用户,在第一时间处理可能出现的威胁。

      点击高速下载:天网防火墙

    防火墙

    图11 天网防火墙界面截图

      1.10 卡巴斯基全功能安全软件

      在卡巴斯基中,防火墙是作为整套卡巴斯基全功能安全软件的一个模块而存在的。由于配置了强大的木马查杀及主动防御机制。因此,卡巴斯基防火墙,相比来说功能比较简单。在这款软件中,无论是应用程序过滤、网络数据包过滤还是网络协议过滤,都能在这个面板中轻松找到。而双击即可修改、拖拽即可移动这样的操作,也让使用者倍感轻松。

      点击高速下载:卡巴斯基全功能安全软件

    防火墙

    图12 卡巴斯基防火墙界面截图

      1.11 风云防火墙

      在界面设计上,风云防火墙同样采用了一种大家都很熟悉的横纵布局方案。通过顶端工具栏,用户可以很方便地完成“防火墙暂停”、“网络中断”、“防马暂停”等一些最常用操作。而左侧的“功能导航”区,则将软件的所有功能,完整地列示出来。虽然,风云的界面稍显混乱,但在实际操作时,还是比较方便的。

      点击高速下载:风云防火墙

    防火墙

    图13 风云防火墙界面截图

      1.12 诺顿Norton Internet Security

      和卡巴斯基一样,诺顿防火墙也是附属于Norton Internet Security的一个安全组件。在界面布局上,沿袭了Norton 2009全新的UI风格,不但外观更加炫目。而且,各项功能按钮,也都采用了新颖的“拨动”式开关设计。在它的“Internet”标签下,除了最基本的出入站检查。软件还特别提供了“网络拓扑图”、“入侵防护体系”、“邮件消息扫描”等很多额外工具,为日常防护提供了更多帮助。

      点击高速下载:Norton Internet Security

    防火墙

    图14 诺顿防火墙界面截图

    三、 规则设置对比

      为了应对不同的网络环境,我们常常会在防火墙默认的安全规则上,自行修改或补充。而规则的制订是否方便、覆盖范围是否全面、人性化设计是否合理等等,便成为了用户们最为关心的几项问题。接下来,我们便围绕以上几个方面,对12款参评防火墙,进行一番规则设置的对比。

      1.1 Outpost

      Outpost的规则编辑比较容易,所有选项都集中在同一个界面。而我们所要做的,只是根据实际需要,选择触发事件,然后确定好通讯方向和许可权限。最终,便能完成一个“允许”或“禁止”的通信规则制订。此外,Outpost还有一项独特的“防火墙策略”功能,允许用户通过滑杆,快速选择不同的防护级别。

    防火墙

    图15 Outpost规则定义

      1.2 ZoneAlarm

      ZoneAlarm同样为我们提供了专家和快速两种规则建立方案。相比Outpost,ZoneAlarm的专家规则更加详细。不但可以通过菜单,将“信任区”、“Internet区”和“本地电脑”等一些由ZoneAlarm自行设计的虚拟区域添加进来。而且,还特别提供了“Protocol(协议)”、“Time(时间区域)”等更多的设置选项,灵活度较强。

    防火墙

    图16 ZoneAlarm规则定义

      1.3 Norman

      在Norman中,规则创建完全采用了向导模式。虽然,这样的设计,很受一些新手用户的欢迎。但同时,也暴露出规则灵活度差,不利于熟练用户快速操作等等弊端。此外,Norman也没有提供其他防火墙中比较常见的,安全级快速修改功能,不利于经常需要切换网络环境的用户使用。

    防火墙

    图17 Norman规则定义

      1.4 Jetico

      相比之下,Jetico的规则对话框,比较实用。能够在同一个设置窗口,同时提供多组操作选项。此外,丰富的预设规则,也为软件的规则制订,提供了很大便利。稍加修改后,就能让它们适应全新的应用环境。除此之外,“进程攻击表”和“应用程序校验和”,也是这款软件中十分有特色的两项功能,大大提高了进程监控的灵活程度。

    防火墙

    图18 Jetico规则定义

      1.5 F-Secure

      F-Secure的规则制订,也是采用向导模式。但和Norman相比,它的向导更加灵活。同时,也能为高级用户提供更多的可操作空间。其中,“通讯方向”可支持方便的鼠标可视化点击,能够让用户直观快捷地完成参数设定。而在这款软件中,一项“拨号连接”复选项,也颇为引人注目。虽然,这个选项听上去有些老土。但在某些特殊的环境中,还是非常有用处的。

    防火墙

    图19 F-Secure规则定义

      1.6 Comodo

      Comodo的规则定义也很灵活,除了能够将硬盘上的某个程序,快速制成通讯规则。还能直接调用进程列表,选择运行中的某个进程,快速实现拦截。此外,在Comodo中,还有一些预设分类(如“临时文件”、“重要文件”、“系统程序”等),也是它的一大亮点。灵活地利用它们,也能方便地对某一类软件建立规则。

    防火墙

    图20 Comodo规则定义

    1.7 瑞星防火墙

      在瑞星防火墙中,规则定义也是采用向导模式。相比来说,每个选项还是比较完善的。同时,瑞星防火墙还为不同的工作模式(如锁定模式、交易模式等),提供了不同的访问策略。而这,也正是这款软件与其他同类工具最为不同的地方。

    防火墙

    图21 瑞星防火墙规则定义

      1.8 江民防火墙

      在规则设定上,江民防火墙同样使用了比较常见的综合选框形式。能够供用户自行定义“网络环境”、“收发IP”、“传输协议”、“端口情况”和“规则对象”等多种参数,较为适合中高级用户操作使用。此外,在江民防火墙中,还有一些专门针对于“冰河”、“Back Oriface 2000”等知名木马,所设立的专用规则,实用化程度很高。

    防火墙

    图22 江民防火墙规则定义

      1.9 天网防火墙

      在天网防火墙中,我们能够方便地通过顶端工具栏,进入“程序”、“IP”的规则设置区。而在这些面板中,各项参数都提供得非常齐全。其中,某些细节选项,只对某些有效协议显示(比如ICMP标签中,绝不会出现端口选项),大大降低了新手用户的操作难度。

    防火墙

    图23 天网防火墙规则定义

      1.10 卡巴斯基

      作为卡巴斯基安全套装的一部分,卡巴斯基防火墙,同样拥有一个功能全面的规则配置窗口。在它的设置面板中,我们能够直接调用或修改,预设好的规则模板。不过,和同类软件相比,卡巴斯基的防火墙统计有些另类,直观性也不太好。但是,我们却能利用它,方便地将某一进程的历史流量进行对比,以确定该进程是否存在问题,也算是一个很不错的设计了。

    防火墙

    图24 卡巴斯基防火墙规则定义

      1.11 风云防火墙

      风云防火墙的规则面板比较简洁,用户可以通过复选框,方便地完成规则制订。虽然,在它的规则面板中,我们没有看到其他防火墙所惯用的“日志模式”。但却可以利用工具栏中的“免除提示”,实现静默运行。

    防火墙

    图25 风云防火墙规则定义

      1.12 Norton

      在Norton防火墙中,规则制订面板也是采用向导形式。虽然,条理性相比更强,但它的弊端,同样是不适合专业用户快速进行设置。而在它的设置面板中,端口范围则是一项新颖的选项。借助它,我们能够方便地对一个端口区进行监控,特别适合于监督那些可能有危险的端口范围。此外,Norton防火墙同样具有完善的追踪与提醒功能,其入侵防御系统,能够自动断开攻击方与己方的网络通信(一段时间后解锁),以防产生更大的危害。

    防火墙

    图26 诺顿防火墙规则定义

    四、 防御能力对比

      作为一款防火墙软件,能否有效地抵御各种来自外界的威胁,无疑是我们重点考察的一个项目。为了能让测试结果更加有效,我们参考了真实的网络攻防情况,组建了“端口静默扫描”、“反弹连接测试”、“X-Scan综合扫描”这三组评测环境,以便综合对各款防火墙软件的基本防御能力,进行一番对比。

      1.1 端口静默扫描

      一般来讲,几乎所有的网络攻击行为,都是针对于特定端口展开的。因此,尽量减少端口在外人眼中的“曝光率”,便是降低电脑受攻击频率的一个最好方法。而这,也就是我们平时所说的“端口静默”。一般而言,端口的状态有三种:开启(Open)、关闭(Close)和隐蔽(Stealth)。其中,“关闭”状态,是我们平时最容易忽略掉的。事实上,对于一名有经验的黑客来说,即使端口处于“关闭”状态,也是可以通过一些特殊的查询实施攻击。因此,要想实现真正意义上的静默,就必须将所有不使用的端口,全部设为“隐蔽”状态。

      在检测工具的选择上,我们挑选了时下受欢迎度较高的Shields UP!! 网站。该网站的特点,是能够对0到1055的1056个端口进行扫描,同时以图形化形式,返回各端口的当前状态。不但使用起来非常简便,而且,它的检测精度,也是目前所有在线检测网站中,最全的一个了。

    防火墙

    图27 Shileds UP!! 端口检测截图

    防火墙

    图28 端口检测结果对比(点击图片看清晰大图)

      由于端口检测,大多采用入站流量。因此,端口的扫描屏蔽操作,实际上也可以理解为防火墙防御功能的一个部分。而从测试结果来看,绝大多数防火墙软件,均能有效地完成主机端口的屏蔽。其中,一直不被大家所看好的Windows防火墙,竟然也有出色的表现。而相比之下,江民和卡巴斯基,则在此项设置中略逊一筹。开启防护后,依然还会暴露出大量“非隐蔽(non-stealth)”端口,从而为系统带来更多的安全隐患。

      1.2 反弹连接测试

      为了绕过防火墙严格的传入连接过滤,很多木马在感染计算机系统后,都会主动向服务器(木马服务器),发出反向连接请求(传出连接)。因此,一款好的防火墙软件,除了要拥有强大的传入连接过滤,还要能够防范这种由内向外发出的不安全连接。而这,就是我们平时所常说的“反弹式连接”。一般来讲,测试反弹连接,主要是通过两大工具。一是由GRC公司出品的leaktest。而另外一款,则是由Robin Keir出品的firehole。

      从技术上讲,leaktest和firehole的工作模式略有不同。其中,leaktest只是简单地将数据发送到grc.com,作为最终验证条件。而firehole则更为严格,只有当发出的数据获得正确应答后,才算穿透成功。

    防火墙

    图29 Leaktest界面截图(图示为防火墙已穿透!)

    防火墙

    图30 Firehole界面截图(图示为防火墙已穿透)

    防火墙

    图31 反弹连接测试对比(点击图片看清晰大图)

      相比严格的正向防御,大多数防火墙在反向检测上并不强大。从上面的反弹测试可以看出,12款参评防火墙软件中,只有Norman和Jetico能够完全阻止“Leaktest”、“Firehole”的攻击。而其余各款防火墙,要么只能阻止某一测试,要么根本没有提供相应功能。而Windows防火墙中,众所周知的的单向防御缺陷,也在此次评测中表露无遗。

    1.3 X-Scan综合扫描

      X-Scan是目前使用频率最高的一款综合型扫描软件。能够详细地提供出,被扫描端的操作系统类型、操作系统版本、标准端口状态、端口Banner信息、CGI漏洞、IIS漏洞、RPC漏洞、NT服务器NETBIOS等等信息。因此,接下来,我们也将利用这款软件,对各款参评防火墙,进行一次完整的扫描。

    防火墙

    图32 X-Scan扫描中截图

    防火墙

    图33 X-Scan扫描结果对比(点击图片看清晰大图)

      在X-Scan的扫描结果中,国外防火墙的防御能力明显高于国内防火墙软件。而且,普遍采用的方法,都是直接让被保护机“灭失”(即令扫描工具无法找到存活机)。这样的设计,不但效率较高。而且,还能很好地规避软件设计中可能出现的疏漏。从而在实际应用中,获得最好的效果。

      五、 性能影响测试

      由于防火墙的技术特点所限,当它运行时,多少都会对网络的性能,造成一定影响。为了能够准确地评估出,各款防火墙软件在不同使用环境下的性能影响情况。我们分别从网络层和应用层这两个层面,开展了如下测试。

      1.1 网络层性能测试

      在网络层测试中,我们采用的是一款由lxia公司出品的Qcheck软件。作为目前最优秀的性能测试软件,Qcheck 3.0能够非常准确地测量出不同大小的网络封包,在TCP和UDP两种协议下的响应时间和吞吐带宽。其出色的性能表现,更是堪比专业的硬件检测工具。为了能让大家对测试数据有所参考,评测前,我们将首先记录空白系统下的测试成绩。

      注:响应时间测试中,我们将采用Qcheck的自动检测机制。每组封包检测10次,取10次的平均值计入成绩。而吞吐带宽测试,则采用手动传输机制。每组封包检测3次,取3次的平均值计入表格。

    防火墙

    图34 Qcheck界面截图

    防火墙

    图35 响应时间对比(单位:ms)(点击图片看清晰大图)

    防火墙

    图36 吞吐带宽对比(单位:Mbps)(点击图片看清晰大图)

    1.2 应用层性能测试

      而在应用层测试中,我们则是模拟了一项最基本的Web应用 —— 文件下载。其中,台式PC将开启IIS服务,建立一个最简单的下载页面。然后,通过笔记本(安装防火墙软件)的IE浏览器,从台式机网页中,下载事先存放好的测试文件(文件大小:144 MB)。最终,用秒表手动计量文件下载所需时间,并以此计入统计表格。和网络层测试一样,评测前,我们也将事先保留空白系统下的测试成绩。

      注:传输用时包括浏览器自动将下载文件,由临时区拷贝至目标区域所消耗的时间。

    防火墙

    图37 模拟Web下载页面

    防火墙

    图38 文件下载用时对比图(单位:秒)(点击图片看清晰大图)

      六、 自我保护能力

      随着防火墙过滤能力的提高,要想轻松“穿墙”,已经不是那么容易了。于是,某些木马作者,便想出了一个更为简单的方法 —— 直接中止防火墙软件。于是,防火墙的自我防护能力,也就成为了我们接下来将要考察的一个重点。为了验证各参评软件,是否能够有效地防范恶意中止。我们将分别利用Windows自带的任务管理器和IceSword(冰刃)两款工具,开展中断测试。最终,成绩计入统计表格。

    防火墙

    图39 自我保护能力对比(点击图片看清晰大图)

      从测试结果来看,各防火墙软件的自我保护能力并不乐观。除“Norman”和“卡巴斯基”以外,其余各款防火墙,均无法同时通过“任务管理器”和“IceSword”的中止测试。很难想像,在遭遇一些恶意木马时,我们的防火墙终究是否真的有能力,继续保障操作系统的安全。

      七、 资源占用情况

      作为一款电脑软件,资源占用永远都是我们需要关注的一个重点。毕竟,电脑总是拿来用的,如果宝贵的内存,总是被一些辅助工具所占用。那么,在进行一些正常操作时,难免就会出现捉襟见肘的现象。于是,接下来,我们将分别针对各防火墙,在静默运行(未开启主操作面板)和网络传输过程中的内存占用情况进行统计,数据取自IceSword。

    防火墙

    图40 资源占用情况对比(单位:KB)(点击图片看清晰大图)

      八、 综合评定

      经过一番详细的对比之后,12款防火墙的基本情况,已经完完整整地展现到我们面前了。从评测中可以看出,无论是网络延迟效应,还是实时防御能力,国外软件都比国产防火墙,有着更为明显的优势。不过,在这其中,Jetico和风云防火墙给我们的印象并不太好。测试中,几乎每一步操作,就能换回来一大串“问话”(即询问是否“允许XXX出站”、“允许XXX入站”等等)。不但使用麻烦,而且,频繁的问题也很容易,让使用者出现顺势思维错误(即习惯性点击“允许”,导致错误的规则批复),进而出现安全隐患。此外,多进程也是Norman和F-Secure两款软件的最大“亮点”。15~16个系统进程,足以促使它们成为此次评测的资源消耗大王。

    展开全文
  •  防火墙分类为软件防火墙和硬件防火墙软件防火墙的类型: 1. 包过滤型防火墙:主要在网络层和传输层实现(2,3,4层)。包过滤防火墙又分为两类。 1.1 简单包过滤防火墙,直接根据报文首部的某些属性作为匹配...
  • 个人防火墙软件排名

    2008-09-28 01:38:10
    1.Look'n'stop Look’n’Stop 被誉为世界顶级防火墙!...而且软件大小只有区区600多k十分小巧, 占内存非常小,可以监控dll,更具强大的御防******能力! 下载Look'n'stop:[url]http://3800cc.com/Soft/aqfh/2129.h...
  • 软件测试面试题汇总

    万次阅读 多人点赞 2018-09-27 12:31:09
    转载自: ... 软件测试面试题汇总 测试技术面试题 ...........................................................................................................
  • Linux软件防火墙策略

    2019-09-11 21:22:07
    前言: 最近整理一些以前的学习笔记。...软件防火墙 硬件防火墙 防火墙作用: 隔离 防火墙处理接收到的访问消息规则: 匹配即停止: 1.查看客户端请求数据包中,源IP地址,查看自己所有的预设区域...
  • 当拿到一个新的linux... 关闭防火墙  service iptables stop  关闭防火墙的开机启动  chkconfig iptables off  重启linux服务器  reboot 1.配置jdk   1.1.在home目录下创建apps目录(根据习惯)   mkdir a
  • 图6-22 托盘菜单 2为快速启用经常使用的某些功能在右下角托盘图标上单击鼠标右键弹出托盘菜单如图6-22所示点击常用的功能按钮或进行个性化设置就可以了 模块6 安全防护工具 软件24 瑞星个人防火墙 24.1 简介 瑞星...
  • 内含DP防火墙FW1000,H3C S5130/S5500/7500,华为S1720/S2700/S5700/S6720的MIB库和对应OID,其他型号可已参照。另外附赠snmpWalk软件用于获取设备OID信息。
  • java编程常用软件

    万次阅读 多人点赞 2019-12-08 22:59:10
    有大神曾说“给我一个记事本,我还你一个项目”,作为小白的我,以前也对这句话深信不疑,但当我参加人生第一次编程考试的时候,我发现我用记事本码代码的速度... 废话讲完了,以下是我推荐的几款编程常用软件: ...
  • Linux运维常用工具软件

    千次阅读 2019-06-13 20:02:07
    1、远程桌面连接 TigerVNC Xshell 2、FTP服务和客户端 FileZilla - 将客户端的文件上传到服务器上. 客户端可以使用免费的FileZilla ...它支持的CPU种类相当全面,软件 的启动速度及检测速度都很快。 4、端口监...
  • 防火墙概述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 功能与优点 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ...
  • linux常用命令和关闭防火墙 1. linux基础命令 在文档最后: 2. linux常用命令 Mkdir 创建 Rm -rf 删除 Chmod -R 777 权限 Mysql -uroot -r quit退出   find / -name svn 查找位置   3. 关闭防火墙...
  • 飞塔防火墙常用命令集合

    千次阅读 2019-02-21 09:25:51
    内存:运行系统软件,存储路由表、会话表、记录日志等; Flash卡:存放Fort IOS版本、配置文件,系统运行事件日志; CP芯片:内容处理芯片,病毒特征/IPS特征查找,IPSec VPN加解密等; FA2、NP2、NP4芯片:网络...
  • 由于Linux各个发行版使用的防火墙软件并不相同,特此整理该文档帮助大家能够进行速查。 防火墙软件对照 以防火墙软件为索引,使用了该防火墙软件的Linux发行版如下清单所示: firewall-cmd,适用于centos7。 ...
  • ip6tables命令和iptables一样,都是linux中防火墙软件,不同的是ip6tables采用的TCP/ip协议为IPv6。 语法格式:ip6tables [参数] 常用参数: -A 向规则链中添加条目 -D 从规则链中删除条目 -i 向规则链中插入...
  • 一、防火墙基本原理 首先,我们需要了解一些基本的防火墙实现原理。防火墙目前主要分包过滤,和状态检测的包过滤,应用层代理防火墙。但是他们的基本实现都是类似的。 │ │---路由器-----网卡│防火墙│网卡│-----...
  • (文档中包含H3C V7和V5版本常用功能的配置方法,包含web界面和命令行两种方式)防火墙指的是一个由软件和硬件设备组合而成、在内部网和外部网之间、专用网与公共网之间的界面上构造的保护屏障,是一种获取安全性...
  • 防火墙技术原理学习笔记

    万次阅读 多人点赞 2017-10-06 00:43:05
    【课程名称】:防火墙技术原理   【课程内容】: 一、 防火墙技术原理 二、 防火墙的定义 三、 防火墙技术原理   【学习笔记】: 一、防火墙技术原理 1、 防火墙概要介绍 2、 ...
  • centos7防火墙常用命令

    2019-09-18 09:01:12
    CentOS7使用systemctl指令来管理系统的单一服务,在CentOS7中对于firewalld(防火墙)服务的开启、关闭、状态查询也同样是使用该指令,操作如下: 启动防火墙: systemctl start firewalld 查看防火墙状态: ...
  • Ubuntu附带了一个防火墙配置工具:ufw sudo apt-get install ufw #安装ufw ➢ 启用防火墙 运行以下两条命令后,开启了防火墙,并在系统启动时自动开启。...➢ 常用命令 sudo ufw enable|disable #开启/关闭...
  • 2.特殊增加了对常用服务器端口的监视,任何连接都会被记录端口和IP来源; 3.利用黑客入侵造就原理超强端口查杀功能,超强的入侵记录; 4.增加规则包功能; 5.增加系统流量图形化监视,并有详细统计数据; 6.实时监测...
  • 包括:硬盘分区、系统克隆与还原、优化大师及碎片整理、压缩文件及虚拟光驱的使用、抓图工具的使用、以及防火墙的使用等等。
  • 华三F50X0 v7系列防火墙mib文件OID 需要自己在zabbix 添加监控项,可以查询此文件,无需专业软件打开,txt文件,建议用文本编辑软件打开,如notepad++

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 66,260
精华内容 26,504
关键字:

常用防火墙软件