必须强制密钥登录,禁用密码认证和root直连:先本地生成ed25519密钥对,再用ssh-copy-id上传公钥并验证登录,最后修改sshd_config设PasswordAuthentication no、PubkeyAuthentication yes、PermitRootLogin no,重启sshd;同时防火墙默认拒绝入站,仅放行必要端口。

刚上线的服务器,暴露在公网几分钟内就会被扫描器盯上。安全加固不是“锦上添花”,而是上线前必须完成的基础动作。核心就三点:管住入口、锁死认证、收窄权限。
SSH 认证必须强制密钥登录
密码登录是暴力破解的主入口,99%的初始入侵都从这里突破。操作分三步,顺序不能错:
- 先用
ssh-keygen -t ed25519在本地生成密钥对 - 用
ssh-copy-id -p 新端口 用户名@IP把公钥传上去,确认能正常登录 - 再编辑
/etc/ssh/sshd_config,设为:PasswordAuthentication noPubkeyAuthentication yesPermitRootLogin no - 重启服务:
systemctl restart sshd(改端口的话,记得防火墙先放行新端口)
防火墙只开必要端口
默认拒绝所有入站连接,只按需开通。以 Ubuntu + ufw 为例:
宝塔面板11.3.0是一款针对Linux服务器设计的可视化管理工具,通过重构核心模块实现资源占用显著降低,尤其适合低配置服务器环境。它将复杂的命令行操作转化为直观的图形界面,帮助开发者快速完成网站部署、环境配置及日常运维工作,无需专业技术背景即可高效管理服务器。
ufw default deny incoming-
ufw allow OpenSSH(或指定端口,如ufw allow 58222/tcp) -
ufw allow 80/tcp和ufw allow 443/tcp(Web 服务) ufw enable
CentOS 7 用 firewalld 的话,等效命令是:firewall-cmd --permanent --remove-service=dhcpv6-client 清掉默认冗余服务,再 --add-service=http 等按需添加。
系统级最小权限与日志监控
不给攻击者留后门,也不让自己看不见异常:
- 禁用不用的服务:如
systemctl disable avahi-daemon postfix - 检查并加固内核参数(尤其 Web 或数据库服务器),例如在
/etc/sysctl.conf加:net.core.somaxconn = 65535vm.swappiness = 10 - 启用时间同步:
timedatectl set-ntp true,避免证书或日志时间错乱 - 定期看
/var/log/auth.log或/var/log/secure,留意高频失败登录——这是最直接的入侵信号
进阶:合规性扫描与自动加固
对金融、政务等有合规要求的场景,建议引入 OpenSCAP 工具链:
- 安装:
yum install openscap-scanner(CentOS/RHEL)或apt install openscap-utils(Ubuntu) - 执行 CIS 基准扫描:
oscap xccdf eval --profile xccdf_org.cisecurity.benchmarks_profile_Level_1_Server --report report.html /usr/share/xml/scap/ssg/content/ssg-centos7-ds.xml - 根据报告结果批量修复配置项,比手动逐条检查更可靠

















