专栏首页Linux、云计算技术交流第十四章 Firewall防火墙(一)

第十四章 Firewall防火墙(一)

第十四章 Firewall防火墙

14.1 Firewall防火墙简介

Firewall防火墙是在RHEL7.0开始加入到系统中的,是系统安装后默认使用的防火墙工具。它是基于iptables工作的,可以说firewall就是iptables的一个外壳。我们操作firewall时,实质上是由firewall生成了iptables命令,给iptables执行。

由于在局域网通信时,路由器都是使用的企业级路由,几乎不会使用主机做路由器开启iptables保护内网,所以,iptables的nat代理功能较为少用,服务器上启用防火墙更多的是为了保护自己,即审核访问自己或自己发出去的数据包。Firewall防火墙最主要的功能就是针对本机做保护的。

14.1 Firewall原理

Firewall采用区域式管理机制,共有九大区域,通信时以网卡所在的区域为生效区域,审核规则。

Firewall的九大区域功能如下:

public ---公共区域,默认有效区域,可设定规则

trusted ---信任区域,允许任何通信

drop ---丢弃区域,拒绝任何通信

external ---nat区域,防火墙作为nat代理服务器使用

dmz ---非军事区域,该区域内的主机,服务端口自动映射,即DNAT

work ---工作区域

home ---家庭区域

internal ---内部区域

block ---类似于drop,拒绝所有外部通信。

其中,前五个区域是最常用的区域,work、home、internal可视为针对不同环境制定的不同规则,比如,我们拿着笔记本电脑,到单位上可以启用work区域生效;拿回家后可以启用home生效。pulic区域为默认区域,即安装完linux系统后,firewall默认使用public作为生效区域,所有网卡都工作在public区域内。

这里,再次强调一下:若没有特殊设定,网卡所在的区域为生效区域,经过该网卡的所有数据包都要审核区域内的规则。

14.2 Firewall配置

本章我们仍使用上一章的实验拓扑图。左边外网卡是ens33,内网卡是ens34。

14.2.1 默认区域配置

首先,来查一下当前firewall的默认区域是哪一个:

firewall-cmd --get-default-zone ---查看当前的默认生效区域

那么默认区域中的规则有哪些呢?查看命令如下:

firewall-cmd --list-all ---查看默认区域的规则

图中可见到,默认区域是public,它有两块网卡:ens33、ens34。下面显示的是本区域中的规则,表示允许客户访问的本机服务、端口等设置,可见基本都是空的。

要查看所有九大区域中的规则,可使用如下命令:

firewall-cmd --list-all-zones ---查看所有区域的规则

我们现在在Linux上部署一个web网站,使用客户机访问,可发现是无法访问的,因为访问的网卡在public区域中,而public区域允许访问的services中并没有http服务,但是使用客户端连接服务器的ssh服务是可以的,这是因为services中有ssh服务,即允许客户访问本机的ssh。

若要更改firewall默认生效的区域,可以使用下面命令:

firewall-cmd --set-default-zone=trusted ---更改默认区域为信任区域

firewall-cmd --get-default-zone

firewall-cmd --list-all

再次查看可见默认区域已更改,并且两块网卡也都转到trusted中了。

这时我们再次从客户机访问服务器的web网站,可发现已经通了。说明trusted区域允许所有通信。

14.2.2 网卡所在区域配置

我们先把默认区域恢复到public中:

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

然后我们来配置一下网卡的所在区域:

firewall-cmd --change-interface=ens33 --zone=trusted

firewall-cmd --list-all --zone=trusted ---指定仅查看trusted区域

这样,可见到我们把网卡ens33转入到trusted区域了。然后可以在主机A上访问http://202.0.0.2,即Linux上的web服务,会发现访问成功,因为主机A访问时通信的是ens33网卡,走trusted区域。但是在主机B上访问http://192.168.10.1会发现打不开页面,因为通信的是ens34网卡,走的是public区域。

firewall-cmd --remove-interface=ens33 --zone=trusted

注:从区域中删除网卡,网卡将被放空,不属于任何区域

firewall-cmd --list-all-zones

查看所有区域,会找不到ens33。

firewall-cmd --add-interface=ens33 --zone=public

注:把网卡加入区域。

两个命令的区别是:change可以更改任何网卡(在或不在某个区域都可以);add只能把放空网卡加入到区域。

好了,为了后面的实验。我们先把网卡转回public:

firewall-cmd --change-interface=ens33 --zone=public

本文分享自微信公众号 - 教主小筑(gh_e0879483602d),作者:教主小筑

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-06-20

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 第十四章 Firewall防火墙(二)

    现在,我们的两块网卡都是在public区域中。下面我们来给public区域配置规则,让其允许某些服务被访问。

    晓天
  • 第十三章 iptables 防火墙(一)

    防火墙(firewall)一词本是建筑用于,本意是为了保护建筑物不受火灾侵害的。被借鉴到了在网络通信领域中,表示保护局域网或主机不受网络攻击的侵害。

    晓天
  • 第十三章 iptables 防火墙(二)

    当然,iptbales不只可以设置默认规则,还可以手动加入很多规则。首先我们来看一下路由器的网卡配置:

    晓天
  • linux服务器端口无法访问问题解决

    我这里说明一下jar包Java运行部署在服务端,首先要确定项目在服务端运行成功,可以实java -jar jar包名.jar 或者bohup java -jar...

    kirin
  • 操作系统:Linux下的防火墙

    最近由于产品架构升级需要,在做一些环境搭建的事情。很久没做这类基础部署相关的工作,对操作系统和基础配置都有些生疏。恰好操作的过程中遇到一个与防火墙相关的...

    程序员架构进阶
  • 使用Python检测并绕过Web应用程序防火墙

    Web应用防火墙通常会被部署在Web客户端与Web服务器之间,以过滤来自服务器的恶意流量。而作为一名渗透测试人员,想要更好的突破目标系统,就必须要了解目标系统的...

    FB客服
  • 黑客用Python:检测并绕过Web应用程序防火墙

    Web应用防火墙通常会被部署在Web客户端与Web服务器之间,以过滤来自服务器的恶意流量。而作为一名渗透测试人员,想要更好的突破目标系统,就必须要了解目标系统的...

    小小科
  • CentOS 7下用firewall-cmd控制端口与端口转发详解

    firewall-cmd命令需要firewalld进程处于运行状态。我们可以使用systemctl status/start/stop/restart fire...

    拓荒者
  • centos8使用Apache httpd2.4.37安装web服务器的步骤详解

    第三步:systemctl enable httpd  #设置httpd服务为开机启动

    砸漏
  • SSL 证书部署过程

    本文演示环境 操作系统(64位):Ubuntu 16.04 CentOS 7.3 服务器软件:Nginx和Apache SSL证书:DV SSL 域名:19...

    赵腰静
  • 网站服务器修改SSH默认22端口

    慕白
  • linux防火墙状态查看的方法实例

    到此这篇关于linux防火墙状态查看的方法实例的文章就介绍到这了,更多相关linux防火墙状态查看内容请搜索ZaLou.Cn以前的文章或继续浏览下面的相关文章希...

    砸漏
  • Centos7端口转发采用firewall-cmd让80端口转发至8080端口

    一:首先来了解下Centos7新增的命令工具网络防火墙:firewall-cmd,非常强大!

    herve
  • Centos7服务器运维服务系统安装过程中遇到的问题总结

    由于我们Sinesafe的客户要求网站的服务器要装Centos7版本所以给大家分享下安装的过程与经验,如果需要深入的服务器运维服务也可以找我们。

    网站安全专家
  • iptables规则备份和恢复,firewalld的9个zone和zone的操作,firewalld关于service的操作

    叶瑾
  • Linux防火墙firewalld安全设置

    防火墙是具有很好的保护作用。入侵者必须首先穿越防火墙的安全防线,才能接触目标计算机。在公司里数据安全是最重要的,要求安全部门进行全公司进行服务器防火墙安全搭建,...

    没有故事的陈师傅
  • linux防火墙相关配置命令及操作(centos和ubuntu)

    大家在网上输入【linux 防火墙】等关键字搜索相关文章,有时候会出现命令用不了的情况,不是说他们的命令错误,而是因为操作系统版本的问题。 目前的话,比...

    bboy枫亭
  • 【SpringSecurity系列(十五)】请求防火墙默认已开启

    《深入浅出Spring Security》一书已由清华大学出版社正式出版发行,感兴趣的小伙伴戳这里->->>深入浅出Spring Security,一本书学会 ...

    江南一点雨
  • CentOS 7 :Failed to start IPv4 firewall with iptables.

    https://blog.csdn.net/u013028876/article/details/78750561

    拓荒者

扫码关注云+社区

领取腾讯云代金券