공용 인터넷을 통해 어떻게 syslog를 * 안전하게 * 보내겠습니까?


20

그래서 중앙에 로깅하고 싶은 서버가 몇 개 있지만 분명히 인터넷을 통해 데이터를 안전하지 않게 전달하고 싶지 않습니다.

syslog-ng를 사용해 보았지만 안전한 방식으로 작동시킬 수 없습니다 ssh -L PORT:localhost:PORT user@host. 로그가 로컬 컴퓨터에서 온 것으로 보이고 VPN이 과잉 인 것처럼 보이기 때문에 정상적인 SSH 터널이 작동하지 않습니다. .

답변:


19

syslog-ng와 stunnel을 사용해 보셨습니까?

  1. Stunnel 설치
  2. Stunnel을 통한 syslog-ng에 대한 인증서 파일 작성
  3. syslog-ng와 함께 사용할 터널 구성
  4. syslog-ng 설치
  5. syslog-ng 구성
  6. 끝난!

노트:

Stunnel ( http://www.stunnel.org )은 Unix와 Windows 모두에서 사용 가능한 SSL (Secure Sockets Layer) 내부의 임의의 TCP 연결을 암호화 할 수있는 프로그램입니다. Stunnel을 사용하면 Stunnel이 암호화를 제공하도록하여 SSL을 인식하지 않는 데몬 및 프로토콜 (POP, IMAP, LDAP 등)을 보호 할 수 있으므로 데몬 코드를 변경할 필요가 없습니다.


이것이 DMZ에서 내부 네트워크로 syslog를 보내는 데 사용하는 것입니다. 잘 작동합니다.
Kamil Kisiel 2018 년

3
syslog-ng 3.x는 TLS를 기본적으로 지원하므로 더 이상 stunnel을 사용할 필요가 없습니다.
신디사이저

12

짧은 대답 : VPN

그것은 과잉으로 보일지 모르지만 정답이며 설정하기가 그렇게 복잡하지 않습니다.


권리!; openvpn.net 은 설정이 간단하고 작동합니다.
pQd

그뿐만 아니라 당신에게 제공뿐만 아니라 많은 관리하고 안전하게 원격 시스템을 모니터링 할 수 있도록 더 많은 유연성을. OpenVPN (또는 IPSec)은 장기적으로 훨씬 나을 것입니다.
Christopher Cashell

9

Rsyslog가이를 수행 할 수 있습니다. TLS를 사용하여 Syslog 트래픽 암호화


이 솔루션으로 여전히 인터넷 포트를 열지 않습니까? 나는 여전히 이런 일을하기를 싫어합니다.
Kevin Kuphal 2016 년

3
Kevin : syslog 서버가 특정 미리 정의 된 IP의 트래픽을 예상한다고 가정합니다. 이는 iptables를 통해 쉽게 달성 할 수 있습니다.
Matt Simmons

대부분의 클라우드 제공 업체는 특정 IP에서 특정 포트를 허용 할 수있는 유연한 보안 그룹도 허용합니다.
jorfus


1

syslog-ng 또는 TCP를 지원하는 다른 syslog 데몬을 사용하십시오.

암호화 된 터널을 통해 데이터를 보냅니다. ssh 터널을 사용하지 마십시오. 너무 터무니 없습니다.

UDP syslog는 오래 전에 제거되어 왔던 역사적으로 손상된 프로토콜입니다. 공급 업체에서 기본적으로 제공하는 경우 공급 업체에 의지하십시오.

공급 업체가 각 메시지를 보내기 전에 서명하는 syslog 솔루션을 제공하지 않으면 그 메시지에 기대십시오.

소프트웨어는 쉽고 알고리즘은 쉽습니다. 기본적으로 설치되는 정치는 아닙니다.


UDP syslog는 대상이 장기간 다운 된 경우 중단을 일으키지 않을 때 특정 이점이 있습니다. syslog-ng와 크게 관련이 없지만 rsyslog에서 악몽이 될 수 있습니다. 암호화의 가치는 그렇게 말함으로써 질문하고 싶은 것이 아닙니다.
Florian Heigl

1

인터넷을 통해 처음에는 로그 데이터를 보내지 않지만 필요한 경우 중앙 위치에 중앙 로그 호스트를 설치합니다.

요즘에는 syslog-ng보다 rsyslog를 선호합니다. 거의 교체 가 불가능하며 TLS / SSL 을 사용하여 암호화 된 데이터 를 보내는 방법 (v3.19.0 기준)을 포함하여 다양한 문서와 방법이 있으며 이전 버전은 여전히 stunnel을 사용할 수 있습니다 .

rsyslog와 syslog-ng에 대한 경험에서 rsyslog는 특히 기존 syslog.conf를 사용하여 추가 할 수 있기 때문에 구성 용이성이 뛰어납니다.

Rsyslog는 Debian Lenny (5.0), UbuntuFedora 의 기본 syslog 데몬입니다 .


rsyslog가 새로운 (계획된) 구성 파일 구문을 아직 추가하지 않은 것은 너무 나쁩니다. 지금, 아무것도 아닌 사소한에 대한 구성을 위해 rsyslog은 고통 의 syslog-ng를 비교.
Christopher Cashell

0

tls와 함께 rsyslog를 사용하고 있습니다. 범위를 벗어난 준비 작업이 있습니다. 로컬 CA를 배포하고 각 호스트에 CA 인증서를 추가하며 각 호스트에 대한 개별 인증서를 생성하십시오. (이제 모든 호스트가 서로에게 SSL을 말할 수 있습니다)

rsyslog-gnutls도 설치해야했습니다.

sudo apt-get install rsyslog-gnutls

또한 나가는 syslog 연결 (tcp 514)을 제한하여 호스트가 내 rsyslog 서버에만 연결할 수 있고 rsyslog 서버쪽에 들어오는 화이트리스트를 만들어 호스트 만 연결할 수 있도록했습니다.

/etc/rsyslog.conf에

# make gtls driver the default
$DefaultNetstreamDriver gtls

# certificate files
$DefaultNetstreamDriverCAFile /etc/my_keys/internal_CA.crt
$DefaultNetstreamDriverCertFile /etc/my_keys/my_hostname.crt
$DefaultNetstreamDriverKeyFile /etc/my_keys/my_hostname.key

$ActionSendStreamDriverAuthMode x509/name
$ActionSendStreamDriverPermittedPeer my_syslog_server.com
$ActionSendStreamDriverMode 1 # run driver in TLS-only mode
*.* @@my_syslog_server.com:514 # forward everything to remote server

syslog-ng의 구성이 훨씬 쉬운 것처럼 보입니다. (내가 시도하지는 않았지만) syslog-ng /etc/syslog-ng/conf.d/99-graylog2.conf

destination remote-server {  
    tcp ("my_syslog_server.com" port(514)
        tls(ca_dir("/etc/my_keys/"))
    );
};
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.