m****r 发帖数: 51 | 1 问题是这样的,client端用C++开发,发请求到server端的redis数据库请求数据,
redis的traffic都是不加密的,使用ssh tunnel可以加密traffic,但是如果在本机运行
个网络抓包的程序,从c++ client到本机的ssh tunnel之间的traffic如何做到加密呢
?大神帮忙看看有什么好的办法没有,多谢 |
f*******t 发帖数: 7549 | 2 本机流量为什么要加密?
能抓包已经有root权限了,想干啥都行,就算一部分流量加了密也没意义
【在 m****r 的大作中提到】 : 问题是这样的,client端用C++开发,发请求到server端的redis数据库请求数据, : redis的traffic都是不加密的,使用ssh tunnel可以加密traffic,但是如果在本机运行 : 个网络抓包的程序,从c++ client到本机的ssh tunnel之间的traffic如何做到加密呢 : ?大神帮忙看看有什么好的办法没有,多谢
|
m****r 发帖数: 51 | 3 client是要给end user用的,如果end user能看到进入tunnel之前的明文traffic,那就
可以知道redis服务器的密码和关于redis操作的所有命令,谁能保证你的用户不是你的
竞争对手或者是...知道密码连接上redis server,一个命令就可以把redis里的内容全
部清除,那你的service不就是立马玩完了,我现在自己测试,可以用抓包软件看见
client和redis server连接的密码明文和所有命令
【在 f*******t 的大作中提到】 : 本机流量为什么要加密? : 能抓包已经有root权限了,想干啥都行,就算一部分流量加了密也没意义
|
l*******m 发帖数: 1096 | 4 最简单的方法就是在server端加一台机器,只能从它访问redis, 数据库隔离不都这么
做?
【在 m****r 的大作中提到】 : client是要给end user用的,如果end user能看到进入tunnel之前的明文traffic,那就 : 可以知道redis服务器的密码和关于redis操作的所有命令,谁能保证你的用户不是你的 : 竞争对手或者是...知道密码连接上redis server,一个命令就可以把redis里的内容全 : 部清除,那你的service不就是立马玩完了,我现在自己测试,可以用抓包软件看见 : client和redis server连接的密码明文和所有命令
|
f*******t 发帖数: 7549 | 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连接的密码明文和所有命令
|
m****r 发帖数: 51 | 6 如果上一层restful service会影响效率和速度,用户少可能影响不大,人多了就不行了
db
【在 f*******t 的大作中提到】 : client肯定不能直接连数据库啊,你要在server端做一个web service,把client和db : 隔离开
|
m****r 发帖数: 51 | 7 client直接连上slave,然后slave和master是同步的,即使slave被黑了,可以马上从
master恢复? 还是加一层web service?
【在 l*******m 的大作中提到】 : 最简单的方法就是在server端加一台机器,只能从它访问redis, 数据库隔离不都这么 : 做?
|
w**z 发帖数: 8232 | 8 你牛,让 client 直接搞。
行了
【在 m****r 的大作中提到】 : 如果上一层restful service会影响效率和速度,用户少可能影响不大,人多了就不行了 : : db
|
m****r 发帖数: 51 | 9 client是c++编译好了的windows可执行文件,如果end user对网络安全不是太懂就没有
太大问题,就怕end user用户里面有专门研究这方面的...现在主要是在考虑效率方面
,毕竟做大量的数据分发,上restful service效率上不去
【在 w**z 的大作中提到】 : 你牛,让 client 直接搞。 : : 行了
|
w**z 发帖数: 8232 | 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效率上不去
|
|
|
l*******m 发帖数: 1096 | 11 如果你认为rest慢,可以用grpc, 正好你用CPP
【在 m****r 的大作中提到】 : client是c++编译好了的windows可执行文件,如果end user对网络安全不是太懂就没有 : 太大问题,就怕end user用户里面有专门研究这方面的...现在主要是在考虑效率方面 : ,毕竟做大量的数据分发,上restful service效率上不去
|
m****r 发帖数: 51 | 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?
|
l********n 发帖数: 490 | 13 试试stunnel?
【在 m****r 的大作中提到】 : 关键是redis不支持解密,c++ client这边加密好做,全部有现成的代码和库,现在看 : 来要比较高效一点的可能只有改redis源代码,加一段解密的程序
|
n*********2 发帖数: 357 | 14 他这个问题用 channel security 的工具(像stunnel, SSH forwarding)解决不了。
在这个问题里,竞争对手可以用IDA Pro类似的工具去检查代码来找到那些指令。
【在 l********n 的大作中提到】 : 试试stunnel?
|
z*y 发帖数: 1311 | 15 看来只能直接用secure library了(比如:openssl)
还要写一个server端和redis交互 |
c*********e 发帖数: 16335 | 16 agree. let the client log in as another user without admin role.
【在 f*******t 的大作中提到】 : 本机流量为什么要加密? : 能抓包已经有root权限了,想干啥都行,就算一部分流量加了密也没意义
|