系统更新
新机器到手,首先进行软件包更新,执行下面命令更新软件包
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 命令进行,这样较为安全。
设置密钥登录
服务器不建议使用用户名和密码登录,尽量使用密钥登录
添加 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 还能继续使用,但后续肯定是会往更新的发展。