最近我在几台服务器上看到了一些问题,其中一个帐户被黑客通过过时的脚本攻击,黑客上传了一个cPanel / FTP Brute强制PHP帐户内的脚本。
PHP文件读取/ etc / passwd来获取用户名,并使用passwd.txt文件来试图暴力破解127.0.0.1:2082。
我试图想办法阻止这一点。 除了“GET /path/phpfile.php”之外,它不会发送任何东西,所以我不能使用mod_security来阻止它。
我一直在想也许更改/ etc / passwd的权限为600,但我不确定这将如何导致我的用户。
我也在考虑限制localhost连接到:2082,但是我担心mod_proxy受到影响。
有什么build议么?
运行某种forms的auth,不会查看/ etc / passwd用户名(如LDAP)。 另外,我build议激活SELinux,以便这样的黑客在第1步中断(httpd无法用默认规则读取/ etc / passwd),但是cPanel对任何高级尝试locking系统都是憎恶的。
首先启用cPHULK ,这将有助于保护cPanel免受暴力侵害。 永远不要改变/ etc / passwd和/ etc / shadow的权限,因为这个原因,他们是这样设置的。 SELinux将增加一层额外的安全措施,并停止利用代码执行,但它可能不会阻止这种攻击。 将端口号从2082更改为2083或类似的东西,他们正在使用的脚本可能不是那么聪明。
mod_security真棒,但它不会做任何事情来阻止这种攻击。
你也可以执行更好的密码规则。 尝试暴力强迫你与THC-Hydra的自我,如果有任何帐户被破坏,禁用他们,并强制用户select一个更好的密码。
所以第一件事就是修复/删除过时的脚本,这些脚本让黑客能够首先上传cPanel / PHP脚本。 之后的一切都是围绕着真正的问题跳舞(不好的解决方法),你会继续有各种各样的问题,直到纠正。
系统期望/etc/passwd是世界和组可读的(即644或444但仍然可能会破坏事物),而存储密码哈希的/etc/shadow 应限制为600 ( 所有者读/写,组和所有人没有访问 o+rw,g-,a- )。
没有cPanel的经验,我不知道是否可以通过PAMauthentication模块进行限制,以限制密码检查尝试,从而使密码强制尝试失败。 我想到的PAM模块叫做pam_faildelay ,可以减缓多次尝试。
我不知道使用Apache和mod_security的 tarpit样式解决scheme是否会限制访问cPanellogin。