All Projects → fangjinuo → audit

fangjinuo / audit

Licence: Apache-2.0 license
A common audit framework for java application

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to audit

cis-benchmark-centOS-8
Auditing Script based on CIS-BENCHMARK CENTOS 8
Stars: ✭ 34 (+21.43%)
Mutual labels:  auditing, audit
Windows Secure Host Baseline
Configuration guidance for implementing the Windows 10 and Windows Server 2016 DoD Secure Host Baseline settings. #nsacyber
Stars: ✭ 1,288 (+4500%)
Mutual labels:  auditing, audit
Django Easy Audit
Yet another Django audit log app, hopefully the simplest one.
Stars: ✭ 289 (+932.14%)
Mutual labels:  auditing, audit
intercept
INTERCEPT / Policy as Code Static Analysis Auditing / SAST
Stars: ✭ 54 (+92.86%)
Mutual labels:  auditing, audit
Laravel Auditing
Record the change log from models in Laravel
Stars: ✭ 2,210 (+7792.86%)
Mutual labels:  auditing, audit
pg-audit-json
Simple, easily customised trigger-based auditing for PostgreSQL (Postgres). See also pgaudit.
Stars: ✭ 34 (+21.43%)
Mutual labels:  auditing, audit
Maplesyrup
Assesses CPU security of embedded devices. #nsacyber
Stars: ✭ 121 (+332.14%)
Mutual labels:  auditing, audit
Daudit
🌲 Configuration flaws detector for Hadoop, MongoDB, MySQL, and more!
Stars: ✭ 108 (+285.71%)
Mutual labels:  auditing
Filewatcher
A simple auditing utility for macOS
Stars: ✭ 233 (+732.14%)
Mutual labels:  auditing
Information Security Tasks
This repository is created only for infosec professionals whom work day to day basis to equip ourself with uptodate skillset, We can daily contribute daily one hour for day to day tasks and work on problem statements daily, Please contribute by providing problem statements and solutions
Stars: ✭ 108 (+285.71%)
Mutual labels:  auditing
Gscan
本程序旨在为安全应急响应人员对Linux主机排查时提供便利,实现主机侧Checklist的自动全面化检测,根据检测结果自动数据聚合,进行黑客攻击路径溯源。
Stars: ✭ 1,177 (+4103.57%)
Mutual labels:  auditing
Cag
Crypto Audit Guidelines
Stars: ✭ 115 (+310.71%)
Mutual labels:  auditing
Mitm
Man in the middle tool
Stars: ✭ 30 (+7.14%)
Mutual labels:  audit
ecaudit
Ericsson Audit plug-in for Apache Cassandra
Stars: ✭ 36 (+28.57%)
Mutual labels:  audit
audits
Subset of public audit reports issued by ChainSecurity. For more, please visit:
Stars: ✭ 27 (-3.57%)
Mutual labels:  audit
cis benchmarks audit
Simple command line tool to check for compliance against CIS Benchmarks
Stars: ✭ 182 (+550%)
Mutual labels:  audit
Tracker Enabled Dbcontext
Tracker-enabled DbContext offers you to implement full auditing in your database
Stars: ✭ 210 (+650%)
Mutual labels:  auditing
Entityframework.commontools
Extensions, Auditing, Concurrency Checks, JSON properties and Transaction Logs for EntityFramework and EFCore
Stars: ✭ 82 (+192.86%)
Mutual labels:  auditing
VersioningWithEnvers
Versioning and Auditing with Hibernate Envers.
Stars: ✭ 0 (-100%)
Mutual labels:  auditing
Dirstalk
Modern alternative to dirbuster/dirb
Stars: ✭ 210 (+650%)
Mutual labels:  auditing

audit

一个通用的 Audit (审计)框架。如果要接入4A审计时,特别方便哟,同时也高度定制化。

maven

教程

Features

  1. 操作定义支持多种方式
    • @Operation 注解方式
    • 在 yaml 配置文件配置方法全名的方式
    • 在 yaml 配置文件配置 URL template 的方式
    • 允许自定义
  2. 操作资源获取支持多种方式
    • 在 yaml 配置方法参数名称的方式
    • 支持注解方式
    • 支持List, Map, Entity解析等
    • 支持自定义
  3. 支持 JDK6+
  4. 支持 Java, Web应用

Example

给一个SpringBoot应用快速加上审计功能,也可以直接去参考 audit-examples-springmvcdemo

第一步:引入相关Jar包

    <dependency>
        <groupId>io.github.bes2008.solution.audit</groupId>
        <artifactId>audit-spring-boot-starter</artifactId>
        <version>${audit.version}</version>
    </dependency>

第二步:在application.yml中配置审计功能

audit:
  enabled: true     # 开关
  async-mode: false # 异步模式执行,还是同步模式执行,对于 web应用目前暂时强制采用同步模式
  topics: [DEFAULT, LOGIN_LOGOUT]
  topic-configs:
    - name: DEFAULT
      ring-buffer-size: 1024
      producer-type: MULTI
    - name: LOGIN_LOGOUT      # topic的name
      ring-buffer-size: 512   # topic的 ring buffer size ,强制要求是 pow(2)
      producer-type: SINGLE   # 生产者是单线程,还是多线程,可选值是 SINGLE,MULTI
  http-interceptor-patterns:  # Spring MVC HandlerInterceptor的拦截 pathPatterns
    - /consumers/**
    - /users/**
  advisor-pointcut:
    expression: execution(public * com.jn.audit.examples.springmvcdemo.common.controller.*Controller.*(..))

第三步:设置操作定义 参考 audit-examples-springmvcdemo 下的 operation.yml文件

第四步:在application.yml中配置定义文件位置

operation:
  definition:                           # 操作定义
    location: classpath:/operation.yml  # 目前只内置了 yml风格的配置文件
    reload-interval-in-seconds: 60      # 如果值 >0 则会定时的重新加载,在开发环境下有很有用

只需上述4步,然后访问应用就会有相应的日志产生。 如果想把审计日志写入数据库,或者需要自定义审计日志消费者,只需要实现 com.jn.audit.mq.Consumer接口并订阅响应的topic即可。 可以参考:audit-examples/audit-examples-springmvcdemo 中的AuditConfig.java

import com.jn.audit.core.Auditor;
import com.jn.audit.examples.springmvcdemo.service.DbService;
import com.jn.audit.mq.MessageTopicDispatcher;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;

@Configuration
public class AuditConfig {

    private DbService dbService;

    public DbService getDbService() {
        return dbService;
    }

    /**
     * 这是一个自定义的写入数据库的 Consumer
     */
    @Autowired
    public void setDbService(Auditor auditor, DbService dbService) {
        this.dbService = dbService;
        MessageTopicDispatcher dispatcher = auditor.getMessageTopicDispatcher();
        dispatcher.subscribe("DEFAULT", dbService);
    }

}

推广

  • langx 系列
    • langx-js:TypeScript, JavaScript tools
    • langx-java: Java tools ,可以替换guava, apache commons-lang,io, hu-tool等
  • easyjson: 一个通用的JSON库门面,可以无缝的在各个JSON库之间切换,就像slf4j那样。
  • sqlhelper: SQL工具套件(通用分页、DDL Dump、SQLParser、URL Parser、批量操作工具等)。
  • esmvc: ElasticSearch 通用客户端,就像MyBatis Mapper那样顺滑
  • agileway: 常用框架扩展
  • audit:通用的Java应用审计框架

鸣谢

最后,感谢 Jetbrains 提供免费License,方便了开源项目的发展。

Jetbrains

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].