在互联网时代,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 -ysudo 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 myusermyuser可自定义,如“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"
  1. 以后直接用私钥登录: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          # 启用防火墙
  1. 开放必要端口:
    - 允许SSH(默认22端口):sudo ufw allow ssh
    - 允许HTTP(80端口):sudo ufw allow 80/tcp
    - 允许HTTPS(443端口):sudo ufw allow 443/tcp

  2. 拒绝所有其他端口:sudo ufw default deny incoming

  3. 查看防火墙状态: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

  1. 检查开放端口:
   sudo netstat -tuln  # 查看TCP/UDP开放端口(旧命令)
   sudo ss -tuln       # 更高效的替代命令(推荐)

示例:若服务器不需要FTP,应确认ss -tuln中无21端口(FTP默认端口)。

5. 日志审计与基础监控:发现异常登录

为什么重要:安全事件发生后,日志是“破案线索”。及时查看日志能发现暴力破解、未授权登录等问题。
操作步骤
1. 开启关键日志(默认已开启,确认即可):
- 登录日志:/var/log/auth.log(记录所有登录尝试)
- 系统日志:/var/log/syslog(记录系统运行状态)

  1. 实时监控登录
   tail -f /var/log/auth.log  # 实时查看登录日志,Ctrl+C停止

若发现陌生IP频繁尝试登录(如多次失败),需警惕暴力破解。

  1. 简易防暴力破解工具
    Ubuntu/Debian:sudo apt install fail2ban -y(自动封禁多次失败的IP)
   sudo systemctl enable --now fail2ban  # 启动并自启
   sudo fail2ban-client status            # 查看封禁状态

总结

以上5步是Linux服务器安全加固的“基础套餐”,做好后能大幅降低被攻击的风险。后续可学习更深入的防护手段(如定期备份、入侵检测、SSL证书加固等),但这5步足以让新手避免大部分常见安全问题。

重要提醒:操作前请备份服务器数据,尽量在测试环境熟悉命令后再应用到生产环境。安全无小事,坚持定期检查(如每月更新系统、季度审计日志)才能让服务器更“健壮”!

小夜