0

Ubuntu服务器初始化配置:从零开始搭建安全稳定系统的完整指南

2026.05.21 | youres | 10次围观

为什么Ubuntu服务器初始化配置至关重要

拿到一台全新的Ubuntu服务器,第一件事不是急着部署应用,而是把基础环境配置好。初始化配置做得是否规范,直接决定了后续服务器的安全性、稳定性和可维护性。

很多运维事故的根源,都是初始配置潦草了事——用root直接操作、不配置防火墙、不更新系统补丁、SSH用密码登录。这些"省事"的操作,往往会在几个月后变成安全事故。

本文以Ubuntu 20.04/22.04 LTS为例,梳理一套经过生产环境验证的初始化配置流程,涵盖账号安全、SSH加固、防火墙、时区同步、SWAP配置、内核参数优化等关键环节。

准备工作:系统安装后的第一步

服务器系统安装完成、能正常SSH登录后,先不要急着装软件。花10分钟按下面步骤把基线打牢,后面能省大量排障时间。

更新系统软件包到最新版本

第一步永远是更新系统。新装好的Ubuntu镜像里的软件包往往不是最新版本,存在已知漏洞。

sudo apt update
sudo apt upgrade -y
sudo apt autoremove -y

执行完后建议重启一次,让内核更新生效:

sudo reboot

创建非root用户并配置sudo权限

直接用root操作是服务器管理的坏习惯。正确做法是创建一个普通用户,通过sudo临时获取管理员权限。

sudo adduser deploy
sudo usermod -aG sudo deploy

注销root,用新用户重新登录测试sudo是否生效:

ssh deploy@your_server_ip
sudo whoami

配置SSH密钥登录增强安全性

密码登录存在被暴力破解的风险,密钥登录是目前业界标准做法。关于SSH密钥的详细配置方法,可以参考站内相关教程。

在本地电脑生成密钥对:

ssh-keygen -t ed25519 -C "deploy@server"

将公钥上传到服务器:

ssh-copy-id deploy@your_server_ip

然后在服务器上禁用密码登录,编辑/etc/ssh/sshd_config:

PasswordAuthentication no
PubkeyAuthentication yes
PermitRootLogin no

重启SSH服务使配置生效:

sudo systemctl restart ssh

配置防火墙UFW保护服务器

Ubuntu自带UFW,初始化时必须配置防火墙,原则是"默认拒绝,按需放行"。

sudo ufw allow OpenSSH
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw enable

查看状态确认规则生效:

sudo ufw status verbose

配置时区和NTP时间同步

服务器时间不准确会导致日志时间错乱、SSL证书验证失败、定时任务执行异常。

sudo timedatectl set-timezone Asia/Shanghai
sudo apt install chrony -y
sudo systemctl enable chronyd
sudo systemctl start chronyd

验证时间同步状态:

timedatectl status
chronyc sources

配置SWAP交换空间

当服务器物理内存耗尽时,系统会触发OOM Killer强制杀掉进程。配置SWAP可以在内存不足时提供缓冲。

sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo "/swapfile none swap sw 0 0" | sudo tee -a /etc/fstab

优化SWAP使用策略,减少频繁换页影响性能:

echo "vm.swappiness=10" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

安装常用基础工具

新系统默认自带工具很少,安装一些常用工具能大幅提升后续运维效率:

sudo apt install -y curl wget git vim htop net-tools dnsutils telnet tree unzip zip
  • curl/wget:下载文件、调用API
  • vim:编辑配置文件
  • htop:实时查看系统资源占用
  • net-tools:提供ifconfig、netstat等网络工具
  • dnsutils:提供dig、nslookup等DNS诊断工具

配置自动安全更新

配置自动安全更新能让服务器自动安装重要安全补丁。

sudo apt install -y unattended-upgrades
sudo dpkg-reconfigure unattended-upgrades

内核参数优化(sysctl)

对于面向公网的服务器,建议对内核网络参数做基础优化。

# 防止SYN Flood攻击
net.ipv4.tcp_syncookies = 1
# 增加系统最大文件描述符数量
fs.file-max = 655360
# 增加TCP连接队列长度
net.core.somaxconn = 4096

将上述内容追加到/etc/sysctl.conf后执行:

sudo sysctl -p

初始化完成后的检查清单

检查项命令期望结果
系统版本lsb_release -aUbuntu 20.04/22.04 LTS
系统更新状态apt list --upgradable无待更新包
非root用户id deploy存在且在sudo组
SSH密钥登录ssh deploy@ip无需密码登录成功
防火墙状态sudo ufw statusactive,22端口放行
时区timedatectlAsia/Shanghai
SWAPswapon --show显示swapfile信息

总结

Ubuntu服务器的初始化配置不是可有可无的"额外工作",而是生产环境稳定性的基石。本文介绍的流程涵盖了账号安全、SSH加固、防火墙、时区同步、SWAP、自动更新和内核优化等核心环节,按照这个基线配置出来的服务器,能满足绝大多数生产场景的安全要求。

初始化完成后,再开始部署应用服务,后续运维会轻松很多。每台新服务器上线前,建议都把本文作为初始化检查清单,逐项确认后再投入使用。

版权声明

本文仅代表个人观点。
本文系AI辅助作者原创,未经许可,转载请保留原文链接。

发表评论