avatar
ssh tunnel加密的问题# Programming - 葵花宝典
m*r
1
问题是这样的,client端用C++开发,发请求到server端的redis数据库请求数据,
redis的traffic都是不加密的,使用ssh tunnel可以加密traffic,但是如果在本机运行
个网络抓包的程序,从c++ client到本机的ssh tunnel之间的traffic如何做到加密呢
?大神帮忙看看有什么好的办法没有,多谢
avatar
f*t
2
本机流量为什么要加密?
能抓包已经有root权限了,想干啥都行,就算一部分流量加了密也没意义

【在 m****r 的大作中提到】
: 问题是这样的,client端用C++开发,发请求到server端的redis数据库请求数据,
: redis的traffic都是不加密的,使用ssh tunnel可以加密traffic,但是如果在本机运行
: 个网络抓包的程序,从c++ client到本机的ssh tunnel之间的traffic如何做到加密呢
: ?大神帮忙看看有什么好的办法没有,多谢

avatar
m*r
3
client是要给end user用的,如果end user能看到进入tunnel之前的明文traffic,那就
可以知道redis服务器的密码和关于redis操作的所有命令,谁能保证你的用户不是你的
竞争对手或者是...知道密码连接上redis server,一个命令就可以把redis里的内容全
部清除,那你的service不就是立马玩完了,我现在自己测试,可以用抓包软件看见
client和redis server连接的密码明文和所有命令

【在 f*******t 的大作中提到】
: 本机流量为什么要加密?
: 能抓包已经有root权限了,想干啥都行,就算一部分流量加了密也没意义

avatar
l*m
4
最简单的方法就是在server端加一台机器,只能从它访问redis, 数据库隔离不都这么
做?

【在 m****r 的大作中提到】
: client是要给end user用的,如果end user能看到进入tunnel之前的明文traffic,那就
: 可以知道redis服务器的密码和关于redis操作的所有命令,谁能保证你的用户不是你的
: 竞争对手或者是...知道密码连接上redis server,一个命令就可以把redis里的内容全
: 部清除,那你的service不就是立马玩完了,我现在自己测试,可以用抓包软件看见
: client和redis server连接的密码明文和所有命令

avatar
f*t
5
client肯定不能直接连数据库啊,你要在server端做一个web service,把client和db
隔离开

【在 m****r 的大作中提到】
: client是要给end user用的,如果end user能看到进入tunnel之前的明文traffic,那就
: 可以知道redis服务器的密码和关于redis操作的所有命令,谁能保证你的用户不是你的
: 竞争对手或者是...知道密码连接上redis server,一个命令就可以把redis里的内容全
: 部清除,那你的service不就是立马玩完了,我现在自己测试,可以用抓包软件看见
: client和redis server连接的密码明文和所有命令

avatar
m*r
6
如果上一层restful service会影响效率和速度,用户少可能影响不大,人多了就不行了

db

【在 f*******t 的大作中提到】
: client肯定不能直接连数据库啊,你要在server端做一个web service,把client和db
: 隔离开

avatar
m*r
7
client直接连上slave,然后slave和master是同步的,即使slave被黑了,可以马上从
master恢复? 还是加一层web service?

【在 l*******m 的大作中提到】
: 最简单的方法就是在server端加一台机器,只能从它访问redis, 数据库隔离不都这么
: 做?

avatar
w*z
8
你牛,让 client 直接搞。

行了

【在 m****r 的大作中提到】
: 如果上一层restful service会影响效率和速度,用户少可能影响不大,人多了就不行了
:
: db

avatar
m*r
9
client是c++编译好了的windows可执行文件,如果end user对网络安全不是太懂就没有
太大问题,就怕end user用户里面有专门研究这方面的...现在主要是在考虑效率方面
,毕竟做大量的数据分发,上restful service效率上不去

【在 w**z 的大作中提到】
: 你牛,让 client 直接搞。
:
: 行了

avatar
w*z
10
可以用https? 如果tcp, 只能自己加密
https://security.stackexchange.com/questions/39109/is-there-an-alternative-
to-tcp-ip-that-encrypts-end-to-end
IPsec?

【在 m****r 的大作中提到】
: client是c++编译好了的windows可执行文件,如果end user对网络安全不是太懂就没有
: 太大问题,就怕end user用户里面有专门研究这方面的...现在主要是在考虑效率方面
: ,毕竟做大量的数据分发,上restful service效率上不去

avatar
l*m
11
如果你认为rest慢,可以用grpc, 正好你用CPP

【在 m****r 的大作中提到】
: client是c++编译好了的windows可执行文件,如果end user对网络安全不是太懂就没有
: 太大问题,就怕end user用户里面有专门研究这方面的...现在主要是在考虑效率方面
: ,毕竟做大量的数据分发,上restful service效率上不去

avatar
m*r
12
关键是redis不支持解密,c++ client这边加密好做,全部有现成的代码和库,现在看
来要比较高效一点的可能只有改redis源代码,加一段解密的程序

【在 w**z 的大作中提到】
: 可以用https? 如果tcp, 只能自己加密
: https://security.stackexchange.com/questions/39109/is-there-an-alternative-
: to-tcp-ip-that-encrypts-end-to-end
: IPsec?

avatar
l*n
13
试试stunnel?

【在 m****r 的大作中提到】
: 关键是redis不支持解密,c++ client这边加密好做,全部有现成的代码和库,现在看
: 来要比较高效一点的可能只有改redis源代码,加一段解密的程序

avatar
n*2
14
他这个问题用 channel security 的工具(像stunnel, SSH forwarding)解决不了。
在这个问题里,竞争对手可以用IDA Pro类似的工具去检查代码来找到那些指令。

【在 l********n 的大作中提到】
: 试试stunnel?
avatar
z*y
15
看来只能直接用secure library了(比如:openssl)
还要写一个server端和redis交互
avatar
c*e
16
agree. let the client log in as another user without admin role.

【在 f*******t 的大作中提到】
: 本机流量为什么要加密?
: 能抓包已经有root权限了,想干啥都行,就算一部分流量加了密也没意义

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。