데이터를 인증하도록 로그 수집기를 구성하는 방법은 무엇입니까? 집계는 보안을 향상시키는 방법으로

배경 : 원격 로그 집계는 보안을 향상시키는 방법으로 간주됩니다. 일반적으로 이는 시스템을 손상시킨 공격자가 법의학 분석을 좌절시키기 위해 로그를 편집하거나 삭제할 수있는 위험을 해결합니다. 일반적인 로그 도구에서 보안 옵션을 연구하고 있습니다.

그러나 뭔가 잘못 느낍니다. 들어오는 메시지가 실제로 호스트 된 호스트에서 발생했음을 인증하기 위해 일반적인 원격 로거 (예 : rsyslog, syslog-ng, logstash)를 구성하는 방법을 알 수 없습니다. 일종의 정책 제약이 없으면 한 로그 작성자가 다른 로그 작성자를 대신하여 메시지를 위조 할 수 있습니다.

rsyslog의 작성자는 로그 데이터 인증에 대해 경고하는 것 같습니다 .

마지막주의 사항 : transport-tls는 발신자와 수신자 간의 연결을 보호합니다. 메시지 자체에 존재하는 공격으로부터 반드시 보호 할 필요는 없습니다. 특히 릴레이 환경에서 메시지는 잘못된 호스트 이름 및 / 또는 기타 콘텐츠를 포함하는 악성 시스템에서 시작되었을 수 있습니다. 이러한 사항에 대한 프로비저닝이없는 경우 이러한 레코드가 수신자의 저장소에 표시 될 수 있습니다. -transport-tls는이를 방지하지는 않지만 제대로 사용하면 도움이 될 수 있습니다. syslog-transport-tls는 홉별 보안을 제공합니다. 엔드 투 엔드 보안을 제공하지 않으며 메시지 자체를 인증하지 않습니다 (마지막 발신자 만).

따라서 후속 질문은 어느 정도의 신뢰성을 제공하는 좋은 / 실제 구성 (선택한 일반적인 로그 도구-rsyslog, syslog-ng, logstash 등)은 무엇입니까?

아니면 … 아무도 로그 데이터를 인증 하지 않으면 왜 안 됩니까?

(제외 : / 논의 비교, 그것은 일부 다이어그램 또는 용어를 사용하는 데 도움이 될 수 있습니다 RFC 5424 : 4.1 : 예 배포 시나리오 – 예를 들어 “발신자”대 “컬렉터”대 “릴레이”)



답변

이것은 좋은 질문입니다.

나는 logstash를 사용하여 제안하는 것과 같은 것을 성취합니다. logstash (또는 logstash-forwarder)를 사용하여 로그를 중앙 콜렉션 시스템으로 전달하는 경우 logstash 구성을 추가하여 키 필드를 메시지에 추가하십시오. 값은 각 서버에 고유 한 길고 임의의 문자열입니다.

그런 다음 수신 측에서 특정 호스트 키가 호스트 이름에 대해 예상 한 것과 일치하지 않는 메시지를 삭제 (또는 경고)하기 위해 해당 규칙을 추가 할 수 있습니다.

이것은 방탄은 아니지만 올바른 방향으로의 확실한 단계입니다.


답변

이를 위해 올바른 것은 머신 클라이언트 인증서가있는 TLS입니다.

rsyslog는 2008 년경부터이 작업을 수행하고 있으며 다음과 같은 훌륭한 지침을 제공합니다. http://www.rsyslog.com/doc/v8-stable/tutorials/tls_cert_summary.html

다음과 같은 과정은 매우 간단합니다.

  1. CA 설정
  2. 로그를 원하는 모든 컴퓨터에 인증서 발급
  3. 해당 인증을 사용하도록 rsyslog 구성

그러면 컴퓨터가 서로를 가장 할 수 없으며 인증서없이 인증서 서버에 아무도 로그인 할 수 없습니다.

나는 당신이 이미 그것을 발견했지만 당신은 여전히 ​​그들의 경고에 대해 걱정하고 있습니다. 나는 그것에 대해 너무 걱정하지 않을 것입니다. 로그 주입은 확실히 일이지만 응용 프로그램을 통한 주입 및 로깅 프로세스로의 주입을 포함하여 많은 것입니다. 인증 된 rsyslog는 사용자가 응용 프로그램 소프트웨어에 로그 주입 공격을 가한 경우 사용자를 보호하지 않지만 그럴 수는 없습니다. 응용 프로그램을 수정하면 도움이 될 수 있습니다. 스푸핑 된 로그로부터 사용자를 보호합니다.

릴레이를 사용하지 않으면 다른 경고를 쉽게 완화 할 수 있습니다. 어쨌든 할 이유가 거의 없습니다. 릴레이가없고 rsyslog 서버의 gtls 연결 드라이버에 x509 / name 옵션을 사용하면 아무런 문제가 없습니다.

gtls 구성 문서도 참조하십시오 : http://www.rsyslog.com/doc/v8-stable/concepts/ns_gtls.html


답변