Physical Address:
ChongQing,China.
WebSite:
对于新手而言,当你获得属于你自己的远程主机,或者属于你自己的VPS时,不可避免地涉及到一些安全性问题。如果你不知道怎样设置以保护你自己的主机安全,那么可以参考本篇文章,我将会简单介绍5个方法以加强对你远程主机的保护。
及时更新软件很重要,为什么呢?因为你的系统可能并不是最新的状态,存在一些可被他人入侵的漏洞。而你的系统提供商,包括你系统上安装的应用的开发商,都会定期更新,在带来新特性的同时也会修复漏洞。想想Windows系统自带的自动更新功能你就能理解了,杀毒软件中不断更新的病毒库你就明白了。
那么,如何更新软件呢,这里我介绍给大家两种办法。请注意,接下来的操作都是基于Ubantu 20.0版本,如果你的Linux系统与我的不一致或者版本不同,实际效果可能会有差异,请自行Google解决。
sudo apt update //更新升级资源库
sudo apt dist-upgrade //实行差分升级
sudo apt install unattended-upgrades //安装无人值守升级工具
sudo dpkg-reconfigure –priority =low unattended-upgrades //开启无人值守升级
无论是手动更新还是自动更新,它们都能帮助你的系统、你的软件保持在最新的稳定状态。在实际使用时你可能会需要注意一点:自动更新可能并非最好的。因为自动更新往往会更新较多内容,可能会对你的系统存储资源造成一定压力。如果你的存储资源不那么丰富,还是手动更新吧,手动更新可以自主选择更新哪些软件,相对更为灵活,只是稍微麻烦一点。
当你远程登录你的主机时,最好不要使用root账户登录。因为在你登录的这个过程中,你的账户密码是有可能被窃取的。最好的解决办法是,新建用户并为其赋予sudo权限,后续都使用该用户账号进行登录。
主要有以下几个步骤:
useradd 用户名
passwd 用户名
usermod -aG sudo 用户名
在第3步中,你也可以使用visudo /etc/sudoers编辑sudoers文件从而使你的新用户拥有sudo权限。按键输入“i”以进入编辑模式:
如图所示,在root ALL=(ALL) ALL下以你的新用户名开头,重新添加类似的一行
为什么我们不要使用root账户呢?这里有很多原因,除了开头提到的——你在登录过程中root账户与密码是极有可能泄露的,一旦他人获取了你的root权限,对你系统而言可能会是灾难性的。除此之外,由于root用户权限很高,而我们在操作过程中可能会犯错,因为这些小的犯错却极有可能造成不可挽回的损失。如果我们使用非root账户,在没有sudo权限时可能无法进行相关操作,在一定程度上避免了这些损失。即使你拥有sudo权限,它总是会让你执行sudo时要求你输入密码,那么你就会意识到,当前这个操作是极其危险的,提高了你的警觉性,从而也能减少失误避免损失。
使用SSH密钥登录时,你不再需要账户与密码,你与服务器将会通过一对专有的私有与公钥进行认证通信。关于SSH密钥登录稍微有一点复杂,在本教程中不给大家仔细列出,关于这部分内容,大家可以参考下面的链接进行学习:https://www.runoob.com/w3cnote/set-ssh-login-key.html
总的来讲,我们与远程主机的通信很多时候都依赖于SSH。关于SSH的使用,是存在一些差异化、可配置的内容的。那么,如何去进行SSH配置的修改,以更好的保护我们的主机安全呢?
vi /etc/ssh/sshd_config
进入编辑模式后,找到#Port 22的内容,去掉“#”,修改Port 22为任意你所想到的端口(1~65535以内)。
修改后,你需要使用systemctl restart sshd来使其生效。
想必大家在使用Windows时都会接触到防火墙,而在Linux中也有防火墙的存在,接下来我将教你如何设置防火墙。
Sudo apt install ufw //安装防火墙工具
2.开启SSH端口
sudo ufw allow 端口号 //请开放步骤4中你设置的SSH端口及其他必要端口
sudo ufw enable
之后你可以通过ufw status查看防火墙状态,如我的防火墙状态如下
以上就是作为一个新手小白可以设置的,用于加强自己主机保护的全部内容了,相信通过以上设置,你可以更好的保证你的主机安全。当然,除了这5项设置,还有其他更多可设置的内容,大家都可自行Google。本教程就不做展开啦。希望这些内容能对你有所帮助,如果你有任何疑问,可以通过评论告知我,我会尽量解答,感谢!