软件星级:4分
标签: 加密
Stunnel windows版是一款文件传输加密软件。大家都知道在网络上传输文件的时候,安全性是很重要的,而它能够确保安全,支持各种加密协议。服务器的配置方法也很简单,下文有教程。
Stunnel是一种代理,旨在为现有客户端和服务器添加TLS加密功能,而无需对程序代码进行任何更改。 其架构针对安全性,可移植性和可扩展性(包括负载平衡)进行了优化,使其适用于大型部署。
Stunnel使用OpenSSL库进行加密,因此它支持将任何加密算法编译到库中。只要构建过程符合其安全策略,它就可以受益于OpenSSL FIPS对象模块的FIPS 140-2验证。可以在NIST网页上下载扫描的FIPS 140-2验证证书文档。OpenSSL FIPS 140-2模块目前仅适用于OpenSSL 1.0.2。根据我们的客户支持计划,可根据要求提供支持 FIPS的stunnel Windows安装程序。
1、可移植性(线程模型)
PTHREAD(Posix)
FORK(传统的Unix)
UCONTEXT(用户级别)
WIN32
2、性能和可伸缩性
使用循环和优先级策略对后端服务器进行负载平衡
外部会话缓存(用于群集)
压缩(有限带宽)
3、支持OpenSSL安全功能
使用TLS-PSK(预共享密钥)和证书进行访问控制
CRL和OCSP证书撤销
SNI(服务器名称指示)支持基于名称的虚拟服务器
PFS(Perfect Forward Secrecy)与DH和ECDH密钥协议
FIPS模式(符合标准)
OpenSSL引擎,包括CAPI(Microsoft CryptoAPI)
4、其他跨平台功能
远程(套接字)和本地(inetd风格)模式
在身份验证失败时重定向TLS客户端连接
IPv6支持
使用stunnel保护samba
SMB又名CIFS(通用互联网文件系统)是一种无处不在的文件共享机制,但不幸的是它非常不安全。所有文件都通过线路清除,如果您不配置密码加密,甚至密码也会以明文形式发送。
目前CIFS协议中没有内置加密或安全性,也没有任何可用作Samba的扩展,因此我们不得不求助于外部方法。
保护Samba的一个更好的方法是使用stunnel。这是一个小工具,它侦听客户端计算机上的端口,并将发送到该端口的所有数据转发到另一个端口/机器,通过(Open)SSL加密。
1、设置服务器
配置samba
您可以像平常一样设置服务器,如如何设置Samba服务器中所述。
如果您希望仅允许安全流量,可以使用以下语句在localhost上监听smb.conf:
# Only listen on loopback interface
socket address=127.0.0.1
2、配置stunnel
您可以安装安全性/安全通道从?pkgsrc。然后,您可以/usr/pkg/share/examples/stunnel/stunnel.conf-sample根据需要复制和修改它。如果您只需要最低限度来获得安全的samba设置,那么以下内容就足够了:
3、用于安全samba设置的简单stunnel配置
# OpenSSL certificate
cert = /usr/pkg/etc/stunnel/stunnel.pem
# Run chrooted as nobody
chroot = /var/run/stunnel
setuid = nobody
setgid = nobody
# This file is created after chrooting
pid = /stunnel
# Accept connections on port 800, on any interface
[smb]
accept = 0.0.0.0:800
# instead of port 139, port 445 will also work, unless you're using Mac OS X clients
connect = localhost:139
如您所见,您需要一个SSL证书/密钥。这可以像这样生成:
# openssl req -new -nodes -x509 -out stunnel/stunnel.pem -keyout /etc/stunnel/stunnel.pem
4、运行stunnel
只需添加stunnel=yes到您的/etc/rc.conf:
# echo "stunnel=yes" >> /etc/rc.conf
# /etc/rc.d/stunnel start
警告:stunnel很安静。即使它出错,它也会无声地失败。检查pgrep它是否正在运行。
5、配置客户端
Unix客户端
在Unix客户端上,您只需安装并运行security / stunnel,如上所述。您需要交换端口号并将其置于客户端模式。即,你stunnel.conf应该看起来像这样:
客户端= YES; [smb] accept = localhost:139 connect = servername:800
这使您的客户端充当您可以连接的samba服务器。一旦连接到您的计算机,数据就会被加密并转发到servername。您可以rc.conf像在服务器端一样运行stunnel 。
当然,您可以通过连接到localhost轻松测试它:
# smbclient -U yoda //localhost/myshare