道路千万条,安全第一条,开发不规范,用户两行泪 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
demolibs
V2EX    程序员

道路千万条,安全第一条,开发不规范,用户两行泪

  •  
  •   demolibs 2019-11-21 10:50:11 +08:00 6274 次点击
    这是一个创建于 2202 天前的主题,其中的信息可能已经有所发展或是发生改变。

    事件背景: 昨晚我们线上服务被恶意调用了,出现大量随机请求,猜测是想暴力破击我们管理后台,窃取用户数据。

    部分服务器日志截图: 

    https://static.demolibs.com/v2ex/%E8%A2%AB%E8%B0%83%E6%88%8F%E4%BA%86.jpg ( PS:充值 V2EX 会员后,图片还是没法上传,所以用的七牛云,V 友见谅)

    所以想跟 V 友们一起讨论下网站安全的措施,防范于未然。

    目前我们的安全措施: 

    一、运维方面:

    1、所有服务器都禁用 root 登陆功能,防止被别人通过 root 暴力破解。

    2、程序部署、数据库都用不同的账号管理,不同账号职责不同。

    3、数据库一定要设置密码,特别说明:MongoDB、Redis 是默认没有密码的。

    二、程序方面:

    1、程序部署最好用 Git 统一管理。区分 master、test、dev 等环境,紧急修复问题用 fix_分支。

    2、程序日志一定要打印好!访问日志、404 等错误日志都要打印,监控异常。

    3、日志里边要添加 IP 地址,为了以后对恶意请求做限制(当然,如果遇到 DDoS 攻击的话,光这点肯定不够)

    一起讨论下安全吧 

    V 友们还有其他的安全测录?一起来分享一下,互相抱团更安全。

    关于我们 

    我们初创的网站:呆萌库 | 一个自由定制的主页 网址: https://demolibs.com/ 留言板: https://support.qq.com/products/96596

    33 条回复    2019-11-22 11:57:25 +08:00
    eason1874
        1
    eason1874  
       2019-11-21 11:11:51 +08:00   2
    你截图显示每间隔 6~7 分钟来 10 多个异常请求,扫描机已经相当客气了,谈不上暴力破解。

    扫描机都是扫已经披露的漏洞,绝大部分路径以 .asp | .php | .jsp 结尾,你网站所有访问路径都不要用这些后缀,然后直接在 Nginx 屏蔽这些后缀,就可以解决大部分扫描机的骚扰了。

    至于数据库那些,你设置密码、禁止远程访问,在腾讯云安全组拒绝这些端口访问就行了。
    demolibs
        2
    demolibs  
    OP
       2019-11-21 11:44:59 +08:00
    @eason1874 感谢大佬解答。 请问如有遇到 DDoS 怎么办?有什么好的对策吗?
    fengshils
        3
    fengshils  
       2019-11-21 11:51:19 +08:00
    demolibs
        4
    demolibs  
    OP
       2019-11-21 12:57:42 +08:00
    johnniang
        5
    johnniang  
       2019-11-21 13:07:29 +08:00 via Android
    遇到 DDos 可能需要用 cloudflare 之类的后盾帮你抗了
    ipadpro4k
        6
    ipadpro4k  
       2019-11-21 13:09:47 +08:00 via iPhone
    充值 v2 会员是什么样的操作
    demolibs
        7
    demolibs  
    OP
       2019-11-21 13:17:14 +08:00
    @johnniang 确实,目前买云服务商的 DDoS 防护包最简单了。
    我们还想着多做两三个备份域名和服务器,以防万一,至少保证用户的访问和使用。
    demolibs
        8
    demolibs  
    OP
       2019-11-21 13:19:11 +08:00
    @ipadpro4k 充会员,看的 V 友的这片教程:
    攻略:教你如何在 V2EX 发图片 /插链接 /插代码 /插视频(第二版)
    t/408727

    主要是我们想发图片贴,可惜有点问题,明天再试试
    ZredoC
        9
    ZredoC  
       2019-11-21 13:40:14 +08:00
    主页不错 0.0 粉了
    defunct9
        10
    defunct9  
       2019-11-21 13:41:16 +08:00
    开 ssh,让我上去看看
    shintendo
        11
    shintendo  
       2019-11-21 13:53:13 +08:00
    @defunct9 老哥你来了
    demolibs
        12
    demolibs  
    OP
       2019-11-21 13:53:26 +08:00
    @ZredoC 多谢啦,初创阶段,欢迎多提提建议
    demolibs
        13
    demolibs  
    OP
       2019-11-21 13:55:00 +08:00
    @defunct9 老哥,目前除了这些非法请求之外,没有其他异常,ssh 就免了吧 ^_^
    struggle001
        14
    struggle001  
       2019-11-21 18:28:37 +08:00   1
    现在部署网站,不是防火墙做 nat 和负载均衡,之后 app 和 db 都是内网,防火墙只暴露对外服务的端口吗?
    上内网服务器,都是需要走防火墙的 sslvpn,而且防火墙具有漏洞检测及风险分析功能,这样就安全多了。
    struggle001
        15
    struggle001  
       2019-11-21 18:29:51 +08:00
    如果代码有漏洞,通过 80 做注入,那就很惨了,不过防火墙也有 sql 注入防护等安全防护的。
    Andy1999
        16
    Andy1999  
       2019-11-21 18:49:31 +08:00 via iPhone
    @demolibs 可以考虑阿里云的高防
    zarte
        17
    zarte  
       2019-11-21 19:00:38 +08:00
    我是挑了几条在 nginx 上弄重定向到百度搜索我的站点的连接。嘿嘿。
    xuanbg
        18
    xuanbg  
       2019-11-21 22:33:07 +08:00   1
    1、ssh 换端口
    2、ssh 访问设置 ip 白名单
    3、对外只开 80 和 443
    4、做好应用层安全,例如 sql 注入什么的

    漏洞扫描什么的,根本不用去理睬
    cydian
        19
    cydian  
       2019-11-22 02:23:09 +08:00 via Android
    能否留个可用的联系方式。
    想提交信息,但是不想用那些需要登录的反馈平台。
    email 也行啊
    luckyc
        20
    luckyc  
       2019-11-22 08:28:34 +08:00
    堡垒机了解一下?
    fanyingmao
        21
    fanyingmao  
       2019-11-22 08:57:38 +08:00 via Android
    感觉爆破密码还是比较困难的,没设密码端口外放有遇到过一些。
    lc7029
        22
    lc7029  
       2019-11-22 09:50:30 +08:00   1
    1,服务器只允许内网登陆,且登陆必须通过堡垒机。
    2,服务按类型部署在内网,ACL 控制内网间调用。比如 10.0.0.0/24 给核心网,10.0.1.0/24 给安全设备,10.0.2.0/24 给数据库,数据库不能访问核心网等。
    3,内网部署安全设备,比如 DDOS 防火墙,流量清洗,堡垒机,数据库审计,IPS 等设备。
    4,CDN 配置 WAF 功能。
    5,想起来再写。
    demolibs
        23
    demolibs  
    OP
       2019-11-22 10:26:54 +08:00
    @struggle001 多谢您的建议。
    我们的服务器只暴露业务相关接口,链路如下:
    http 请求 -> 云服务器(centos) -> 服务器防火墙(firewalld) -> Nginx -> 后端业务程序。

    SQL 防注入是个很古老,很重要的问题,项目内部代码审核还是很有必要的,尤其是 SQL 注入和满 SQL。
    demolibs
        24
    demolibs  
    OP
       2019-11-22 10:28:29 +08:00
    @Andy1999 好滴~~ 云服务商的高防,让开发运维又轻松了不少
    demolibs
        25
    demolibs  
    OP
       2019-11-22 10:31:15 +08:00
    @zarte “挑了几条在 nginx 上弄重定向到百度搜索我的站点的连接”
    这操作听起来很赞啊
    demolibs
        26
    demolibs  
    OP
       2019-11-22 10:33:37 +08:00
    @cydian 多谢啦,能收到用户的反馈,是我们最大的期望。
    请发到我们的邮箱吧: [email protected]
    demolibs
        27
    demolibs  
    OP
       2019-11-22 10:39:28 +08:00
    @l4ever 堡垒机确实很安全,做到内网隔离。
    一般大公司都是有专门运维团队来搭建的。
    初创公司,我们目前还没有对接这块,以后业务起来,确实得加上。
    中小公司,可以用云服务商的堡垒机服务,一个月几千块吧。
    demolibs
        28
    demolibs  
    OP
       2019-11-22 10:43:49 +08:00
    @fanyingmao 主要是看过很多博客提过,安全意识不到位的问题还是挺多的,就是做好预防
    1、开放 ssh 接口,默认登陆账号 root、密码 root 或 123456 等简单密码。
    2、管理后台,账号 admin、密码 admin
    3、MySQL、MongoDB、Reids 密码过于简单,甚至默认没有密码。
    demolibs
        29
    demolibs  
    OP
       2019-11-22 10:46:26 +08:00
    @lc7029

    1,服务器只允许内网登陆,且登陆必须通过堡垒机。
    2,服务按类型部署在内网,ACL 控制内网间调用。比如 10.0.0.0/24 给核心网,10.0.1.0/24 给安全设备,10.0.2.0/24 给数据库,数据库不能访问核心网等。
    3,内网部署安全设备,比如 DDOS 防火墙,流量清洗,堡垒机,数据库审计,IPS 等设备。
    4,CDN 配置 WAF 功能。


    膜拜运维大神
    struggle001
        30
    struggle001  
       2019-11-22 10:46:40 +08:00
    @demolibs 麒麟堡垒机 了解下。
    struggle001
        31
    struggle001  
       2019-11-22 10:48:12 +08:00
    @lc7029 说实话 运维稍微上点心 就不会被黑,程序有问题除外。
    lc7029
        32
    lc7029  
       2019-11-22 11:28:16 +08:00
    @demolibs 额。。。我是网管啊。。。
    656002674
        33
    656002674  
       2019-11-22 11:57:25 +08:00
    看到#10 突然觉得正确的回复应该是这样的:

    运维请联系我,比楼上老哥便宜一块钱。

    溜了
    关于     帮助文档     自助推广系统     博客     API &nbs;   FAQ     Solana     927 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 22:02 PVG 06:02 LAX 14:02 JFK 17:02
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86