二、Ubuntu 18.04 服务器从零部署与安全初始化(SSH、网络与防火墙) 1. Ubuntu 18.04物理机安装实战第一次接触服务器部署的新手可能会觉得Ubuntu安装很复杂其实只要跟着步骤走半小时就能搞定。我经手过上百台服务器的部署这里把最实用的经验总结给你。先说说镜像选择的小技巧。官方推荐用LTS版本长期支持版18.04.6就是不错的选择。下载时注意核对SHA256校验值我遇到过镜像损坏导致安装失败的坑。国内用户建议用阿里云镜像站速度能快10倍不止wget https://mirrors.aliyun.com/ubuntu-releases/18.04.6/ubuntu-18.04.6-server-amd64.iso制作启动盘推荐用Ventoy这个神器。传统工具像Rufus每次都要格式化U盘而Ventoy只需一次安装之后直接把ISO文件拖进去就行。支持同时放多个系统镜像特别适合运维人员# 安装Ventoy后只需拷贝ISO文件 cp ubuntu-18.04.6-server-amd64.iso /mnt/ventoy/BIOS设置有个隐藏知识点新主板一定要关Secure Boot否则安装时会报BIOS/LEGACY BOOT OF UEFI-ONLY MEDIA错误。我建议直接用UEFI模式比传统Legacy兼容性更好。具体操作是开机按F2/DEL进BIOS找到Boot Mode选择UEFI Only。安装过程中最关键的三个配置分区方案生产环境建议单独挂载/var和/home避免日志占满根分区主机名遵循公司命名规范比如bj-prod-web-01用户创建这里先设临时密码后面我们会配置SSH密钥登录安装完成后别急着重启有个必做的优化修改grub超时时间。否则服务器启动时会卡在倒计时界面sudo sed -i s/GRUB_TIMEOUT10/GRUB_TIMEOUT3/ /etc/default/grub sudo update-grub2. 系统初始化安全加固刚装好的系统就像毛坯房得先做好基础装修。首要任务是创建日常使用的普通用户绝对不要直接用root操作这是我用血泪教训换来的经验——曾经误删过整个/usr目录。创建用户的正确姿势# 创建运维组和用户 sudo groupadd ops sudo useradd -m -G ops -s /bin/bash devops sudo passwd devops # 给sudo权限推荐限制命令范围 echo devops ALL(ALL) NOPASSWD: /usr/bin/apt,/usr/bin/systemctl | sudo tee /etc/sudoers.d/devops接着配置SSH安全策略这是黑客最喜欢攻击的入口。先备份原始配置sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak然后修改这几个关键参数# 禁用密码登录 PasswordAuthentication no # 限制root登录 PermitRootLogin no # 只允许指定用户登录 AllowUsers devops # 启用密钥认证 PubkeyAuthentication yes # 修改默认端口 Port 58222改完记得重启服务sudo systemctl restart sshd重点说下密钥配置。建议用ed25519算法生成密钥比RSA更安全且速度更快ssh-keygen -t ed25519 -C your_emailexample.com把公钥上传到服务器后务必测试密钥登录是否生效否则可能被锁在服务器外面可以用另一个终端窗口保持连接确认无误后再退出当前会话。3. 网络配置与优化Ubuntu 18.04开始用netplan管理网络比之前的ifupdown更现代化。先查看网卡名称ip link show典型的有线网卡名可能是ens33或eth0。配置静态IP的正确姿势sudo vi /etc/netplan/01-netcfg.yaml示例配置注意缩进必须用空格network: version: 2 renderer: networkd ethernets: ens33: dhcp4: no addresses: [192.168.1.100/24] gateway4: 192.168.1.1 nameservers: addresses: [8.8.8.8, 114.114.114.114] search: [mydomain.com]应用配置时有个坑要注意如果网卡正在使用直接apply可能导致断连。安全做法是sudo nohup netplan apply 国内用户一定要换软件源。推荐清华源包含的软件包最全sudo sed -i s|archive.ubuntu.com|mirrors.tuna.tsinghua.edu.cn|g /etc/apt/sources.list更新软件包时要先做dist-upgradesudo apt update sudo apt dist-upgrade -y4. 防火墙与安全加固UFW防火墙是Ubuntu自带的利器比直接操作iptables简单多了。基础配置三步走# 放行SSH端口记得改成你修改后的端口 sudo ufw allow 58222/tcp # 启用日志 sudo ufw logging on # 启动防火墙 sudo ufw enable生产环境建议开启这些防护# 防暴力破解 sudo apt install fail2ban # 内核级防护 sudo apt install unattended-upgrades sudo dpkg-reconfigure -plow unattended-upgrades最后做个安全扫描推荐用lyniswget https://downloads.cisofy.com/lynis/lynis-3.0.8.tar.gz tar xvf lynis-3.0.8.tar.gz cd lynis sudo ./lynis audit system根据扫描结果修复漏洞比如关闭不必要的服务、设置文件权限等。我通常会额外做这些加固# 禁用IPv6如不需要 sudo sysctl -w net.ipv6.conf.all.disable_ipv61 # 限制核心转储 sudo echo * hard core 0 /etc/security/limits.conf # 历史命令加固 sudo echo export HISTTIMEFORMAT%F %T /etc/profile sudo echo export HISTSIZE10000 /etc/profile记得每次修改后都要测试服务是否正常。安全性和可用性要平衡别把服务器锁死到连自己都进不去。建议先在测试环境验证所有配置没问题再上生产。