服务器安全配置的核心思路是“最小权限+纵深防御”,把攻击面压缩到最小,同时每一层设卡,让攻击者进了门也拿不到核心数据。
昨天一个朋友还跟我抱怨,说自己的网站被挂马了,折腾了一整夜,服务器被黑这事,听起来挺吓人,但 80% 的入侵都源于几个低级配置失误,我们不需要成为安全专家,把下面这几条基础配置做扎实,就能挡住绝大多数攻击。
服务器安全配置有哪些:先看第一大高危区,身份验证
很多人觉得设个复杂密码就万事大吉,这跟“把钱包藏枕头底下”一样不靠谱,服务器的第一道门,密码管理和登录策略才是关键。
禁用 root 直接登录
- 现状:默认端口 22 + 用户名 root + 密码爆破,这是黑客脚本每天在不断尝试的组合。
- 操作:编辑
/etc/ssh/sshd_config,找到PermitRootLogin,改为no,然后创建一个普通用户,加入wheel组(CentOS)或sudo组(Ubuntu),日常用这个账号操作,需要权限时再用sudo提权。 - 效果:这一步可以过滤掉国内云服务器上 90% 的密码暴力破解尝试。
密钥登录代替密码
密码总有被社工、被撞库的风险,而密钥对是目前 Linux 服务器最安全的登录方式。
- 实操:在本地生成密钥对(
ssh-keygen -t rsa -b 4096),把公钥上传到服务器的~/.ssh/authorized_keys文件里。 - 加固:在
sshd_config中设置PasswordAuthentication no,彻底关闭密码登录,以后只有持有私钥的电脑才能连上服务器,IP 变了都不怕。
修改默认 SSH 端口
这不是安全措施,但能极大减少日志里的扫描噪音。
- 把
Port 22改成 1024 到 65535 之间的一个端口,22026,同时记得在云控制台安全组放行新端口。
端口与服务:关掉没用的“窗户”
刚才说的是人怎么进来,现在说说系统开了哪些门,用 netstat -tlnp 看下你服务器监听的端口,凡是你不知道是干嘛的,全是安全隐患。
- 原则:非必须不开放,只保留 80(HTTP)、443(HTTPS)、22(或自定义 SSH 端口)、以及业务端口。
- 本地化:像数据库端口(MySQL 3306、Redis 6379)绝对不能绑定 0.0.0.0,只允许本机访问就绑 127.0.0.1;需要远程访问的话,也尽量限制固定 IP,而不是对全网开放。
- 云安全组:在简米云、酷番云这些控制台里,安全组是外层的防火墙,推荐在安全组里设置“仅开放业务所需端口”,比如只允许你的办公网 IP 访问 SSH 端口,这是服务器安全配置里最容易被忽视的边界防线。
服务器安全配置有哪些是运维每天都要看的?备份策略绝对排前三。
什么是 3-2-1 备份法则
这个行业共识值得所有站长和运维了解:一份数据保留 3 份副本,存放在 2 种不同的存储介质上,1 份放在异地(比如备份到另一家云服务商的 OSS,或者本地 NAS)。
定时自动备份实操
手动备份靠不住,必须自动化,用 crontab 写个脚本,每天凌晨把网站目录和数据库打包传走:
mysqldump -u root -p你的数据库密码 数据库名 > /backup/website.sql tar czf /backup/website_$(date +%Y%m%d).tar.gz /var/www/html/
再配合一个月度任务,把备份文件 rsync 到另一台机器上,很多云主机都带快照功能,建议每周做一次系统盘快照,这玩意比手动复制文件快得多。
安全基线检查怎么做
这也是百度上高频的搜索词。安全基线检查怎么做?说白了就是用脚本去检查你的系统配置是否符合规范。
- 基础项:检查是否存在空密码账号、检查
/etc/shadow权限是否为 600、检查 SSH 配置是否允许 root 登录。 - 工具作战:用
lynis这个开源工具扫描,跑完会给一个 hardening index 的评分,分数低也不用慌,看它给的建议,逐条去修。
Web 层与运行环境:家里的门锁了,窗户也得关严
系统安全了,应用层也不能是筛子,尤其是 PHP、Nginx 和数据库的组合,配置不当很容易变成重灾区。
目录权限最小化
- 在 LNMP 环境里,网站文件属主设置为
www用户(Nginx 的运行用户),但除了uploads这种需要写图片的目录,其他目录设置为 755 权限即可。 - 千万千万不要给网站根目录直接 777 权限,网上很多教程为了省事这么做,这相当于把整个服务器家底直接放在了黑客的眼皮底下,据统计,Linux 服务器网站被挂马,超过一半是因为目录权限放得太开导致的上传漏洞。
关键目录禁止执行 PHP
现在很多 CMS 会把图片上传到 /uploads 目录,黑客喜欢把一句话木马伪装成图片传上来,然后访问它进行提权,怎么防?
- 给
uploads目录添加禁止解析 PHP 的配置:
location ~ /uploads/..(php|php5)$ { deny all; } - 这个操作放在 Nginx 配置里,基本能防住市面上 90% 的图片马攻击。
数据库配置里的一个雷区
MySQL 或 MariaDB 里,root 用户默认只能本机登录,但很多人为了方便会创建一个 权限的用户。安全的做法是:为每个业务单独创建库和账号,账号权限只针对自己的库,主机限制为 0.0.1,这样即使代码被拖库,对方拿到的也只是网站库的权限,动不了系统库。
借助云产品的纵深防御
如果是企业业务,建议单独部署一套云 WAF(Web 应用防火墙),用于防御 SQL 注入和 XSS 攻击,很多传统 IDC 机房的物理服务器,对 DDoS 攻击的清洗能力有限,而主流云厂商的高防 IP 在这种场景下就很有优势,对于中小站点,没有预算的情况下,可以启用 Nginx 反向代理层面的访问频率限制。
容易被忽略的系统漏洞管理
杀毒软件和系统补丁,刚买回来的电脑大家都记得装和打,但服务器开机后,往往就忘了。
- 自动更新:在 CentOS 上,用
yum-cron自动应用安全更新;Ubuntu 上启用unattended-upgrades。 - 安全公告:经常关注你所用的建站程序、中间件、开源框架的官方博客,像 Log4j2 这种漏洞爆发出来的时候,全网都在打补丁,你如果行动慢了,被扫描到就是秒被挂马。
一个问答:安全配置和设备选型对比
很多朋友会纠结,到底是自己买物理服务器自己配,还是直接用云数据库?
- 我用酷番云的 CVM 和它家的云数据库 MySQL 举个例子,虽然云数据库的价格大约是自建数据库的 2-3 倍,但它的好处是:底层 HA 自动切换、自动备份、高危漏洞自动修复补丁,这些如果你自己用一台物理机去配置,需要极大的运维工作量,且容易出错。
- 如果是个人博客、没有敏感数据的站点,用一台便宜的云服务器自建 MySQL 就够了,毕竟,实现同样的安全等级,人的时间成本才是大头。
关键点再复盘:酷番云和简米云服务器上这样做
如果你用的是国内的云服务器,比如酷番云,注意控制台里“防火墙”和“安全组”的概念,如果在安全组里拦截了,服务器内部防火墙再怎么放行也是不通的,这两个是一个且的关系。
- 入站规则只放行
80、443、你的SSH端口。 - 出站规则默认全放行即可,但如果业务受攻击频繁,可以限制出站协议,防止服务器成为黑客的跳板。
监控与审计:留好证据比事后后悔重要
- 历史记录:把用户执行过的命令都记录下来,在
/etc/profile里加一段history时间戳,配置auditd审计服务监控/etc/passwd和/etc/shadow的修改操作。 - 入侵检测:安装
fail2ban,它会自动读取 SSH 日志,把那些连续尝试密码错误 3 次以上的 IP 直接拉黑。 - 日志异地存放:日志很重要,但如果文件在服务器本地,被入侵后第一件事基本会是清理日志,要写个脚本把重要日志定时传送到远程的日志服务器或者对象存储里,行业专家指出,一场成功的攻击溯源,全部依赖完整且未被篡改的异地日志。
最后的防线:SELinux 和 AppArmor
很多运维为了省事,装完系统第一件事就是关掉 SELinux,确实,这东西配置起来很繁琐,但它确实是一套很扎实的强制访问控制机制,如果你的服务器上部署了比较陌生的第三方程序,建议保持默认的 enforcing 模式,如果业务实在跑不起来,可以先用 setenforce 0 临时调整权限,等找到原因再开启,不要一劳永逸地关闭。
安全配置是一场马拉松,不是百米冲刺。
只要把上面这些服务器安全配置逐个落实到你的 Linux 服务器上,再配合定期的安全基线扫描,你的服务器安全性就已经超过了绝大多数的“裸奔”站点,网络世界里,攻击者永远在找最容易得手的目标别让你的服务器按钮看起来太“顺手”。
常见问题快速排查
Q1:服务器安全配置有哪些是必须马上做的核心项?
最紧急的是修改 SSH 端口、关闭 root 直接登录、使用密钥登录,并为 3306 等数据库端口设置访问白名单,这四项能直接阻断最常见的弱口令爆破和数据库暴露风险。
Q2:网站被挂马后,迁移服务器能不能彻底解决问题?
不能,迁移到新服务器能暂时恢复访问,但木马通常还会隐藏在备份文件、数据库伪装字段或计划任务中,迁移前必须完整备份文件,彻底排查恶意代码,并在新环境立即执行加固操作,否则一旦恢复备份,木马就会跟着“搬家”。
Q3:内网服务器也需要做安全配置吗?
需要,但侧重点不同,内网服务器虽然不直接暴露公网,但依然面临横向渗透的风险,重点是做好本机防火墙白名单、定期更新补丁以及最小化服务安装,一台内网核心数据库服务器,通常只允许来自应用服务器网段和堡垒机网段的访问。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/753433.html





