aicers / reproduce

Log collector for AICE
Apache License 2.0
0 stars 2 forks source link

Support server function to relay 3rd party log to Giganto #242

Open syncpark opened 1 year ago

syncpark commented 1 year ago

It's bad idea to modify Giganto to receive events from 3rd party product directly using their own protocol. And most Appliance product would deny to install REproduce in their system.

REproduce must support a server function that can relay logs from 3rd party products to Giganto.

syncpark commented 1 year ago

@msk @sehkone 이번 이슈에 대해서 검토 부탁합니다.

msk commented 1 year ago

3rd party 제품에서 REproduce로는 어떤 방식으로 로그를 보내는 건가요? 3rd party 제품에서 외부로 로그를 내보내는 통상적인 방법(syslog 등)이 있진 않나요?

syncpark commented 1 year ago

오늘부터 협의를 시작할 예정입니다. 일단 UTM 보안제품 2개 업체와 연동해야 합니다. syslog는 기본 기능으로 필요할 것으로 예상합니다. 데이터 암호화가 필요할 수 있습니다. (syslog-ng 방식) 그 외에 사전 등록된 대상으로부터만 로그를 수신하도록 접근 제어도 필요합니다.

msk commented 1 year ago

개별 제품과 연동할 것이 아니라 그쪽에다가는 syslog같은 표준적인 방법으로 보내라고 하고, 우린 거기서 읽는 편이 좋지 않나요?

syncpark commented 1 year ago

REproduce가 syslog 수신 기능을 지원하면, 전반적인 관리가 편해집니다. 하지만 시스템의 syslog가 로그를 수신해서 저장하고, REproduce가 거기서 읽어서 Giganto로 전송하게되면, syslog에 대한 수신설정, 접근 제한 설정, 파일 저장 관리, REproduce를 제어해서 저장된 파일을 전송하도록 관리하는 방법이 필요합니다.

이런 관리 작업을 UI에서 원격으로 수행해도록 구현해야 합니다. REproduce가 REview와 연동해서 관리할 수 있는 기능이 없으므로 다른 방법이 필요합니다.

syncpark commented 1 year ago

오늘 고객과 협의한 결과입니다:

보안장비와 개별 연동하는게 아니고 syslog 단독 방식이라서 일이 단순해졌습니다. 접근 제한 설정과 같은 관리업무는 필요 없습니다.

서버 기능보다는 syslog가 저장한 파일을 읽어서 처리해도 됩니다.

msk commented 1 year ago

syslog가 저장한 파일을 읽는 건 지금 REproduce로도 가능할텐데 추가로 어떤 일이 필요한가요?

syncpark commented 1 year ago

TODO:

  1. 시간 포맷 인식, 로그를 보낸 장비 혹은 IP 인식.
  2. syslog 메시지에서 CSV 데이터 분리
  3. CSV 데이터에 포함된 다양한 포맷의 로그 분리 (필요할 경우)해서 별도의 Kind(Giganto DB에서 저장할의 Key 값)로 저장

대략 이런 업무가 필요할 것 같습니다.