[服务器安全汇总] 杰哥在云服务器8年的狐表实战的网络安全经验总结。让你看看遭遇比特币勒索的血泪教训。没有信息安全,再强大的功能都是白搭!

发表日期: 2021-10-15

没有信息安全,再强大的功能都是白搭!

1前言
网络安全,是一切业务的基础,再强大的应用,一旦被黑了,就是一块砖头,啥功能都没意义。
但是在狐表里很多人都是IT小白,对常见的漏洞一无所知,经常裸奔,没出意外是幸运,出意外就只能自己叹气

2真实损失案例
我遇到过2个客户,服务器由于没有做好安全配置,被通过php和mysql的漏洞,服务器被黑了,整个硬盘都被加密,所有的附件、合同、数据都没了,黑客勒索比特币

案例1:全硬盘被加密

此主题相关图片如下:1.png
按此在新窗口浏览图片

!!! ALL YOUR FILES ARE ENCRYPTED !!!
All your files, documents, photos, databases and other important files are encrypted.
You are not able to decrypt it by yourself! The only method of recovering files is to purchase an unique private key.
Only we can give you this key and only we can recover your files.
To be sure we have the decryptor and it works you can send an email: geri_glenn@aol.com  and decrypt one file for free.
But this file should be of not valuable!
Do you really want to restore your files?
Write to email: geri_glenn@aol.com
Your personal ID: 17D-928-D1F

Attention!
 * Do not rename encrypted files.
 * Do not try to decrypt your data using third party software, it may cause permanent data loss.
 * Decryption of your files with the help of third parties may cause increased price (they add their fee to our) or you can become a victim of a scam.

谷歌翻译:
!!! 您的所有文件都已加密!
您的所有文件,文档,照片,数据库和其他重要文件均已加密。
您无法自行解密! 恢复文件的唯一方法是购买唯一的私钥。
只有我们才能为您提供此密钥,只有我们才能恢复您的文件。
为确保我们拥有解密器并且它可以正常工作,您可以发送电子邮件:geri_glenn@aol.com并免费解密一个文件。
但是这个文件应该没有价值!
您真的要还原文件吗?
写信给电子邮件:geri_glenn@aol.com
您的个人ID:17D-928-D1F

注意!
  *不要重命名加密的文件。
  *请勿尝试使用第三方软件解密您的数据,否则可能会导致永久性数据丢失。
  *在第三方的帮助下解密您的文件可能会导致价格上涨(它们会增加我们的费用),或者您可能成为骗局的受害者。
案例2:数据库被删

按此在新窗口浏览图片

To recover your lost Database and avoid leaking it Send us 0.1 Bitcoin (BTC) to our Bitcoin address 
1J6jLduCXbPyxt5EMTs7iHwdafANy4ThJc and contact us by Email with your Server IP or Domain name and a Proof of Payment.

If you are unsure if we have your data, contact us and we will send you a proof. 
Your Database is downloaded and backed up on our servers. 
Backups that we have right now jg-online, nj-zhicheng, zhiyitong, ngdck, nlg-ck, book, 4g, zcsc, mh10db . 
If we dont receive your payment in the next 10 Days, we will make your database public or use them otherwise.

谷歌翻译:
要恢复丢失的数据库并避免泄漏,请将0.1比特币(BTC)发送给我们的比特币地址1J6jLduCXbPyxt5EMTs7iHwdafANy4ThJc,然后通过电子邮件与我们联系,并提供您的服务器IP或域名以及付款证明。 
如果不确定我们是否有您的数据,请与我们联系,我们将向您发送证明。
您的数据库已下载并备份到我们的服务器上。 
我们现在拥有的备份jg-online,nj-zhicheng,zhiyitong,ngdck,nlg-ck,book,4g,zcsc,mh10db。 如果我们在接下来的10天内没有收到您的付款,我们将向公众公开您的数据库,或者将其使用在其他领域。

3安全设置教程

以下内容只有回复后才可以浏览
3.1设置快照
快照,意思就是全硬盘备份,这个是我首先要强烈推荐做的事情。再怎么安全,也会有被攻破的可能性,一旦被黑了,有备份才是拯救的最强的王牌

此主题相关图片如下:3.png
按此在新窗口浏览图片

云服务器比自建的服务器,我认为最大的区别就是云服务器能提供快照。自己建立的服务器,你不可能每天都全硬盘备份一次,绝大部分的人没这个能力也没这个时间,每天凌晨3点去拷贝一次全硬盘,而且假如保留30天快照,得准备很多个硬盘,非常不划算。

云服务器哪里找到快照功能?
我用腾讯云做例子,其实阿里云也一样,都是叫快照。看下图

按此在新窗口浏览图片

按此在新窗口浏览图片


那快照的收费如何呢?
先说结论:平均每年100元以内

快照都需要先购买存储包,阿里云叫OSS对象存储标准包,腾讯云叫存储标准包

此主题相关图片如下:6.png
按此在新窗口浏览图片

阿里的费用

此主题相关图片如下:7.png
按此在新窗口浏览图片


腾讯云的费用:腾讯则默认送50G,超了再给钱。一般我们购买`100G`就够了。因为这个快照备份,是`差量备份`,意思就是每次备份,会自动对比上一个快照,增加了什么数据,就只备份那些新数据,而且使用压缩。

此主题相关图片如下:8.png
按此在新窗口浏览图片

通常买云服务器,是40G系统盘+40G数据盘,对于100G存储空间,已经非常足够。
我在腾讯云,每个月就是7元左右的支出,7元对于数据无价来说,超值

按此在新窗口浏览图片

快照购买和设置的教程我就不具体写了,不难,我重点是想大家知道有这个玩意。

3.2使用最新的Windows版本
Windows版本,越新,意味着针对它的黑客工具越少,安全性越高。想在Windows2003和Windows2008微软已经不再维护,已经危险了。
有机会新装服务器的,推荐选最新2019或者2021。兼容性和稳定性都没问题,我试过。

3.3Windows漏洞补丁一定要修
微软发布的漏洞补丁,一定要更新,因为很多黑客,都是用已知漏洞,批量攻击服务器。有缝的蛋别想逃过苍蝇的叮!

按此在新窗口浏览图片


3.4启动Windows防火墙
好多人为了图方便,直接关闭防火墙,这种是非常危险的,防火墙可以拒绝很多非法请求,所以大家一定要打开

按此在新窗口浏览图片


3.5开放极少量的端口
很多人为了开放方便,TCP端口全开,或者UDP端口全开,又或者是设置端口区段,一下子对外暴露上千个端口,都是高危行为!
哪些端口是必须要开放呢?这个你看后面的教程,自己需要用什么就开什么,其他一律关闭

3.6启动云服务器的网络安全组

按此在新窗口浏览图片

如果是自建服务器的,推荐购买物理防火墙,华为的高端路由器或者交换机,都有物理防火墙的功能。软防火墙功力有限,始终还是要硬实力
3.7更换MSSql的1433端口
TCP 1433端口就是一个高危端口,很多人装完数据库,能用就算了,啥都不管。其实很多黑客软件,都默认针对TCP 1433端口做攻击,只要我们改掉,已经能提高很多的安全性。

更换教程,以Mssql2008为例子:

此主题相关图片如下:13.png
按此在新窗口浏览图片


按此在新窗口浏览图片


按此在新窗口浏览图片

按此在新窗口浏览图片


一般我们为了开发方便,都是直连数据库。其实在大一些的企业,数据库是不允许外部直连的,只允许应用通过本地连接。
生产数据库和测试数据库,应该是2个互相独立的,所以你如果情况需要,就做到双数据库隔离。
但是我们很多时候都是做小企业,没必要搞到自己这么麻烦。我自己一直都直连,几年都没出过问题。

sql使用的是TCP端口,假如我们这里更换为25000端口,那Windows防火墙、云服务器安全组-入方向,就开放TCP 25000端口即可

3.8更换MySql的3306端口
狐表不用mysql,但是如果你服务器有mysql,也是跟上面同理,改掉默认的3306端口,换其他,这个是经常被黑的。

3.9更换tomcat的8080端口
狐表不是java,不需要用java的Tomcat工具,但是如果你服务器有tomcat,也是跟上面同理,改掉默认的8080端口,换其他,这个也是经常被黑的。

3.10更换远程桌面的3389端口
远程桌面的TCP 3389也是经常被爆破的,不同Windows版本换端口方法不同,可以自行百度一下,这个不难。

远程桌面使用的是TCP端口,假如我们这里更换为25001端口,那Windows防火墙、云服务器安全组-入方向,就开放TCP 25001端口即可

3.11更换默认FTP的21端口
其实我并不推荐在互联网使用FTP,因为它已经公认存在安全隐患,但是狐表CS使用的是FTP文件管理,那大家还是继续按照教程用吧,毕竟大家都是小白,能用就不错了。

按此在新窗口浏览图片

如果换成sFtp,传输过程都加密,就能解决上面的问题,只不过狐表暂时不支持。

但是我们也不能放弃治疗。FTP大部分默认端口是TCP 21,于是黑客工具也是针对这个端口爆破FTP相关漏洞,我们改用其他的端口即可。

FTP使用的是TCP端口,假如我们这里更换为25002端口,那Windows防火墙、云服务器安全组-入方向,就开放TCP 25002端口即可

3.12关于网页的80和443端口
这2个是标准的网站端口,不用改,需要开放就开放。

3.13安装杀毒软件
服务器也要装杀毒软件,我推荐火绒。服务器也能装杀毒软件的,而且还真能防到攻击,我见过。

按此在新窗口浏览图片

题外话:Linux服务器也有人攻击(狐表不跑linux,不过有人php网站会用linux),推荐安装宝塔免费的Nginx防火墙

此主题相关图片如下:2.png
按此在新窗口浏览图片

按此在新窗口浏览图片


3.14尽量减少端口的思路
服务器对外端口越少,越安全。
我们可以去学一下nginx这个反向代理工具。它能够把请求,根据地址和端口,分发到相应的本地应用,达到:
1内部应用不直接对外暴露,前面有一层
2请求限流,限制某个ip过多的请求
3集中对外,减少端口

按此在新窗口浏览图片
如果你学不会nginx,IT小白,没关系,那你可以给服务器装个宝塔运维工具(https://www.bt.cn/),这个对nginx做了封装,鼠标点击就能用

按此在新窗口浏览图片


3.15Mssql数据库不使用默认sa账户
sa账户常年被黑,所以我们应该建立一个单独的账户,只看某个数据库

按此在新窗口浏览图片

按此在新窗口浏览图片

这样就算数据库连接字符串泄露了,也不至于所有数据库都暴露

同理用Mysql或者Oracle的用户,也是不要用默认用户,新建一个,收缩好权限

3.16账户使用复杂密码
我们可以去借助一些密码生成网,(例如https://suijimimashengcheng.bmcx.com/ ),生成一串随机字符串做密码,然后自己用txt存好,安全系数很高。
很多人几个系统都用同一套习惯账号密码,或者跟QQ密码一样,一旦泄露,很多个系统都同时出问题

按此在新窗口浏览图片
3.17数据库设置自动备份

按此在新窗口浏览图片


3.18关于OpenQQ的UDP端口
狐表的OpenQQ是自研的,使用一个范围段的UDP端口。其中固定1个UDP端口用于建立连接,然后其余的UDP端口用作维持心跳、消息收发、文件收发,1个用户≈5个UDP端口
我们应该根据预估的用户数量,开放相应范围,不应该无脑全开

OpenQQ这业务神器,由于要开放太多UDP端口,在互联网里并不是很安全,在政府和国企里压根不允许开这么多端口出去,如果打算做面向大众的专业应用的,不太推荐使用。
但是如果是狐表小白用户,用也无妨,反正自己的服务器,自己的小业务需求,解决问题即可,毕竟OpenQQ是狐表自研的,并没有什么黑客掌握它的漏洞,安全性还是很高的

3.19使用3层Web数据库
数据库直连,在互联网里是很危险的,一般企业都不会允许。所以狐表在2019年推出的Web三层结构,建议在生产环境里使用。

大家可以通过BeforeConnectDataSource时,判断如果是开发者,就直连,则就是用Web连。牺牲轻微的一点点性能,换来极大的安全性提高!

3.20提防第三方开源框架
有些人只盯着狐表,忘了服务器里还部署了其他网站应用,尤其是开源的框架,例如织梦dedeCMS、thinkphp、帝国CMS、Worldpress、Redis、tomcat、SpringMVC、Strut2、Mybatis
正所谓“人红是非多”,这些开源框架,都有很多已被公开的漏洞,我见过被黑的案例,其实都是从这些网站攻破,并不是狐表被攻破

如果你的阿里安全云或者腾讯安全云,已经扫出这种网站的漏洞,请务必重视!危险度极高!尽快想办法修复!

按此在新窗口浏览图片

按此在新窗口浏览图片

其实狐表安全性很高的,一是它不开源,二是它小众,没什么黑客专门研究过它,自然就没针对它的漏洞攻击工具

3.21重要密码不要写在全局变量
注意重要密码不要添加在全局变量,要通过代码形式写入全局代码
发布后的狐表FoxEx程序,右键使用txt打开,可以看到你写的全局变量

按此在新窗口浏览图片


此主题相关图片如下:2.png
按此在新窗口浏览图片

4进阶WEB开发安全手段
如果你只做CS开发,以下内容不用看。如果做BS,可以学习一下

4.1网站使用Https
如果做网页开发,最好给网站加上ssl证书,变成https访问,做微信小程序就一定要ssl证书。ssl证书可以让网站传输变成加密,安全系统高很多个等级。没有ssl,你在网页里传输的内容,都是明文可见,抓包工具一抓就看得一清二楚。

按此在新窗口浏览图片

按此在新窗口浏览图片


很多人不懂怎么申请免费的ssl证书,有2种方法:
①按照狐表顶置帖子做 【分享】阿里云申请免费证书开启Https服务的指南  http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=107927
②给服务器安装一个宝塔的运维工具,宝塔里面可以添加网站,和一键申请ssl证书,用nginx配合狐表HttpServer一起用。这个需要你有进阶的BS开发知识,这里不过多展开,自行摸索。

按此在新窗口浏览图片

按此在新窗口浏览图片


4.2网站传输做加密
例如使用同一套AES128加密算法,在网站和狐表后端,发出数据前,都做加密接受数据后,再解密
至于加密算法,有很多,没规定你用什么,自己研究下,只要有一丢丢加密,总比明文传输强!

按此在新窗口浏览图片

按此在新窗口浏览图片

4.3狐表的跨域不要全放开
跨域,就是禁止非信任的域名请求后端,由后端控制。
收到跨域请求时,应该只放行自己信任的域名,
e.ResponseHeaders.Add("Access-Control-Allow-Origin","你的域名")
而不是写*号,全通过
e.ResponseHeaders.Add("Access-Control-Allow-Origin","*")


4.3根据Referer防止盗链
Reffer防止盗链,是个常见的手段,可以自行百度一下。
网站在请求静态资源时,头部都会带上Referer,在狐表里,通过e.Headers("Referer")获取

按此在新窗口浏览图片

如果Referer是空,或者不是自己信任的域名,就拒绝

4.4请求头部加上时间戳
在网页的ajax请求里,加上自己的特定内容,或者是时间戳,用来区分是自己的请求还是奇怪的请求

按此在新窗口浏览图片


4.5文件名字或路径加上随机字符

很多人上传文件,直接原名存在某个文件夹,如果有心的人,可以通过路径,猜到其他文件的存储,于是伪造请求,把你服务器的文件下载下来
例如文件都是用https://某个固定url地址/与张三的合同.pdf,那公司与李四、王五都有往来,员工就可能尝试下载
https://某个固定url地址/与李四的合同.pdf
https://某个固定url地址/与王五的合同.pdf
应该在上传文件时,存储路径或文件名,加上随机码,杜绝猜url的可能性。


此主题相关图片如下:1.png
按此在新窗口浏览图片



5狐表在CS和BS,哪个更安全?
在没任何安全措施下,CS更加安全,因为CS有一个隐秘性,别人不知道你有这个应用,就跟吃鸡里的伏地魔一个道理;而BS是非常危险,简直是枪口上的靶子

按此在新窗口浏览图片

在有安全措施下,CS和BS安全性几乎一样,各有长处。CS隐秘,BS各种ssl证书和加密。

6以上操作费时费力吗?
每个服务器都这样改?那会不会很费力?
①对!确实每个服务器都要这样做,我的服务器和我客户的服务器,我都做了,这是对客户的负责!
②而且其实并不费力,尤其当你熟手后,拿到一个新的服务器,大概40分钟,就全部搞定了,来来去去就是几个端口的小事情。
③至于软件的功能,你写好一个框架,直接满足上面条件的,再部署多多少台,都一样满足安全。

多花1个小时,换来数据的安全,值!不然等你中毒了,搞几天数据都不一定能搞回来。



随便看看

Copyright © 2016-2022 江门蓬江区华越科技公司 版权所有 | 承接软件定制开发,欢迎联系
粤ICP备17073215号