帮助中心 >  行业资讯 >  云计算 >  云服务器如何设置能更加安全?

云服务器如何设置能更加安全?

2025-01-16 16:35:06 34

想要你的服务器更安全,那么你就得学会好好保护你的linux服务器,因为你的服务器只要在网络中就能被访问到,就会面临各种扫描或攻击。

蓝队云的运维工程师,根据过往的一些经验,整理了一些提升云服务器安全性的方法,能够帮助你避免一些恶意扫描和漏洞尝试。

主要有几点:

  • 不使用远程登录默认的22端口

  • 禁用ROOT用户远程登录

  • 禁用SSH用户名密码登录,只允许密钥登录

  • 不要使用软件或服务的默认端口

  • 开启系统自带的防火墙,启用最小访问原则

  • 保持系统经常性的更新

下面,进行详细的操作分享:

1. 不使用远程登录默认的22端口

对于服务器,我们几乎都是使用SSH进行远程登录操作。SSH的默认端口是22,这个是众所周知的。

所以,不要使用22默认的端口,很多扫描一天24小时就是不断的在扫描并尝试使用22端口进行登录。如果你的远程登录端口不是22,则意味着针对这一个点的扫描的可能性极大的减少了。

方法分享:

sshd的配置文件位于:/etc/ssh/sshd_config

修改这个文件

vim/etc/ssh/sshd_config
# 找到Port 22这一行,注释掉它,在它的下面添加新的一行记录
Port12021
# 重启服务sudosystemctl restart sshd

这样,你的远程端口就变为12021,而不是12021

这样,下次你在远程登录时,添加-p参数就好了。

你要知道,22这个很容易知道,不是22这个则不太好猜测,就算是计算机不停的轮询猜测sshd的端口,这个范围也大大增加了。

而大多数情况下,对sshd的扫描都主要是针对22来的,因为不修改端口的情况太多了

2. 禁用ROOT用户远程登录

Root用户的权限太高了,无论什么情况下,都不应该允许Root远程登录,而是使用其它用户来允许远程登录。

方法分享:

找到sshd配置文件,/etc/ssh/sshd_config

vim /etc/ssh/sshd_config

找到,PermitRootLogin这样的字样及行

PermitRootLogin no

将这个值修改为no

# 重启服务
sudo systemctl restart sshd

当前,切记在禁用ROOT前,要新增了另一个用户以供远程登录。

有两个效果,其一,默认扫描很多情况下是使用ROOT用户来尝试登录,一旦Root不允许登录,则猜测用户名的难度大大增加。

而另一方面,就算是非root用户被攻破,如果你对这个用户的权限进行很好的控制,它造成的影响总相对会少一些。

3. 禁用远程用户名密码登录,取之以密钥登录

计算机通过轮询+猜测的方式来攻破总是非常有效的,网上的用户名密码库太多了,很多人的用户名密码对在互联网上早已泄露了。

对于服务器来说,与其想着如何强化密码,不如直接禁用掉密码登录,只支持密钥的方法来登录

方法分享:

# 如果你还没有ssh-key,你可以在本机先生成一个ssh-key以做使用
ssh-keygen -t rsa -C "your_email@example.com"
# 将你的key上传到服务器(此方法仅限你使用的是Linux或Mac系统,Win不适应命令)
ssh-copy-id -i ~/.ssh/id_rsa -p 12021 username@ip

然后修改/etc/ssh/sshd_config

vim/etc/ssh/sshd_config
#修改或添加以下配置RSAAuthentication yes
PubkeyAuthentication yes
sudosystemctl restart sshd

最后,确认远程登录支持密钥登录后,禁用password登录

vim /etc/ssh/sshd_config
#修改或添加以下配置
PasswordAuthentication no

完成这一步后,基本意味着互联网的用户名密码远程扫描式攻击基本就无效了。只要保护好你自己本机的私钥,通过SSH扫描攻击尝试基本就不存在了

4. 不要使用软件的默认端口

做过编程的人都知道,MySQL的端口端口是3306,Postgres的默认端口是5432

要知道,但凡是软件或服务,都可能会有漏洞。

恶意扫描会对常用软件,常用服务的端口进行尝试,特别是针对已知的存在漏洞的服务或软件,进行尝试。

很多人压根不会做任何修改,直接以默认端口来运行相应的服务。甚至更甚的,在正式环境不需要密码都能访问这些服务的现象也时有发生。

方法分享:

没有特别的方式,针对你服务器上的软件或服务,进行修改。每个软件或服务的修改方式并不一致。将其修改为非默认的端口。

还要特别注意,有些诸如Redis这样的,一定要设置用户名密码,不要密码都不要就能访问。

还有那个原理,非默认端口不好猜测。换了端口,谁知道你的MySQL端口是什么呢?

这同样能极大的减少恶意软件的攻击与扫描。

事实上,大多数情况下,类似的服务不应该公开对外访问才是合理的。

5. 开启系统自带的防火墙,启用最小访问原则

Linux系统都有防火墙,比如Debian有ufw防火墙,CentOS有iptables等。

当然,云服务类似阿里或腾讯云是有默认的防火墙安全策略的。你首先可以设置这一层的策略。但似乎云服务的安全策略只针对公网访问才有限。

但这不能成为你让你的机器裸奔的理由。开启你的防火墙。

方法分享:

以Debian上的ufw为例

#安装
sudoapt update
sudoapt install ufw

#查看状态
sudoufw status verbose

# 查看内置应用
sudoufw app list

# 允许443
sudoufw allow Nginx\\\\ https

# 允许12021远程端口
Sudouff allow 12021/tcp

#启用防火墙
sudoufw enable

这样,没有必要开放的端口不需要开放。这样当然能更少的避免恶意软件的攻击与扫描。

6. 保持系统经常性的更新

好吧,这是非常重要的一个点。

每天都可能有新的系统漏洞被发现,不同的系统,都会及时的发布更新补丁。你应该每天去更新你的系统,特别是安全性的补丁。

同样,不同的软件也会定时发布更新,修复安全漏洞或其它。

方法分享:

其实非常简单,每个系统几乎都提供了更新机制

# debian系
sudo apt update #更新最新信息
sudo apt upgrade #升级或安装新的补丁

只要你做的及时,这样就能有效的防止新的漏洞

云服务器的安全和运维是一个长期的工作,需要花费大量的时间和精力还维护。想要提升云服务器的安全性,建议在选购云服务器的时候,选择靠谱的服务商,能够保障的基本的运维服务。

给大家分享蓝队云的云服务器,标准云的性能,轻量云的价格,提供24小时人工技术服务支持:云服务器优惠三重好礼


提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: