lygswj2009 发表于 2024-7-31 20:41:22

Linux 系统防火墙实用配置指南:安全与高效兼顾


以下是一个针对 Linux 系统防火墙配置的实用且安全的教程,尽量不拖累系统性能:


**一、使用 firewalld 防火墙(以 CentOS 8 为例)**


1. 安装 firewalld 防火墙
```
sudo yum install firewalld
```


2. 启动并启用 firewalld 服务
```
sudo systemctl start firewalld
sudo systemctl enable firewalld
```


3. 查看当前区域和规则
```
sudo firewall-cmd --get-default-zone
sudo firewall-cmd --list-all
```


4. 允许特定端口(例如 SSH 端口 22)
```
sudo firewall-cmd --zone=public --add-port=22/tcp --permanent
sudo firewall-cmd --reload
```


5. 允许特定服务(如 HTTP 和 HTTPS)
```
sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --add-service=https --permanent
sudo firewall-cmd --reload
```


6. 限制特定 IP 访问
```
sudo firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.100" reject' --permanent
sudo firewall-cmd --reload
```


7. 允许特定网段访问
```
sudo firewall-cmd --zone=public --add-source=192.168.1.0/24 --permanent
sudo firewall-cmd --reload
```


**二、使用 iptables 防火墙(以 CentOS 7 为例)**


1. 查看当前规则
```
sudo iptables -L
```


2. 允许 SSH 端口 22
```
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
```


3. 允许 HTTP 端口 80
```
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
```


4. 保存规则
```
sudo service iptables save
```


5. 禁止特定 IP 访问
```
sudo iptables -A INPUT -s 192.168.1.100 -j DROP
```


6. 允许特定网段访问
```
sudo iptables -A INPUT -s 192.168.1.0/24 -j ACCEPT
```


无论是使用 firewalld 还是 iptables,配置完成后,都需要进行测试,确保所需的服务能够正常访问,同时未授权的访问被阻止。在配置防火墙规则时,要谨慎操作,避免误封导致自己无法远程连接到服务器。


另外,为了确保系统性能不受太大影响,建议只开放确实需要的端口和服务,并定期审查和更新防火墙规则。

lygswj2009 发表于 2024-7-31 20:45:13

可以使用以下命令来查看 `firewalld` 服务是否已经启动:

1. 使用 `systemctl status firewalld` 命令:
   ```
   sudo systemctl status firewalld
   ```
   如果服务正在运行,您将看到类似“Active: active (running)”的信息。

2. 使用 `ps` 命令查看相关进程:
   ```
   sudo ps -ef | grep firewalld
   ```
   如果能找到相关进程,说明服务正在运行。

3. 检查防火墙规则是否生效:
   您可以尝试添加或修改一些防火墙规则,然后查看是否生效,来间接判断服务是否启动。

页: [1]
查看完整版本: Linux 系统防火墙实用配置指南:安全与高效兼顾