我正在使用虚拟专用服务器访问仅在移动设备上使用的Web服务,访问和错误日志中有许多条目,即使Web服务器上没有任何条目。
我有点担心服务器安全。
事情我做了..
Installed Fail2Ban rkhunter using SSH login root login disabled.
我正在使用LAMPconfiguration服务器。
我应该使用什么其他安全措施来防止攻击?
现在看来你已经保护了你的银行的后门,但忘了锁上前门。
我为什么这么说?
你似乎担心你的SSH安全。 太好了,这绝对是一个值得保护的地方! 但最有可能的(成功的)攻击媒介将来自networking。 典型的僵尸networking只会盲目地尝试加载常见的易受攻击的URL – 如果您没有安装phpBB或WordPress等任何东西,则无需担心。 另外,如果您看到与Windows相关的URL,则无需担心Linux服务器上的这些URL。
典型的networking攻击包括
SQL注入 。 如果用户发送的数据没有正确validation,并且您的应用程序没有使用准备好的SQL查询,则可以通过Web注入其他SQL查询,并以这种方式更改/下载SQL数据。 如果例如来自反馈文本区域的数据未被正确validation,则表面上无害的反馈forms可能为SQL注入打开大门。
跨站点脚本(XSS) 。 通过使用JavaScript,可以执行从钓鱼到用户计算机的各种令人讨厌的事情。
(分布式)拒绝服务攻击 。 僵尸networking试图通过发送大量请求来炸你的服务器,访问有意识的重页和/或违反TCP标准。
垃圾邮件 。 有时,垃圾邮件发送者会尝试通过使用一些已知的漏洞来滥用您的Web服务器,使他们能够从您的服务器发送垃圾邮件。 或者 – 或者更有可能 – 他们现在往往会把你的公告栏,博客评论等等都发送给你。
如何防范这种事情?
最好的防守根本不在场 。 如果你不需要一些Apache模块或PHP扩展,请禁用它。 如果您的博客/ CMS软件中不需要某些function,请将其禁用。
使用mod_security 。 这个Apache模块是保护您的Web应用程序的重量级冠军。 警告词:对于许多这个模块是矫枉过正的,正确configuration它可能是乏味的。
保持你的软件是最新的 。 不要懒得更新您的Web应用程序! 安全漏洞是常见的。
不要依赖“它不是以root身份运行,我是安全的”口头禅 。 我经常看到人们认为软件不能像root那样安全运行 。 那么,快讯! 出站http连接,发送电子邮件或执行SQL查询不需要根访问权限。
使用防火墙 。 防火墙不需要的一切。 如果您的服务器不需要build立出站http连接,则将其放入防火墙。