服务器运维新手指南:快速上手的正确方法 - 编号19908
新手运维最容易犯的错不是不懂技术,而是服务器刚上线就急着装面板、开服务,结果一天不到就被挖矿程序占满CPU。据统计,未做基础加固的Linux服务器,在公网上平均存活时间不到3小时就会遭遇扫描攻击。
第一步:先关掉所有不需要的端口和服务
拿到一台新服务器,别急着装宝塔或LNMP。先执行 ss -tlnp 看看哪些端口在监听。大多数云服务器默认会打开SSH(22)、RDP(3389)甚至还有未关闭的PostgreSQL或Redis。一个真实案例:某新手把Redis默认端口6379暴露在公网,没设密码,5分钟后就被植入勒索脚本。正确做法是在云平台安全组里只放行你实际需要的端口(比如80、443、22),其他一律丢弃。内网服务(如MySQL、Redis)绑定到127.0.0.1就行。
SSH登录别用密码,改用密钥+禁用root直连
密码登录就像挂把弹子锁在服务器大门上,暴力破解脚本每秒钟能试几百个组合。改用密钥对登录后,攻击者即使猜对用户名也进不来。具体操作:本地生成密钥对 ssh-keygen -t ed25519,把公钥写入服务器的 ~/.ssh/authorized_keys,然后修改 /etc/ssh/sshd_config 把 PasswordAuthentication yes 改成 no,再把 PermitRootLogin 设为 prohibit-password 或 no。我见过有人觉得密钥太麻烦继续用密码,结果服务器被当跳板去攻击别人,最后被云厂商封机。
日志和监控不是事后才看,是上线就配好
等网站出问题才去翻日志,那时候磁盘可能已经被日志撑爆了。新手常踩的坑是:装完Nginx和MySQL后,任由日志文件无限增长,直到磁盘使用率100%导致服务停摆。正确做法:先配好logrotate,让日志按天或按大小自动轮转压缩。同时装一个轻量监控工具(如netdata或prometheus+node_exporter),设置CPU超过80%、磁盘剩余小于10%时发告警。有个朋友没配监控,半夜数据库连接数暴增,等他睡醒网站已经挂了6小时。
最容易忽略的3个日常操作
- 定时备份要设成只写不删:很多人用crontab每天备份数据库到同一目录,结果旧备份被新备份覆盖,遇到数据误删只能干瞪眼。至少保留7天以上的增量备份,并且备份文件不要放在系统盘,单独挂载一块数据盘或传到对象存储。
- 系统更新别选“全部自动”:直接开
yum update -y或apt upgrade -y可能把Nginx、MySQL大版本升上去导致不兼容。建议只更新安全补丁,业务软件手动控制版本。Debian/Ubuntu可以开unattended-upgrades只处理安全更新。 - 防火墙规则双向都要限制:新手只在意入站规则,忘了出站。如果服务器被植入木马,它会主动向外连C2服务器。在iptables或云平台安全组里把出站规则也收紧,只放行必要的端口(如HTTP/HTTPS、DNS、NTP),其他全阻止。有个电商公司没限制出站,被挖矿程序疯狂往矿池发包,账单上多了几千块流量费。