Swimlane은 자동화를 좋아할 뿐만 아니라 보안 팀을 지원하는 오픈 소스 소프트웨어(OSS)를 개발하고 공유하는 것도 좋아합니다. Elastic Stack 테스트 및 배포를 더욱 쉽게 만들어주는 새로운 오픈 소스 프로젝트인 elk-tls-docker를 출시하게 되어 기쁩니다. 이 프로젝트는 여러 Elastic 오픈 소스 소프트웨어 솔루션의 생성을 자동화합니다.
Elk-tls-docker는 자체 서명 인증서 또는 Let's Encrypt 인증서(SWAG 사용)를 이용하여 Elastic Stack을 설정하고 생성하는 데 도움을 줍니다. 이 프로젝트는 Elastic Security의 내장 기능(탐지, 신호, 사례, Elastic Endpoint 등)을 테스트하고 사용할 수 있도록 개발되었습니다.
이 docker-compose 프로젝트는 버전 7.9.2를 기반으로 다음과 같은 Elastic 컨테이너를 생성합니다.
- 엘라스틱서치
- 로그스태시
- 키바나
- 패킷비트
- 파일비트
elk-tls-docker는 두 가지 모드로 실행할 수 있습니다. 첫 번째이자 가장 일반적인 모드는 표준 개발 모드입니다. 두 번째는 유사 운영 환경 모드입니다. 이 두 모드의 주요 차이점은 개발 모드에서는 자체 서명 인증서를 생성하고 "운영" 모드에서는 Let's Encrypt를 사용하여 인증서를 생성한다는 것입니다.
개발 환경
기본적으로 elk-tls-docker는 몇 가지 놀라운 기능을 테스트할 수 있는 개발 환경을 설정하는 데 도움을 줍니다. 탄력적 보안. 먼저 저장소를 로컬 시스템으로 복제하거나 복사해야 합니다.
git clone https://github.com/swimlane/elk-tls-docker.git elk-tls-docker cd elk-tls-docker
elk-tls-docker를 사용하려면 모든 파일이 필요하므로 전체 저장소가 필요합니다.
저장소와 함께 Docker 및 Docker Compose도 설치되어 있어야 합니다. apt-get 명령어를 사용하여 설치할 수 있으며, 다음 단계를 따르세요. 이 방향.
제공된 내용도 복사해야 합니다. .env-예제 파일을 만들고 새로 만드세요 .env 파일.
설정을 완료했거나 기본 설정을 적용한 후에는 다음 명령어를 실행하여 자체 서명 인증서를 생성하십시오.
docker-compose -f docker-compose.setup.yml run --rm certs
다음으로, 다음 명령어를 실행하여 개발 환경을 설정하십시오.
docker-compose up -d
docker-compose가 필요한 모든 이미지를 다운로드하고 컨테이너를 빌드한 후에는 다음 경로로 이동하여 Kibana에 접속할 수 있습니다.
참고로, 몇 분 정도 소요될 수 있지만 키바나가 시작되면 제공된 사용자 이름과 비밀번호를 입력하여 로그인 페이지로 이동합니다. .env 파일
자, 이제 Elastic Security 개발 환경이 구축되었습니다!
Let's Encrypt 및 가상 프로덕션 환경
또한 활용할 수도 있습니다. 렛츠인크립트 실제 운영 환경과 유사한 환경에서 Kibana, Elasticsearch 또는 기타 서비스에 외부에서 액세스하려면 인증서가 필요하지만 몇 가지 추가 요구 사항이 있습니다.
- 등록된 도메인 이름
- DNS 레코드가 올바르게 설정되어 호스트 IP를 가리키고 있습니다.
- 호스팅 환경을 가리키는 네임서버
- 시스템의 IP 주소를 가리키는 기록
- 서브도메인 구성을 위한 CNAME 레코드가 생성되었습니다.
- Docker 및 Docker Compose를 실행할 수 있는 Ubuntu 또는 기타 호스트 시스템
핵심은 같지만, 추가적으로 수행해야 할 단계들이 있습니다. 다행히 저는 이러한 과정들을 문서화해 두었습니다. 여기가 높은 수준입니다 그리고 예를 제시했습니다. 여기서 자세히 살펴보세요. 기본 단계는 다음과 같습니다.
- 호스트 IP를 가리키도록 DNS 레코드를 설정하세요.
- 호스팅 환경을 가리키는 네임서버
- 시스템의 IP 주소를 가리키는 기록
- 서브도메인 구성을 위한 CNAME 레코드가 생성되었습니다.
- 수정하세요 .env 에 의해:
- 도메인 이름을 지정하세요
- SUBDOMAIN 또는 SUBFOLDER 값을 지정합니다.
- STAGING을 false로 설정
- 다음 명령어를 순서대로 실행하세요:
`docker-compose -f docker-compose.setup.yml run --rm certs`, `docker-compose -f docker-compose.production.yml up`, `docker-compose down` 또는 Ctrl + X/C 키를 누르세요. `docker-compose -f docker-compose.setup.yml run --rm certs # yes again`, `docker-compose -f docker-compose.production.yml up -d # yes again`
이제 끝입니다! https://{subdomain}.{domain.com} 주소를 통해 외부에서 Kibana 인스턴스에 접속할 수 있습니다.
추가 설정
환경 설정이 완료되면 Elastic Security의 뛰어난 기능들을 최대한 활용하기 위해 몇 가지 추가적인 선택적 구성을 진행할 수 있습니다.
-
새로운 슈퍼유저 생성하기: 기본적으로 elk-tls-docker는 내장 사용자를 사용합니다. 탄력 있는 제공된 비밀번호는 .env 파일에 설정한 비밀번호입니다. 추가 또는 다른 슈퍼유저 계정을 생성하려면 다음을 활용할 수 있습니다. 제공된 파이썬 스크립트 그렇게 하려면 반드시 다음 사항을 확인해야 합니다. _주인 그리고 _비밀번호 설정이 올바르게 되어 있고 추가 정보가 포함되어 있습니다. _몸 사용자의 요구사항에 맞게 설정됩니다.
-
인덱스 매핑 수정: Kibana에서 Elastic Security를 사용할 때 내장 보고서는 Elastic Common Schema 데이터 필드에 매핑되지만, 내장 탐지 인덱스 키 매핑을 수정해야 할 수도 있습니다. 테스트 및 기타 연구 결과에 따르면 인덱스 매핑 필드는 다음을 사용하여 수정할 수 있습니다. 제공된 스크립트.
-
테스트 데이터를 Elasticsearch로 전송합니다. elk-tls-docker를 즉시 테스트하고 싶다면 다음을 사용할 수 있습니다. 제공된 스크립트 저희가 개발한 또 다른 오픈소스 프로젝트를 활용하여 데이터를 Elasticsearch로 전송합니다. 소셜페이커. 원하는 만큼 스트리밍할 수 있습니다. 가짜 원하는 대로 Elastic Common Schema 문서를 전송할 수 있습니다. 단, 전송할 문서 수와 Elasticsearch에 사용할 자격 증명을 스크립트에서 수정하기만 하면 됩니다.
-
Filebeat에 테스트 데이터 전송: 마지막으로, Elastic Filebeat가 올바르게 설정되었는지 확인하려면 소켓을 통해 텍스트 데이터(또는 파일)를 Filebeat로 직접 전송해 볼 수 있습니다. Filebeat는 Logstash를 거쳐 최종적으로 Elasticsearch에서 처리됩니다. 자세한 내용은 다음을 참조하세요. 여기에 제공된 스크립트.
elk-tls-docker를 확인해 주셔서 감사합니다! 이 제품이 Elastic Stack을 빠르게 설정하고 테스트하는 데 도움이 되기를 바랍니다!
스윔레인 터빈의 작동 모습을 확인하세요
전문가와 함께 스윔레인 터빈 라이브 데모를 예약하세요! 당사의 AI 기반 보안 자동화 플랫폼이 조직 전체의 보안 문제를 해결하는 데 어떻게 도움이 되는지 알아보세요.

