..

租用VPS之后要做的事情

听说你准备好在云端开启你的Linux之旅了?但别忘了安全管理和自动更新。

这篇指南使用Debian发行版作为例子。如果你在使用其他发行版,命令可能会有区别,请自己做功课。

用户和sudo命令

Linux是那种绝对服从命令的操作系统。所以切忌不要使用root(最高权限)运行命令,也不要使用root登陆。当你以root身份登录时,你运行的每个应用程序都将以root权限运行。这可能导致应用程序随意删除文件,或在不同的地方创建文件。可能会破坏你的系统。

大部分VPS公司会提供root账户和密码,给你绝对的掌控权。 所以接下来我们要做的是创建一个普通用户,并给他 superuser 权限。

adduser yourusername # 添加用户yourusername
usermod -aG sudo yourusername # 提供superuser权利给yourusername

现在你有新的用户了!exit 登出root账户,以新的账户登陆。

禁用root账户以SSH登陆

现在我们要禁用root账户以SSH登陆。这是为了确保系统安全以及减少攻击面积。
我在使用vim,你也可以使用nano或者其他文本编辑器。

sudo vim /etc/ssh/sshd_config

在编辑系统配置文件时,需要你的superuser权限。这里我们用到了sudo。 在配置文件中,找到 PermitRootLogin yes 这一行,将 yes 替换成 noa72b9315090d1ac9020ee4f88c8b2ff0.png 保存文件并重启SSH服务。

sudo systemctl restart sshd

防火墙端口

现在我们通过减少以及限制防火墙端口来减少攻击面积。 这篇指南使用 Uncomplicated Firewall (ufw) 来管理防火墙。 使用 sudo apt install -y ufw 来安装。

sudo ufw status

这个命令会显示防火墙是否激活,并列出所有开放的端口。 a1a25ea15a3be36e5fb16d599c23b4b3.png 这个盒子现在在跑一个 Web Server。
打个比方,我不再需要端口8448。

sudo ufw deny 8448
sudo ufw reload

别忘记重启防火墙。

更换SSH端口

Secure Shell 默认使用端口22。唯一不好的一点是这个端口太常用了,其他人很轻松的就可以知道你在用 SSH。
让我们再次打开SSH配置 4b9e1e28a98289be53edc3ab082565af.png 可以把这个端口改为高于3000的任何端口。
别忘了防火墙凿洞。

自动更新

如果你在使用 Debian 系统,(Ubuntu 等),Unattended Upgrades 是你的自动更新软件。
AutomaticSecurityUpdates

如果你在使用 RHEL,CentOS,AlmaLinux,RockyLinux 或者 Fedora:
DNF Automatic
Fedora Wiki AutoUpdates
如果你在使用 openSUSE:
YaST Online Update

自动更新的配置文件可以通过 /etc/apt/apt.conf.d/20auto-upgrades 生成。

sudo dpkg-reconfigure -plow unattended-upgrades

69a9a2fb9e89dd91a3661e30ddb9b03b.png 现在可以编辑配置了

sudo vim /etc/apt/apt.conf.d/50unattended-upgrades

dc8b2631c664f924196a7d39e45b9035.png 系统默认是只进行安全更新,像软件更新并不是自动的。
如果需要,uncomment 想要的更新就好。
比如 "origin=Debian,codename=${distro_codename}-updates" 这一行就是普通的软件更新。
跑“过期”的软件并没任何坏处,能保持最好的稳定性。(这里指的并不是安全更新)看个人喜好了。

9739e5a649c89fb3bf0810349b84f457.png 可选更新
Remove-Unused-Kernel-Packages
删除不再需要的旧内核。
Remove-New-Unused-Dependencies
如果软件包更新后不再需要,则删除未使用的依赖。
Remove-Unused Dependencies
删除未使用的依赖。

Remove-New-Unused-DependenciesRemove-Unused-Dependenciessudo apt autoremove 命令作用相同。

最后让我们检测一下。如果回馈是 1 说明设置没问题。

sudo cat /etc/apt/apt.conf.d/20auto-upgrades
apt-config dump APT::Periodic::Unattended-Upgrade

4316a50179e1fe474a1774f5f492d4df.png

At the end

虽然设置了自动更新,但我还是建议时不时登上去看一眼,查查 SELinux 的 log。
祝大家 Linux 旅途愉快!