请问在线上部署测试服务器,开放外网连接mysql 3306, 和nginx 80,还有gitlab的话,安全性方面会有问题吗?如果是测试服务器和线上服务器是同一台服务器,是不是更是死定了?

2013-11-22 10:29:23 +08:00
 barbery
我是这么想的,因为mysql开放外网连接3306端口的话,可能会被人用软件来爆破密码,然后就导致db数据泄露,这还没什么问题,如果gitlab被攻破,里面托管的代码泄露就麻烦了,结合前面泄漏的db,岂不是整个web都泄漏了吗???

想来想去,要兼顾开发和安全性,只能弄2个服务器,把测试服务器和正式服务器分开,然后在测试服务器里装桌面,把gitlab修改成只能localhost访问,这样即使mysql被人攻破,起码源码还安全。。这样靠谱不?

大家平时都是怎么处理这个问题的???求主流解决方案!
4965 次点击
所在节点    问与答
13 条回复
mkeith
2013-11-22 11:14:26 +08:00
不是可以通过 ssh 登陆 mysql 的吗?
liunan1321
2013-11-22 11:33:25 +08:00
关掉3306啊,开着它作甚。要不你就换个端口
shiny
2013-11-22 11:45:03 +08:00
同楼上,你开外网3306干嘛,不开也照样可以远程管理。
Livid
2013-11-22 12:27:39 +08:00
用 vagrant 测试
barbery
2013-11-22 13:24:56 +08:00
@mkeith
@liunan1321
@shiny
谢谢回复,你们的意思是通过SSH隧道端口转发连接mysql?但是这样每天都要连接一下。。还有更快捷又安全的办法么?
barbery
2013-11-22 13:37:49 +08:00
@Livid L大大你的意思是说用vagrant来为每个开发者安装同一个环境么?但是数据库这些,大家开发还是需要连同一个库比较方便,并且启动一个虚拟机,在里面开发不卡么?以前用virtuBox开个ubuntu玩都觉得有点卡。。。
initialdp
2013-11-22 13:50:40 +08:00
(1)改端口
(2)限制root只能本地连接
(3)限制远程用户的IP地址
(4)限制远程用户的操作权限
barbery
2013-11-22 14:43:30 +08:00
@initialdp 对哦,这个思路不错,我可以在mysql那里创建一个用户专门用于开发连接数据库的,限制权限为select upadte insert delete,把root账户限制为localhost登录,要修改表结构什么的,再通过SSH登录服务器来处理~
usoluyun
2013-11-22 16:23:47 +08:00
@barbery 除了集成测试以外,开发阶段大家应该是共用一个数据库脚本集合,而不是共用一个数据库。共用数据库并不会给你带来更多好处,只会更麻烦,今天张三改了里面的数据,明天李四又改成其他的,怎么破。集成测试的话当然是和生产环境分开了,主要是因为生产环境不能谁都上去deubg吧,但是测试环境需要。如果实在要用一个数据库, 那还是用vagrant,只是大家连的数据库是同一个。
barbery
2013-11-22 17:55:26 +08:00
@usoluyun 谢谢回复,请问有相关博客或者资料推荐吗,我觉得你说的很有道理,但是我还是好像不知道从哪里下手的感觉
msg7086
2013-11-23 13:47:02 +08:00
>因为mysql开放外网连接3306端口的话,可能会被人用软件来爆破密码,然后就导致db数据泄露

「然后」这个词跳跃性太大了。你账号密码设的复杂点,这个「然后」说不定就是几百年以后了。

另外mysql账号认证支持来源限制,你限制成自己的IP不就行了。

虚拟机如果实在觉得VB卡的话可以试试vmware,说不定有惊喜。
wangyongbo
2013-11-23 14:27:29 +08:00
@initialdp 修改端口其实没有用。除了1 其他三条 都挺好。
barbery
2013-11-23 21:30:48 +08:00
@msg7086 恩,你说的有一定道理,因为这方面经验不足,想看看业界主流做法都是怎么解决这个问题的。。。拨号上网的,IP经常变是个问题啊。。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/90166

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX