二、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_TIMEOUT=10/GRUB_TIMEOUT=3/' /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_email@example.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-upgrade:
sudo 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最后做个安全扫描,推荐用lynis:
wget 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_ipv6=1 # 限制核心转储 sudo echo "* hard core 0" >> /etc/security/limits.conf # 历史命令加固 sudo echo "export HISTTIMEFORMAT='%F %T '" >> /etc/profile sudo echo "export HISTSIZE=10000" >> /etc/profile记得每次修改后都要测试服务是否正常。安全性和可用性要平衡,别把服务器锁死到连自己都进不去。建议先在测试环境验证所有配置,没问题再上生产。