take care of your logs (de)

take care of your logs (de)

Der Vortrag auf der OSMC 2016 zum Thema warum man ein zentrales Logging haben will, was man gewinnt und wie man auch das Management überzeugen kann das es eine sinnvolle Investition ist Hardware dafür bereit zu stellen.

Video: https://youtu.be/JDLfHnpErvo

8bf1b7d831c3818f6f3997e260f9ad3d?s=128

Jan Doberstein

December 01, 2016
Tweet

Transcript

  1. take care of your logs

  2. Jan Doberstein ( @jalogisch ) 17+ Jahre IT Administrator Support

    Engineer bei Graylog ( @graylog2 )
  3. Was sind Logs?

  4. – Wikipedia „Eine Logdatei enthält das automatisch geführte Protokoll aller

    oder bestimmter Aktionen von Prozessen auf einem Computersystem.“
  5. – Wikipedia „ Außer dem Betriebssystem selbst schreiben meist Hintergrundprogramme

    (z. B. ein E-Mail- Server, ein Proxyserver und anderes) in Logdateien, um Aktionsmeldungen, Fehlermeldungen und Hinweise persistent (dauernd) oder temporär verfügbar zu halten. Ähnliches gilt für Installationsprogramme, Firewalls, Virenscanner und dergleichen. “
  6. Logs geben die Möglichkeit Dinge zu einem späteren Zeitpunkt nachzuvollziehen

  7. Warum sollte ich vergänglichen und unnützen Daten Aufmerksamkeit schenken?

  8. https://twitter.com/janl/status/785456374566223872

  9. Was sind Logs?

  10. Aug 16 18:18:19 d8.jalogis.ch sshd[26944]: fatal: Unable to negotiate a

    key exchange method [preauth] Aug 16 18:18:39 d8.jalogis.ch sshd[26946]: reverse mapping checking getaddrinfo for hn.kd.ny.adsl [222.138.139.252] failed - POSSIBLE BREAK-IN ATTEMPT! Aug 16 18:18:39 d8.jalogis.ch sshd[26946]: Invalid user admin from 222.138.139.252 Aug 16 18:18:39 d8.jalogis.ch sshd[26946]: input_userauth_request: invalid user admin [preauth] Aug 16 18:18:39 d8.jalogis.ch sshd[26946]: Connection closed by 222.138.139.252 [preauth] Aug 16 18:19:16 d8.jalogis.ch sshd[26948]: fatal: Unable to negotiate a key exchange method [preauth]
  11. None
  12. ohne Logs ist schlecht.

  13. lokales Sammeln Linux ( syslog / journald ) Windows (

    Eventlog )
  14. lokales Sammeln root@d8:/var/log# grep -v "fatal: Unable to negotiate a

    key exchange method" auth.log | grep -v „pam_unix(cron:session)“ Aug 16 18:12:18 d8.jalogis.ch sshd[26930]: Connection closed by 45.114.50.54 [preauth] Aug 16 18:18:39 d8.jalogis.ch sshd[26946]: reverse mapping checking getaddrinfo for hn.kd.ny.adsl [222.138.139.252] failed - POSSIBLE BREAK- IN ATTEMPT! Aug 16 18:18:39 d8.jalogis.ch sshd[26946]: Invalid user admin from 222.138.139.252 Aug 16 18:18:39 d8.jalogis.ch sshd[26946]: input_userauth_request: invalid user admin [preauth] Aug 16 18:18:39 d8.jalogis.ch sshd[26946]: Connection closed by 222.138.139.252 [preauth]
  15. lokales Sammeln root@d8:~# grep -v 'pam_uni(cron:session)' /var/ log/auth.log | grep

    'fatal: Unable to negotiate a key exchange method' | wc -l 3082
  16. http://xkcd.com/208/

  17. lokales Sammeln • Ist der Host nicht erreichbar, gibt es

    kein Log • Lokale Logs erlauben es nicht, globale Ereignisse zu verfolg en • Kompromittierte Systeme sind manipuliert
  18. (simples) zentrales Sammeln OS Grundausstattung geringer Aufwand Syslog

  19. (simples) zentrales Sammeln

  20. http://xkcd.com/208/

  21. Datenbank & Interface

  22. Elasticsearch ist eine dokumentbasierte Datenbank die auf Apache Lucene aufsetzt

    und eine vollständige REST API bietet.
  23. > host:d8.jalogis.ch AND programname:sshd AND message:"*invalid user*"

  24. None
  25. • Anreicherung • Filterung • Normalisierung

  26. zentrales Sammeln & Anreichern

  27. Aug 16 18:18:19 d8.jalogis.ch sshd[26944]: fatal: Unable to negotiate a

    key exchange method [preauth] Aug 16 18:18:39 d8.jalogis.ch sshd[26946]: reverse mapping checking getaddrinfo for hn.kd.ny.adsl [222.138.139.252] failed - POSSIBLE BREAK-IN ATTEMPT! Aug 16 18:18:39 d8.jalogis.ch sshd[26946]: Invalid user admin from 222.138.139.252 Aug 16 18:18:39 d8.jalogis.ch sshd[26946]: input_userauth_request: invalid user admin [preauth] Aug 16 18:18:39 d8.jalogis.ch sshd[26946]: Connection closed by 222.138.139.252 [preauth] Aug 16 18:19:16 d8.jalogis.ch sshd[26948]: fatal: Unable to negotiate a key exchange method [preauth]
  28. (?<timestamp>\b(?:[Jj]an(?:uary|uar)?|[Ff]eb(?:ruary|ruar)?|[Mm](?:a|ä)?r(?:ch|z)?| [Aa]pr(?:il)?|[Mm]a(?:y|i)?|[Jj]un(?:e|i)?|[Jj]ul(?:y)?|[Aa]ug(?:ust)?|[Ss]ep(?:tember)?|[Oo](?:c| k)?t(?:ober)?|[Nn]ov(?:ember)?|[Dd]e(?:c|z)(?:ember)?)\b +(?:(?:0[1-9])|(?:[12][0-9])|(?:3[01])| [1-9]) (?!<[0-9])(?:2[0123]|[01]?[0-9]):(?:[0-5][0-9])(?::(?:(?:[0-5]?[0-9]|60)(?:[:.,][0-9]+)?))(?![0-9])) (?:<(?<facility>\b(?:[0-9]+)\b).(?<priority>\b(?:[0-9]+)\b)> )?(?<logsource>(?:(?:((([0-9A-Fa-f] {1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d| [1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4})

    {1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa- f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\. (25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((: [0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)) {3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]| 2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((: [0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]| 2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]| 2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?|(?<![0-9])(?:(?:[0-1]? [0-9]{1,2}|2[0-4][0-9]|25[0-5])[.](?:[0-1]?[0-9]{1,2}|2[0-4][0-9]|25[0-5])[.](?:[0-1]?[0-9]{1,2}|2[0-4] [0-9]|25[0-5])[.](?:[0-1]?[0-9]{1,2}|2[0-4][0-9]|25[0-5]))(?![0-9]))|\b(?:[0-9A-Za-z][0-9A-Za-z-] {0,62})(?:\.(?:[0-9A-Za-z][0-9A-Za-z-]{0,62}))*(\.?|\b))) (?<program>[\x21-\x5a\x5c\x5e-\x7e] +)(?:\[(?<pid>\b(?:[1-9][0-9]*)\b)\])?: (?<message>.*)
  29. %{SYSLOGTIMESTAMP:timestamp} (?:%{SYSLOGFACILITY} )? %{SYSLOGHOST:logsource} %{SYSLOGPROG}: % {GREEDYDATA:message}

  30. Aug 16 18:18:19 d8.jalogis.ch sshd[26944]: fatal: Unable to negotiate a

    key exchange method [preauth] Aug 16 18:18:39 d8.jalogis.ch sshd[26946]: reverse mapping checking getaddrinfo for hn.kd.ny.adsl [222.138.139.252] failed - POSSIBLE BREAK-IN ATTEMPT! Aug 16 18:18:39 d8.jalogis.ch sshd[26946]: Invalid user admin from 222.138.139.252 Aug 16 18:18:39 d8.jalogis.ch sshd[26946]: input_userauth_request: invalid user admin [preauth] Aug 16 18:18:39 d8.jalogis.ch sshd[26946]: Connection closed by 222.138.139.252 [preauth] Aug 16 18:19:16 d8.jalogis.ch sshd[26948]: fatal: Unable to negotiate a key exchange method [preauth]
  31. None
  32. None
  33. None
  34. Datenbank & Interface

  35. None
  36. Syslog

  37. Syslog App Hardware

  38. App GELF / JSON Logfile Shipper

  39. App RAW Hardware Syslog

  40. None
  41. Komplexes Sammeln • andere Transportwege und Protokolle • Warteschlangen (queue)

    • Paralleles bearbeiten
  42. Komplexes Sammeln • andere Transportwege und Protokolle • Warteschlangen (queue)

    • Paralleles bearbeiten
  43. Komplexes Sammeln • andere Transportwege und Protokolle • Warteschlangen (queue)

    • Paralleles bearbeiten
  44. None
  45. Einheitliche Betrachtung • verminderte Zugriffsrechte auf Server • schneller und

    einfacher Zugriff auf Informationen • einfache Administration
  46. Fragen? @jalogisch @graylog2 http://graylog.org

  47. Font: Roboto | Image Credits: 1-2: Leo Gonzales https://www.flickr.com/photos/leoglenn_g/ 3:

    Micolo J https://www.flickr.com/photos/robin1966/ 4,5: Christoper https://www.flickr.com/photos/exalthim/ 6-11: MrTinDC https://www.flickr.com/photos/mr_t_in_dc/ 13: Mike Baker https://www.flickr.com/photos/36593372@N04/ 12-17: Jon Anderson https://www.flickr.com/photos/adstream/ 18-24: J Drew https://www.flickr.com/photos/brewbooks/ 25-35, 45: Steven Isaacson https://www.flickr.com/photos/spi/ 36-40: Dennis Jarvis https://www.flickr.com/photos/archer10/ 41: Wiscon Department https://www.flickr.com/photos/widnr/ 42: Budi Nusyirwan https://www.flickr.com/photos/bukrie/ 43,44: Dana https://www.flickr.com/photos/roseannadana/ 46,47: Jan Doberstein