Linux 服务器基础安全设置
Linux 服务器开通后,很多用户会直接安装宝塔、Nginx、数据库或业务程序。这个习惯很常见,但不太稳。
公网服务器只要开通 IP,就会被各种扫描程序发现。尤其是海外服务器、站群服务器、大带宽服务器、高防业务源站,如果密码简单、端口随意开放,后期很容易遇到暴力破解、异常进程、端口滥用、网站被挂马等问题。基础安全设置不是为了做到绝对安全,而是先把最容易踩的坑避开。
默认密码一定要改
如果服务器是用初始密码交付的,登录后第一件事就是修改密码。不要使用 123456、admin、公司名称、手机号、生日、域名拼音这类容易被猜到的密码。服务器密码和网站后台密码、邮箱密码、其他平台密码也不要共用。
如果服务器由多人管理,建议明确谁有登录权限。外包人员调试完、员工离职、项目交接结束后,要及时修改密码或回收密钥。很多服务器安全事故,并不是系统多复杂,而是密码一直没换,或者密码被多人长期共用。
SSH 不建议完全裸奔
Linux 服务器通常通过 SSH 登录。默认 SSH 端口长期暴露在公网,会不断收到扫描和尝试登录。可以根据实际情况做一些基础限制:修改默认 SSH 端口;使用更强的登录密码;有条件时使用密钥登录;限制允许登录的 IP;关闭不必要的远程登录权限。修改 SSH 端口、防火墙规则或面板配置前,建议先做好《数据备份与恢复建议》中提到的基础备份。
但这里要注意:不熟悉 Linux 的用户,不要盲目修改 SSH 配置。配置错了,可能把自己也挡在服务器外面。修改前最好保留一个可用登录窗口,确认新配置能登录后再关闭旧窗口。如果修改后无法连接服务器,可以先参考《服务器远程连接教程》排查远程登录问题。如果服务器是线上业务,不确定怎么改,可以先提交工单咨询,不要边查教程边在生产环境里试。
不用的端口不要一直开着
服务器开放的端口越多,被扫描和攻击的机会越多。网站业务一般需要 80、443。SSH 需要一个远程管理端口。其他端口要看实际业务,不要因为“以后可能用到”就全部放开。尤其要注意这些服务:数据库;Redis;Elasticsearch;宝塔面板;后台管理系统;测试接口;文件管理工具。这些服务如果直接暴露到公网,风险会比较高。能限制访问 IP 的尽量限制,能只允许本机访问的不要开放公网。
宝塔、面板和数据库更要小心
很多中小企业网站会使用宝塔面板管理服务器。面板确实方便,但它也是服务器的重要入口。建议至少做到:面板密码不要太简单;面板端口不要长期使用默认值;后台入口不要随便发给无关人员;数据库不要开放公网远程访问;插件和面板版本要定期检查;不安装来源不明的脚本或插件。如果面板账号被拿到,对方可能直接操作网站文件、数据库和证书,风险比普通网站后台更大。
更新系统可以做,但别乱升级生产环境
系统、Nginx、PHP、MySQL、面板、CMS 插件长期不更新,确实会有安全风险。但生产服务器也不建议看到更新就直接点。因为有些老网站、老程序、旧 PHP 版本、特殊业务环境,对版本很敏感。盲目升级可能导致网站白屏、接口报错、数据库连接失败。
更稳妥的做法是:先备份;再确认程序兼容性;低峰期操作;升级后测试网站前后台;保留回滚方案。服务器安全不是“越新越好”,而是“可控地更新”。如果已经无法恢复原环境,再考虑阅读《系统重装前注意事项》,不要直接重装。
备份是最后一道保险
Linux 服务器安全做得再好,也不能代替备份。误删文件、程序更新失败、数据库损坏、账号被盗、磁盘异常、系统重装,这些都可能让业务数据出问题。没有备份时,很多问题不是技术人员想不想恢复,而是客观上很难恢复。建议至少备份:网站文件;数据库;上传目录;配置文件;SSL 证书和私钥;重要业务数据。备份最好不要只放在同一台服务器上。同机备份遇到磁盘故障、误删、入侵时,也可能一起丢失。
推荐阅读:服务器数据安全重要提醒