vps交流

聊一聊AMH所谓“轻量”及问题


本帖最后由 haozi 于 2024-10-23 19:31 编辑

众所周知,AMH主打轻量,0占用。
那么它是如何实现这么轻量的呢?

首先,AMH是PHP写的,基于PHP-FPM运行。
也就是说,AMH实际上就是一个大号网站,跟你建的网站一样,没人访问自然就0占用了。
AMH也和你建的网站共用环境,nginx、php、mysql这些。
而其他面板都有自己独立的进程,与网站相隔离,有自己独立的数据库(一般sqlite)。

AMH这样做的好处,当然是极致轻量了,毕竟不访问就是0占用,这点是其他任何面板都没法比的。
坏处也有很多,随便列举一些:
1. nginx炸了,面板就上不去了。
2. php炸了,面板就上不去了。
3. mysql炸了,面板就上不去了。
4. 和网站共享环境没隔离开,有安全性问题(下面有说)。
5. 强绑定PHP,想不装都不可能。
6. 没有也做不到后台队列机制(想做到就要起后台进程,那就跟其他面板无二了)。
7. 因为PHP-FPM,做不到在线终端(AMH的终端是跑在Python上的,运行终端得起一个Python进程)
8. 都2024年了,极速安装的面板,还默认php7.4和mysql5.5?全是停止维护的老古董软件,php7.4还有不少漏洞。
9. 都2024年了,服务全部不使用systemd,让人怎么管理?人家宝塔至少还用了init.d,而1panel和耗子面板都标配systemd。

其他问题也随便列举一些,打破AMH所谓“无安全事件”:
1. 安全问题,面板文件权限给的过大(775/755),对比宝塔是600,耗子面板700。
2. 高危安全漏洞,/usr/local/amh-7.1/web/Amysql/Config.php文件可任意用户读取(包括网站),内含mysql root密码,建议尽快修复。
3. 高危安全漏洞,网站可以直接写入/home/wwwroot/lnmp01/vhost/目录修改nginx配置,建议尽快修复。
4. 高危安全漏洞,网站可以通过运行amh命令任意操作,包括修改面板密码,安装任意软件,甚至卸载面板删库跑路,建议尽快修复。
5. /usr/bin/amh是二进制程序,违反了APL协议第1条禁止闭源发布源码程序,所有源码程序用户都可阅读(不过逆向也简单,扔ida一跑就出来了)。
总结一下就是只要一个网站被黑了/挂马了,那么整个服务器都可以被拿下,这种情况在其他任何一个面板都不可能发生。

前面漏洞的poc就不放了,放一张压缩过的图吧。
聊一聊AMH所谓“轻量”及问题

QQ截图20241023183916.png (77.79 KB, 下载次数: 3)

下载附件

2 小时前 上传

我是不认可这种为了轻量所做的巨大牺牲,何况现在内存本来就是白菜价,多占一两百MB能有啥影响。
(2022年开发耗子面板前看到AMH这个设计我当时极为震惊,现在也是,看完上面的你还会继续用吗?)
至于天天吵的改UI,做过传统PHP开发的应该都知道,这玩意HTML和PHP杂糅在一起,10几年的代码沉淀下来哪有那么好改。想改成现代的vue/react,工作量不亚于整个程序扬了重写。

你这说的东西,amh更加不认了
UI那么明显的问题,他都视而不见!!!
你提的这些东西,怕不是把他裤子给脱了
1、Linux版的php7.4没有什么漏洞,只要把危险函数禁用就行
2、搭建网站的话一般都要开启AMChroot这个插件,完全可以避免你说的这些所谓高危安全漏洞
3、/usr/bin/amh的二进制程序是用amh.c源码编译的,具体可以看安装脚本
amh默认还是php7.4,说安全有点搞笑
@Amysql
没必要吵吵,用脚投票就行了,WDCP都比AMH好用,我从WDCP换到宝塔的
聊一聊AMH所谓“轻量”及问题 搬凳子继续看戏
聊一聊AMH所谓“轻量”及问题我选择 1Panel
很专业,鉴定完毕
专业人士说话就是不一样
其实人家就是不想重构,懒得重构,oneman就是这样洒脱啊,爱用不用。