그린마스크 v0.2.0b1 출시

게시일2024-07-01작성: 배트맨 토토.io
관련 오픈 소스 보안

그린마스크 v0.2.0b1 출시

PostgreSQL 논리 덤프 및 익명화 도구

이 전공베타 릴리스새로운 기능과 리팩터링된 변환기를 도입하여 배트맨 토토의 유연성을 크게 향상시켜 비즈니스 요구 사항을 더욱 효과적으로 충족합니다. 배트맨 토토를 개선하고 지역 사회 요구 사항에 맞게 조정할 수 있도록 도와주세요. 귀하의 의견을 환영합니다.GitHub에 토론 공개.

그린마스크 개요

배트맨 토토는 데이터베이스 백업, 익명화 및 복원을 위한 다목적 오픈 소스 도구입니다. 이식된 PostgreSQL 라이브러리를 사용하여 순수 Go로 작성되었으며 플랫폼 독립적이고 상태 비저장이므로 스키마 수정이 필요하지 않습니다. 맞춤설정이 가능하며 기존 PostgreSQL 유틸리티와 호환됩니다.

배트맨 토토는 다음에 이상적입니다:

  • 일상적인 백업 및 복원 작업으로 데이터 무결성과 가용성을 보장합니다.
  • 스테이징 환경 및 분석을 위한 익명화 및 데이터 마스킹,민감한 보호데이터 유용성을 유지하면서 정보를 제공합니다.

주요 기능

  • 결정적 변환기— 해시를 기반으로 한 데이터 변환에 대한 결정론적 접근 방식 기능. 이렇게 하면 동일한 입력 데이터가 항상 동일한 출력 데이터를 생성하게 됩니다. 거의 모든 변압기 둘 중 하나를 지원합니다무작위또는해시모든 사용 사례에 범용으로 사용할 수 있는 엔진입니다.
  • 동적 매개변수— 거의 각 변환기는 동적 매개변수를 지원하므로 테이블 열 값에서 동적으로 변환기를 생성합니다. 이는 기능적 종속성을 해결하는 데 도움이 됩니다. 열 사이에 있고 제약 조건을 충족합니다.
  • 데이터베이스 유형 안전- 데이터를 검증하고 데이터베이스 드라이버를 활용하여 데이터 무결성을 보장합니다. 인코딩 및 디코딩 작업. 이 접근 방식은 데이터 형식의 보존을 보장합니다.
  • 변환 검증 및 유지 관리 용이- 난독화 개발 중에 배트맨 토토는 검증 기능을 제공합니다. 경고 및 변환 비교 기능을 통해 변환을 효과적으로 모니터링하고 유지할 수 있습니다. 소프트웨어 수명주기 전반에 걸쳐.
  • 분할된 테이블 변환 상속- 변환 구성을 한 번 정의하고 모든 구성에 적용 파티션을 나눈 테이블 내의 파티션을 사용하여 난독화 프로세스를 단순화합니다.
  • 무국적- 배트맨 토토는 논리적 덤프로 작동하며 기존 데이터베이스 스키마에 영향을 주지 않습니다.
  • 이전 버전과 호환 가능- 기존 바닐라 PostgreSQL 유틸리티와 동일한 기능과 프로토콜을 완벽하게 지원합니다. Greenmask에서 생성된 덤프는 pg_restore 유틸리티를 사용하여 성공적으로 복원할 수 있습니다.
  • 확장 가능- 사용자는 모든 프로그래밍 언어로 도메인 기반 변환을 구현할 수 있는 유연성을 갖습니다. 사전 정의된 템플릿을 사용하세요.
  • 다양한 저장공간 제공- 배트맨 토토는 로컬 및 원격 데이터 저장을 위한 다양한 저장 옵션을 제공합니다. 디렉터리 및 S3와 유사한 스토리지 솔루션을 포함합니다.

베타 버전의 놀이터 사용

그린마스크를 실행하고 싶다면놀이터베타 버전 실행의 경우:

git checkout 태그/v0.2.0b1 -b v0.2.0b1 docker-compose 실행 배트맨 토토-from-source

변경 사항 개요

  • 변환기에 동적 매개변수 도입
    • 이제 대부분의 변환기는 해당되는 경우 동적 매개변수를 지원합니다.
    • 동적 매개변수는 엄격하게 적용됩니다. 값을 다른 유형으로 캐스팅해야 하는 경우 Greenmask는 다음을 통해 액세스할 수 있는 템플릿과 사전 정의된 캐스팅 기능을 제공합니다.cast_to. 이 함수는 다음과 같이 빈번한 작업을 다룹니다.UnixTimestampToDate그리고IntToBool.
  • 변환 논리가 크게 리팩터링되어 변환기를 이전보다 더 사용자 정의 가능하고 유연하게 만들었습니다.
  • 변환 엔진 도입

    • 무작위- 의사 무작위 알고리즘을 기반으로 변환기 값을 생성합니다.
    • 해시- 해시 함수를 사용하여 변환기 값을 생성합니다. 현재는 다음을 활용합니다.샤3해시 함수는 안전하지만 느리게 수행됩니다. 안정 릴리스에는 다음 중에서 선택할 수 있는 옵션이 있습니다.샤3그리고SipHash.
  • 정적 매개변수 값 템플릿 도입

주목할만한 변화

코어

  • 소개된매개변수인터페이스가 이제 동적 및 정적 매개변수 모두에 대해 구현되었습니다.
  • 명확성을 높이고 포괄적인 문서 적용 범위를 위해 대부분의 툴킷 유형의 이름을 변경했습니다.
  • 리팩터링운전사초기화 논리.
  • 다음에 재정의된 유형에 대한 유효성 검사 경고를 추가했습니다.운전사.
  • 새로운 기능을 활용하기 위해 기존 내장 변환기를 마이그레이션했습니다.매개변수인터페이스.
  • 새로운 추상화를 구현했습니다.TransformationContext, 새로운 특성 변환 조건을 활성화하기 위한 첫 번째 단계입니다(#34).
  • 동적 및 정적 모드 모두에서 성능을 발휘하도록 대부분의 변환기를 최적화했습니다. 동적 모드는 유연성을 제공하는 반면 정적 모드는 높은 성능을 유지합니다. 필요한 변환 기능만 사용하면 변환 시간을 예측 가능하게 유지하는 데 도움이 됩니다.

문서

문서가 대폭 리팩터링되었습니다. 기능에 대한 새로운 정보와 변환기 설명 업데이트가 추가되었습니다.

변압기

  • 임의이메일- 무작위 및 결정적 엔진을 모두 지원하는 새로운 변환기를 도입합니다. 유연한 이메일 가치 생성이 가능합니다. 템플릿의 열 값을 사용하고 원래 도메인을 유지하도록 선택하거나 다음 중 하나를 선택할 수 있습니다.도메인매개변수.

  • NoiseDate, NoiseFloat, NoiseInt- 이 변환기는 무작위 엔진과 결정적 엔진을 모두 지원하며, 내부의 노이즈 임계값을 제어하는 동적 모드 매개변수를 제공합니다.그리고최대범위. 단일을 사용했던 이전 구현과 달리비율매개변수, 새로운 릴리스 기능최소비율그리고최대_비율매개변수를 사용하여 노이즈 값을 더 정확하게 정의합니다. 를 활용하여해시이 변환기의 엔진은 특히 동일한 솔트가 장기간 일관되게 사용되는 경우 공격자에 대한 통계 분석을 복잡하게 하여 보안을 강화합니다.

  • 소음숫자- 새로 구현된 변환기, 다음과 기능 공유NoiseInt그리고NoiseFloat, 그러나 숫자 값(큰 정수 또는 부동 소수점)용으로 특별히 설계되었습니다. 그것은 다음을 제공합니다.십진수분수로 값을 처리하는 매개변수입니다.

  • RandomChoice- 이제 다음을 지원합니다.해시엔진

  • 임의의 날짜, RandomFloat, RandomInt- 이제 해시 엔진 지원이 향상되었습니다. 임계값 매개변수그리고최대동적 모드를 지원하도록 업데이트되어 보다 유연한 구성이 가능해졌습니다.

  • 임의의 숫자- 숫자 유형(큰 정수 또는 부동 소수점)을 위해 특별히 설계된 새로운 변환기로, 다음과 유사한 기능을 공유합니다.RandomInt그리고RandomFloat, 그러나 큰 숫자 값을 처리하도록 맞춤화되었습니다.

  • RandomString- 이제 해시 엔진 모드 지원

  • RandomUnixTimestamp- 이 새로운 변환기는 선택 가능한 단위로 Unix 타임스탬프를 생성합니다. (, 밀리초, 마이크로초, 나노초). 기능이 유사함임의의 날짜, 해시 엔진 및 동적 매개변수를 지원합니다.그리고최대임계값, 다음을 사용하여 이러한 단위를 재정의하는 기능 포함min_unit그리고max_unit매개변수.

  • RandomUuid- 해시 엔진 지원 추가

  • RandomPerson- 대체하는 새로운 변환기를 구현했습니다.임의이름, RandomLastName, RandomFirstName, RandomFirstName남성, RandomFirstName여성, RandomTitle남성RandomTitle여성. 이 새로운 변환기는 이전 버전과 유사한 기능을 제공하면서 향상된 사용자 정의 기능을 제공합니다. 다음과 같은 개인 데이터를 생성합니다.이름, 제목, 제공된 내용을 기반으로 함성별매개변수, 이제 동적 모드를 지원합니다. 향후 마이너 버전에서는 기본 이름 데이터베이스를 재정의할 수 있습니다.

  • 추가됨ts수정- 시간에 대한 새로운 템플릿 함수.Time 개체 수정

  • 새로운 기능을 도입했습니다RandomIp지정된 넷마스크를 기반으로 임의의 IP 주소를 생성할 수 있는 변환기.

  • 새로 추가됨랜덤맥임의의 Mac 주소 생성을 위한 변환기.

  • 삭제된 변환기에는 다음이 포함됩니다.RandomMacAddress, 임의IPv4, 임의IPv6, RandomUnixTime, RandomTitle남성, RandomTitle여성, RandomFirstName, RandomFirstName남성, RandomFirstName여성, 임의의 성RandomName보다 유연하고 통합된 옵션 도입으로 인해.

유용한 링크