为什么要做 Linux 安全加固
Linux 系统安装后的默认配置优先兼顾易用性,安全策略普遍偏宽松。服务器一旦接入公网,会持续面临全网自动化扫描、暴力破解、漏洞探测等攻击。开展安全加固,核心目的是抬高攻击门槛、降低入侵风险。
加固的价值
缩小攻击面
关闭无用端口、停用不必要服务,减少黑客可利用的入口。
抵御常见攻击
防范 SSH 暴力破解、SYN 洪水、IP 欺骗等基础网络攻击,避免服务器被植入挖矿木马、沦为攻击肉鸡。
限制权限风险
遵循最小权限原则,即便普通账号被窃取,也难以获取 root 最高权限,缩小损失范围。
及时修复安全漏洞
持续更新系统软件包,修补内核、应用已知安全漏洞。
留存审计依据
完善日志策略,发生异常后能够追溯入侵行为、定位攻击来源。
满足合规要求
企业业务服务器需符合等保等规范,安全加固是基础测评项。
简单总结
加固不是百分百杜绝入侵,而是通过系统化配置堵住系统默认安全缺陷;避免服务器 “裸奔”,让攻击成本大幅提升。
第一步:系统更新 基础环境优化
1.定期升级系统所有依赖
sudo apt update #刷新软件源索引清单
sudo apt upgrade -y #升级本机已经安装的所有软件到最新可用版本
sudo apt autoremove -y #自动删除不再被任何软件依赖的冗余依赖包2.关闭无用自启服务
查看开机自启服务
# 查看开机自启服务
systemctl list-unit-files --type=service --state=enabled
# 关闭无用服务(按需执行)
systemctl disable --服务名1
systemctl disable --服务名2第二步:核心加固--SSH 远程登录安全
90% 的服务器入侵都是SSH暴力破解,这一步是加固核心中的核心。
创建普通运维账号,禁止ROOT直接登录,生产环境绝对禁止ROOT远程SSH登录
# 创建普通用户(自定义用户名,推荐admin)
useradd admin
# 设置高强度密码
passwd admin
# 赋予sudo权限
usermod -aG sudo admin修改SSH配置文件加固
vim /etc/ssh/sshd_config修改/新增以下配置文件
Port 6969 # 修改默认端口,减轻盲扫
PermitRootLogin no # 禁止root远程登录 --> 最常用配置
AllowUsers admin # 登录用户白名单
PasswordAuthentication no # 关闭密码登录,强制密钥 --> 需上传好密钥,不然容易把自己也关外面
ChallengeResponseAuthentication no
PermitEmptyPasswords no # 禁止空密码账号登录
MaxAuthTries 4 # 最大密码尝试次数
MaxSessions 5 # 单个IP最大会话数
ClientAliveInterval 300
ClientAliveCountMax 2 # 空闲5分钟自动断开
Protocol 2 # 仅使用SSH2,废弃SSH1
X11Forwarding no # 关闭X11转发
AllowTcpForwarding no # 关闭端口转发(不需要跳板则启用)
PermitAgentForwarding no
PermitTunnel no # 禁止VPN隧道
Banner /etc/ssh/banner.txt # 登录警告横幅(合规要求)
配置完成需重启SSH服务生效:
# Ubuntu/Debian
systemctl restart ssh
# CentOS
systemctl restart sshd
评论