我需要审计通过spring-integration流程传递的每一条消息,这是非常基本的。
应用程序从int redis:queue入站通道适配器读取,并写入int http:outbound网关。
输出网关有一个回复通道,以便接收超文本传输协议方法的响应,就是在这个确切的时刻,当我想注册de审核信息时,包括初始消息和超文本传输协议响应。
如果http方法失败,消息将转到errorHandler,我可以获得带有时间戳和有效负载的history对象,这非常适合审计。
但是,如果 http 方法有效(代码 200,201 ...),我会收到一条消息,其中包含带有状态代码的 ResponseEntity 对象,但我没有来自 redis 的初始有效负载。
那么,有没有办法将这两条消息(在向外发送超文本传输协议之前和超文本传输协议响应之后)关联起来,以便获得用于审计的完整信息?
提前感谢!
以下是集成流程:
<int:message-history/>
<int:channel id="responseChannel"/>
<int:channel id="responseError"/>
<int:logging-channel-adapter channel="responseChannel" level="INFO"
expression="@messageHandlerSpel.handle( #this )" id="logger"/>
<int:logging-channel-adapter channel="responseError"
level="ERROR" expression="@errorHandlerSpel.handle( #this )"
id="LogingERROR"/>
<int-redis:queue-inbound-channel-adapter id="inputRedis" connection-factory="redisCF"
channel="redisInput" queue="redis-input" serializer="" error-channel="responseError"/>
<int:channel id="redisInput" />
<int-http:outbound-gateway id="HttpOutbound" request-channel="redisInput"
url="http://{server}:{port}/{index}/{type}/{id}"
http-method="PUT" extract-request-payload="true" charset="UTF-8"
reply-channel="responseChannel" request-factory="requestFactory"/>
以及处理程序类:
@Component
public class MessageHandlerSpel {
public String handle(Message<byte[]> message) {
MessageHeaders msgH = message.getHeaders();
MessageHistory msgHistory =
message.getHeaders().get(MessageHistory.HEADER_NAME, MessageHistory.class);
... // Do whatever
return "";
}
一个技巧是在执行HTTP请求之前将请求有效负载
存储在自定义标头中。
收到响应后,请求标头将与该响应负载
合并。因此,在下游,您将同时拥有两者:标头中的请求和有效负载
中的回复。
消息历史
保持不变,没有理由以某种方式破解那里。
另一种方法基于
通过以下方式简单地复制/粘贴到标题:
<header-enricher>
<header name="requestPayload" expressio="payload"/>
</header-enricher>
应该够你用了。
您可以从Burp 仪表板(dashboard)中打开任务详细信息窗口(task details)来访问扫描任务中含有审计的具体项目。 该栏显示了每个项目的以下详细信息: 项目的编号。 目标主机的协议,Host和URL。 该项的当前状态。 针对被动,主动或是JS分析的各个审计阶段已完成进度。 该项按严重性分类后已确定的问题问题数量。 审计时发出的请求数。请注意,这不是针对插入点数量的线性函数 - 观
我的项目中有几个类是由Hibernate处理的,有些是由Envers审核的,有些则不是。现在,当我试图保存某个未经审计的实体时,我得到了以下信息: 有些人可能认为我的数据库中没有审计表,但是Envers甚至不应该试图寻找这个表,因为实体没有被审计。我的类看起来像这样: 因此,每个类都包含一个子类列表,其中包含对其父类的引用。这些类都没有用-注释标记,但它们引用了一些已审核的实体。然而,每个引用都用
一旦Spring Security发挥作用,Spring Boot Actuator就有一个灵活的审计框架,可以发布事件(默认情况下,“身份验证成功”,“失败”和“访问被拒绝”例外)。 此功能对于报告和基于身份验证失败实施锁定策略非常有用。 要自定义已发布的安全事件,您可以提供自己的AbstractAuthenticationAuditListener和AbstractAuthorizationA
不是每个问题都有技术性的答案。我曾经诊断过一台服务器,它对 ping、SSH 或控制台连接均无响应。 我不能确定这到底是硬件故障还是软件故障。 当我电话询问主机所在位置的站点客服时,奥秘最终被揭开了。他们告诉我: 先期抵达的两名不明身份的男子,进入大厦直奔服务器机房,拔下了机器,并轻易地将机器带出了大厦。 后来我们发现,在机房所在的地区(Missouri,M.O.)曾发生过一连串的电脑失窃案。 从
日志审计支持查看平台上的所有操作日志以及公有云的操作日志等。 操作日志 操作日志用于显示系统中所有操作信息。 云上日志 将公有云操作日志同步到云联壹云平台上统一查看。
该账号及其子账号的所有操作记录和登录日志,便于在发生问题时用户及时查看。 操作日志 登录历史 操作日志 记录用户及其子用户在页面的所有操作行为,可对操作行为进行追溯,并按照功能模块、操作行为等进行查询。 登录历史 记录用户及其子用户的所有登录行为,包括登录时间、登录IP、用户名、浏览器版本、登录方式等。