回答:
syslog-ngとstunnelを試しましたか?
注意:
Stunnel(http://www.stunnel.org)は、UnixとWindowsの両方で利用可能なSSL(Secure Sockets Layer)内の任意のTCP接続を暗号化できるプログラムです。Stunnelは、Stunnelに暗号化を提供させ、デーモンのコードを変更することなく、非SSL対応のデーモンとプロトコル(POP、IMAP、LDAPなど)を保護することができます。
短い答え:VPN
それはやり過ぎに見えるかもしれませんが、それは正しい答えであり、セットアップするのはそれほど複雑ではありません。
Rsyslogはこれを行うことができます。TLSを使用したSyslogトラフィックの暗号化
無料のKiwi Secure Tunnel http://www.solarwinds.com/products/kiwi_syslog_server/related_tools.aspxもご覧ください。
syslog-ngまたはTCPをサポートする別のsyslogデーモンを使用します。
暗号化されたトンネルを介してデータを送信します。sshトンネルを使用しないでください。
UDP syslogは、歴史的に脳に損傷を与えたプロトコルであり、ずっと前に排除されていたはずです。ベンダーがデフォルトで提供している場合は、それらに頼ってください。
ベンダーが、各メッセージを送信する前に署名するsyslogソリューションを提供していない場合は、それらに頼ってください。
ソフトウェアは簡単で、アルゴリズムは簡単です。デフォルトでインストールするという方針はそうではありません。
そもそもインターネット経由でログデータを送信することはないでしょうが、必要な場所に集中ログホストをインストールします。
最近では、syslog-ngよりもrsyslogの方が好きです。差し替えに近いものであり、TLS / SSL(v3.19.0時点)で暗号化されたデータを送信することに関するものを含む、さまざまなペーパーとハウツーがありますが、古いバージョンでも引き続きstunnelを使用できます。
rsyslogとsyslog-ngの両方での私の経験では、rsyslogは、特に既存のsyslog.confを使用して追加できるため、設定が容易です。
Rsyslogは、価値のあるものとして、Debian Lenny(5.0)、Ubuntu、Fedoraのデフォルトのsyslogデーモンです。
tlsでrsyslogを使用しています。範囲外の準備作業がいくつかあります。ローカルCAを展開し、CAの証明書を各ホストに追加し、各ホストの個別の証明書を生成します。(すべてのホストが相互にsslを通信できるようになりました)
rsyslog-gnutlsもインストールする必要がありました。
sudo apt-get install rsyslog-gnutls
また、ホストがrsyslogサーバーにのみ接続できるように発信syslog接続(tcp 514)を制限し、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/"))
);
};