实践环境
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
。 - 协议可以是
tcp
、udp
、sctp
或dccp
。
取消开放端口?说走就走!
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
把当前运行时的配置保存下来,覆盖掉之前的持久配置,妈妈再也不用担心我重启服务器了!
黑客/网络安全学习包
资料目录
-
成长路线图&学习规划
-
配套视频教程
-
SRC&黑客文籍
-
护网行动资料
-
黑客必读书单
-
面试题合集
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
*************************************CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享*************************************
1.成长路线图&学习规划
要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
*************************************CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享*************************************
2.视频教程
很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,其中一共有21个章节,每个章节都是当前板块的精华浓缩。
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
*************************************CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享*************************************
3.SRC&黑客文籍
大家最喜欢也是最关心的SRC技术文籍&黑客技术也有收录
SRC技术文籍:
黑客资料由于是敏感资源,这里不能直接展示哦!
4.护网行动资料
其中关于HW护网行动,也准备了对应的资料,这些内容可相当于比赛的金手指!
5.黑客必读书单
**
**
6.面试题合集
当你自学到这里,你就要开始思考找工作的事情了,而工作绕不开的就是真题和面试题。
更多内容为防止和谐,可以扫描获取~
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
*************************************CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享*********************************