侧边栏壁纸
博主头像
叶落无痕

鸿雁长飞光不度,鱼龙潜跃水成文。

  • 累计撰写 11 篇文章
  • 累计创建 7 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

Spiped隧道

yeluo
2024-11-25 / 0 评论 / 0 点赞 / 21 阅读 / 0 字
温馨提示:
本文最后更新于2024-11-25,若内容或图片失效,请留言反馈。 部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

一、介绍

Spiped 安全管道守护程序

Spiped(发音为“ess-pipe-dee”)是一个实用程序,用于在套接字地址之间创建对称加密和身份验证的管道,以便可以连接到一个地址(例如,localhost上的UNIX套接字)并透明地与另一个地址建立连接(例如,不同系统上的UNIX套接字)。这类似于“ssh -L”功能,但不使用 SSH,并且需要预共享的对称密钥。

Spiped使用强大且易于理解的加密组件:初始密钥协商使用HMAC-SHA256和经过身份验证的Diffie-Hellman密钥交换在标准的2048位“组14”上执行;密钥协商完成后,数据包在 CTR 模式下使用 AES-256 加密传输,并使用 HMAC-SHA256 进行身份验证。代码的简单性 - 总共约6000行C代码,其中2000行以下是特定于spiped的(其余的是源自kivalooTarsnap的库代码) - 使得spiped不太可能有任何安全漏洞。

在作者的2.5 GHz Intel Core 2笔记本电脑上,spiped以大约300 Mbps的速度运行。

二、安装

1、源码安装

https://www.tarsnap.com/spiped/spiped-1.6.2.tgz

2、docker安装

docker pull spiped

此图像自动从文件 () 中获取密钥,并在前台 () 中 spipip 运行。除此之外,它采用与喷嘴本身相同的选项。您可以通过运行不带参数的映像来列出可用标志:/spiped/key-k-F​

$ docker run -it --rm spiped
usage: spiped {-e | -d} -s <source socket> -t <target socket> -k <key file>
    [-DFj] [-f | -g] [-n <max # connections>] [-o <connection timeout>]
    [-p <pidfile>] [-r <rtime> | -R]

例如,运行 spiped 以在端口 8025 上获取加密连接并将其转发到 localhost 上的端口 25,如下所示:

$ docker run -d -v /path/to/keyfile:/spiped/key:ro -p 8025:8025 --init spiped -d -s '[0.0.0.0]:8025' -t '[127.0.0.1]:25'

通常,会将此映像与另一个链接的容器组合在一起。以下示例将采用端口 9200 上的加密连接,并将它们转发到名称为的容器中的端口 9200:elasticsearch​

$ docker run -d -v /path/to/keyfile:/spiped/key:ro -p 9200:9200 --link elasticsearch:elasticsearch --init spiped -d -s '[0.0.0.0]:9200' -t 'elasticsearch:9200'

如果您不需要任何权限来绑定到特权端口,则可以传递以使 spiped 以非特权用户身份运行:--user spiped​

$ docker run -d -v /path/to/keyfile:/spiped/key:ro --user spiped -p 9200:9200 --link elasticsearch:elasticsearch --init spiped -d -s '[0.0.0.0]:9200' -t 'elasticsearch:9200'

生成密钥

您可以通过运行以下命令来保存名为该文件夹的新密钥文件:spiped-keyfile/path/to/keyfile/​

$ docker run -it --rm -v /path/to/keyfile:/spiped/key spiped spiped-generate-key.sh

然后安全地传输到另一台主机(例如,通过使用 scp)。spiped-keyfile​

三、使用

​​

服务端命令

dd if=/dev/urandom bs=32 count=1 of=keyfile
spiped -d -s '[0.0.0.0]:8025' -t '[127.0.0.1]:25' -k keyfile

客户端命令

spiped -e -s '[127.0.0.1]:25' -t $SERVERNAME:8025 -k keyfile

0

评论区