V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
Hardrain
V2EX  ›  问与答

这是被 DDOS 了?

  •  
  •   Hardrain · 2017-01-09 19:35:41 +08:00 · 2138 次点击
    这是一个创建于 2904 天前的主题,其中的信息可能已经有所发展或是发生改变。
    apache httpd 一运行起来不超过 5 分钟便这样, apache 的进程开了无数个;而刚 start apache3 分钟之内一切正常
    未发现被入侵证据, SSH 使用公钥登录,且密码(键盘交互)登录已被停用.
    root@B-512:~# ps -e
    PID TTY TIME CMD
    1 ? 00:00:00 systemd
    2 ? 00:00:00 kthreadd/67003
    3 ? 00:00:00 khelper/67003
    65 ? 00:00:00 systemd-journal
    67 ? 00:00:00 systemd-udevd
    188 ? 00:00:00 rsyslogd
    193 ? 00:00:00 cron
    283 ? 00:00:00 php-fpm7.1
    286 ? 00:00:00 sshd
    295 ? 00:00:00 vsftpd
    300 ? 00:00:00 saslauthd
    303 ? 00:00:00 saslauthd
    311 tty1 00:00:00 agetty
    312 tty2 00:00:00 agetty
    339 ? 00:00:00 xinetd
    340 ? 00:00:00 php-fpm7.1
    341 ? 00:00:00 php-fpm7.1
    355 ? 00:00:00 mysqld_safe
    364 ? 00:00:00 htcacheclean
    504 ? 00:00:02 mysqld
    505 ? 00:00:00 logger
    1230 ? 00:00:00 master
    1233 ? 00:00:00 pickup
    1234 ? 00:00:00 qmgr
    2184 ? 00:00:00 sshd
    2193 pts/0 00:00:00 bash
    2237 ? 00:00:00 tlsmgr
    2876 ? 00:00:00 apache2
    2877 ? 00:00:07 apache2
    2879 ? 00:00:07 apache2
    2882 ? 00:00:07 apache2
    2883 ? 00:00:06 apache2
    2886 ? 00:00:06 apache2
    2896 ? 00:00:02 apache2
    2898 ? 00:00:02 apache2
    2899 ? 00:00:02 apache2
    2902 ? 00:00:02 apache2
    2903 ? 00:00:02 apache2
    2904 ? 00:00:02 apache2
    2905 ? 00:00:02 apache2
    2910 ? 00:00:02 apache2
    2911 ? 00:00:02 apache2
    2912 ? 00:00:02 apache2
    2913 ? 00:00:02 apache2
    2914 ? 00:00:02 apache2
    2915 ? 00:00:02 apache2
    2916 ? 00:00:02 apache2
    2917 ? 00:00:02 apache2
    2926 ? 00:00:02 apache2
    2927 ? 00:00:02 apache2
    2928 ? 00:00:02 apache2
    2929 ? 00:00:02 apache2
    2930 ? 00:00:02 apache2
    2931 ? 00:00:02 apache2
    2932 ? 00:00:02 apache2
    2933 ? 00:00:02 apache2
    2934 ? 00:00:02 apache2
    2943 ? 00:00:02 apache2
    2944 ? 00:00:02 apache2
    2945 ? 00:00:02 apache2
    2949 ? 00:00:02 apache2
    2952 ? 00:00:02 apache2
    2953 ? 00:00:02 apache2
    2955 ? 00:00:02 apache2
    2959 ? 00:00:01 apache2
    2960 ? 00:00:02 apache2
    2961 ? 00:00:02 apache2
    2962 ? 00:00:02 apache2
    2963 ? 00:00:02 apache2
    2964 ? 00:00:01 apache2
    2965 ? 00:00:02 apache2
    2966 ? 00:00:02 apache2
    2967 ? 00:00:02 apache2
    2974 ? 00:00:02 apache2
    2976 ? 00:00:01 apache2
    2978 ? 00:00:02 apache2
    2980 ? 00:00:01 apache2
    2982 ? 00:00:02 apache2
    2985 ? 00:00:01 apache2
    2986 ? 00:00:01 apache2
    2988 ? 00:00:01 apache2
    2990 ? 00:00:01 apache2
    2992 ? 00:00:01 apache2
    2995 ? 00:00:01 apache2
    2997 ? 00:00:01 apache2
    2998 ? 00:00:01 apache2
    2999 ? 00:00:02 apache2
    3002 ? 00:00:01 apache2
    3004 ? 00:00:01 apache2
    3007 ? 00:00:01 apache2
    3008 ? 00:00:01 apache2
    3010 ? 00:00:01 apache2
    3013 ? 00:00:01 apache2
    3015 ? 00:00:01 apache2
    3016 ? 00:00:01 apache2
    3018 ? 00:00:01 apache2
    3023 ? 00:00:01 apache2
    3024 ? 00:00:01 apache2
    3025 ? 00:00:01 apache2
    3026 ? 00:00:01 apache2
    3029 ? 00:00:01 apache2
    3031 ? 00:00:01 apache2
    3033 ? 00:00:01 apache2
    3035 ? 00:00:01 apache2
    3037 ? 00:00:01 apache2
    3039 ? 00:00:01 apache2
    3041 ? 00:00:01 apache2
    3042 ? 00:00:01 apache2
    3044 ? 00:00:01 apache2
    3046 ? 00:00:01 apache2
    3049 ? 00:00:01 apache2
    3051 ? 00:00:01 apache2
    3053 ? 00:00:01 apache2
    3054 ? 00:00:01 apache2
    3057 ? 00:00:01 apache2
    3058 ? 00:00:01 apache2
    3061 ? 00:00:01 apache2
    3062 ? 00:00:01 apache2
    3065 ? 00:00:01 apache2
    3067 ? 00:00:01 apache2
    3069 ? 00:00:01 apache2
    3070 ? 00:00:01 apache2
    3073 ? 00:00:01 apache2
    3075 ? 00:00:01 apache2
    3077 ? 00:00:01 apache2
    3079 ? 00:00:01 apache2
    3080 ? 00:00:01 apache2
    3083 ? 00:00:01 apache2
    3088 ? 00:00:01 apache2
    3089 ? 00:00:01 apache2
    3090 ? 00:00:01 apache2
    3091 ? 00:00:01 apache2
    3092 ? 00:00:01 apache2
    3093 ? 00:00:01 apache2
    3094 ? 00:00:01 apache2
    3095 ? 00:00:01 apache2
    3096 ? 00:00:01 apache2
    3097 ? 00:00:01 apache2
    3098 ? 00:00:01 apache2
    3099 ? 00:00:01 apache2
    3100 ? 00:00:01 apache2
    3112 ? 00:00:01 apache2
    3114 ? 00:00:01 apache2
    3116 ? 00:00:01 apache2
    3119 ? 00:00:01 apache2
    3121 ? 00:00:01 apache2
    3122 ? 00:00:01 apache2
    3123 ? 00:00:01 apache2
    3126 ? 00:00:01 apache2
    3129 ? 00:00:01 apache2
    3130 ? 00:00:01 apache2
    3132 ? 00:00:01 apache2
    3134 ? 00:00:01 apache2
    3136 ? 00:00:01 apache2
    3138 ? 00:00:01 apache2
    3140 ? 00:00:01 apache2
    3142 ? 00:00:01 apache2
    3143 ? 00:00:01 apache2
    3146 ? 00:00:01 apache2
    3148 ? 00:00:01 apache2
    3152 ? 00:00:01 apache2
    3153 ? 00:00:01 apache2
    3154 ? 00:00:01 apache2
    3155 ? 00:00:01 apache2
    3156 ? 00:00:01 apache2
    3157 ? 00:00:01 apache2
    3158 ? 00:00:01 apache2
    3159 ? 00:00:01 apache2
    3160 ? 00:00:01 apache2
    3167 ? 00:00:01 apache2
    3170 ? 00:00:01 apache2
    3171 ? 00:00:01 apache2
    3174 ? 00:00:01 apache2
    3176 ? 00:00:01 apache2
    3178 ? 00:00:01 apache2
    3179 ? 00:00:01 apache2
    3182 ? 00:00:01 apache2
    3183 ? 00:00:01 apache2
    3204 pts/0 00:00:00 ps

    且占据大量内存
    root@B-512:~# free -mh
    total used free shared buff/cache available
    Mem: 512M 157M 49M 135M 305M 3.4M
    Swap: 256M 73M 182M

    用 top 看, CPU 95%+ 重启 apache 后 3 分钟内一切正常,过一会后又如此
    查看同时连接的 ip
    root@B-512:~# netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
    1 Address
    1 servers)
    2 78.170.216.146
    5 192.0.73.2
    141 184.73.63.224
    141 54.205.31.52
    148 54.90.99.30
    其中建立了上百个的那两个 54.开头的 IP 在 ipip.net 查询属于一个机房.
    因此怀疑被 DDoS
    6 条回复    2017-01-09 20:05:54 +08:00
    jasontse
        1
    jasontse  
       2017-01-09 19:41:27 +08:00 via iPad
    看下 access.log 应该是被 CC 了。上个 WAF 或者比较好的 CDN 会帮你防住。
    duola
        2
    duola  
       2017-01-09 19:42:47 +08:00
    个人认为封 ip 会好一点。
    Hardrain
        3
    Hardrain  
    OP
       2017-01-09 19:45:25 +08:00
    @jasontse
    刚把之前的 log FTP 回本地后清空了
    自发生此情况后
    root@B-512:/var/log/apache2# ls -Alsh
    total 148K
    0 -rw-r--r-- 1 root root 0 Jan 9 18:29 breed.hardrain980.com.access.log
    0 -rw-r--r-- 1 root root 0 Jan 9 18:29 breed.hardrain980.com.error.log
    8.0K -rw-r--r-- 1 root root 7.2K Jan 9 19:37 error.log
    4.0K -rw-r--r-- 1 root root 473 Jan 9 19:40 generate204.com.access.log
    0 -rw-r--r-- 1 root root 0 Jan 9 18:29 generate204.com.error.log
    48K -rw-r--r-- 1 root root 41K Jan 9 19:39 gr.hr98.xyz.access.log
    4.0K -rw-r--r-- 1 root root 1.1K Jan 9 18:54 gr.hr98.xyz.error.log
    80K -rw-r--r-- 1 root root 75K Jan 9 19:43 hardrain980.com.access.log
    4.0K -rw-r--r-- 1 root root 424 Jan 9 18:33 hardrain980.com.error.log
    0 -rw-r--r-- 1 root root 0 Jan 9 18:29 old.hardrain980.com.access.log
    0 -rw-r--r-- 1 root root 0 Jan 9 18:29 old.hardrain980.com.error.log
    0 -rw-r--r-- 1 root root 0 Jan 9 18:29 other_vhosts_access.log

    看起来 log 文件都并不大啊
    另外 gr.hr98.xyz 是 gravatar 反向代理,可能会访问比较多.
    Hardrain
        4
    Hardrain  
    OP
       2017-01-09 19:46:46 +08:00
    @duola 似乎是的 把那几个来自 Amazon 机房的 54.开头的 IP 用 iptables drop 掉后 apache 运行了 5 分钟,之前的情形没有复现.
    Hardrain
        5
    Hardrain  
    OP
       2017-01-09 19:47:37 +08:00
    @duola 另:我是否应该使用防火墙(e.g. ufw)来对付
    iptables 的配置我有导出到文件 方便再次添加.
    duola
        6
    duola  
       2017-01-09 20:05:54 +08:00
    @Hardrain 推荐腾讯运维工程师写的一篇文章, https://zhangge.net/5066.html 个人感觉还不错,你可以参考一下。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3009 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 00:10 · PVG 08:10 · LAX 16:10 · JFK 19:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.