V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zjsxwc
V2EX  ›  程序员

怎么排查网站被攻击的原因?

  •  
  •   zjsxwc ·
    zjsxwc · 2018-05-19 21:12:59 +08:00 · 5219 次点击
    这是一个创建于 2379 天前的主题,其中的信息可能已经有所发展或是发生改变。

    是公司的 cms 服务器(是基于我写了几个插件以及简单改了下主题的 drupal8 系统),但目前可以正常访问,然后阿里云邮件发我这个

    尊敬的用户: 经检测您的云服务器(***)存在恶意发包行为,为避免影响您服务器的正常使用,请您务必重视并尽快处理,需要您尽快排查您的安全隐患。目前系统不会处罚您的机器,但请您务必重视。
    
    请先查看是否服务被黑客利用进行攻击,对服务进行加固处理方法见以下链接: https://help.aliyun.com/knowledge_detail/13072193.html?spm=5176.789006066.2.17.koPuT1 
    
    被黑客控制有以下 2 种解决方案可供您选择用于解决问题:
    方案一:您有技术人员进行解决
    请参考以下方法自查:
    1、未经授权不得使用扫描器,等其它黑客工具进行非法扫描,否则请提工单进行沟通说明并提供授权测试证明。
    2、病毒木马排查。
    2.1、使用 netstat 查看网络连接,分析是否有可疑发送行为,如有则停止。 (linux 常见木马,清理命令 chattr -i /usr/bin/.sshd; rm -f /usr/bin/.sshd; chattr -i /usr/bin/.swhd; rm -f /usr/bin/.swhd; rm -f -r /usr/bin/bsd-port; cp /usr/bin/dpkgd/ps /bin/ps; cp /usr/bin/dpkgd/netstat /bin/netstat; cp /usr/bin/dpkgd/lsof /usr/sbin/lsof; cp /usr/bin/dpkgd/ss /usr/sbin/ss;rm -r -f /root/.ssh; rm -r -f /usr/bin/bsd-port;find /proc/ -name exe | xargs ls -l | grep -v task |grep deleted| awk '{print $11}' | awk -F/ '{print $NF}' | xargs killall -9;)
    2.2、使用杀毒软件进行病毒查杀。
    3、服务器漏洞排查并修复
    3.1、查看服务器账号是否有异常,如有则停止删除掉。
    3.2、查看服务器是否有异地登录情况,如有则修改密码为强密码(字每+数字+特殊符号)大小写,10 位及以上。
    3.3、查看 Jenkins、Tomcat、PhpMyadmin、WDCP、Weblogic 后台密码,提高密码强度(字每+数字+特殊符号)大小写,10 位及以上,不需要使用后台建议停止 8080 等管理端口。
    3.4、查看 WEB 应用是否有漏洞,如 struts, ElasticSearch 等,如有则请升级。
    3.5、查看 MySQL、SQLServer、FTP、WEB 管理后台等其它有设置密码的地方,提高密码强度(字每+数字+特殊符号)大小写,10 位及以上。
    3.6、查看 Redis 无密码可远程写入文件漏洞,检查 /root/.ssh/下黑客创建的 SSH 登录密钥文件,删除掉,修改 Redis 为有密码访问并使用强密码,不需要公网访问最好 bind 127.0.0.1 本地访问。
    3.7、如果有安装第三方软件,请按官网指引进行修复。
    4、如果问题仍未解决
    经过以上处理还不能解决问题,强烈建议您将系统盘和数据盘的数据完全下载备份到本地保存后,重置全盘(登陆 www.aliyun.com, 进入我的阿里云-》管理控制台-》云服务器 ECS 控制台-》点击进行您需要进行初始化的实例,备份完服务器数据后关闭实例,点击“重置磁盘”,按您的实际情况选择系统盘和数据盘重置即可)后,重新部署程序应用并对数据进行杀毒后上传,并重新进行前述的 3 步处理。
    
    方案二:直接备份数据重置服务器并进行安全部署
    请您直接参考链接进行处理 https://help.aliyun.com/knowledge_detail/7613565.html?spm=5176.789006066.2.9.HfuUsB
       阿里云计算有限公司此为系统邮件请勿回复
    

    我应该怎么解决?

    照理来说我是通过主流的 php docker 镜像部署的,drupal8 也是个相对冷门但成熟的 cms 系统啊,不太可能被代码漏洞攻击

    第 1 条附言  ·  2018-05-22 09:48:34 +08:00
    应该是 ddos 原因吧,开了 ddos 防护后就没问题了,当然我安全补丁什么的也都打了
    28 条回复    2018-05-22 09:42:43 +08:00
    torbrowserbridge
        1
    torbrowserbridge  
       2018-05-19 21:17:39 +08:00 via Android
    恶意发包,起码告知一下目标 IP 地址吧。不然不太好查吧。
    zjsxwc
        2
    zjsxwc  
    OP
       2018-05-19 21:22:42 +08:00
    @torbrowserbridge

    服务器 IP 是 120.27.197.39
    ittianyu
        3
    ittianyu  
       2018-05-19 21:29:00 +08:00
    我也有一台阿里云今天被黑了,ssh 也连不上,系统漏洞?密码我都是设置了 16 位随机密码。
    torbrowserbridge
        4
    torbrowserbridge  
       2018-05-19 21:32:17 +08:00 via Android
    @zjsxwc 我说的是,发出去的包,目标 IP,不是你的服务器 IP
    zjsxwc
        5
    zjsxwc  
    OP
       2018-05-19 21:34:59 +08:00
    @torbrowserbridge

    root@iZbp180fjesd65zvqnyp52Z:~# netstat
    Active Internet connections (w/o servers)
    Proto Recv-Q Send-Q Local Address Foreign Address State
    tcp 401 0 120.27.197.39:50155 106.11.68.13:http CLOSE_WAIT
    tcp 391 0 120.27.197.39:34440 140.205.140.205:http CLOSE_WAIT
    tcp 0 200 120.27.197.39:ssh 125.107.106.54:55175 ESTABLISHED
    tcp 0 0 120.27.197.39:46825 106.11.68.13:http ESTABLISHED
    tcp 401 0 120.27.197.39:35912 106.11.68.13:http CLOSE_WAIT
    tcp 401 0 120.27.197.39:46070 106.11.68.13:http CLOSE_WAIT
    Active UNIX domain sockets (w/o servers)
    Proto RefCnt Flags Type State I-Node Path
    unix 2 [ ] DGRAM 7814 /run/systemd/notify
    unix 2 [ ] DGRAM 7826 /run/systemd/shutdownd
    unix 8 [ ] DGRAM 7831 /run/systemd/journal/dev-log
    unix 7 [ ] DGRAM 7840 /run/systemd/journal/socket
    unix 2 [ ] DGRAM 8384 /run/systemd/journal/syslog
    unix 3 [ ] STREAM CONNECTED 10623
    unix 2 [ ] DGRAM 10508
    unix 3 [ ] STREAM CONNECTED 10073
    unix 2 [ ] DGRAM 3936039
    unix 3 [ ] STREAM CONNECTED 3001250
    unix 3 [ ] STREAM CONNECTED 10463 /run/systemd/journal/stdout
    unix 3 [ ] STREAM CONNECTED 10622
    unix 3 [ ] STREAM CONNECTED 21715
    unix 3 [ ] STREAM CONNECTED 12156
    unix 2 [ ] DGRAM 10103
    unix 2 [ ] DGRAM 10626
    unix 3 [ ] STREAM CONNECTED 10462
    unix 3 [ ] STREAM CONNECTED 10089 /run/systemd/journal/stdout
    unix 2 [ ] DGRAM 21949
    unix 3 [ ] STREAM CONNECTED 22671 /var/run/docker/libcontainerd/docker-containerd.sock
    unix 2 [ ] DGRAM 22656
    unix 3 [ ] STREAM CONNECTED 10467 /run/systemd/journal/stdout
    unix 3 [ ] DGRAM 9316
    unix 3 [ ] STREAM CONNECTED 10110
    unix 2 [ ] DGRAM 11428
    unix 3 [ ] STREAM CONNECTED 3001251
    unix 3 [ ] STREAM CONNECTED 9974
    unix 3 [ ] STREAM CONNECTED 12157 /run/systemd/journal/stdout
    unix 3 [ ] STREAM CONNECTED 10259 /run/systemd/journal/stdout
    unix 3 [ ] STREAM CONNECTED 10061
    unix 2 [ ] DGRAM 10092
    unix 3 [ ] STREAM CONNECTED 21694
    unix 3 [ ] STREAM CONNECTED 10258
    unix 3 [ ] STREAM CONNECTED 21695 /run/systemd/journal/stdout
    unix 3 [ ] STREAM CONNECTED 3001248
    unix 3 [ ] STREAM CONNECTED 3001249
    unix 3 [ ] STREAM CONNECTED 10782 /var/run/dbus/system_bus_socket
    unix 3 [ ] STREAM CONNECTED 10670
    unix 2 [ ] DGRAM 10766
    unix 2 [ ] DGRAM 9309
    unix 2 [ ] DGRAM 10066
    unix 3 [ ] STREAM CONNECTED 10625 /var/run/dbus/system_bus_socket
    unix 3 [ ] DGRAM 9315
    unix 3 [ ] STREAM CONNECTED 10624 /var/run/dbus/system_bus_socket
    zjsxwc
        6
    zjsxwc  
    OP
       2018-05-19 21:35:47 +08:00
    @torbrowserbridge

    root@iZbp180fjesd65zvqnyp52Z:~# netstat -tln
    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address Foreign Address State
    tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
    tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN
    tcp6 0 0 :::81 :::* LISTEN
    tcp6 0 0 :::82 :::* LISTEN
    tcp6 0 0 :::443 :::* LISTEN
    tcp6 0 0 :::111 :::* LISTEN
    tcp6 0 0 :::80 :::* LISTEN
    zjsxwc
        7
    zjsxwc  
    OP
       2018-05-19 21:36:33 +08:00
    @zjsxwc

    81 82 443 端口是我 docker 镜像故意预留的,80 是网站用到的
    zjsxwc
        8
    zjsxwc  
    OP
       2018-05-19 21:36:57 +08:00
    @torbrowserbridge

    怎么看发出去的包?
    kylinking
        9
    kylinking  
       2018-05-19 21:48:27 +08:00 via iPhone
    Drupal 框架前阵子爆出两个高危漏洞,目前外界利用依旧很广泛,可以参考一下 cve-2018-7600 和 7602
    torbrowserbridge
        10
    torbrowserbridge  
       2018-05-19 21:55:23 +08:00 via Android
    @zjsxwc 可以让阿里云提供一下,然后你根据目标 IP 找一下进程 id
    046569
        11
    046569  
       2018-05-19 23:41:02 +08:00
    严重怀疑阿里云误报,今晚被一堆客户告知阿里云短信提醒服务器数据泄露.
    其中一台服务器仅有一个静态站,防火墙默认屏蔽除 Web 以外的其它端口,系统最新版,仍然报警.
    目前还没有发现 0 day 或者可疑对外链接.
    感谢阿里云,周末加班.
    opengps
        12
    opengps  
       2018-05-20 00:02:15 +08:00 via Android
    误报不至于,起码设置规则时候一定符合了某些攻击特征,第三方的组件,越大众漏洞越容易被利用。
    比如说前阵子的 memcached 反射
    对外你可以删掉 dns 配置,手动配置 hosts 解析自己用到的服务,这样后门就没法对外联系自己的业务链接了
    defunct9
        13
    defunct9  
       2018-05-20 00:13:32 +08:00 via iPhone
    开 ssh,让我上去看看
    jssyxzy
        14
    jssyxzy  
       2018-05-20 02:53:22 +08:00
    看 log?
    EarthChild
        15
    EarthChild  
       2018-05-20 07:20:42 +08:00
    先从自身找……“我今天是不是惹了谁……”
    msg7086
        16
    msg7086  
       2018-05-20 07:33:34 +08:00
    1. 这不是被攻击,是主动攻击别人。
    2. 不要随便泄露自己服务器的地址。
    3. 106.11.68.13 这个是什么地址?
    u5f20u98de
        17
    u5f20u98de  
       2018-05-20 09:28:04 +08:00
    冷门?这个放在全球范围内可不冷门,成熟也不代表安全,
    CVE-2018-7600 了解一下
    zjsxwc
        18
    zjsxwc  
    OP
       2018-05-20 09:54:49 +08:00
    @u5f20u98de
    @kylinking

    这两个补丁我打了,不过感觉不太会被利用,因为公司 cms 用户账号都是内部员工,外人也不能表单提交
    u5f20u98de
        19
    u5f20u98de  
       2018-05-20 11:05:38 +08:00   ❤️ 1
    @zjsxwc 对于暴露在公网的应用,补丁只要晚了几天打,就很可能被利用。
    涉及利益相关,黑产的全球自动化扫描,动作是非常快的。
    这个漏洞我记着好像不用登陆直接发几个包就搞定了
    zjsxwc
        20
    zjsxwc  
    OP
       2018-05-20 11:33:27 +08:00 via Android
    @u5f20u98de

    这个扫不到吧,我是限制 ngnix 通过二级域名才能访问到网站,单纯 ip 访问不了

    我看到漏洞的 poc 就是要先登录啊
    wwwd0g
        21
    wwwd0g  
       2018-05-20 14:44:42 +08:00
    确定了是通过 web 搞进来的?
    如果是的话那分析日志,看看是从哪里进来的
    超级麻烦啦,实在不行,上 waf~~
    u5f20u98de
        22
    u5f20u98de  
       2018-05-20 19:40:42 +08:00
    @zjsxwc 如果你的域名被搜索引擎收录了,入侵者也是可能进来的。如果没收录,且访问日志没有被删,里面也没有奇怪的 IP,可能就不是通过这个渠道进来的。
    mytsing520
        23
    mytsing520  
       2018-05-20 21:48:10 +08:00
    @msg7086 106.11 是阿里自身的业务系统,要么是神马搜索的爬虫,要么是云盾态势感知(该业务无法被关闭,只能屏蔽,与默认安装的安骑士无关)
    xjroot
        24
    xjroot  
       2018-05-21 03:45:32 +08:00
    phpddos , 想都不想 phpddos,N 年前,我花 10 美元买了 N 家的虚拟空间, 各种 PHPDDOS,最后开源了,这帮孩子还在折腾.
    lopetver
        25
    lopetver  
       2018-05-21 07:56:52 +08:00
    服务器被黑,不应该第一时间想到去检查日志系统吗?
    tylerdurden
        26
    tylerdurden  
       2018-05-21 09:47:46 +08:00
    查一下的 drupal 的版本号,最近的 8.x 版本正好出现了代码执行漏洞, 官方补丁是对 x[#yyy] 以及 x[%23 ] 做了删除。

    通过日志查的话,重点查一下是否存在没有 Referer 的 post 请求。

    ps: http://www.freebuf.com/vuls/166782.html
    xiaoxiaomingming
        27
    xiaoxiaomingming  
       2018-05-21 10:45:09 +08:00
    之前有提工单问了售后,售后反馈是我的 portmap 进行反射 ddos 攻击,你自己看一下如果是一样的就重新配置下 portmap
    realpg
        28
    realpg  
       2018-05-22 09:42:43 +08:00
    1. 找专业的人做专业的事……
    2. 如果你不能充分 handle,就不要用境外的知名系统尤其是开源系统比如 wordpress (奸笑脸),因为境外的漏洞扫描、利用比境内变态一万倍
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1167 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 18:18 · PVG 02:18 · LAX 10:18 · JFK 13:18
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.