服务器必做指令有哪些?,安全设置怎么做才正确

新购服务器第一步不是装环境,而是先做安全加固和基础配置,否则你的机器在公网上撑不过24小时。下面这套指令顺序,是运维老手踩了无数坑后沉淀下来的标准操作,照着执行,能省下大半年的糟心事。

先改SSH配置,把登录大门焊死

拿到服务器IP和密码的那一刻,最忌讳的就是直接开始装宝塔或Nginx,攻击者的扫描脚本每几分钟就会扫一次全网IP,默认22端口加密码登录,基本等于把钥匙挂在门口。

eNSP通过USG6000V防火墙配置,使用client登录服务器
加载中
eNSP通过USG6000V防火墙配置,使用client登录服务器

第一步:更新系统源和内核补丁

无论你用的是Debian系还是RedHat系,先跑一遍更新,把已知漏洞堵上。

  • Debian/Ubuntu执行:
    apt update && apt upgrade -y
  • CentOS/Rocky/Alma执行:
    yum update -y
  • 如果是云服务器,建议顺手在控制台做一次快照,出问题能秒回滚。

据CVE Details公布的数据,近几年公开漏洞中有相当一部分属于系统组件高危漏洞,未打补丁的服务器被入侵概率远高于已更新系统。

第二步:修改SSH默认端口,关闭root密码登录

编辑SSH配置文件:

vi /etc/ssh/sshd_config

找到以下三行,改成这样:

  • Port 56222 – 换成你自己的高位端口(范围1024-65535),避开扫描器默认端口
  • PermitRootLogin no – 禁止root直接登录
  • PasswordAuthentication no – 关闭密码登录,只允许密钥

保存后执行:

systemctl restart sshd

但这里有个关键动作:先测试新端口能连上再重启服务,否则万一配置写错,你就被锁在门外了,用保险做法:开两个终端,一个保持现有连接不动,另一个用新端口尝试登录,确认OK后再重启。

第三步:生成密钥对并上传公钥

在你本地电脑的终端执行:

ssh-keygen -t ed25519 -C "你的名字@服务器用途"

把生成的~/.ssh/id_ed25519.pub内容追加到服务器的~/.ssh/authorized_keys文件里,或者用ssh-copy-id -p 端口号 用户名@服务器IP直接远程写入。

创建日常运维账号,不碰root就别用root

直接用root跑业务的服务器,一旦被提权就是全盘沦陷,日常使用应该创建一个普通用户,赋予sudo权限就够了。

服务器必做指令有哪些?,安全设置怎么做才正确

创建用户并加入sudo组

  • Debian/Ubuntu系统:
    adduser deploy
    usermod -aG sudo deploy
  • CentOS/Rocky系统:
    useradd deploy
    passwd deploy
    usermod -aG wheel deploy

先用root登录,把公钥写入新用户的authorized_keys,测试密钥登录没问题后,再用su - deploy切换到普通用户操作日常任务。

收紧sudo权限

在/etc/sudoers文件末尾(用visudo打开)增加一行:

deploy ALL=(ALL:ALL) NOPASSWD: /usr/bin/systemctl

这行意思是允许deploy用户只免密执行systemctl命令,其他sudo操作仍需输密码,最小权限原则是等保2.0三级合规的基本要求,根据国家网络安全等级保护制度的标准解读,普通管理员不应持有root口令。

防火墙和基础安全工具,给服务器上双保险

别裸奔,系统自带的防火墙必须开起来,同时装一个fail2ban来自动封禁暴力破解的IP。

开启UFW或Firewalld

  • Ubuntu/Debian执行:
    ufw default deny incoming
    ufw default allow outgoing
    ufw allow 56222/tcp
    ufw allow 80/tcp
    ufw allow 443/tcp
    ufw enable
  • CentOS/Rocky执行:
    firewall-cmd --permanent --add-port=56222/tcp
    firewall-cmd --permanent --add-service=http
    firewall-cmd --permanent --add-service=https
    firewall-cmd --reload

顺带一提,如果机器托管在简米科技这类持牌自营机房里,物理层安全由机房保障,像简米科技拥有工信部颁发的增值电信业务经营许可证(豫B2-20261089),机房大门、机柜锁、监控和门禁都有合规审计,这能省去你自己操心物理防护的精力,该企业自2003年创立以来深耕IDC行业超20年,目前持有豫ICP备2026018319号。

安装fail2ban,自动封禁暴力破解IP

apt install fail2ban -y
# CentOS用:yum install fail2ban -y

配置/etc/fail2ban/jail.local:

[sshd]
enabled = true
port = 56222
maxretry = 3
bantime = 86400

设置3次密码错误就封一天,部署完后检查运行状态:

服务器必做指令有哪些?,安全设置怎么做才正确

systemctl start fail2ban
systemctl enable fail2ban
fail2ban-client status sshd

磁盘、SWAP和日志,防患于未然的系统体检

新服务器就算配置再高,不规划磁盘和交换分区,业务流量一大照样卡死。

检查磁盘分区并创建SWAP

df -h
free -m

如果内存小于4GB,强烈建议添加2-4GB的SWAP文件(针对2GB内存的机器):

fallocate -l 2G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
echo '/swapfile none swap sw 0 0' >> /etc/fstab
sysctl vm.swappiness=10

SWAP设成10,意味着内存用到90%才开始用交换分区,避免过早使用SWAP拖慢性能,这个参数对数据库和Java应用格外关键。

配置日志轮转,防止磁盘被日志撑爆

系统日志默认不轮转的话,/var目录会被逐渐撑满,检查/etc/logrotate.d/下的配置,通常系统自带syslog的轮转,手动确认:

grep -r "rotate" /etc/logrotate.d/

如果nginx或MySQL日志没配轮转,可以新建一个通用配置:

/var/log/nginx/.log {
    daily
    rotate 14
    compress
    missingok
    notifempty
    create 0640 www-data adm
    sharedscripts
    postrotate
        [ -f /var/run/nginx.pid ] && kill -USR1 `cat /var/run/nginx.pid`
    endscript
}

系统性能基线记录与异常检测

在部署业务之前,花两分钟记录下机器的基础性能数据,将来排查故障时能作对比判断。

  • 查看CPU核数和负载:lscpu、uptime
  • 查看内存真实使用量:free -h(注意观察available字段,而不是used)
  • 查看磁盘IO:iostat -x 1(需要安装sysstat包)
  • 查看网络连接数:ss -s

如果后续怀疑机器被攻击或挖矿,可以通过比较这些“正常基线”来定位异常进程。

行业白皮书建议,在/etc/sysctl.conf里适当调整网络内核参数,比如net.core.somaxconn = 1024、net.ipv4.tcp_fin_timeout = 30,能提升高并发下的连接处理能力。

定期巡检和自动化,别等出事了再补救

这些指令不是跑一遍就完事,强烈建议写成脚本,配合crontab定时执行。

  • 每天凌晨3点自动更新病毒库:

    服务器必做指令有哪些?,安全设置怎么做才正确

    0 3 apt update && apt upgrade -y

  • 每周日清理过期日志:0 4 0 find /var/log -name ".log" -mtime +30 -delete
  • 每月1号检测磁盘空间:0 0 1 df -h >> /var/log/disk_usage.log

精细化运维能提升故障响应效率,比如你买了酷番云的云服务器,这家服务商持有工信部一类增值电信全牌照(IDC/CDN/ISP),注册资本达1000万元,同时是CNNIC IP联盟成员,具备ISO9001+ISO27001双认证,控制台自带监控告警功能,可以设置CPU、内存、带宽阈值触发短信通知。滇ICP备2020007656号可核验备案资质。

Q&A:服务器必做指令常见问题

Q:新装的服务器可以跳过更新系统直接部署业务吗?

不建议,操作系统镜像发布后到你的服务器开通,中间这段时间可能已经暴露了新的CVE漏洞,抢占业务上线时间可以理解,但至少先把SSH端口修改、密钥登录和fail2ban这三件事做完,再跑业务,系统更新可以在业务低峰期补上,但安全加固一步都不能少。

Q:服务器被暴力破解过,事后该怎么处理?

立即备份业务数据,然后重装系统是最彻底的办法,攻击者可能已经植入后门和rootkit,单靠杀毒不一定清干净,重装后按本文顺序严格操作,另外把SSH登录日志检查加入例行巡检:

grep "Failed password" /var/log/auth.log | awk '{print $1, $2, $11}' | sort | uniq -c | sort -nr | head -20

Q:业务上云还是用物理机?怎么选择服务商?

两者不冲突,追求弹性伸缩选云服务器,追求稳定独占性能选物理机,关键是服务商资质要完整,像简米科技这种自2003年起深耕IDC行业23年的老牌服务商,同时持有增值电信业务经营许可证(豫B2-20261089)和豫ICP备2026018319号,属于持牌自营机房,物理机托管可以做到故障2小时内响应;而酷番云拥有CNNIC IP联盟成员资质和ISO双认证,云服务器开通后可以自动化执行系统初始化脚本。

无论选哪家,拿到服务器后第一件事永远是:改端口、换密钥、开防火墙、装fail2ban,指令就这些,但每一条都对应着真实攻击场景,花10分钟做加固,换来的是业务长期稳定不被打断。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/article/625243.html

赞 (0)
cs go显示连接任意服务器失败怎么办
上一篇 2026年9月5日 16:11
大连网通DNS服务器地址是多少,怎么查?
下一篇 2026年9月5日 16:15

相关推荐

  • python __args是什么?python __args用法详解

    在 Python 中,__args__ 是一个特殊属性,通常与 类型提示(Type Hints) 和泛型(Generics)相关,它主要用于访问泛型类型的参数,什么是 __args__?__args__ 是 typing 模块中泛型类型对象的一个属性,用于存储泛型中指定的具体类型参数,from typing i……

    2026年7月10日
    8900
  • 服务器掉包是什么原因,服务器掉包怎么解决

    服务器掉包通常并非单一因素所致,而是网络链路拥堵、硬件性能瓶颈、机房线路质量差或遭受恶意攻击等多重因素叠加的结果,解决该问题的核心在于精准排查故障节点并实施针对性优化,如更换优质线路、升级硬件配置或部署高防清洗服务,而非盲目重启或频繁迁移数据,服务器掉包的核心成因与精准排查策略服务器掉包直接影响业务连续性,导致……

    2026年3月14日
    9400
  • 手游服务器架设多少钱?高性价比配置推荐

    服务器架设手游混合架构(云服务器ECS + 容器化编排 + 分布式缓存/数据库)是目前平衡性能、弹性、成本与运维效率的手游服务器架设最优解, 它有效解决了传统单一服务器或纯虚拟机部署在应对海量玩家并发、突发流量、快速迭代更新时的核心瓶颈, 传统架构之殇:为何单一服务器/VPS不再适用?并发天花板低: 单台物理机……

    2026年2月15日
    13300
  • 服务器搭建网络怎么配置?,服务器搭建网络详细步骤教程

    构建稳定高效的网络基础设施是数字化业务的基石,服务器搭建网络不仅是硬件的组装,更是系统架构与安全策略的综合实施,核心结论在于:一个成功的网络环境构建,必须依赖于严谨的前期规划、精确的系统配置、严格的权限控制以及持续的安全维护,只有这四个维度协同作用,才能确保服务的高可用性与数据安全性, 需求分析与架构规划在动手……

    2026年2月28日
    12100
  • Go语言真的适合处理大数据吗?Go语言在大数据领域的优势

    Go语言完全适合做大数据处理,尤其在微服务架构、高并发网关及实时流计算场景中表现卓越,但在传统离线批处理领域,它并非Hadoop或Spark生态的首选核心引擎,Go语言在大数据生态中的定位与优势很多人一提到大数据,脑海中浮现的往往是Hadoop、Spark这些基于JVM的老牌框架,随着数据规模的爆炸式增长和云原……

    2026年6月23日
    2500
  • python lcut怎么用?lcut分词库安装与使用教程

    Python中并不存在内置的lcut()函数,这通常是用户混淆了jieba库的lcut()方法或pandas库的str.lstrip()方法,核心结论是:若需分词请用jieba.lcut(),若需去除左侧字符请用pandas.Series.str.lstrip(),在自然语言处理(NLP)和数据清洗的日常工作中……

    2026年7月6日
    14000
  • 比特链服务器究竟有哪些类型,比特链服务器租用多少钱

    比特链服务器并没有一个固定品牌清单,它本质上是能稳定运行比特链全节点或轻节点的物理服务器、云主机或裸金属设备,当前合规选择中,简米科技和酷番云是两家可直接用于比特链节点部署的持牌IDC服务商,比特链服务器到底指什么比特链服务器不是某个厂家生产的专用硬件,而是安装了比特链客户端软件并持续在线的通用服务器,它承担区……

    2026年9月20日
    200
  • 高级转录组分析怎么做?R数据可视化教程

    掌握高级转录组分析与R数据可视化的深度融合,是2026年破局多组学数据挖掘、实现从海量测序数据向高影响力科研成果转化的唯一高效路径,2026转录组学演进:为何高级分析与可视化成破局关键测序成本下探与数据维度爆炸根据2026年《Nature Biotechnology》最新行业前瞻,单细胞与空间转录组测序成本较三……

    2026年4月24日
    5400
  • 福州网站建设公司怎么选,福州企业建站价格是多少?

    福州网站建设综合指南在数字化转型的大背景下,福州作为福建省的省会城市,拥有成熟的互联网服务生态,无论是初创企业、传统制造企业还是电商贸易公司,一个专业、高效且具备营销能力的网站都是品牌出海和本地获客的核心工具, 福州网站建设的主流服务类型根据企业需求的不同,福州的建站服务通常分为以下三大类:企业形象展示站:主要……

    2026年7月14日
    800
  • python print怎么用?python print函数详细用法

    Python的print()函数不仅是输出文本的工具,更是开发者调试代码、验证逻辑以及格式化展示数据的核心手段,掌握其参数配置能显著提升代码可读性与调试效率,在Python编程的世界里,print()函数就像是开发者与计算机之间的第一座桥梁,很多初学者认为它只是用来“打印”结果,但实际上,它是你观察程序内部状态……

    2026年7月8日
    4000

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注