我是共享Linuxnetworking托pipe的安全pipe理员。 在可能的限制范围内,我已经尽最大努力确保服务器的安全。 意思是,因为它是共享主机,将有1000个各种网站,我不能做safe_mode = on或简单地closuresfile_upload。 由于它是共享主机,大多数客户可能需要很多select,所以我必须提供所有的选项,并仍然使服务器的安全。
我想,如果我做这个工作,它可以进一步加强共享服务器。 你可以假设,我已经完成了大部分互联网上的安全提示来保护Linux系统。
我已经安装了cxs扫描web&ftp上传,它做了一个体面的工作,我也修改了上传挂钩的方式,恶意代码被阻止。 但cxs不会阻止恶意代码100%
除了上面所采取的所有安全措施之外,我想实现一件事情。 我想找出所有的网站上的所有上传目录,并禁用这些目录的执行权限,我怎样才能实现呢? 例如:如果任何网站有一个文件夹“上传”或“user_uploads”目录,我想找出这些目录使用PHP或shell脚本,并禁用PHP引擎或删除这些目录的可执行权限。 所以,如果我能做到,即使恶意代码上传到服务器,也可以被阻止执行。
请帮我,我怎么能做到这一点?
注意:我可以阻止执行基于https://stackoverflow.com/questions/2618908/how-to-prevent-a-specific-directory-from-running-php-html-and-javascript-langu
你可能正在寻找保护的错误的东西。 即使是专业的WAF,对于一个攻击者来说也只是一个小小的障碍,你自定义的解决scheme不会好得多 – 一个监督,你就完成了。
您可以扫描脚本文件扩展名的HTTP上传,从而防止最简单的上传攻击。
但总的来说,你应该改变你的方法,并期望成功的攻击。 专注于你可以做什么来保持他们在一个单一的networking空间(并有一个很好的备份策略)。
第一件事情就是不将PHP(或其他脚本)作为apache模块运行。 FPM /(f)cgi允许您将所有脚本作为Web空间自己的UID / GID运行。 这使得你可以更坚固地维护你的服务器,因为除了configuration错误之外,整个服务器的唯一线程就是操作系统本身的特权升级漏洞 – 但是最终只有一个策略是针对某些漏洞:有备份,升级,祈祷。
根据我的经验,您永远无法充分locking服务器以防止代码执行(并保留用户/客户)。 因此,您应该尽量减less执行代码的人的影响。 如果限制静态编译的二进制文件需要上传/执行的执行选项(例如:noexec mount of webroot / userdirs),那么在没有/最小二进制文件的情况下对networking服务器进行Chroot会有很长的路要走。
还要考虑你的日志logging选项来捕捉任何可能通过你的防御措施。