在互联网时代,Linux服务器作为核心基础设施,安全问题至关重要。许多新手搭建服务器后容易忽视安全配置,导致被入侵、数据泄露等风险。本文针对初学者,总结5个简单易操作的安全加固步骤,帮你快速提升服务器安全性。
1. 系统更新与补丁管理:修复已知漏洞¶
为什么重要:新系统或软件包默认会有安全漏洞,及时更新能堵住这些“后门”。
操作步骤(以常见系统为例):
- Ubuntu/Debian:
1. 更新软件源:sudo apt update(获取最新软件包信息)
2. 安装所有可用更新:sudo apt upgrade -y(-y自动确认安装)
3. 清理旧版本缓存:sudo apt autoremove -y
- CentOS/RHEL:
1. 更新系统包:sudo yum update -y或sudo dnf update -y
提示:更新前建议备份重要数据,避免意外断电或网络问题导致系统损坏。
2. 强化用户权限与认证:拒绝“裸奔”登录¶
为什么重要:直接用root用户登录服务器风险极高,弱密码或暴力破解可能直接接管服务器。
操作步骤:
- 禁用root直接登录(推荐):
1. 编辑SSH配置文件:sudo nano /etc/ssh/sshd_config
2. 找到 PermitRootLogin yes,改为 PermitRootLogin no
3. 重启SSH服务:sudo systemctl restart sshd
-
创建普通用户并赋予sudo权限:
1. 新建用户:sudo adduser myuser(myuser可自定义,如“server”)
2. 设置密码:sudo passwd myuser(按提示输入密码)
3. 赋予sudo权限:sudo usermod -aG sudo myuser -
推荐:用SSH密钥登录(比密码更安全):
1. 本地生成密钥对(Windows需先安装Git Bash或PuTTY):ssh-keygen -t ed25519(一路回车)
2. 将公钥上传到服务器:scp ~/.ssh/id_ed25519.pub myuser@服务器IP:/tmp/id_ed25519.pub
3. 重命名并移动公钥到目标目录:
ssh myuser@服务器IP "mkdir -p ~/.ssh && cat /tmp/id_ed25519.pub >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"
- 以后直接用私钥登录:
ssh -i ~/.ssh/id_ed25519 myuser@服务器IP
3. 配置防火墙:只开“必要的门”¶
为什么重要:防火墙能阻挡外部端口扫描和恶意连接,只开放业务必需的端口(如SSH、HTTP/HTTPS)。
操作步骤(以Ubuntu为例,更简单):
1. 安装并启用ufw(Ubuntu默认带,CentOS用firewalld):
sudo apt install ufw -y # 仅Ubuntu需安装
sudo ufw enable # 启用防火墙
-
开放必要端口:
- 允许SSH(默认22端口):sudo ufw allow ssh
- 允许HTTP(80端口):sudo ufw allow 80/tcp
- 允许HTTPS(443端口):sudo ufw allow 443/tcp -
拒绝所有其他端口:
sudo ufw default deny incoming -
查看防火墙状态:
sudo ufw status
CentOS用户:
sudo systemctl start firewalld # 启动服务
sudo systemctl enable firewalld # 开机自启
sudo firewall-cmd --permanent --add-service=ssh # 开放SSH
sudo firewall-cmd --permanent --add-port=80/tcp # 开放HTTP
sudo firewall-cmd --reload # 生效配置
4. 关闭不必要的服务与端口:减少攻击面¶
为什么重要:服务器默认开启的服务(如FTP、Telnet)可能存在高危漏洞,无需时应直接关闭。
操作步骤:
1. 检查并关闭不必要的服务:
- 查看当前运行的服务:sudo systemctl list-units --type=service
- 关闭FTP(不安全协议):sudo systemctl disable --now vsftpd
- 关闭Telnet(明文传输):sudo systemctl disable --now telnet
- 检查开放端口:
sudo netstat -tuln # 查看TCP/UDP开放端口(旧命令)
sudo ss -tuln # 更高效的替代命令(推荐)
示例:若服务器不需要FTP,应确认ss -tuln中无21端口(FTP默认端口)。
5. 日志审计与基础监控:发现异常登录¶
为什么重要:安全事件发生后,日志是“破案线索”。及时查看日志能发现暴力破解、未授权登录等问题。
操作步骤:
1. 开启关键日志(默认已开启,确认即可):
- 登录日志:/var/log/auth.log(记录所有登录尝试)
- 系统日志:/var/log/syslog(记录系统运行状态)
- 实时监控登录:
tail -f /var/log/auth.log # 实时查看登录日志,Ctrl+C停止
若发现陌生IP频繁尝试登录(如多次失败),需警惕暴力破解。
- 简易防暴力破解工具:
Ubuntu/Debian:sudo apt install fail2ban -y(自动封禁多次失败的IP)
sudo systemctl enable --now fail2ban # 启动并自启
sudo fail2ban-client status # 查看封禁状态
总结¶
以上5步是Linux服务器安全加固的“基础套餐”,做好后能大幅降低被攻击的风险。后续可学习更深入的防护手段(如定期备份、入侵检测、SSL证书加固等),但这5步足以让新手避免大部分常见安全问题。
重要提醒:操作前请备份服务器数据,尽量在测试环境熟悉命令后再应用到生产环境。安全无小事,坚持定期检查(如每月更新系统、季度审计日志)才能让服务器更“健壮”!