【Linux学习】day 11 firewall防火墙

本文介绍Firewalld服务中快速变更策略规则的方法及两种操作状态:runtime与permanent,并展示了如何通过firewall-cmd命令进行操作。同时,文章还介绍了基于应用层的流量监控程序TCPWrapper及其配置文件。

firewall

zone

快速变更策略规则模板
在这里插入图片描述

两种操作状态
  1. runtime(命令模式默认运行在当前生效模式)
  2. permanent(永久生效模式,执行后不生效,或执行–reload后才生效)
    在这里插入图片描述
firewall-cmd(命令模式)
firewall-cmd [-permanent] [区域操作] [参数操作]

实例:

firewall-cmd --get-zone-of-interface=eno16777728 public
查询网卡所在firewall服务中的区域

firewall-cmd --set-default-zone=public
把firewalld服务的当前默认区域设置为public

流量转发格式:
firewall-cmd --permanent --zone=<区域> --add-forward-port=port=<源端口号>:proto=<协议>:toport=<目标端口号>:toaddr=<目标IP地址>

更多实例访问:LinuxProbe.com

firewall-config(图形化模式)
在这里插入代码片
服务的访问控制列表(TCP Wrapper)

不同于基于数据链路层的iptables于firewall,TCP Wrapper是基于应用层的一个流量监控程序。
TCP Wrapper主要由两个文件组成
/etc/hosts.allow 白名单,放行对服务的请求流量
/etc/hosts.deny 黑名单,阻止对服务的请求流量

格式:

[服务名称]:[IP地址]

在这里插入图片描述
遵循两个原则

  1. 编写拒绝策略规则时,填写的是服务名称,而非协议名称;
  2. 建议先编写拒绝策略规则,再编写允许策略规则,以便直观地看到相应的效果。
Linux系统中提供了多种防火墙配置工具,其中`firewalld`是较新版本的默认解决方案,它支持动态更新规则而无需重启服务,并且可以管理多个网络区域。`firewall-cmd`是一个命令行客户端工具,用于与`firewalld`交互;`firewall-config`则提供了一个图形界面来简化配置过程[^1]。 ### 使用 `firewall-cmd` 配置防火墙 #### 启动和启用 `firewalld` 在开始配置之前,确保`firewalld`服务已经启动并设置为开机自启: ```bash sudo systemctl start firewalld sudo systemctl enable firewalld ``` #### 检查当前状态 要查看当前的防火墙状态以及默认区域等信息,可以使用以下命令: ```bash sudo firewall-cmd --get-default-zone sudo firewall-cmd --list-all ``` #### 更改默认区域 如果需要更改默认区域(例如从`public`更改为`home`),可以执行: ```bash sudo firewall-cmd --set-default-zone=home ``` #### 添加端口或服务 为了允许特定的服务或端口通过防火墙,比如HTTP (80) 或 HTTPS (443),你可以添加相应的服务或者直接开放端口: ```bash # 允许http服务 sudo firewall-cmd --add-service=http --permanent # 或者直接开放80端口 sudo firewall-cmd --add-port=80/tcp --permanent ``` 这里的`--permanent`选项表示这些更改将在重启后仍然有效。应用永久更改前,请记得重新加载`firewalld`以使改动生效: ```bash sudo firewall-cmd --reload ``` #### 删除端口或服务 如果你想要移除之前添加的服务或端口,同样使用`--remove-`参数: ```bash sudo firewall-cmd --remove-service=http --permanent sudo firewall-cmd --remove-port=80/tcp --permanent ``` ### 使用 `iptables` 传统方式 对于偏好使用传统的`iptables`工具的情况,可以通过安装`iptables-services`包来获取对旧版`iptables`的支持,并禁用`firewalld`服务: ```bash sudo yum install -y iptables-services sudo systemctl stop firewalld sudo systemctl disable firewalld sudo systemctl start iptables sudo systemctl enable iptables ``` 之后,你可以像往常一样使用`iptables`命令进行配置。不过需要注意的是,在较新的Linux发行版中推荐使用`firewalld`因为它更加灵活和强大。 ### 图形化配置 (`firewall-config`) 对于那些不太熟悉命令行操作的用户,`firewall-config`提供了直观的GUI界面来进行防火墙设置。只需运行该程序即可访问各种配置选项,包括服务、端口、协议等的管理。 ### 安全最佳实践 - **最小权限原则**:只开启必要的服务和端口。 - **定期审查规则**:随着环境变化,定期检查并清理不再需要的规则。 - **利用日志记录**:启用日志功能可以帮助追踪潜在的安全事件。 - **考虑使用QoS**:在网络拥塞时,合理配置服务质量(QoS)有助于保障关键业务流量[^3]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值