上一篇 下一篇 分享链接 返回 返回顶部

Linux服务器安全加固教程:必做的几项基础设置

发布人:like 发布时间:2026-08-15 01:39 阅读量:41

Linux服务器安全加固封面图

很多新手装好Linux服务器后直接就部署业务,用着默认配置就上线了。但公网上的服务器每天都会受到大量扫描和暴力破解攻击,默认配置几乎等于裸奔。本文介绍几项最基础也最有效的Linux安全加固措施,花半小时做完,安全性大幅提升。

一、SSH安全加固

SSH是远程管理Linux的主要通道,也是攻击者最常攻击的入口。默认配置下,root用户可以直接密码登录,容易被暴力破解。

Linux安全加固分层防护示意图

1. 修改SSH默认端口

把22端口改成其他端口(如22022),可以避开大量自动化扫描。编辑配置文件:

vi /etc/ssh/sshd_config

找到 #Port 22,改为 Port 22022,重启SSH服务:systemctl restart sshd

改端口前务必先在防火墙放行新端口,并用新端口测试连接成功后再关闭旧会话,防止把自己锁在外面。

2. 禁止root直接登录

新建一个普通用户,需要root权限时通过su或sudo切换:

在sshd_config中设置 PermitRootLogin no,重启SSH生效。

3. 使用密钥登录,禁用密码登录

密钥登录比密码安全得多,几乎不可能被暴力破解。本地生成密钥对,把公钥上传到服务器 ~/.ssh/authorized_keys,确认密钥能登录后,在sshd_config中设置 PasswordAuthentication no

4. 限制登录失败次数

安装fail2ban等工具,自动封禁多次登录失败的IP,有效防暴力破解。

二、配置防火墙

防火墙是服务器的第一道门,只开放必要的端口,其余全部关闭。

CentOS 7/8使用firewalld,常用操作:

  • 查看已开放端口:firewall-cmd --list-ports
  • 放行端口:firewall-cmd --permanent --add-port=80/tcp
  • 关闭端口:firewall-cmd --permanent --remove-port=端口/tcp
  • 重载生效:firewall-cmd --reload

Ubuntu可以使用ufw,操作更简单。原则上只开放80(HTTP)、443(HTTPS)、SSH端口,以及业务必需的端口,数据库、Redis等内部服务端口绝不对外开放。

三、用户与权限管理

  1. 删除无用用户和组:检查 /etc/passwd,删除不需要的系统默认用户;
  2. 遵循最小权限原则:每个服务使用独立的低权限用户运行,不要都用root;
  3. 检查sudo权限visudo 查看谁有sudo权限,只给必要的用户授权;
  4. 文件权限:网站目录权限设为755,文件644,配置文件不要设成777;
  5. 禁止空密码登录:确认 /etc/shadow 中没有空密码账户。

四、及时更新系统和软件

很多入侵都是利用已知漏洞,及时打补丁能堵住大部分攻击:

  • CentOS:yum update -y
  • Ubuntu/Debian:apt update && apt upgrade -y
  • 定期更新,特别是有安全公告时尽快升级;
  • 生产环境更新前建议先在测试环境验证,避免更新导致业务异常。

五、关闭不必要的服务

服务器上运行的服务越少,攻击面越小。用 systemctl list-unit-files --state=enabled 查看开机自启服务,关闭不需要的服务。常见需要注意的:

  • 数据库(MySQL、Redis、MongoDB)只监听127.0.0.1,不要绑定公网IP;
  • 关闭不需要的端口和服务,如Telnet、FTP(用SFTP替代);
  • Redis、Elasticsearch等默认无密码且监听全网,是挖矿病毒的重点目标,务必设密码并绑定内网。

六、日志审计与监控

  1. 定期检查 /var/log/secure(CentOS)或 /var/log/auth.log(Ubuntu),查看登录记录,发现异常IP;
  2. 开启命令历史记录,便于事后追溯;
  3. 配置进程和端口监控,发现异常进程及时处理;
  4. 重要文件做完整性监控,发现被篡改立即告警;
  5. 定期备份数据,备份文件离线保存,遭遇勒索病毒时能恢复。

七、常见问题

改了SSH端口连不上了怎么办?

大概率是防火墙没放行新端口或SSH配置有误。通过云厂商控制台的VNC/远程连接登录服务器,检查防火墙规则和sshd_config配置,用 sshd -t 验证配置语法。

禁用密码登录后密钥丢了怎么办?

同样通过云厂商VNC控制台登录,重新开启密码登录或添加新密钥。建议密钥多设备备份,或在云平台保存一份加密备份。

装了面板还要做这些吗?

宝塔等面板会自动配置部分安全项,但仍建议修改面板默认端口、绑定域名访问、开启面板SSL,并定期更新面板和系统,不要因为有面板就忽视底层安全。

八、总结

Linux安全加固的核心是缩小攻击面:改SSH端口、禁root密码登录、用密钥登录、防火墙只开必要端口、最小权限运行服务、及时更新补丁、做好日志审计和备份。这些基础设置不复杂,但能挡住90%以上的自动化攻击。安全是持续的过程,上线后也要定期检查和维护。

目录结构
全文