在你刚拿到一台全新的 CentOS 8 服务器时,为了提高系统安全性、稳定性和可维护性,建议进行以下几项基本的更新和配置操作。以下是详细的步骤说明:
✅ 一、基础更新
1. 更新系统软件包
首先执行系统更新,确保所有已安装的软件包为最新版本。
sudo dnf update -y
-y表示自动确认操作。
✅ 二、安装常用工具(可选但推荐)
2. 安装必要的实用工具
sudo dnf install -y vim wget curl net-tools git unzip zip bash-completion
vim:高级文本编辑器wget/curl:下载文件工具net-tools:提供如ifconfig等网络命令git:版本控制工具unzip/zip:解压/压缩工具bash-completion:自动补全命令
✅ 三、启用 EPEL 仓库(可选但推荐)
EPEL 提供了额外的高质量软件包。
sudo dnf install -y epel-release
sudo dnf makecache
✅ 四、配置防火墙
3. 启用并配置 firewalld 防火墙
sudo systemctl enable firewalld --now
sudo systemctl start firewalld
查看当前状态:
sudo firewall-cmd --state
开放你需要的服务端口(例如 HTTP、HTTPS、SSH):
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --permanent --add-port=22/tcp # SSH 默认端口
sudo firewall-cmd --reload
✅ 五、安全加固
4. 创建普通用户并禁用 root 登录(推荐)
创建一个新用户(替换 your_username):
sudo adduser your_username
sudo passwd your_username
将用户添加到 sudoers:
sudo usermod -aG wheel your_username
禁止 root 登录 SSH:
sudo sed -i 's/#PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config
sudo systemctl restart sshd
5. 安装 Fail2ban(防止暴力破解攻击)
sudo dnf install -y fail2ban
sudo systemctl enable fail2ban --now
Fail2ban 默认会保护 SSH,你可以根据需要自定义规则。
✅ 六、时间同步(NTP)
6. 安装 chrony 并同步时间
sudo dnf install -y chrony
sudo systemctl enable chronyd --now
sudo timedatectl set-timezone Asia/Shanghai # 设置时区(按需)
检查时间同步状态:
timedatectl
✅ 七、SELinux 设置(可选)
SELinux 是增强的安全机制,默认是启用的。你可以选择保留或设置为 permissive 模式(不推荐生产环境关闭)。
查看 SELinux 状态:
sestatus
临时设置为宽容模式(不重启):
sudo setenforce 0
永久修改(谨慎):
sudo sed -i 's/SELINUX=enforcing/SELINUX=permissive/' /etc/selinux/config
✅ 八、日志监控与审计(可选)
- 安装 logwatch:
sudo dnf install -y logwatch - 安装 auditd 进行系统审计:
sudo dnf install -y audit audit-libs
✅ 九、内核升级(可选)
如果你希望使用最新的稳定内核:
sudo dnf install -y kernel
然后重启服务器应用新内核:
sudo reboot
✅ 十、安装 Web 服务(如 Nginx/Apache/MySQL/PHP)(按需)
如果你计划部署网站,可以安装 LAMP 或 LNMP 套件。例如安装 Nginx:
sudo dnf install -y nginx
sudo systemctl enable nginx --now
🧾 总结:建议操作清单
| 操作 | 是否必须 |
|---|---|
| 系统更新 | ✅ 必须 |
| 安装常用工具 | ✅ 推荐 |
| 启用 EPEL | ✅ 推荐 |
| 配置防火墙 | ✅ 必须 |
| 创建普通用户 | ✅ 必须 |
| 禁止 root 登录 | ✅ 必须 |
| 安装 Fail2ban | ✅ 推荐 |
| 时间同步 | ✅ 必须 |
| SELinux 设置 | ⚠️ 可选 |
| 内核升级 | ⚠️ 可选 |
| 安装 Web 服务 | ❌ 按需 |
如果你还打算部署 Docker、Kubernetes、Python 应用、Node.js、Java 等环境,也可以继续问我,我可以为你提供详细指南。
是否需要我帮你生成一个自动化脚本来完成这些操作?
CLOUD技术博