vlambda博客
学习文章列表

如何设置服务器安全组及 ftp 端口 提高云服务器安全性

一、提出问题

这位同学遇到的问题主要是在阿里云轻量服务器中使用宝塔镜像,安装 pure-ftpd 服务器端后,无法用 Filezilla 连接服务器。经过几天努力研究,操作如下:

1、宝塔面板添加 pure-ftpd 服务默认 39000-40000 端口,阿里云安全组中添加 20、21、22、39000-40000 这几个端口;

2、Pure-ftpd 打开 Forcepassive IP 为阿里云服务器的公网 IP (在阿里云服务器列表中找);

3、Filezilla 选择 FTP 明文协议连接服务器。

经过这几步终于搞定了 Mac 电脑使用 Filezilla 连接阿里云服务器的操作。

二、问题分析

看到以上的操作,大家觉得怎么样?老魏觉得这样设置是把服务器打开了很多大门,有心的人就会趁虚而入。当然了如果这台服务器仅用于学习、测试代码用,或者你不在乎服务器上面的内容,也无所谓了。老魏下面要说的是根据这位同学的解决办法逐条的加以分析并给出应该怎么操作是正确的、合理的,更有利于提高服务器安全性的。

首先亮出老魏的观点:对于同学1、2两条中安装 ftp 服务器端并添加了那么多端口,老魏是不建议这么做的。每多开一个端口就等于给服务器打开了一道连接互联网的大门,正常使用可以进来,不怀好意的人也可以进来。理论上说开启的端口越少越好

如果你在宝塔面板上使用了防火墙、系统加固、防篡改程序等付费组件后,可以查看监控日志,每天网站都会经受几百几千次攻击、扫描、穷举破解等各路黑客手段,其目的就是找到网站哪个大门更容易攻进去。不管发起攻击的人出于什么目的,我们自己不能乱“开门”,给人可乘之机。

当然有一种情况可以例外,就是服务器同时提供给多人使用。你掌握着 root 最高权限,并用 ftp 服务器端分配给别人某个网站的管理权限(仅限于这个网站目录下),这时候是可以多开端口的。这时候你就得承担相应的风险了。

宝塔面板官方推出活动,可以优惠价格买到付费插件,给自己网站更多的安全防护、加固、性能提升。

宝塔面板安装好之后要在面板后台登陆你的账号,否则还注册它就没意义了。

原则上说,如果要使用宝塔面板全部功能,就需要开启下面这些端口。

FTP 端口:20、21、39000-40000 端口(linux 系统 ) 3000-4000 端口(windows系统)

22 (SSH)

80、443 (网站及 SSL)

3306 (数据库远程连接)

888 (phpmyadmin)

如果你进入面板里修改了初始面板端口或 FTP 端口,还要记得去安全组里放行相应端口。

三、解决问题及建议

那么让我们看看怎么避免这个问题。

1、不使用宝塔面板 ftp 服务器端,就不用开启 20、21、39000-40000 端口(linux 系统 ) 3000-4000 端口(windows系统)。也就是说不要在宝塔面板中安装 pure-ftp 服务器端。那么有同学就问了,不这么做怎么连接服务器呢?

A、关闭掉阿里云安全组中已经开启的上述端口。

B、可以使用服务器默认的 root 账号连接。root 账号是 linux 服务器管理员级别的账号,拥有服务器最高管理权限。使用 root 账号通过 SSH 客户端连接服务器,只需要把默认 22 端口改成一个只有自己知道的端口就行了。如果你还要提高安全性,可以配合密钥使用,是无法被破解的哦

通过以上的设置,可以少开那么多端口,还使用密钥提高了连接的安全性,128位加密的密钥是无法破解的。

2、Pure-ftpd 打开 Forcepassive IP 为阿里云服务器的公网 IP,不安装 pure ftpd 就没有这个风险了。

3、Filezilla 选择 FTP 明文协议连接服务器。这其实是具有极大风险的。从你本地电脑到服务器的连接一路都是明文的,如果被人监听就什么信息都泄露了。当然你要说我这个服务器也没啥有价值的信息,那就无所谓了。

以上是对这个同学帖子的一些看法和建议,目的就是分享这个分析过程和解决办法给更多同学知道,我们买了云服务器之后,自己要对服务器的安全负责。不要给人可乘之机,导致服务器信息被盗,沦为肉鸡,业务数据丢失,网站被黑等不好的结果。