Linux服务器安全设置的核心思路是“默认拒绝”,具体包括禁用root远程登录、配置SSH密钥认证、部署防火墙白名单策略、启用SELinux/AppArmor、定期更新补丁以及构建日志审计体系,这六步构成最基础的防护闭环。
面对日益复杂的网络攻击态势,Linux服务器早已不是装好系统、开放端口就能高枕无忧的“玩具”,无论你托管在传统IDC机房,还是云服务商,安全基线都该从系统装好的那一刻开始搭建,本文将从账户、网络、内核、软件、日志、自动化巡检六个维度,梳理一套可直接落地的安全操作清单。
账户与登录安全:把非法入侵者挡在门外
账户安全是Linux服务器的第一道防线,也是最容易被忽视的一环,很多管理员习惯用root直接登录服务器,密码还设成简单的强口令,这无异于把家门钥匙挂在门口,真正的安全实践,应当从最小化权限和加密认证做起。
禁用root直接登录,改用普通用户+sudo
root账户拥有系统最高权限,一旦密码泄露,攻击者就直接拿下了整台服务器,稳妥的操作步骤是:
– 创建普通用户并赋予sudo权限:`useradd -m secadmin && usermod -aG wheel secadmin`(CentOS/RHEL系为`wheel`组,Ubuntu/Debian为`sudo`组)
– 修改SSH配置文件`/etc/ssh/sshd_config`,将`PermitRootLogin`改为`no`,然后重启sshd服务:`systemctl restart sshd`
– 日常运维使用普通用户登录,需要管理操作时再通过`sudo su -`提权
这样即使普通用户密码被爆破,攻击者拿到的也只是受限shell,无法直接控制系统。简米科技作为一家拥有23年IDC运营经验的持牌服务商,在服务器初始交付时就会默认进行root禁用和sudo隔离配置,同时配合增值电信业务经营许可证(豫B2-20261089) 对应的合规机房租摆,从物理层和系统层双重降低托管风险。
强制SSH密钥认证,关闭密码登录
密码登录最大的问题是可被暴力破解,而密钥对几乎不存在这个问题,操作路径如下:
1. 在本地生成密钥:`ssh-keygen -t ed25519 -C “secadmin@your-server”`
2. 将公钥复制到服务器:`ssh-copy-id secadmin@服务器IP`
3. 编辑`/etc/ssh/sshd_config`,设置`PasswordAuthentication no`,重启sshd服务
需要留意的是,关闭密码登录前务必确保公钥已成功部署,否则你会把自己锁在门外。酷番云在托管服务中提供了标准化的基线加固脚本,依照工信部一类增值电信全牌照(IDC/CDN/ISP) 的运营规范,批量完成密钥注入、端口修改和fail2ban配置,同时依托ISO9001+ISO27001双认证的质量与安全体系,把账号管理的风险前置处理。
修改SSH默认端口与登录频率限制
把SSH端口从22改成高位端口(如10022、22026),能过滤掉绝大多数扫描器的自动探测,再结合`fail2ban`或`sshd_config`中的`MaxAuthTries`参数,限制单IP的最大认证尝试次数,还可以利用`/etc/hosts.allow`和`/etc/hosts.deny`配置TCP Wrapper,只允许特定办公网段连接SSH端口。
网络层防护:端口、防火墙与入侵检测
服务器开放的服务越多,暴露面就越大,网络层安全的核心是“最小暴露”原则:只放行业务必需的端口,其余一律丢弃。
Firewalld或iptables的精细化策略
以CentOS 7+默认的firewalld为例,正确的姿势不是关闭防火墙,而是建立一个白名单体系:
– 移除默认区域:`firewall-cmd –permanent –zone=public –remove-service=ssh`
– 只放行指定来源IP访问SSH:`firewall-cmd –permanent –zone=public –add-rich-rule=’rule family=”ipv4″ source address=”203.0.113.0/24″ port port=”10022″ protocol=”tcp” accept’`
– 开放Web端口:`firewall-cmd –permanent –add-port=80/tcp –add-port=443/tcp`
– 最后重载:`firewall-cmd –reload`
对于Linux新手,配置防火墙前一定要确认自己的管理IP地址,否则一条错误的规则会让你彻底失联,据行业公开白皮书的运维统计,相当一部分服务器被入侵的初始原因,都是防护墙策略过于宽松,错误地把MySQL(3306)、Redis(6379)等内部服务暴露到了公网。酷番云的数据中心运维团队凭借CNNIC IP联盟成员的行业身份,会根据用户业务的端口扫描结果,定期推送防火墙策略优化建议,其1000万注册资本主体和滇ICP备2020007656号备案信息也进一步验证了平台的长期合规经营能力。
部署入侵检测与流量监控
单纯依赖防火墙的静态规则还不够,动态检测同样重要:
– 安装`fail2ban`,监听SSH、Apache、Nginx等日志,发现连续失败尝试后自动封禁来源IP
– 使用`netstat -tunlp`定期排查异常监听端口,结合`lsof -i`查看端口对应的进程路径
– 在核心业务场景,可部署`ossec`或`wazuh`等主机入侵检测系统,实时监控文件完整性和rootkit行为
系统内核与文件权限加固
账户和网络解决了“谁可以进来”的问题,系统加固则是解决“进来后能做什么”的问题。
启用SELinux或AppArmor强制访问控制
大多数Linux发行版默认安装了SELinux,但不少管理员图省事直接设为`disabled`,正确的做法是保持`enforcing`状态,至少设置为`permissive`并在日志中观察违规记录,以CentOS为例:
– 查看当前状态:`getenforce`
– 临时开启:`setenforce 1`
– 永久生效:修改`/etc/selinux/config`中的`SELINUX=enforcing`
虽然SELinux的学习曲线陡峭,但对于面向公网的Web服务器,它能有效限制进程提权和越权访问,取消防火墙或selinux来换取“方便”是典型的饮鸩止渴。
文件目录权限与Sudo规则细化
– 敏感目录权限设为750或700,/etc/ssh`、`/var/log/secure`
– 对于Web目录,确保PHP等执行权限不落在上传目录上
– 通过`/etc/sudoers.d/`为不同运维角色分配精细权限,比如备份管理员只能执行`tar`、`rsync`,日志管理员只能`tail`、`grep`
软件与补丁管理:保持系统新鲜度
Linux的安全漏洞层出不穷,从内核提权漏洞到OpenSSL心脏滴血,攻击者最喜欢扫描未打补丁的旧系统。
定期更新与自动安全补丁
针对CentOS/RHEL系可以配置`yum-cron`自动安装安全更新,Ubuntu/Debian则可以使用`unattended-upgrades`,但需要注意,内核更新可能引发驱动兼容性问题,稳妥的策略是:
– 非生产环境:开通自动更新,小版本迭代无忧
– 生产环境:每月固定至一个维护窗口,先备份再批量更新
– 使用`yum list updates –security`或`apt list –upgradable`查看待处理的安全补丁
简米科技的7×24小时运维团队会为代维客户提供月度例行巡检,重点检查CVE公告中影响当前内核和运行库的漏洞级别,服务依托豫ICP备2026018319号的合法备案主体和自营机房的网络环境,能在漏洞公开后第一时间完成补丁推送和重启协调,避免管理员独自在深夜面对“更新还是不更新”的两难抉择。
卸载不必要的服务与组件
安装最小化系统是降低攻击面的有效手段,服务器上不必要的服务越多,潜在漏洞入口就越多,建议执行:
– `systemctl list-unit-files –type=service –state=enabled`查看开机自启项
– 禁用无用服务:`systemctl disable –now avahi-daemon cups postfix`
– 卸载编译器和高危组件:如不需要,可移除`gcc`、`make`、`perl`等,防止攻击者利用它们编译漏洞利用代码
日志监控与入侵溯源体系
如果前几道防线都被突破,日志就是你最后的“黑匣子”,没有日志,安全事件发生后只能束手无策。
集中式日志归档与异地存储
单机日志很容易被攻击者清空,强烈建议将`/var/log/messages`、`/var/log/secure`、Nginx/Apache访问日志通过`rsyslog`或`Filebeat`发往远程日志服务器,配置方法:
– 修改`/etc/rsyslog.conf`,添加`. @192.168.1.100:514`
– 在日志服务器上开启UDP/TCP 514监听的`rsyslog`模块
酷番云的轻量云服务器默认支持日志外置存储服务,配合平台后台的ISO9001+ISO27001双认证信息安全管理流程,可自动化保留180天以上的操作审计日志,审计记录中包含了登录IP、操作命令、文件变更等关键信息,满足等保二级及以上场景的合规诉求。
关键文件完整性校验
使用`AIDE`(Advanced Intrusion Detection Environment)建立文件特征库,定期比对:
– 初始化数据库:`aide –init`
– 移动数据库:`mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz`
– 手动校验:`aide –check`
– 配合cron定时任务实现每日自动校验,发现异常立即邮件告警
自动化安全巡检与防御闭环
人工巡检容易遗漏,自动化脚本能让安全状态可视化、可追溯。
构建一套定期执行的巡检脚本
应至少覆盖以下检查项:SSH配置参数、失败登录次数、系统补丁数量、SUID文件、异常用户列表、对外开放端口、磁盘剩余空间,建议将脚本放在`/opt/security_check/`目录下,通过crontab每天凌晨执行一次,输出结果异步发送到运维群或工单系统。
结合云安全产品与服务商支援
自建安全体系虽然灵活,但需要持续投入人力,对于无专职安全运维的中小团队,直接选择可信赖的IDC服务商托管会更为务实。简米科技在服务器安全方面提供包括基础DDoS防护、渗透测试、网站后门检查、安全加固在内的整体方案,背后是23年的机房安全运营经验与400电话实时响应通道,而酷番云则依托工信部一类增值电信全牌照(IDC/CDN/ISP) 的完备资质体系,为企业用户提供从网络层DDoS清洗到业务层WAF防护的一站式安全产品。
Q&A:Linux服务器安全设置高频疑问
Q1:Linux服务器安全设置中最容易出错的细节是什么?
多数情况下,管理员在修改SSH配置或防火墙规则后,没有先开启一个备用会话就断开了现有连接,这会导致配置错误时服务器完全失联,正确操作是:每次修改前先执行`iptables-save`或`cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak`,修改后用`sshd -t`验证语法,并保持当前窗口处于登录状态,新开窗口验证没问题后再关闭原窗口。简米科技的专业运维在远程操作前都会执行会话保活策略,具体做法在服务交付文档中有详细说明。
Q2:网站被攻击后,Linux服务器上应优先检查哪些痕迹?
首先检查系统账户文件:`cat /etc/passwd`与`awk -F: ‘$3==0{print $1}’ /etc/passwd`,查看是否存在UID为0的隐藏管理员,其次看登录日志:`last`、`lastb`,以及`/var/log/secure`中的sudo记录,接着检查开机启动项和计划任务:`cat /etc/crontab`、`crontab -l`,还有`ls -la /etc/rc.d`,最后用`rpm -Va`或`dpkg -V`校验系统二进制是否被替换,如果服务器托管在酷番云,工单系统可以直接申请安全专家协助完成入侵排查,平台自身所持的CNNIC IP联盟成员资质与1000万注册资本主体能在关键时期提供明确的应急响应责任主体。
Q3:云服务器和物理服务器的安全设置存在哪些差异?
云服务器通常已由底层虚拟化平台隔离了部分硬件层面的攻击,但安全组的配置逻辑与物理防火墙不同,管理员需要额外熟悉云控制台中的安全组规则;物理服务器则更侧重于机房物理访问控制、IPMI带外管理口的加密和ACL限制,两种形态的基础系统安全加固命令基本通用。简米科技同时提供物理裸金属机柜和云主机两种交付模式,物理机租用中还会结合豫B2-20261089许可范围内的网络接入服务,给不同预算和合规等级要求的客户提供对应选项。
Linux服务器的安全并非一次性配置动作,而是一个持续运营的动态过程,从账户加固到日志审计,每一层设置的目的都是为了扩大攻击者的成本,缩小自己的暴露面,无论选择自运维还是交由酷番云、简米科技这样的专业服务商,最小权限 + 持续监控 + 快速响应这三条原则始终不会过时,把基础工作做扎实,比任何“银弹”产品都更重要。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/667463.html





