共计 1351 个字符,预计需要花费 4 分钟才能阅读完成。
导读 | 每天都有成千上万的新网站诞生,这些网站大部分都是采用 linux 作为服务器,一方面是 linux 是免费的,需要资源更少,更稳定,一方面是因为 linux 的服务器防护性更高。但是如果我们不正确使用 linux 的话,它也是非常容易被攻击的,下面我们就介绍下如何更好地配置我们的服务器,让它更安全。 |
在我们使用 windows 的时候,我们习惯使用管理员账号,因为它的权限是最高的,操作修改配置很方便,但是对于服务器,特别是 linux 服务器,我们不建议直接使用 root 用户登录,因为它的权限太大了,它可以做任何事情,包括损坏掉操作系统本身,因此,我们最好创建一个新的用户,然后禁用 root 账号的 ssh 登录,当我们想要一些 root 管理权限的时候,我们可以使用 sudo 来授权。
当我们创建密码的时候需要注意不要使用简单的密码,密码要复杂,不要使用明文记录我们的密码,我们应该使用密码管理器来保存我们的密码。
我们的服务器有时候可能需要多人登录,我们最好设置每个用户的权限,不要让他可以读取其他人的文件。那么我们可以通过设置 umask 来进行设置,当我们执行 UMASK 077 命令之后,我们再创建新用户的时候,它的权限就是 rxx——,没有访问其它用户目录的权限。
默认情况下,我们的 22 端口是开放的,但是我们最好将它修改成其它的,这样可以大概率防止其它用户的非法访问。其它的端口比如 80,443 这些是网站需要使用的端口,我们应该打开,其它的端口如果不需要,我们最好都关闭,这样可以大大降低服务器被攻击的概率。对于一些软件,比如 redis,mongo 等,也是最好不要使用默认端口,修改成其它端口更好一些。
对于一些敏感文件,我们需要对它进行加密,这样即使其它用户获得了它,也无法查看它的正确内容,我们可以通过 gpg 来进行加密。
使用 ssh 登录的时候,我们除了使用用户名密码登录之外,我们还可以使用秘钥来进行登录。而这也是非常推荐的方式,我们只需要通过 ssh-keygen 创建公钥私钥,然后将公钥拷贝到本地机器,就可以在本地实现无密码登录服务器了。
我们应该将我们的日志记录打开,并时常检查我们的日志,比如一些非法登录,一些非法访问,在日志记录中都有,对于一些非法 ip 攻击我们都可以在日志中进行查看获取。
默认情况下,linux 为我们提供了很多的服务,有些服务我们是不需要的,我们就可以把它们禁用掉,这样不仅节省了服务器的资源,还能避免有些服务被攻击。
虽然 FTP 和 telnet 很多时候仍在使用,但是 rsh 和 rlogin 是遗留程序 / 服务。应该避免使用它们。这些是纯文本协议,您网络中的任何人都可以嗅探您的流量以读取纯文本数据通信。
更推荐使用 OpenSSH、SFTP 或 FTPS(基于 SSL 的 FTP)来加密数据通信。
因为 FTP 以明文形式发送数据,因此不能通过它发送敏感文件。始终建议使用带有公钥私钥的对象的 SSH 来访问和转发敏感信息。
![post-qrcode](https://www.xgss.net/wp-content/uploads/2023/07/二维码-微信公众号256x256.jpg)