10分钟精通Linux Firewalld:从入门到企业级安全防护,从零基础到精通,收藏这篇就够了!

实践环境

CentOS-7-x86_64-DVD-2009 (温馨提示:建议使用最新版,体验更佳!)

简介

还在头疼复杂的防火墙配置?别怕!Firewalld 就像一位贴心的管家,用 “区域(zone)”“策略” 帮你轻松管理网络流量。它把网络划分成不同的区域,比如“公共场合(public)”、“家里(home)”、“公司(work)”,然后针对不同区域设置不同的安全策略,简直不要太方便!

防火墙状态?一键掌握!

想知道你的防火墙老弟是否坚守岗位?两条命令轻松搞定!

# service firewalld status

或者,更现代的方式:

# systemctl status firewalld● firewalld.service - firewalld - dynamic firewall daemon   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)   Active: inactive (dead)     Docs: man:firewalld(1)

注意: 如果显示 Active: inactive (dead),说明你的防火墙可能在偷懒哦!赶紧启动它!如果显示 Active: active (running),恭喜你,你的网络安全卫士正在兢兢业业地工作!

还有一种方式,简单粗暴:

# firewall-cmd --statenot running

启动!让防火墙动起来!

是时候唤醒你的防火墙了!

# service firewalld start

或者,用更优雅的姿势:

# systemctl start firewalld

重启!给防火墙充充电!

如果防火墙有点小脾气,重启一下就好啦!

# service firewalld restart

当然,你也可以选择:

# systemctl restart firewalld

开机自启?安排!

想让防火墙成为你的贴身保镖,每次开机都自动就位?安排!

# systemctl enable firewalldCreated symlink from /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service to /usr/lib/systemd/system/firewalld.service.Created symlink from /etc/systemd/system/multi-user.target.wants/firewalld.service to /usr/lib/systemd/system/firewalld.service.

禁用开机自启?没问题!

如果你想让防火墙偶尔休息一下,禁用开机自启也很简单:

# systemctl disable firewalldRemoved symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

区域大揭秘:你的网络安全地盘!

Firewalld 已经为你准备好了几个预定义的区域,快来看看它们都是干嘛的!

# firewall-cmd --get-zonesblock dmz drop external home internal public trusted work# #查看每个区域的详细信息# firewall-cmd --list-all-zones

区域详解:

区域 默认规则 安全等级 适用场景
block 拒绝所有新的连接请求,只允许已建立的连接。 适用于需要高度隔离的环境,例如恶意流量攻击时的临时防御。
dmz 拒绝所有新的连接请求,只允许已建立的连接,但允许 SSH 服务。 较高 适用于放置对外提供服务的服务器,例如 Web 服务器、邮件服务器等。
drop 丢弃所有新的连接请求,没有任何响应。 最高 适用于完全隔离的网络环境,例如蜜罐系统。
external 拒绝所有新的连接请求,只允许已建立的连接,但允许 SSH 服务。 较高 适用于连接到外部网络的接口,例如路由器。
home 拒绝所有新的连接请求,只允许已建立的连接,并允许 SSH、mdns、ipp-client、amba-client、dhcpv6-client 服务。 中等 适用于家庭网络环境。
internal 与 home 区域相同。 中等 适用于内部网络环境。
public 拒绝所有新的连接请求,只允许已建立的连接,并允许 SSH、dhcpv6-client 服务。 中等 适用于公共网络环境,例如咖啡厅、机场等。
trusted 允许所有流量。 最低 适用于完全信任的网络环境,例如本地回环接口。
work 拒绝所有新的连接请求,只允许已建立的连接,并允许 SSH、ipp-client、dhcpv6-client 服务。 中等 适用于工作场所网络环境。

自定义区域?安排!

想拥有一个专属的安全地盘?没问题!

# firewall-cmd --permanent --new-zone=testingsuccess

重要的事情说三遍: --permanent 选项 不能少不能少不能少

默认区域?心中有数!

想知道默认情况下,你的网络接口都属于哪个区域?

# firewall-cmd --get-default-zonepublic

网卡和区域?CP 锁死!

想知道你的网卡和哪个区域绑定了?

# ip addr1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00    inet 127.0.0.1/8 scope host lo       valid_lft forever preferred_lft forever    inet6 ::1/128 scope host        valid_lft forever preferred_lft forever2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000    link/ether 00:0c:29:12:86:da brd ff:ff:ff:ff:ff:ff    inet 192.168.206.102/24 brd 192.168.206.255 scope global ens33       valid_lft forever preferred_lft forever    inet6 fe80::20c:29ff:fe12:86da/64 scope link        valid_lft forever preferred_lft forever# firewall-cmd --get-zone-of-interface=ens33public

温馨提示: 一张网卡只能爱一个区域哦!

修改默认区域?随心所欲!

想换个默认区域?安排!

# #修改默认区域为`trusted`# firewall-cmd --set-default-zone=trusted success# firewall-cmd --get-default-zone trusted# firewall-cmd --get-zone-of-interface=ens33trusted# #还原# firewall-cmd --set-default-zone=public success# firewall-cmd --get-default-zone public# firewall-cmd --get-zone-of-interface=ens33public

修改网卡关联的区域?两种姿势,任你选择!

方法一:先分手,再恋爱!

# firewall-cmd --remove-interface=ens33 --zone=publicsuccess# firewall-cmd --get-zone-of-interface=ens33no zone## 设置ens33关联区域为trusted# firewall-cmd --add-interface=ens33 --zone=trustedsuccess# firewall-cmd --get-zone-of-interface=ens33trusted

方法二:直接换对象!

## 设置ens33关联区域为public# firewall-cmd --change-interface=ens33 --zone=publicsuccess# firewall-cmd --get-zone-of-interface=ens33public

区域状态?一目了然!

想知道当前哪些区域是活跃的,以及它们都绑定了哪些接口和源?

firewall-cmd --get-active-zones

输出格式如下:

zone1  interfaces: interface1 interface2 ..  sources: source1 ..zone2  interfaces: interface3 ..zone3  sources: source2 ..如果没有接口和源绑定到区域,则忽略该对应区域行

举个栗子:

# firewall-cmd --get-active-zonespublic  interfaces: ens33

端口访问?精准控制!

查看已开放端口?心里有数!

firewall-cmd  [--permanent] [--zone=zone] --list-ports

添加开放端口?轻松搞定!

firewall-cmd [--permanent] [--zone=zone] --add-port=portid[-portid]/protocol [--timeout=timeval]

注意:

  • --timeout 选项不能和 --permanent 选项一起使用哦!
  • 端口可以是单个端口号,也可以是端口范围 portid-portid
  • 协议可以是 tcpudpsctpdccp

取消开放端口?说走就走!

firewall-cmd [--permanent] [--zone=zone] --remove-port=portid[-portid]/protocol

端口实战演练:

例子一:为 public 区域持久开放 tcp 协议端口 15672

# firewall-cmd --permanent --add-port=15672/tcp# firewall-cmd --list-ports # 查不到端口# #让配置生效# firewall-cmd --reloadsuccess# firewall-cmd --list-ports15672/tcp

友情提示:

  • firewall-cmd --reload:重新加载防火墙规则,但会保留状态信息。
  • firewall-cmd --complete-reload:完全重新加载防火墙,会丢失状态信息,慎用!

例子二:为 public 区域持久开放 tcp 协议端口范围 1000-2000(包括 1000 和 2000)

# firewall-cmd --permanent --add-port=1000-2000/tcpsuccess# firewall-cmd --reloadsuccess# firewall-cmd --list-ports15672/tcp 1000-2000/tcp

例子三:为 public 区域持久取消开放 tcp 协议端口 15672

# firewall-cmd --permanent --remove-port=15672/tcpsuccess# firewall-cmd --reloadsuccess# firewall-cmd --list-ports1000-2000/tcp

例子四:为 public 区域持久取消开放 tcp 协议端口范围 1000-2000(包括 1000 和 2000)

]# firewall-cmd --permanent --remove-port=1000-2000/tcpsuccess# firewall-cmd --reloadsuccess# firewall-cmd --list-ports#

IP、网络访问?精准打击!

添加开放源?欢迎光临!

firewall-cmd [--permanent] [--zone=zone] --add-source=source[/mask]|MAC|ipset:ipset

取消开放源?恕不远送!

firewall-cmd [--permanent] --remove-source=source[/mask]|MAC|ipset:ipset

IP、网络实战演练:

例子一:允许 IP 192.168.50.182 持久访问 public 区域

# firewall-cmd --permanent --add-source=192.168.50.182success# firewall-cmd --reloadsuccess

小秘密: 添加 IP 白名单后,即使没有开放端口,该 IP 也能正常访问哦!

例子二:允许子网 192.168.50.0/24 持久访问 public 区域

# firewall-cmd --permanent --add-source=192.168.50.0/24success# firewall-cmd --reloadsuccess

例子三:取消 IP 192.168.50.182 对 public 区域的持久访问许可

# firewall-cmd --permanent --remove-source=192.168.50.182success# firewall-cmd --reloadsuccess

富语言规则?高级玩家的专属!

列出富语言规则?一览无余!

firewall-cmd [--permanent] [--zone=zone] --list-rich-rules

添加富语言规则?精细化控制!

firewall-cmd [--permanent] [--zone=zone] --add-rich-rule='rule' [--timeout=timeval]

删除富语言规则?挥一挥衣袖!

firewall-cmd  [--permanent] [--zone=zone] --remove-rich-rule='rule'

查询富语言规则?心中有数!

firewall-cmd  [--permanent] [--zone=zone] --query-rich-rule='rule'

富语言规则实战演练:

例子一:允许 IP 192.168.50.182 持久访问 public 区域 tcp 协议端口 15672

# firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.50.182" port protocol="tcp" port="15672" accept'# firewall-cmd --reload

例子二:取消 IP 192.168.50.182 持久访问 public 区域 tcp 协议端口 15672 的许可

# firewall-cmd --permanent --remove-rich-rule='rule family="ipv4" source address="192.168.50.182" port protocol="tcp" port="15672" accept'success# firewall-cmd --reload

例子三:禁止 IP 192.168.50.182 持久访问 public 区域

# firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.50.182" reject'# firewall-cmd --reload

重要提示:

  • 添加访问限制前,建议先移除之前的访问许可配置,避免规则冲突。
  • reject 可以替换为 drop,直接丢弃来访请求数据包,更加粗暴!

例子四:取消禁止 IP 192.168.50.182 持久访问 public 区域限制

# firewall-cmd --permanent --remove-rich-rule='rule family="ipv4" source address="192.168.50.182" reject'# firewall-cmd --reload

例子五:查看当前配置的富语言规则

# firewall-cmd --list-rich-rulesrule family="ipv4" source address="192.168.50.182" reject

区域配置全家桶?一键获取!

firewall-cmd[--permanent] [--zone=zone] --list-all

举个栗子:

# firewall-cmd --list-allpublic (active)  target: default  icmp-block-inversion: no  interfaces: ens33  sources:   services: dhcpv6-client ssh  ports: 15672/tcp  protocols:   masquerade: no  forward-ports:   source-ports:   icmp-blocks:   rich rules:

运行时配置?永久保存!

# firewall-cmd --runtime-to-permanent

把当前运行时的配置保存下来,覆盖掉之前的持久配置,妈妈再也不用担心我重启服务器了!

黑客/网络安全学习包

资料目录

  1. 成长路线图&学习规划

  2. 配套视频教程

  3. SRC&黑客文籍

  4. 护网行动资料

  5. 黑客必读书单

  6. 面试题合集

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

*************************************CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享*************************************

1.成长路线图&学习规划

要学习一门新的技术,作为新手一定要先学习成长路线图方向不对,努力白费

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。


因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

*************************************CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享*************************************

2.视频教程

很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,其中一共有21个章节,每个章节都是当前板块的精华浓缩


因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

*************************************CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享*************************************

3.SRC&黑客文籍

大家最喜欢也是最关心的SRC技术文籍&黑客技术也有收录

SRC技术文籍:

黑客资料由于是敏感资源,这里不能直接展示哦!

4.护网行动资料

其中关于HW护网行动,也准备了对应的资料,这些内容可相当于比赛的金手指!

5.黑客必读书单

**

**

6.面试题合集

当你自学到这里,你就要开始思考找工作的事情了,而工作绕不开的就是真题和面试题。

更多内容为防止和谐,可以扫描获取~

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

*************************************CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享*********************************

猜你喜欢

转载自blog.csdn.net/Libra1313/article/details/147040584
今日推荐