Syslog'u * herkese açık İnternet üzerinden nasıl güvenli bir şekilde * gönderirsiniz?


20

Bu yüzden merkezi olarak oturum açmak istediğim birkaç sunucum var ama açıkçası veriyi internet üzerinden güvenli bir şekilde iletmek istemiyorum.

Syslog-ng'yi denedim, ancak güvenli bir şekilde çalışmasını sağlayamıyorum, normal bir ssh -L PORT:localhost:PORT user@hostSSH tüneli işe yaramaz çünkü günlüklerin yerel makineden geliyormuş gibi görünmesine inanıyorum ve bir VPN biraz fazla gibi görünüyor .

Yanıtlar:


19

Syslog-ng ve stunnel denediniz mi?

  1. Stunnel'i Yükle
  2. Stunnel üzerinden syslog-ng için sertifika dosyaları oluşturma
  3. Stunnel'i Sistem Günlüğü İle Kullanılacak Şekilde Yapılandırma
  4. Sistem günlüğünü yükle
  5. Sistem günlüğünü yapılandır
  6. YAPILAN!

NOT:

Stunnel ( http://www.stunnel.org ), hem Unix hem de Windows'ta bulunan SSL (Güvenli Yuva Katmanı) içindeki rastgele TCP bağlantılarını şifrelemenize izin veren bir programdır. Stunnel, Stunnel'in şifreleme sağlamasını sağlayarak, daemon kodunda herhangi bir değişiklik gerektirmeden SSL olmayan farkında cinleri ve protokolleri (POP, IMAP, LDAP vb.) Güvenceye almanıza izin verebilir.


Syslog'u DMZ'den dahili ağımıza göndermek için kullandığımız şey budur. İyi çalışıyor.
Kamil Kisiel

3
Syslog-ng 3.x, TLS'yi yerel olarak desteklediğinden, artık stunnel kullanmaya gerek yok.
sentezleyici

12

Kısa cevap: VPN

Aşırıya kaçmış gibi görünebilir, ancak doğru cevaptır ve kurulumu o kadar karmaşık değildir.


sağ!; openvpn.net'in kurulumu gerçekten basittir ve sadece çalışır.
pQd

Sadece bu değil, aynı zamanda uzaktaki makineleri güvenli bir şekilde yönetmek ve izlemek için çok daha fazla esneklik sağlar. OpenVPN (hatta IPSec) uzun vadede çok daha iyi olacaktır.
Christopher Cashell

9

Rsyslog bunu yapabilir. Syslog Trafiğini TLS ile Şifreleme


Bu çözümle hala internete bir liman açmıyor musunuz? Böyle bir şey için hala bunu yapmaktan nefret ederim.
Kevin Kuphal

3
Kevin: Sistem günlüğü sunucunuzun, iptables üzerinden başarılması kolay olan önceden belirlenmiş belirli IP'lerden trafik beklediği varsayılıyor
Matt Simmons

Çoğu bulut sağlayıcısı, belirli IP'lerden belirli bağlantı noktalarını beyaz listeye eklemenize izin veren esnek güvenlik gruplarına da izin verir.
jorfus


1

Syslog-ng veya TCP'yi destekleyen başka bir syslog arka plan programı kullanın.

Verileri şifreli bir tünel üzerinden gönderin. Bir ssh tüneli kullanmayın, çok hareketsiz.

UDP syslog, uzun zaman önce ortadan kaldırılması gereken tarihi bir braindamaged protokolüdür. Tedarikçiniz bunu varsayılan olarak sağlıyorsa, lütfen onlara yaslanın.

Eğer satıcınız göndermeden önce her mesajı imzalayan bir sistem günlüğü çözümü sunmuyorsa, onlara yaslanın.

Yazılım kolaydır, algoritmalar kolaydır. Varsayılan olarak kurulmasını sağlama politikası yoktur.


UDP sistem günlüğü, hedef daha uzun süre düşerse kesinti yaratmadığı zaman belirli avantajlara sahiptir. Syslog-ng ile çok büyük bir anlaşma değil, ama rsyslog'da bir kabus olabilir. Şifrelemenin değeri bunu söyleyerek sorgulamak istediğim bir şey değil.
Florian Heigl

1

Muhtemelen ilk etapta internet üzerinden günlük verileri göndermezdim, ancak gerektiğinde yerlere merkezi bir loghost yüklerim.

Bugünlerde rsyslog'u syslog-ng ye tercih ediyorum. Yerine konması neredeyse düşüyor ve TLS / SSL (v3.19.0'dan itibaren) ile şifreli veri gönderme de dahil olmak üzere çeşitli kağıtlar ve howtoslar var, eski sürümler hala stunnel kullanabilir .

Hem rsyslog hem de syslog-ng ile ilgili tecrübelerime göre, rsyslog, özellikle mevcut syslog.conf dosyanızı kullanabileceğiniz ve buna ekleyebileceğiniz için yapılandırılabilirlik kolaylığı kazanıyor.

Değer için Rsyslog, Debian Lenny (5.0), Ubuntu ve Fedora'daki varsayılan syslog arka plan programıdır .


Rsyslog'un henüz yeni (planlanan) yapılandırma dosyası sözdizimini eklememesi çok kötü. Şu anda, rsyslog'u önemsiz olmayan herhangi bir şey için yapılandırmak, sistem günlüğüne kıyasla acı vericidir .
Christopher Cashell

0

Tls ile rsyslog kullanıyorum. Kapsam dışı hazırlık çalışmaları var: Yerel bir CA dağıtın, CA'nın sertifikasını her ana bilgisayara ekleyin, her ana bilgisayar için ayrı sertifikalar oluşturun. (şimdi tüm ev sahipleriniz birbirleriyle SSL konuşabiliyor)

Ayrıca rsyslog-gnutls yüklemem gerekiyordu:

sudo apt-get install rsyslog-gnutls

Ben de giden syslog bağlantısını (tcp 514) kısıtladım, bu nedenle ana bilgisayarlarım yalnızca rsyslog sunucuma bağlanabilir ve rsyslog sunucusu tarafında gelen bir beyaz liste oluşturdular, böylece yalnızca ana bilgisayarları bağlanabilir.

/etc/rsyslog.conf içinde

# 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

Sistem günlüğü yapılandırması daha da kolay görünüyor. (bunu denememe rağmen) 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/"))
    );
};
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.