
보안 교육을 위한 고도로 접근 가능하고 자동화된 가상화 플랫폼
Haaukins는 보안 교육을 위한 접근성이 높고 자동화된 가상화 플랫폼입니다. 세 가지 주요 구성 요소(Docker, Virtualbox, Golang)로 이루어져 있으며, 구성 요소 간의 통신 및 오케스트레이션은 Go 프로그래밍 언어를 사용하여 관리됩니다. Haaukins 플랫폼에서 무언가를 관리하고 배포하기 위해 Go 환경을 사용하는 주된 이유는 Go의 쉬운 동시성 및 병렬 처리 메커니즘 때문입니다.
우리의 주요 목표는 사이버 보안에서 취약점을 찾는 방법을 배우기 위해 널리 받아들여진 접근 방식인 '캡처 더 플래그' 개념을 배우고자 하는 모든 사람을 참여시키는 것입니다. 기존의 모든 플랫폼과 달리, Haaukins는 취약점을 찾기 위해 설계된 운영 체제와 함께 자체 가상화 환경을 제공합니다.
다음 종속 항목은 로컬 환경에서 데몬을 실행하기 위해 별도로 설치해야 합니다.
클라이언트를 환경에 설치하기 위한 사전 요구 사항은 없습니다.
참고: Linux는 가상화 환경에서도 사용할 수 있습니다.
설치, 기타 연결된 저장소 및 추가 정보는 문서 사이트(https://docs.haaukins.com)를 통해 확인하십시오.
Haaukins 플랫폼은 버전 1.6.4부터 go modules를 사용하므로 종속 항목 관리가 매우 쉽습니다. go mod download 명령을 실행하기만 하면 됩니다.
$GOPATH/src/github.com/aau-network-security/haaukins/ 디렉토리에 있는지 확인한 후, 모든 테스트 파일을 실행하려면 다음 명령을 사용하십시오.
go test -v --race ./...
Haaukins 플랫폼은 클라이언트와 데몬 간의 통신에 gRPC를 사용합니다. 따라서 프로토콜 버퍼 명세(예: daemon/proto/daemon.proto)를 업데이트한 후, 다음 명령을 실행하여 해당 Go 코드 생성을 수행합니다.
cd $GOPATH/src/github.com/aau-network-security/haaukins/daemon/
protoc -I proto/ proto/daemon.proto --go_out=plugins=grpc:proto
GoReleaser가 릴리스 섹션을 처리합니다. 커밋에 태그만 지정하면 됩니다.
Travis는 server에 자동으로 배포합니다. 참고: 기본적으로 스크립트는 ~/.ssh/id_rsa 키를 사용하여 GitHub에 푸시합니다. 이 설정은 HKN_RELEASE_PEMFILE 환경 변수로 재정의할 수 있습니다.
잠시 시간을 내어 여기에서 알려진 문제를 확인하십시오.
Haaukins는 오픈 소스 프로젝트이며 오픈 소스 프로젝트 위에 구축되었습니다. 관심이 있으시다면 기여해 주시기 바랍니다.
시작하려면 기여 가이드를 확인하십시오.
AAU로서 우리는 오픈 소스 커뮤니티의 힘을 믿으며, 조직과 사용자에게 플랫폼을 테스트할 기회를 제공하고자 합니다. 당사가 할당한 자체 도메인을 받고 싶으시면 사전에 연락해 주십시오.
저작권 (c) 2019-현재, Haaukins