fluentd message forwarding with authentication and encryption

15
Fluentd message forwarding with authentication and encryption @tagomoris (TAGOMORI Satoshi) Fluentd Casual Talks #2 at 2013/02/15 13215日金曜日

Upload: satoshi-tagomori

Post on 15-Jan-2015

6.885 views

Category:

Documents


2 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Fluentd message forwarding with authentication and encryption

Fluentd message forwardingwith authentication

and encryption

@tagomoris (TAGOMORI Satoshi)Fluentd Casual Talks #2 at 2013/02/15

13年2月15日金曜日

Page 2: Fluentd message forwarding with authentication and encryption

TAGOMORI SATOSHI (@TAGOMORIS)NHN JAPAN CORP.

13年2月15日金曜日

Page 3: Fluentd message forwarding with authentication and encryption

13年2月15日金曜日

Page 4: Fluentd message forwarding with authentication and encryption

Fluentd forward

has no authentication

issues:81 "Authentication between nodes is required" by @saki7

has no encryption

pull:56 "Added compression and encryption feature to forward plugin" by @mazgi

13年2月15日金曜日

Page 5: Fluentd message forwarding with authentication and encryption

But how?

'OpenSSL::SSL::SSLSocket'

Socket overwrapped by OpenSSL

Simple digest authentication over SSL

13年2月15日金曜日

Page 6: Fluentd message forwarding with authentication and encryption

Forwarding over SSL [required]

with auto-generated self-signed certification

Shared key authentication [required]

to verify receiver identity

Username and Password authentication [optional]

to verify sender identity

fluent-plugin-secure-forward

13年2月15日金曜日

Page 7: Fluentd message forwarding with authentication and encryption

Connect:out_secure_forward

in_secure_forward

1. CONNECT TCP SESSION2. START SSL SESSION3. CHECK CERTIFICATE TTL(4. CHECK CERTIFICATE CN)

13年2月15日金曜日

Page 8: Fluentd message forwarding with authentication and encryption

Handshake (1):out_secure_forward

in_secure_forward

1. SERVER SEND HELO - SERVER OPTIONS - AUTH_SALT

13年2月15日金曜日

Page 9: Fluentd message forwarding with authentication and encryption

Handshake (2):out_secure_forward

in_secure_forward

2. CLIENT SEND PING - CLIENT HOST NAME - SALT FOR SHARED KEY - DIGEST(SALT + HOSTNAME + SHARED KEY) - USERNAME - DIGEST(AUTH_SALT + USERNAME + PASSWORD)

13年2月15日金曜日

Page 10: Fluentd message forwarding with authentication and encryption

Handshake (3):out_secure_forward

in_secure_forward

3. SERVER CHECK PING - SOURCE IP/HOST PERMISSION - SHARED KEY DIGEST - USERNAME AND PASSWORD DIGEST

13年2月15日金曜日

Page 11: Fluentd message forwarding with authentication and encryption

Handshake (4):out_secure_forward

in_secure_forward

4. SERVER SEND PONG - AUTHENTICATION RESULT - SERVER HOST NAME - DIGEST(SALT + HOSTNAME + SHARED KEY)

13年2月15日金曜日

Page 12: Fluentd message forwarding with authentication and encryption

Handshake (5):out_secure_forward

in_secure_forward

5. CLIENT CHECK PONG - AUTHENTICATION RESULT - SHARED KEY DIGEST

13年2月15日金曜日

Page 13: Fluentd message forwarding with authentication and encryption

Session established:out_secure_forward

in_secure_forward

* SEND MESSAGES OVER SSL

13年2月15日金曜日

Page 14: Fluentd message forwarding with authentication and encryption

Many many TODOs:Tests for non self-signed certificatesACK mode protocol design & implementationKeepalive disable mode implementationMore access control

Network ACL & domain wildcard ACLDNS reverse lookup & checkDisconnection just after SSL session established

Pluggable authentication databasesEncryption algorithm optionsBalancing/failover connectionsTESTS!!!!!!! (this plugin has no one asserts....)

13年2月15日金曜日

Page 15: Fluentd message forwarding with authentication and encryption

fluent-plugin-secure-forwardVersion v0.0.1 is HIGHLY EXPERIMENTAL

This plugin is TOY PROGRAM PoC

We needs other maintainer who uses this plugin

or MONEY & TD support! :-)

Thanks!

13年2月15日金曜日