V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
xiaoxiao168
V2EX  ›  信息安全

基于, https://www.v2ex.com/t/936739, 请问下直接 git clone 项目下来,然后再项目里安装,“这情况”是否可以避免啊?其实,还没有搞明白什么情况? 求科普下,

  •  
  •   xiaoxiao168 · 2023-07-09 07:32:11 +08:00 · 2276 次点击
    这是一个创建于 508 天前的主题,其中的信息可能已经有所发展或是发生改变。

    同站搬运:

    https://github.com/oneinstack/oneinstack/issues/487

    oneinstack 的一键安装脚本被发现有人挂马

    可能是最近几天的事情

    近期有使用过该脚本的请查看下面文件的第 137 行,是否有木马脚本

    /root/oneinstack/include/openssl.sh 简单流程:

    执行 ./load linux@QWE

    程序会检查是否 RedHat ,目前只针对 RedHat 系列,debian/ubuntu 系列不执行后续

    下载 s.jpg 并释放到 /var/crond/ 目录,释放文件 cr.jpg 和 install 可执行

    执行 ./install 释放 cr.jpg 到 cr 目录,文件:ba 、cr 、snc 、libaudit.so.2 ,并注册服务

    后面就是日常操作,取得控制权,成为 rbq.”

    假如我们使用 oneinstack 的方法是直接 clone 下来, 然后在项目里跑安装脚本, 这个问题是否就可以避免点啊? 还是我们需要把项目里的所以 http: 链接改为 https: (至少这样安全点, 同时下次有类似的情况发生, 也有更多的信息 做出回应?

    10 条回复    2023-07-09 10:04:24 +08:00
    dode
        1
    dode  
       2023-07-09 07:53:40 +08:00 via Android
    这就就是第三方加速源被黑了,篡改里面的正常程序,文件可以计算 sha256 与官方发布的 sha256 检查是否一致
    xiaoxiao168
        2
    xiaoxiao168  
    OP
       2023-07-09 08:16:21 +08:00   ❤️ 1
    @dode 老哥(不要口震啊,玩笑,请不不要介意)
    嗯 sha256 对比的了,

    同时想了解下, 直接从 gh 克隆下来, 然后先改为全部 https, 最后安装, 是否可以避免这些“第三方”不必要的麻烦呢? 谢谢
    dode
        3
    dode  
       2023-07-09 08:24:41 +08:00 via Android
    第三方源服务器数据被篡改,HTTPS 资源一样可以被修改,甚至 HTTPS 证书都会泄露
    xiaoxiao168
        4
    xiaoxiao168  
    OP
       2023-07-09 08:36:44 +08:00
    @dode gh 克隆项目下来安装, 还是需要经过第三方源?
    也就是有人盯上了这个项目,知道它从那一个第三方源,然后从它的源头下毒?

    感觉这个项目还是蛮方便的, 如果这样搞的话,有办法根治吗?需要自己找信的过的源?这一来, 安装脚本是否就废了啊?
    dode
        5
    dode  
       2023-07-09 08:39:58 +08:00
    从 github 克隆,下载项目都没有问题的,安全性由作者自己控制
    mohumohu
        6
    mohumohu  
       2023-07-09 08:42:03 +08:00
    用 docker 就自带校验,隔离运行也更安全
    xiaoxiao168
        7
    xiaoxiao168  
    OP
       2023-07-09 08:49:05 +08:00
    @mohumohu 好人做到底? 多说两句, 来个项目链接?
    老哥桃花满天下
    mohumohu
        8
    mohumohu  
       2023-07-09 09:15:03 +08:00
    @xiaoxiao168 这个不需要具体的项目,你学习使用 docker-compose 就可以了。比如下面是一个简单的 lnmp 的 dockers-compose 配置:
    ```yaml
    version: '3'
    services:
    nginx:
    image: nginx:latest
    ports:
    - 80:80
    volumes:
    - ./nginx.conf:/etc/nginx/nginx.conf
    - ./html:/var/www/html
    depends_on:
    - php
    networks:
    - lnmp-network

    php:
    image: php:latest
    volumes:
    - ./html:/var/www/html
    networks:
    - lnmp-network

    mysql:
    image: mysql:latest
    ports:
    - 3306:3306
    environment:
    - MYSQL_ROOT_PASSWORD=your_mysql_root_password
    - MYSQL_DATABASE=your_mysql_database
    - MYSQL_USER=your_mysql_user
    - MYSQL_PASSWORD=your_mysql_user_password
    volumes:
    - ./mysql:/var/lib/mysql
    networks:
    - lnmp-network

    networks:
    lnmp-network:

    ```
    xiaoxiao168
        9
    xiaoxiao168  
    OP
       2023-07-09 09:19:48 +08:00
    @mohumohu 给力, 可以也来个阿帕奇的吗? 感谢
    mohumohu
        10
    mohumohu  
       2023-07-09 10:04:24 +08:00
    @xiaoxiao168 配置照抄没有用的,你只需要理解 docker compose 的写法,然后选择合适你的 docker 镜像就可以了,apache 也有对应的 docker 镜像。你都用 oneinstack 这样的手动脚本了,使用 docker 镜像也是配置文件+数据。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3242 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 13:08 · PVG 21:08 · LAX 05:08 · JFK 08:08
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.