be smart. think open source. - docs.adfinis-sygroup.ch filemodul "journald" [ssa 1002]...

21
Be smart. Think open source.

Upload: hoangnhi

Post on 12-Aug-2019

213 views

Category:

Documents


0 download

TRANSCRIPT

Besmart.Thinkopensource.

Modul"journald"[SSA1002]

systemd-journaldDaemonDienstdervonsystemdverwaltetwird

SammeltalleLogsaneinerzentralenStelle

BinaryFormatmitdiversenVorteilengegenüberPlain-TextFormat

ProblemeherkömmlichersyslogDienste1/2BisherwurdensämtlicheLogsnacheinembeliebigenMustergeschrieben(abhängigvomDienst/Tool)–automatischeLoganalyseschwierig

TimestampsenthieltenmeistkeineZeitzonenInfos

BinaryDatenkonntenbishernichtdirektinssysloggeschriebenwerden(coredumps,firmwaredumps,SCSIsensedata)

ProblemeherkömmlichersyslogDienste2/2VieleverschiedeneLogs(syslog,lastlog,audit,kernellogs,etc.)

LogFilessindrelativeinfachmanipulierbar,AngreiferkönnenInformationenzueinemAngriffrelativeinfachverstecken

Earlyboot/lateshutdownInformationenmeistnichtvorhanden

BackgroundLogFormatDieeinzigenMetaDaten,diebeiherkömmlichensyslogImplementationenmitgeschicktwerden,sindQuelle(Facility),Priorität,Timestamp,PID,Hostname/IP

DerSerberverifiziertdieseInformationenmeistnichtundlegtdieseeinszueinsab

DiemeistenInformationensindoptionalundesistnichtpräzisevorgeschrieben,wiedieSyntaxaussieht;dadurchvariierendieLogsjenachSyslogImplementationstark

Konfigurationvonjournald1/2/etc/systemd/journald.conf

man5journald.conf

Storagedefiniert,obdasLogpersistentistpersistent=persistentin/var/log/journalvolatile=nurimMemoryauto=persistentin/var/log/journalwennvorhanden

Compressdefiniert,obKompressioneingeschaltetist

Konfigurationvonjournald2/2Sealdefiniert,obpersistentejournalFilesmiteinemKeysigniertwerden,umdiesevorManipulationenzuschützen

ForwardToXYZdefiniert,objournaldNachrichtenaneinenherkömmlichensyslogDienst,denKernellogbuffer(kmesg),etc.weitergeleitetwerdensollen

NachÄnderungen:

systemctlrestartsystemd-journald

nichtvergessen!

Loganalysemitjournalctl1/6journalctlisteinhigh-levelZugangzudenLogs

NützlicheFiltersinddirektintegriert:

BootNummer/SystemStarts

ZeitIntervall

SpezifischeLogFelder

Loganalysemitjournalctl2/6LogseinesspezifischenToolsanalysieren

journalctl/usr/sbin/httpd

-fFortlaufendeAnzeige

-eZeigtdieletztenEinträge

-rUmgekehrteReihenfolge

LogseinesspezifischensystemdUnitsanzeigen

journalctl-umariadb

Loganalysemitjournalctl3/6FilterungnachSystemStartsistnützlich,umz.B.ProblemenachdemerstenRebootinfolgeeinesUpdateszufinden

Beispiel:

journalctl--list-boot

journalctl-b42

Loganalysemitjournalctl4/6FilterungbasierendaufeinemZeitintervallsindnützlich,umProbleme,dieineinembestimmtenZeitraumpassiertsind,zuanalysieren

Beispiele:

journalctl--since"2014-06-309:17:16"

journalctl--since"now"

journalctl--since"today"--until"11:00"

Loganalysemitjournalctl5/6Zeitangaben,sieheman7system.time

Annahme,aktuelleZeit:2016-08-2318:15:22

"11:00"2016-08-2311:12:00

"now"2016-08-2318:15:22

"+3h30min"2016-08-2321:45:22

Loganalysemitjournalctl6/6FilterungnacheinemspezifischenLogFeldistnützlich,umz.B.ProblemeeinesspezifischenProzesses,einesspezifischenBenutzers,etc.zufinden

man7systemd.journal-fields

Beispiele:

journalctl_PID=507--since"today"

journalctl_UID=1000

journalctl_SYSTEMD_UNIT=httpd.service

LimitierungLogGrösseParameterinjournal.conf

[System|Runtime]MaxUse

[System|Runtime]MaxFileSize

[System|Runtime]MaxFiles

System=onDisk(persistent)Files

Runtime=inMemoryFiles

man5journald.conf

LimitierungLogGrösse2/4[System|Runtime]MaxUsedefiniert,wievielPlatzdasjournalmaximalbelegendarf

Defaultist10%derPartitionsgrösseaufwelcherdasJournalliegt

DieserWertbeinhaltetallejournalFiles(auchrotierte)

LimitierungLogGrösse3/4[System|Runtime]MaxFileSizedefiniert,wiegrossindividuelleJournalFileswerdendürfen

Defaultist1/8derGrössevon[System|Runtime]MaxUsedamitsiebenRotationenmöglichsind

LimitierungLogGrösse4/4[System|Runtime]MaxFilesdefiniert,wievieleindividuelleJournalFilesmaximalaufbewahrtwerden

Deafultist100

Attribution/LicenseSlidesAdfinisSyGroupAG,2016,Attrivution-NonCommercial2.0(CCBY_NC2.0)