所以...我的 Linux VPS 服务器运行的是 12.04.3 lts,这真是太不幸了。我运行了一个错误的 php 脚本,基本上可以进行 mysql 注入。由于我这边的配置很愚蠢,这个 mysql 注入最终导致漏洞升级,攻击者获得了对所有内容的访问权限。
我设法及时发现了这个问题,备份了我的资料并清除了服务器。
因此,我重新安装并重新评估了我认为我知道的一切,并从头开始。
我正在运行什么......好吧。
- Apache2 2.2.22
- php5 5.3.10-1ubuntu3.8 带有 Suhosin 补丁 0.9.10)
- mysql 服务器
- 后缀
- 远程控制
- iptables
我已经单独安装了所有这些,我没有执行“apt-get install lamp”。apt-get install ssh apache2 mysql-server php5 php5-mysql postfix iptables ...我认为就这些了。
对于 apache2,我遵循了一些指南,但在 Firefox 的 300 多个选项卡中似乎找不到它们。我确信我还需要做更多的事情才能完全保护 apache。
对于 php5,我确保安装了 suhosin 补丁,并按照一两个指南编辑了配置。我确信这里也一定有一些我可以做的事情来保护自己。
我的 mysql 服务器设置为仅接受来自本地主机的连接。我使用 ssh 隧道通过 navicat 连接到它,这样我就可以进行备份等操作。我已确保除 root 之外的所有用户都没有任何服务器权限,这就是上次搞砸事情的原因(是的,我知道,我真傻……我完全忘记了我过去曾使用用户进行远程连接,然后将其用于其他操作,然后导致升级漏洞)。而且我在配置中添加了一行,阻止 mysql 将本地文件加载到表中等。无论如何……我觉得我已经对 mysql 服务器做了我能做的事情。
Postfix 是默认安装的,我什么也没做。后来我卸载了它,因为我没有找到合适的指南。我看到很多人说 Postfix 的配置是一场灾难,如果保持默认状态,你就是在乞求黑客。或者他们是这么说的……耸肩
到目前为止,我所做的是通过在备用端口上运行 ssh 来保护 ssh,并使用 puttygen 生成带有密码的 4096 位加密的 rsa 密钥。我已通过 ssh 配置和 pam 禁用 root 登录。现在登录 ssh 的唯一方法是使用我生成的密钥通过 rsa 公钥。这真的很有效。我相信 ssh 现在很安全。据我所知,没有私钥和密码就无法进入。
iptables,每个服务器都需要 iptables。我已经屏蔽了很多 IP。将来可能还会屏蔽更多。
好吧……现在,在我新安装的服务器上,我几乎恢复了所有内容。我删除了黑客的入口点 php 页面,并使用了 SMF 论坛软件的全新文件安装。但我保留了论坛的附件,因为它们是我论坛的重要组成部分。基本上,我准备用旧数据库启动我的论坛,并强制所有用户更改密码。
现在,黑客是我论坛的前论坛用户。所以我有点认识他。他认为入侵我的服务器是上天给我的礼物,这样我就可以清理安全漏洞了。现在这可能是如此......它确实让我更加注重安全。以至于我花了近两周的时间不停地在网上阅读有关如何保护我正在运行的这些服务的信息。
现在,通过我刚刚安装的服务器,我从同一个人(黑客)通过 steam 收到一条私人消息,说他发现了另一个漏洞,但这次他不会告诉我是什么漏洞,因为我对他和他的 VPN 都设置了 iptables。
这家伙觉得他应该因为闯入我的服务器而得到奖励。就我个人而言,如果有人闯入,你不会给他蛋糕和咖啡。你会打断他的腿……然后报警。咳嗽
无论如何,这让我想到了 Postfix。我安装它是因为我不想为我的论坛支付邮件传递系统费用,因为我每天只需要发送几封电子邮件。这不是一个很大的论坛,所以奇怪的是,我唯一会发送大量电子邮件的时候是我给我的 250 多名成员发送新闻通讯的时候。
我确信 apache、php5 和 ssh 是安全的。而且,我的 wordpress frontpage 和 SMF forum 也是安全的(我卸载了几乎所有的插件,只使用了最基本的 mod)。就像我说的,除了来自 SMF forum 的附件外,所有文件都是最新的。
但我觉得我可能在这里被人坑了。虽然我可能错了……
不过我需要 Postfix 服务,这样论坛才能发送邮件。我不需要接收任何邮件。所以我想知道,我是否可以保留 Postfix 的默认设置?或者这些设置会让我受到攻击吗?
就像我说的,这个家伙要么是在戏弄我,因为他想让我变得更加偏执,要么就是在告诉我真相。
有人能解释一下吗?我的意思是,apache、php、mysql 和 ssh 看起来是安全的。如果还有更多 php 文件可供他注入 mysql,那么他至少不会成功,因为没有用户有授权,也没有服务器权限。所以我猜 postfix 是他的入口点?还是我只是被骗了?
答案1
他们通过 Steam 和你谈话?与警方交谈并要求他们与 Valve 交谈。至少你可以希望他们失去一个 Steam 帐户和相关游戏。
主动披露是一回事,但制造漏洞然后说你可以重新来过就是刑事敲诈勒索。
此外,我会与律师进行初步交谈,对用户提起民事诉讼(如果可以通过传票确认身份)。计算出您的时间价值以及专业人员审计您的服务器所花的时间(现在他们对服务器做了不计其数的事情),然后将结果乘以三,并起诉他们。
从安全角度来看,我敢打赌它是你的网站之一。如果你只是从旧安装中移除它们并将它们(或它们的数据)粘贴到新服务器上,那就更是如此了。有人认为,攻击者拥有对你所有数据库的写访问权限。你不知道他们在你的网站上拥有什么权限。考虑到他们回来的可能性不大,他们可能会添加新的漏洞,现在方便你关闭。
我会研究服务迁移。找到另一个论坛并使用它。检查管理员帐户。检查上传的文件及其权限。删除废弃的帐户。
就原始访问而言,人们唯一可以从外部访问的应该是 Web 服务器和非标准 SSH 端口。Postfix 不需要从外部访问发送电子邮件。我会使用ufw
而不是尝试手动将规则输入iptables
。人们会犯愚蠢的错误iptables
;ufw
只是更容易理解。
许多邮件服务(例如 MailChimp)都对低使用量提供免费资费,而您似乎就在该资费范围内。
您应该运行 fail2ban,这样暴力 SSH 攻击就会被 IP 阻止。
保存更好的日志并定期将其复制到异地。当有人闯入时,寻找入侵行为。找出入侵原因。
我可能会更进一步,将你的服务分开。将你的站点虚拟化为单独的容器(docker、lxc 等)。你将在每个站点上多使用约 50MB 的 RAM,但一个站点宕机不会使服务器瘫痪。恰恰相反,你会发现哪个站点有漏洞。
我觉得我知道在这种情况下该怎么做,但这会花费我很多时间和很大的压力。我托管服务器,自从多年前开始使用 Ubuntu 以来,我已经拥有了相当多的经验……
...但即便是我,也会考虑找专业人士来审核我的服务器。你两周前就开始学习安全知识了。无意冒犯,你能力有限,你需要的不仅仅是社区的帮助。