BSD Syslog IETF Protokoll & API Netzwerk-Transport Syslog-Sign Praxis. Syslog nach RFC. Martin Schütte. 4. März 2010



Ähnliche Dokumente
Syslog nach RFC. Martin Schütte

TLS ALS BEISPIEL FÜR EIN SICHERHEITSPROTOKOLL

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein:

im DFN Berlin Renate Schroeder, DFN-Verein

Network Intrusion Detection mit Snort. (Nachtrag zu 9.2.2, Seite 33)

Löschen eines erkannten aber noch nicht konfigurierten Laufwerks

Grundkurs Routing im Internet mit Übungen

3 Konfiguration OfficeMaster 3.10 SNMP

Konfigurationsanleitung Access Control Lists (ACL) Funkwerk. Copyright Stefan Dahler Oktober 2008 Version 1.0.

Grundlagen der Rechnernetze. Internetworking

VMware vrealize Log Insight- Entwicklerhandbuch

ARCHITEKTUR VON INFORMATIONSSYSTEMEN

10.6 Authentizität. Geheimhaltung: nur der Empfänger kann die Nachricht lesen

Senden von strukturierten Berichten über das SFTP Häufig gestellte Fragen

Man liest sich: POP3/IMAP

Diameter. KM-/VS-Seminar. Wintersemester 2002/2003. schulze_diameter.ppt Christian Schulze_03-Februar-07

Informatik für Ökonomen II HS 09

Programmiertechnik II

IT-Sicherheit Kapitel 11 SSL/TLS

Vertrauliche Videokonferenzen im Internet

Security. Stefan Dahler. 6. Zone Defense. 6.1 Einleitung

SSL-Protokoll und Internet-Sicherheit

Dynamisches VPN mit FW V3.64

Betriebssysteme und Sicherheit Sicherheit. Signaturen, Zertifikate, Sichere

VIRTUAL PRIVATE NETWORKS

Netzsicherheit I, WS 2008/2009 Übung 12. Prof. Dr. Jörg Schwenk

Umbenennen eines NetWorker 7.x Servers (UNIX/ Linux)

Anwendungsprotokolle: HTTP, POP, SMTP

-Verschlüsselung viel einfacher als Sie denken!

Schritt-für-Schritt-Anleitung zur Konfiguration eines -Appenders zur Benachrichtigung über Fehlermeldungen und Warnungen der windream-dienste

Installationsanleitung für pcvisit Server (pcvisit 12.0)

Protokolle. Konrad Rosenbaum, 2006/7 protected under the GNU GPL & FDL

Authentikation und digitale Signatur

Web Services Security

Security Associations Schlüsseltausch IKE Internet Key Exchange Automatischer Schlüsseltausch und Identitätsnachweis

ecall sms & fax-portal

CryptoCampagne. Thomas Funke Fachbereich Informatik Universität Hamburg

Einleitung Sniffing, Analyzing, Scanning Scanning. Netzwerke. Bierfert, Feresst, Günther, Schuster. 21. März 2006

Übung 6 Lösungsskizze Kryptographie, Sicherheit in verteilten Dateisystemen

peer-to-peer Dateisystem Synchronisation

Verteilte Systeme Unsicherheit in Verteilten Systemen

Verteilte Systeme. Übung 10. Jens Müller-Iden

VPN IPSec Tunnel zwischen zwei DI-804HV / DI-824VUP+

Check Point IPS. Agenda. Check Point & AlgoSec Security-Update 24./25. September «Eine Firewall ohne IPS ist keine Firewall»

Anwendungsbeispiele Sign Live! Secure Mail Gateway

Multicast Security Group Key Management Architecture (MSEC GKMArch)

KN Das Internet

Konzept zur Push Notification/GCM für das LP System (vormals BDS System)

Intrusion Prevention mit IPTables. Secure Linux Administration Conference, 6. / 7. Dec Dr. Michael Schwartzkopff. iptables_recent, SLAC 2007 / 1

Transport Layer Security Nachtrag Angriffe

Bacula? Aber sicher!

Firewall Implementierung unter Mac OS X

Nachrichten- Verschlüsselung Mit S/MIME

. Nachrichtenübertragung. Internetkommunikation Christof Fox. Wie werden Nachrichten Übertragen?

Übungen zur Vorlesung Systemsicherheit

Collax VPN. Howto. Vorraussetzungen Collax Security Gateway Collax Business Server Collax Platform Server inkl. Collax Modul Gatekeeper

Internet Protokolle für Multimedia - Anwendungen

IT-Sicherheit Kapitel 13. Sicherheit

Containerformat Spezifikation

SSL/TLS und SSL-Zertifikate

Exploiting und Trojanisieren

Web Sockets mit HTML5. Quelle:

Von SVN zu Git. Daniel Willmann cbna

Spaß mit Enterprise Syslog: Sicherheit und Probleme

Sicheres HTTP. 8. Juni Proseminar Electronic Commerce und digitale Unterschriften

Network Address Translation (NAT) Prof. B. Plattner

PCC Outlook Integration Installationsleitfaden

VPNs mit OpenVPN. von Michael Hartmann netz.de>

Radius Server. Bericht im Studiengang Computerengineering an der HS-Furtwangen. Student: Alphonse Nana Hoessi Martikelnr.:227106

OUTLOOK Was ist sigmail.de? 2 Warum sigmail.de? UP ESUO

Dynamic Ressource Management

Containerformat Spezifikation

Konfigurationsbeispiel

Client-Server mit Socket und API von Berkeley

IP Telefonie Sicherheit mit Cisco Unified Communications Manager

estos XMPP Proxy

OP-LOG

Digitale Identitäten in der Industrieautomation

Sicherheit von Smartphone-Betriebssystemen im Vergleich. Andreas Jansche Gerhard Klostermeier

Konfiguration von Fabasoft Mindbreeze Enterprise für IBM Lotus

Konzepte von Betriebssystemkomponenten: Schwerpunkt Sicherheit. Asymmetrische Verschlüsselung, Digitale Signatur

Netzwerksicherheit Übung 5 Transport Layer Security

AXIGEN Mail Server. s per Smarthost versenden s per Pop3 empfangen. Produkt Version: Dokument Version: 1.2

Firewall oder Router mit statischer IP

Praktikum Ingenieurinformatik (PI)

Peer-to-Peer Internet Telephony using the Session Initiation Protocol (SIP)

Dynamisches VPN mit FW V3.64

Vorlesung SS 2001: Sicherheit in offenen Netzen

Fachbereich Medienproduktion

System- und Netzwerkmanagement

Kryptographische Anonymisierung bei Verkehrsflussanalysen

Übersicht. Was ist FTP? Übertragungsmodi. Sicherheit. Öffentliche FTP-Server. FTP-Software

Mobility Support by HIP

Anleitung zur Einrichtung von Outbound und Inbound Filtern Für DWR-512 (Stand August 2012)

VPN: Virtual-Private-Networks

7.4 Verteilungsabstraktion in heterogener Umgebung

Virtual Private Network. David Greber und Michael Wäger

15 Transportschicht (Schicht 4)

Mobile Anwendungen Google Cloud Messaging

Konfigurationsbeispiel USG

Transkript:

Syslog nach RFC Martin Schütte 4. März 2010 Martin Schütte Syslog nach RFC 4. März 2010 1 / 30

BSD Syslog IETF Protokoll & API Netzwerk-Transport Syslog-Sign Praxis Martin Schütte Syslog nach RFC 4. März 2010 2 / 30

Sinn von Logfiles Fehlersuche Systemauslastung Verantwortung/Zurechenbarkeit von Aktivitäten Warnung vor laufenden Angriffen Untersuchung nach Angriffen Martin Schütte Syslog nach RFC 4. März 2010 3 / 30

BSD Syslog Design ursprünglich als Programmier-/Debug-Hilfe einfach zu benutzen und zu konfigurieren minimale Ressourcen, best effort Ansatz mit UDP auch auf andere Rechner loggen de facto Standard für Log-Daten unter Unix Eric wrote syslogd so that all the logs could be brought to one place and cleanly thrown away at once. Martin Schütte Syslog nach RFC 4. März 2010 4 / 30

BSD Syslog Bestandteile Kombination aus: API Nachrichtenformat Daemon IPC Protokoll Martin Schütte Syslog nach RFC 4. März 2010 5 / 30

API SYSLOG(3) NetBSD Library Functions Manual SYSLOG(3) NAME syslog, vsyslog, openlog, closelog, setlogmask -- control system log LIBRARY Standard C Library (libc, -lc) SYNOPSIS #include <syslog.h> void syslog(int priority, const char *message,...); void openlog(const char *ident, int logopt, int facility); void closelog(void); int setlogmask(int maskpri); Martin Schütte Syslog nach RFC 4. März 2010 6 / 30

Syslog Message Format <38>Mar 17 21:57:57 frodo sshd[701]: Connection from 211.74.5.81 port 5991 <52>Mar 17 13:54:30 192.168.0.42 printer: paper out Priority Facility Severity Header Timestamp Hostname Message Tag Content Konventionen: Priority nicht in Logdatei nur ASCII bis zu 1024 Zeichen pro Zeile Martin Schütte Syslog nach RFC 4. März 2010 7 / 30

Daemon: syslogd Liest Nachrichten von Kernel, Anwendungen, Netzwerk Filter nach Priority schreibt in Dateien, Pipes, auf Terminals oder Netzwerk (UDP) neue Implementierungen mit mehr Features (z. Bsp. *BSD syslogd, syslog-ng, rsyslog) Filter nach Host-/Programmname oder RegExp Konvertieren verschiedener Nachrichten und Zeitstempel Schreiben in Speicherpuffer, TCP-Verbindungen oder SQL-DBs Martin Schütte Syslog nach RFC 4. März 2010 8 / 30

Transport Protocol Nachrichten von... Anwendungen: socket(af_unix, SOCK_DGRAM, 0); Netzwerk: socket(af_inet, SOCK_DGRAM, 0); Kernel: open("/dev/klog", O_RDONLY, 0); (Ringspeicher) Eine Nachricht/Zeile je recvfrom()/read(). Martin Schütte Syslog nach RFC 4. März 2010 9 / 30

IETF Working Group Security Issues in Network Event Logging RFC 3164: The BSD Syslog Protocol (informational) RFC 3195: Reliable Delivery for Syslog RFC 5424: The Syslog Protocol RFC 5425: TLS Transport Mapping for Syslog RFC 5426: Transmission of Syslog Messages over UDP RFC 5427: Textual Conventions for Syslog Management Internet Drafts: Signed Syslog Messages (RFC 5428) DTLS Transport Mapping for Syslog Syslog Management Information Base Martin Schütte Syslog nach RFC 4. März 2010 10 / 30

RFC 5424: The Syslog Protocol Neues Nachrichtenformat <165>1 2003-10-11T22:14:15.003Z frodo.example.com prog 1234 ID47 [examplesdid@32473 iut="3" eventid="1011" eventsource="application"] BOM Une entré du journal des événements... Header Priority Version (new) ISO Timestamp (extended) Hostname/FQDN Application Name Process ID Message ID (new) Structured Data (new) Message text (UTF-8, SHOULD support 2048 octets) Martin Schütte Syslog nach RFC 4. März 2010 11 / 30

API-Vorschlag bisher nur in NetBSD-current Syslog-Protocol in IPC ab syslog(3) syslog(3) unverändert (MSGID und SD leer) syslogp(3) als erweiterte API: void syslogp ( int priority, const char * msgid, const char * sdfmt, const char * message,...); syslog ( LOG_INFO, " foobar error : %m "); syslogp ( LOG_INFO, NULL, NULL, " foobar error : %m "); syslogp ( LOG_INFO, "ID%d", "[ meta language =\" de - DE \"]", " Ereignis : % s", 42, EventDescription ); Martin Schütte Syslog nach RFC 4. März 2010 12 / 30

RFC 5426: UDP Transport UDP-Übertragung wie bisher Portnummer: udp/514 eine Nachricht pro UDP-Datagramm keinerlei Sicherung/Authentifizierung The ability to log messages received in UDP packets is equivalent to an unauthenticated remote disk-filling service... Martin Schütte Syslog nach RFC 4. März 2010 13 / 30

RFC 5425: TLS Transport Punkt-zu-Punkt Verschlüsselung, Integrität und Authentifizierung Portnummer: tcp/6514 Erfordert Client- und Serverzertifikate Authentifizierung per CA oder Zertifikat/Subject/Fingerprint neues Protokoll; inkompatibel zu TCP in rsyslog/syslog-ng auf Anwendungsebene nur Simplex, keine ACKs o.ä. Martin Schütte Syslog nach RFC 4. März 2010 14 / 30

Draft: DTLS Transport Verschlüsselung, Integrität und Authentifizierung wie TLS eine Nachricht pro UDP/DCCP-Datagramm Portnummer: udp/6514 Martin Schütte Syslog nach RFC 4. März 2010 15 / 30

Internet-Draft: Signed syslog Messages Übersicht digital signierte Syslog-Nachrichten Ende-zu-Ende Authentifizierung, Integrität, korrekte Reihenfolge und Vollständigkeit DSA für Signaturen SHA-1 oder SHA-256 als Hashfunktion OpenPGP- oder X.509-Zertifikate nicht spezifiziert, aber selbst einzufügen: signierte Zeitstempel Martin Schütte Syslog nach RFC 4. März 2010 16 / 30

Internet-Draft: Signed syslog Messages Konstruktion Signature Groups für mehrere Nachrichtenströme Voraussenden des öffentlichen Schlüssels Übertragen der Folge von Nachrichten in Folge von Hash-Werten Einfügen der Signaturnachrichten in den Nachrichtenstrom Signieren der eigenen Kontrollnachrichten Martin Schütte Syslog nach RFC 4. März 2010 17 / 30

Payload Blocks Öffentlichen Schlüssel versenden <110>1 2009-05-03T14:00:39.519307+02:00 host.example.org syslogd 2138 - [ssign-cert VER="0111" RSID="1" SG="0" SPRI="0" TPBL="587" INDEX="1" FLEN="587" FRAG="2009-05-03T14:00:39.519005+02:00 K BACsLMZNCV2N... 2Rg==" SIGN="AKAQEUiQptgp... L7+c="] Beim Systemstart, enthält: Signature Group (VER, RSID, SG, SPRI) Fragmentierung (TBPL, INDEX, FLEN) Payload Block (FRAG) mit Zeitstempel Art des Schlüssels öffentlicher Schlüssel (base64) DSA Signatur (SIGN) Martin Schütte Syslog nach RFC 4. März 2010 18 / 30

Signature Blocks SHA-1 Hash-Werte sammeln... <46>1 2009-05-03T14:00:29.285912+02:00 host.example.org syslogd 2138 - - restart <13>1 2009-05-03T14:00:31.156355+02:00 host.example.org app1 9521 - - Message 1 <13>1 2009-05-03T14:00:32.163839+02:00 host.example.org app2 2100 - - Message 2 <13>1 2009-05-03T14:00:33.173021+02:00 host.example.org app3 9649 - - Message 3 <13>1 2009-05-03T14:00:34.182776+02:00 host.example.org app2 15695 - - Message 4 <13>1 2009-05-03T14:00:35.192952+02:00 host.example.org app1 25046 - - Message 5 <13>1 2009-05-03T14:00:36.202981+02:00 host.example.org app2 18971 - - Message 6 K6wzcombEvKJ+UTMcn9bPryAeaU= zrkdcieadluypapcy8wwzwhppok= zgrwodpx16adc7umckyify53ice= XfopJ+S8/hODapiBBCgVQaLqBKg= J67gKMFl/OauTC20ibbydwIlJC8= M5GziVgB6KPY3ERU1HXdSi2vtdw= Wxd/lU7uG/ipEYT9xeqnsfohyH0= Martin Schütte Syslog nach RFC 4. März 2010 19 / 30

Signature Blocks... und Hash-Werte & Signatur versenden <110>1 2009-05-03T14:00:39.529966+02:00 host.example.org syslogd 2138 - [ssign VER="0111" RSID="1" SG="0" SPRI="0" GBC="2" FMN="1" CNT="7" HB="K6wzcombEvKJ+UTMcn9bPryAeaU= zrkdcieadluypapcy8wwzwhppok= zgrwodpx16adc7umckyify53ice= XfopJ+S8/hODapiBBCgVQaLqBKg= J67gKMFl/OauTC20ibbydwIlJC8= M5GziVgB6KPY3ERU1HXdSi2vtdw= Wxd/lU7uG/ipEYT9xeqnsfohyH0=" SIGN="AKBbX4J7Qkrw... umyfm="] Eine Syslog-Nachricht, enthält: Signature Group (VER, RSID, SG, SPRI) Global Block Counter (GBC, zählt syslog-sign Nachrichten) First Message Number (FMN, zählt normale Nachrichten) CNT Hash Blocks (HB) DSA Signatur (SIGN) Martin Schütte Syslog nach RFC 4. März 2010 20 / 30

Offline Verifikation 1. Log teilen in Certificate Blocks (CB), Signature Blocks (SB) und normale Nachrichten 2. für normale Nachrichten Hashes berechnen 3. CBs und SBs sortieren 4. CBs zusammensetzen und verifizieren ergibt öffentliche Signaturschlüssel 5. SBs verifizieren 6. Folge aller Hash-Werte aufbauen (mittels FMN) 7. zu jedem Hash-Wert die zugehörige Nachricht raussuchen ergibt Folge verifizierter Nachrichten Martin Schütte Syslog nach RFC 4. März 2010 21 / 30

verify.pl $ perl verify. pl -i test. log reading input... processing CBs... decoding SGs... got PKIX DSA key verifying CBs... verified CB and got key for SG: ( host. example.org,1217632162,0111,3,0), start : 2008-08 -02 T01 :09:27.773464+02:00 now process SBs signed messages :... host. example.org,1217632162,0111,3,0,11 <15>1... test 6255 - - msg10 host. example.org,1217632162,0111,3,0,12 <15>1... test 6255 - - msg11 host. example.org,1217632162,0111,3,0,13 **** msg lost host. example.org,1217632162,0111,3,0,14 <15>1... test 6255 - - msg13 host. example.org,1217632162,0111,3,0,15 <15>1... test 6255 - - msg14 host. example.org,1217632162,0111,3,0,16 <15>1... test 6255 - - msg15... messages without signature : <15>1 2008-08 -02 T02 :09:27+02:00 host. example. org test 6255 - - modified msg12 Martin Schütte Syslog nach RFC 4. März 2010 22 / 30

Implementierungen rsyslog sehr modular, default-syslogd auf mehreren Linux-Systemen, implementiert syslog-protocol und tls-transport ab Version 3.19 syslog-ng flexible Konfiguration, implementiert syslog-protocol und tls-transport in Open Source Edition (GPL) ab Version 3.0 NetBSD syslogd syslog-protocol, tls-transport und syslog-sign implementiert als Google Summer of Code 2008 Projekt, bislang nur in -Current Martin Schütte Syslog nach RFC 4. März 2010 23 / 30

rsyslog.conf Beispiel # certificate files $DefaultNetstreamDriverCAFile / etc / ca. pem $DefaultNetstreamDriverCertFile / etc / cert. pem $DefaultNetstreamDriverKeyFile / etc / key. pem $ModLoad imtcp # load TCP listener $InputTCPServerStreamDriverMode 1 # TLS - only mode $InputTCPServerStreamDriverAuthMode anon # client NOT authenticated $InputTCPServerRun 6514 # listen at port 6514 # set up the action $DefaultNetstreamDriver gtls # use gtls netstream driver $ActionSendStreamDriverMode 1 # require TLS $ActionSendStreamDriverAuthMode anon # server NOT authenticated *.* @@(o) server. example. net :6514 # send ( all ) messages Martin Schütte Syslog nach RFC 4. März 2010 24 / 30

syslog-ng.conf Beispiel source src_tls { syslog ( ip (10.100.20.40) transport (" tls ") tls (peer - verify ( required - trusted ) ca_dir ( / etc /ca.d/ ) key_file ( / etc / client_key.pem ) cert_file ( / etc / client_certificate.pem ) ) ); }; filter f_notice { level ( notice.. emerg ); }; destination dst_tls { syslog ("10.100.20.41" transport (" tls ") port (6514) tls (peer - verify ( required - trusted ) ca_dir ( / etc /ca.d/ ) key_file ( / etc / client_key.pem ) cert_file ( / etc / client_certificate.pem ) ) ); }; log { source ( src_tls ); filter ( f_notice ); destination ( dst_tls ); }; Martin Schütte Syslog nach RFC 4. März 2010 25 / 30

NetBSD syslog.conf Beispiel tls_ca ="/ etc /my. cacert " tls_cert ="/ etc / localhost. crt " tls_key ="/ etc / localhost. key " tls_gen_cert =on tls_server =on tls_bindhost ="192.168.1.2" tls_bindport =" syslog - tls " tls_allow_clientcerts ="/ etc / somehost. crt " *.* @ [2001: db8 :: fe41 : be53 ]: syslog - tls ( fingerprint =" MD5 :00: A2 :...:27") Martin Schütte Syslog nach RFC 4. März 2010 26 / 30

Umstieg auf neue Protokolle Änderung an allen Schnittstellen: lokal in /var/run/log im Netzwerk zwischen Hosts und Logserver Format für Archivierung Format zur Auswertung Martin Schütte Syslog nach RFC 4. März 2010 27 / 30

Vorteile der Protokolle? TLS statt UDP sinnvoll? Ende-zu-Ende-Signaturen notwendig? ideales Format zur Archivierung? ideales Format zur Auswertung? Martin Schütte Syslog nach RFC 4. März 2010 28 / 30

Vorteile der Protokolle? Feb 28 23:34:08 mail amavis[90040]: (90040-06) Passed CLEAN, [140.211.11.3] [216.139.236.158] <users-return-87524-lists= mschuette.name@spamassassin.apache.org> -> <mschuett@mail.asta. uni-potsdam.de>, Message-ID: <27738584.post@talk.nabble.com>, mail_id: OOmMiHIeWCKq, Hits: -13.65, size: 3109, queued_as: B5501502423, 17412 ms besser/schlechter als? 2010-02-28T23:34:08.285912+02:00 mail.asta.uni-potsdam.de amavis 90040 passed [amavisresult@32473 proc="90040-06" result="passed CLEAN" original_ip="140.211.11.3" est_orig_ip="216.139.236.158" orig_env_sender="<users-return- 87524-lists=mschuette.name@spamassassin.apache.org>" recip_list="<mschuett@mail.asta.uni-potsdam.de>" msg_id="<27738584.post@talk.nabble.com>" mail_id="oommihiewckq" hits="-13.65" size="3109" queued_as="b5501502423" proc_time="17412"] Martin Schütte Syslog nach RFC 4. März 2010 29 / 30

Links IETF Syslog WG: Status Page rsyslog syslog-ng NetBSD & GSoC08: Improve syslogd NetBSD CVS Repositories SEC - simple event correlator logsurfer+ Martin Schütte Syslog nach RFC 4. März 2010 30 / 30