插件窝 干货文章 如何设置CentOS系统以限制网络访问并保护隐私

如何设置CentOS系统以限制网络访问并保护隐私

sudo systemctl 禁用 bash 119    来源:    2025-04-15

CentOS系统网络访问限制与隐私保护指南

1. 防火墙配置

1.1 使用firewalld

# 启动并启用firewalld
sudo systemctl start firewalld
sudo systemctl enable firewalld

# 查看当前状态
sudo firewall-cmd --state

# 设置默认区域为drop(拒绝所有传入连接)
sudo firewall-cmd --set-default-zone=drop
sudo firewall-cmd --runtime-to-permanent

1.2 按需开放端口

# 允许SSH访问(建议修改默认端口)
sudo firewall-cmd --zone=public --add-port=2222/tcp --permanent

# 允许HTTP/HTTPS(如需要)
sudo firewall-cmd --zone=public --add-service=http --add-service=https --permanent

# 重新加载防火墙
sudo firewall-cmd --reload

2. 网络服务限制

2.1 禁用不必要的网络服务

# 查看运行中的网络服务
sudo netstat -tulnp

# 禁用不需要的服务(示例)
sudo systemctl stop avahi-daemon
sudo systemctl disable avahi-daemon
sudo systemctl mask avahi-daemon

2.2 限制网络访问时间

# 使用systemd定时器限制网络访问时间(示例)
sudo systemctl stop NetworkManager
sudo systemctl disable NetworkManager

3. 隐私保护设置

3.1 禁用数据收集

# 禁用CentOS数据收集
sudo dnf remove -y subscription-manager
sudo systemctl disable --now packagekit

3.2 配置隐私相关设置

# 禁用位置服务
sudo gsettings set org.gnome.system.location enabled false

# 禁用遥测数据
echo "ENABLED=0" | sudo tee /etc/default/motd-news

4. DNS隐私保护

4.1 使用加密DNS

# 安装dnscrypt-proxy
sudo dnf install -y dnscrypt-proxy

# 配置使用Cloudflare或Quad9的加密DNS
sudo sed -i 's/^server_names = .*/server_names = ['cloudflare', 'cloudflare-ipv6']/' /etc/dnscrypt-proxy/dnscrypt-proxy.toml
sudo systemctl restart dnscrypt-proxy

# 设置系统使用本地dnscrypt-proxy
echo "nameserver 127.0.0.1" | sudo tee /etc/resolv.conf

5. 内核级网络保护

5.1 启用内核安全参数

# 编辑sysctl配置
sudo nano /etc/sysctl.d/99-network-security.conf

# 添加以下内容:
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 2048
net.ipv4.tcp_synack_retries = 2

# 应用配置
sudo sysctl --system

6. 用户级网络限制

6.1 使用ulimit限制网络资源

# 编辑limits.conf
sudo nano /etc/security/limits.conf

# 添加以下内容(示例):
*               hard    nofile          4096
*               soft    nofile          2048

7. 定期维护

7.1 创建定期安全更新任务

# 创建每周安全更新脚本
sudo nano /usr/local/bin/security-update.sh

# 添加以下内容:
#!/bin/bash
dnf update -y --security
dnf autoremove -y

# 设置可执行权限并创建cron任务
sudo chmod +x /usr/local/bin/security-update.sh
(crontab -l 2>/dev/null; echo "0 3 * * 1 /usr/local/bin/security-update.sh") | sudo crontab -

以上设置将显著提高CentOS系统的网络安全性并保护用户隐私。根据您的具体需求,可能需要调整某些设置。实施这些更改前,请确保您有替代的访问方法(如物理控制台访问),以防意外锁定自己。