想问看大家是如何安全的存储 Web 项目的数据库密码? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
RangerWolf
V2EX    问与答

想问看大家是如何安全的存储 Web 项目的数据库密码?

  •  
  •   RangerWolf 2016-06-18 13:52:59 +08:00 4250 次点击
    这是一个创建于 3404 天前的主题,其中的信息可能已经有所发展或是发生改变。
    目前是存放在配置文件之中。 因为代码会托管到第三方的 git 服务,所以线上数据库的配置文件跟本地是不一样的。需要手动上去替换。

    首先感觉这种方式麻烦了点,因为是 tomcat 的项目,每次更新 war 包之后都得重做一遍。
    另外目前并不知道用哪种加密存储密码好一点? 数据库密码是明文存储~
    16 条回复    2016-06-19 13:03:28 +08:00
    3dwelcome
        1
    3dwelcome  
       2016-06-18 14:06:37 +08:00 via Android
    最好是编译进二进制库里、我 mysql 数据库密码只是简单 round 一下、保证不是明文储存就可以了、防君子不防有心人。
    bdbai
        2
    bdbai  
       2016-06-18 14:34:32 +08:00 via Android   1
    用环境变量,代码动态读取。
    SoloCompany
        3
    SoloCompany  
       2016-06-18 15:14:21 +08:00 via iPhone   1
    配置和代码分开,代码托管给第三方,配置用自己维护的 vcs 或不 vcs
    RangerWolf
        4
    RangerWolf  
    OP
       2016-06-18 15:31:02 +08:00
    @3dwelcome 不太明确你的意思, 能举个例子吗? 谢谢
    RangerWolf
        5
    RangerWolf  
    OP
       2016-06-18 15:31:38 +08:00
    @bdbai 你这个方法感觉还不错~ 只不过加密部分呢? 还是明文存储吗?
    jarlyyn
        6
    jarlyyn  
       2016-06-18 15:38:46 +08:00 via Android
    不放心的话,不要用第三方 git 不就好了
    bdbai
        7
    bdbai  
       2016-06-18 16:12:11 +08:00 via Android   1
    @RangerWolf 我用 Docker 部署应用就是这样处理的。只要环境变量不直接暴露出来,并保证外界无法直接接触数据库,基本上没问题。
    密码最好不要明文,可以用一些相对耗时的加密算法保证即便被脱裤也不会泄露明文。关键词 bcrypt
    xiaoding
        8
    xiaoding  
       2016-06-18 17:27:30 +08:00
    配置文件里面放密文,程序启动的时候通过数据库连接池调用密钥管理系统解密。密钥管理系统负责管理加密算法以及密码的定时更新等等。
    akira
        9
    akira  
       2016-06-18 17:41:27 +08:00
    代码仓库里面不带配置就好了啊
    caixiexin
        10
    caixiexin  
       2016-06-18 20:55:18 +08:00 via Android   1
    1. 用配置中心保存配置,程序每次启动从配置中心读
    2. 用环境变量
    3. 在生产的机子上构建 war ,维护一个分支包含生产配置文件,该分支只推送到生产的机子上
    loading
        11
    loading  
       2016-06-18 20:56:16 +08:00 via Android
    环境变量
    RangerWolf
        12
    RangerWolf  
    OP
       2016-06-19 08:24:31 +08:00
    @xiaoding 太高级了 有推荐的密码管理系统吗? 感谢!
    RangerWolf
        13
    RangerWolf  
    OP
       2016-06-19 08:25:03 +08:00
    @jarlyyn 因为密码而自己维护 git 托管总觉得性价比不太高 哈哈
    RangerWolf
        14
    RangerWolf  
    OP
       2016-06-19 08:25:49 +08:00
    @caixiexin 能介绍一下配置中心吗? 或者有什么推荐的服务或者开源程序,我直接去看看 谢谢
    caixiexin
        15
    caixiexin  
       2016-06-19 08:57:02 +08:00 via Android
    @RangerWolf 简单点的话随便写个 web 服务就行,限制外网访问。
    xiaoding
        16
    xiaoding  
       2016-06-19 13:03:28 +08:00
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2753 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 15:09 PVG 23:09 LAX 08:09 JFK 11:09
    Do have faith in what you're doing.
    ubao 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