系统更新

新机器到手,首先进行软件包更新,执行下面命令更新软件包

sudo apt update && apt upgrade -y && apt dist-upgrade -y && apt autoclean -y && apt autoremove -y

更新完成后建议重启一下

sudo reboot

安装常用软件包

sudo apt install wget curl vim iproute2 -y

优化 vps 网络

注意:需要 4.9 及以上的内核才可以开启 BBR

执行命令

wget https://gist.githubusercontent.com/rand-wind/dff7ed87748e728a18f388e5a6b17c07/raw/3906efed227ee14fc5b4ac8eb4eea8855021ef19/optimize.sh && sudo bash optimize.sh

作用:

  • 更新软件源和软件包。
  • 安装 Haveged 优化 Linux 随机数生成器,可以解决在某些情况下,系统熵过低的问题。
  • 内核网络参数优化,具体就是对一些 IPv4 的 TCP 参数做了调整,另外还启用了 Linux 原版 BBR 拥塞控制算法,这个算法是 Google 开发的,可以大幅度提升网络速度。

脚本来自 TaurusXin 的独立博客

检查 BBR 是否成功开启:

lsmod | grep bbr

# 返回值有 tcp_bbr 就说明 bbr 已启动,例如:
tcp_bbr                20480  29

更改 SSH 默认端口号

更改端口号可以参考这篇文章 修改 Linux 默认 SSH 端口及注意事项

新增用户

使用 root 用户登录和执行任务是一种不推荐的做法,因为 root 拥有完整的系统权限,很容易误操作。因此,新的 VPS 到手后应该新建一个普通用户,并且授予普通用户 sudo 权限,当需要更高权限的时候使用 sudo 命令进行,这样较为安全。

为 Linux 添加新用户并且赋予 sudo 权限

设置密钥登录

服务器不建议使用用户名和密码登录,尽量使用密钥登录

使用 SSH 密钥登录并禁止口令登录

添加 swap 分区

参考这篇文章 手动给 Debian 添加 Swap 分区

更改系统默认时区

# 查看系统当前时区
timedatectl

# 列出所有可用的时区
timedatectl list-timezones

# 更改时区为 Etc/UTC(根据自己需要)
sudo timedatectl set-timezone Etc/UTC

防火墙

云服务器提供商提供了安全组/防火墙

比如 AWS 亚马逊,GCP 谷歌云,Oracle 甲骨文等等,这些云服务器厂商都默认提供了安全组/防火墙,用户基本不用另外安装防火墙。

商家默认没有安全组

如果云服务器商家没有提供默认的安全组,此时就说明你的机子是在互联网上裸奔。因此就需要我们自己在VPS上配置防火墙,这篇文章里有详细操作 Linux 防火墙类型及常用操作

Debian 默认使用的防火墙是 iptables,而 iptables 规则默认是开放所有端口,看起来效果等同于没有防火墙一样。

iptables 默认规则是需要拒绝的才去手动禁止,不然就是开放。当然也可以手动改成默认全关,手动指定放行的端口。

默认端口全开的好处自然是使用方便了,软件都是装完就能直接使用,但缺点就是存在安全隐患,比如运行数据库之类的,需要根据自己使用情况修改规则。

iptables 的优点是功能强大,不仅仅是简单作为防火墙,还可以实现其他很多功能,缺点是配置比较复杂。

特别强调:从 Debian10 开始,默认防火墙管理则开始逐渐从 iptables 过渡到 nftables 虽然 iptables 还能继续使用,但后续肯定是会往更新的发展。