零信任实践之单包认证(SPA)

您所在的位置:网站首页 信任的字面意思 零信任实践之单包认证(SPA)

零信任实践之单包认证(SPA)

2024-07-13 09:54| 来源: 网络整理| 查看: 265

概况

随着零信任概念的越来越火热,产业界也都在考虑如何将零信任的理念落地到实践中。这其中SDP推动零信任的实践路上走出了一大步,所谓SDP又称软件定义边界,理论上来说可以替代传统的物理边界。SDP边界之间自有一套自己的认证和授权体系,与传统的通过账号密码认证不同。在这众多认证和授权体系当中,我们有必要了解一下SPA即单包认证的思路和实践

SPA/PK是什么

Port Knocking[PK]:字面意思指“敲端口”,它可以通过设置一系列规则动态的调整防火墙的策略或执行特定命令。它与SPA最大的区别在于PK的认证消息在packet header中传输,而SPA则在packet data。

Single Packet Authorization[SPA]:即单包认证,和PK的功能大致是相似的,但由于其认证消息存放在Packet data中,意味着可以传输更多的消息、并加强其安全性。

SPA实践之fwknop演示

接下来演示如何通过fwknop隐藏ssh服务,以及如何通过fwknop进行认证从而登录ssh服务

1. 环境要求

fwknop-client:ubuntu16,192.168.97.162 fwknop-server:ubuntu18,192.168.98.217

依赖:iptables;libfko;libgpgme;libpcap 依赖安装,不同系统的依赖名有所不同,可通过apt search xxx 确定依赖名。iptables ubuntu自带,无需安装

apt-get install libfko2 apt-get install libgpgme11 apt-get install libpcap0.8

在192.168.97.162上安装fwknop-client

apt-get install fwknop-client fwknop -V 查看客户端版本,若有显示,说明安装成功

在这里插入图片描述

在192.168.98.217上安装fwknop-server

apt-get install fwknop-server fwknopd -V 查看服务端版本

在这里插入图片描述

2. fwknop配置 fwknop 客户端配置【192.168.97.162】 fwknop-client客户端执行 fwknop -A tcp/22 -a 192.168.97.162 -D 192.168.98.217 --key-gen --use-hmac --save-rc-stanza

相关信息会写入在/home/username/.fwknoprc,执行

grep KEY /root/.fwknoprc

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TZNk9NZB-1587621711711)(evernotecid://E313BAD6-185D-4B09-A205-0D35B54ADFE7/appyinxiangcom/22766090/ENResource/p304)]

获得相关的KEY_BASE64以及HMAC_KEY_BASE64

KEY_BASE64 vyJbj2TmFLZvCBOBq07Uo1qgxMIDb4LvWyU7JhN4eJw= HMAC_KEY_BASE64 YQTWkgkFKH2e/5x/mO4KcOgga9fU68u/z+gC9Qt1i+rW/xYC5U8FG6vA6Ys7kiV6vr6Aj5DcA6He7qZJ/gU3gQ== fwknop 服务端配置【192.168.98.217】 首先启动ssh 服务 service ssh start

编辑/etc/fwktop/access.conf 将客户端生成的key添加该文件中,内容如下

REQUIRE_SOURCE_ADDRESS Y KEY_BASE64 vyJbj2TmFLZvCBOBq07Uo1qgxMIDb4LvWyU7JhN4eJw= HMAC_KEY_BASE64 YQTWkgkFKH2e/5x/mO4KcOgga9fU68u/z+gC9Qt1i+rW/xYC5U8FG6vA6Ys7kiV6vr6Aj5DcA6He7qZJ/gU3gQ==

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-baoy570w-1587621711713)(evernotecid://E313BAD6-185D-4B09-A205-0D35B54ADFE7/appyinxiangcom/22766090/ENResource/p305)]

配置iptables关闭22端口

iptables -I INPUT 1 -i ens33 -p tcp --dport 22 -j DROP iptables -I INPUT 1 -i ens33 -p tcp --dport 22 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT 网卡名根据fwknop服务端自己修改 fwknopd --fw-list-all 查看防火墙规则

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8lJu3yeq-1587621711714)(evernotecid://E313BAD6-185D-4B09-A205-0D35B54ADFE7/appyinxiangcom/22766090/ENResource/p308)]

启动fwknopd服务

fwknopd -R 重启服务 fwknopd reload 若重启失败则重载 fwknopd -S 查看fwktopd服务状态

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XAQ37H7l-1587621711715)(evernotecid://E313BAD6-185D-4B09-A205-0D35B54ADFE7/appyinxiangcom/22766090/ENResource/p306)]

效果演示 nmap 扫描22端口,可以看到端口被过滤,这是由于防火墙规则原因 nmap -p -Pn 192.168.97.162

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mckLg8H2-1587621711716)(evernotecid://E313BAD6-185D-4B09-A205-0D35B54ADFE7/appyinxiangcom/22766090/ENResource/p309)]

fwknop -n 192.168.98.217 进行fwknop认证 nmap -p -Pn 192.168.97.162

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5tYu8A99-1587621711717)(evernotecid://E313BAD6-185D-4B09-A205-0D35B54ADFE7/appyinxiangcom/22766090/ENResource/p310)] 可以看到端口重新开放,可以正常进行ssh连接,大约端口开放30s左右,就会重新关闭,在30s之间已经建立的连接则不会阻断

fwknop流量简析 首先查看fwknopd的服务端防火墙规则 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dFocJPIu-1587624811454)(evernotecid://E313BAD6-185D-4B09-A205-0D35B54ADFE7/appyinxiangcom/22766090/ENResource/p313)]

可以看到,只有2条规则,一条指定阻断所有到达22端口的流量,一条指定对已经连接的22端口流量作放行,不阻断

spaclient客户端进行认证,同时注意抓包 fwknop -n 192.168.98.217

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gBzvFHEn-1587624811457)(evernotecid://E313BAD6-185D-4B09-A205-0D35B54ADFE7/appyinxiangcom/22766090/ENResource/p314)]

可以看到客户端向服务端62201端口发送udp认证流量,服务端认证之后通过ping探测客户端是否存活 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JClui9e6-1587624811458)(evernotecid://E313BAD6-185D-4B09-A205-0D35B54ADFE7/appyinxiangcom/22766090/ENResource/p315)] 认证的Packet data经过加密 端口扫描确认此时端口已开放 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UCahnm57-1587624811460)(evernotecid://E313BAD6-185D-4B09-A205-0D35B54ADFE7/appyinxiangcom/22766090/ENResource/p316)]

fwknop服务端查看防火墙策略 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wwwxeOH8-1587624811461)(evernotecid://E313BAD6-185D-4B09-A205-0D35B54ADFE7/appyinxiangcom/22766090/ENResource/p317)]

可以看到,此时fwknopd创建了一条防火墙规则,允许来自fwknop客户端的ip连接22端口,该规则大约在30s之后失效

总结 无论是PK还是SPA,其主要是通过认证或特定的访问规则进而动态的控制系统防火墙进行端口资产的管理。PK/SPA均可以实现端口资产的隐藏,即灯下黑在身份认证的配置上,fwknop的受信身份凭证不是服务端下发的。从凭证生成的命令看,只涉及到客户端ip,并没有涉及身份的其他要素,是否可能存在盗用的危险?需要进一步了解目前的理解看,spaclient为受信客户端,spaserver为控制服务端。spaclient的端口资产是否可以被保护以及spaserver是否可以进一步保护其它客户端而不是其本身,需要进一步确认在认证成功的30s内,是否存在伪造客户端ip,进行登录的可能性? 参考链接

fwknop手册:http://www.cipherdyne.org/fwknop/docs/fwknop-tutorial.html Port Knocking实现参考: https://www.cnblogs.com/xiaoxiaoleo/p/8523322.html



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3