Syslog Server unter 10.4 Tiger / syslogd

  1. raubsauger

    raubsauger Thread StarterMacUser Mitglied

    Mitglied seit:
    09.04.2004
    Beiträge:
    117
    Zustimmungen:
    1
    Hallo Community,

    hab mich letzte Nacht an mein Powerbook gesetzt um syslogs von meinen Routern, Firewalls und managed Switches auf einem Mac zu sammeln und zu sichten. Läuft nun bestens, deshalb mein HowTo für Euch:

    HOWTO

    Syslog Server (syslogd) unter OSX 10.4 Tiger
    13.08.2005 |


    1. Aktivieren des Empfangs externer syslogs von Routern, Switches oder anderen Macs

    Im Terminal die Starteinstellung für syslogd sichern und dann erweitern (/System/Library/LaunchDaemons/com.apple.syslogd.plist)

    Zuerst ein Backup:

    sudo cp /System/Library/LaunchDaemons/com.apple.syslogd.plist com.apple.syslogd.plist.bak

    Mit pico die com.apple.syslogd.plist Datei öffnen:

    sudo pico /System/Library/LaunchDaemons/com.apple.syslogd.plist

    Suchen nach:

    <string>/usr/sbin/syslogd</string>

    direkt darunter einfügen:

    <string>-u</string>

    dann speichern (ctrl-o) und pico beenden (ctrl-x)

    Dies sagt dem Prozess am UDP Port 514 Daten anzunehmen. Also falls aktiviert die OSX Firewall für diesen Port öffnen.

    Nun den Mac neu starten, oder den Prozess beenden und mit den erweiterten Starteinstellungen neu starten:

    sudo launchctl unload /System/Library/LaunchDaemons/com.apple.syslogd.plist
    sudo launchctl load /System/Library/LaunchDaemons/com.apple.syslogd.plist

    2. Funktion nach cron-Neustart wiederherstellen

    Stop und Start noch in eine cron-datei eintragen, die vom Script /etc/periodic/daily/500.daily automatisch aufgerufen wird

    sudo pico /etc/daily.local

    Hier eintragen:

    launchctl unload /System/Library/LaunchDaemons/com.apple.syslogd.plist
    sleep 1
    launchctl load /System/Library/LaunchDaemons/com.apple.syslogd.plist

    speichern (ctrl-o) und pico beenden (ctrl-x)

    3. Logdateien anlegen und zuordnen

    Jedes externe Gerät sollte in eine eigene Log-Datei schreiben, diese legen wir an mit:

    sudo touch /var/log/meingerät.log (z.b. firewall_home.log)

    Jetzt die Preference-Datei des syslogd sichern, und bekannt geben was in den Logfile eingefügt werden soll:

    sudo cp /etc/syslog.conf syslog.conf.bak
    sudo pico /etc/syslog.conf

    Am Ende der conf einfügen:

    local1.* /var/log/meingerät.log (z.b. firewall_home.log)

    speichern (ctrl-o) und pico beenden (ctrl-x)

    Möglich ist local1 bis local7, nach dem Punkt steht der Filter, * für alles, mit z.b. err / emerg / notice / info / crit /alert können die Logs vor dem Speichern gefiltert werden. Zwei tabs und dann der Pfad zur Logdatei.

    Am externen Gerät die Rechner-IP Nummer als Ziel für das Log eingeben, von local1 bis local7 passend zum Eintrag in der syslog.conf einstellen und speichern, ggf. neustarten.

    4. Logrotation einrichten

    Im Script /etc/periodic/weekly/500.weekly werden die neu angelegten Logfiles zur Rotation mit eingetragen. Auch dieses Script killt den syslogd, den wir mit unseren Starteinstellungen anschließend wieder starten. Das Terminalfenster breit aufziehen und:

    sudo pico /etc/periodic/weekly/500.weekly

    Suchen nach

    cd /var/log
    for i in ftp.log lookupd.log lpr.log mail.log netinfo.log hwmond.log ipfw.log ppp.log usw

    hier die eigenen Logfiles anfügen, speichern und pico beenden.

    Dieses Script ruft am Ende /etc/weekly.local auf, mit dem wir den syslogd wieder starten:

    sudo cp /etc/daily.local /etc/weekly.local

    5. Logfiles sichten

    Logifiles dann per Terminal (tail -f /var/log/meingerät.log) aufrufen
    oder im Finder mit dem Tool Konsole ansehen.


    thx to all freaks on many websites who helped me to learn unix / shell, syslogging and more.


    Hoffe jemand kann das brauchen!

    ..verd.., das weekly script hat nach dem Logrotate den syslogd neugestartet, ohne die -u Option. Hab das gefixxt und das Howto ergänzt.
     
    raubsauger, 13.08.2005
  2. theHobbit

    theHobbitMacUser Mitglied

    Mitglied seit:
    07.08.2005
    Beiträge:
    724
    Zustimmungen:
    6
    Hallo raubsauger,

    kann das sehr wohl brauchen :) danke für's HOWTO!

    Möchte den Log von meinem Router mal genauer überwachen (Siemens SE515 dsl), aber da habe ich leider nicht die Möglichkeit die Einstellung "localx" zu machen, da kann ich nur die IP und den Port des Servers angeben.

    Sonst habe ich alles exact so eingetragen wie in Deinem HOWTO, aber in der Log-Datei erscheint nichts. Kann ich den syslogd irgendwie dazu überreden die Log-Daten anzunehmen, obwohl ich im Router nicht die Einstellung localx habe?
     
    theHobbit, 13.01.2006
  3. raubsauger

    raubsauger Thread StarterMacUser Mitglied

    Mitglied seit:
    09.04.2004
    Beiträge:
    117
    Zustimmungen:
    1
    Nachdem meine Router und Switches das können hab ich mich damit nicht befassen müssen. Denke Du musst rausfinden welche Voreinstellung der Router hat. Evtl. kann man ja auch am syslog-server über local* alles was reinkommt sammeln?
     
    raubsauger, 14.01.2006
  4. theHobbit

    theHobbitMacUser Mitglied

    Mitglied seit:
    07.08.2005
    Beiträge:
    724
    Zustimmungen:
    6
    Danke erstmal für die schnelle Antwort!

    Hab jetzt gesehen, dass das komplette Router-Log mit in /var/log/system.log geschrieben wird. Werde mich noch was damit befassen.
     
    theHobbit, 14.01.2006
  5. raubsauger

    raubsauger Thread StarterMacUser Mitglied

    Mitglied seit:
    09.04.2004
    Beiträge:
    117
    Zustimmungen:
    1
    Sie mal in der /etc/syslog.conf nach ob da ein local* Eintrag drin ist. Wenn nicht verwendet der Router die gleiche localX.* wie das syslog. Genial von den Programmierern dieses Teils. Kann keiner so brauchen...
     
    raubsauger, 15.01.2006
  6. theHobbit

    theHobbitMacUser Mitglied

    Mitglied seit:
    07.08.2005
    Beiträge:
    724
    Zustimmungen:
    6
    Es sieht so aus dass Du recht hast ...
    es ist nur ein local0.* Eintrag drin, d.h. der Router mischt sein Log mit in mein System wenn ich die Überwachung starte...

    von mir ist nur die letzte Zeile der /etc/syslog.conf, sonst hab ich darin nichts geändert.
    Code:
    # The authpriv log file should be restricted access; these
    # messages shouldn't go to terminals or publically-readable
    # files.
    authpriv.*;remoteauth.crit                    /var/log/secure.log                                     
    lpr.info                                      /var/log/lpr.log
    mail.*                                        /var/log/mail.log
    ftp.*                                         /var/log/ftp.log
    netinfo.err                                   /var/log/netinfo.log
    install.*                                     /var/log/install.log
    install.*                                     @127.0.0.1:32376
    local0.*                                      /var/log/ipfw.log
    
    *.emerg                                       *
    
    local1.*                                      /var/log/my_router.log                                                               
    
     
    theHobbit, 15.01.2006
  7. raubsauger

    raubsauger Thread StarterMacUser Mitglied

    Mitglied seit:
    09.04.2004
    Beiträge:
    117
    Zustimmungen:
    1
    Da kannst Du wohl nur noch suchen ob sich der Siemens per Telnet einstellen lässt. Falls er eine editierbare autoexec.net oder sowas hat.

    Kauf beim nächsten Mal einen Zyxel.
     
    raubsauger, 15.01.2006
  8. maceis

    maceisMacUser Mitglied

    Mitglied seit:
    24.09.2003
    Beiträge:
    16.696
    Zustimmungen:
    602
    Hallo raubsauger - schöne kleine Anleitung; übersichtlich und informativ.
    Gratuliere.

    Ich hätte noch zwei Anmerkungen zu machen.
    1. Anstatt die launchctl unload - load Kommandos durch ein "sleep 1" zu trennen, würde ich vorschagen die beiden durch && zu verknüpfen.
    Code:
    launchctl unload ... && launchctl load ...
    So wird das load Kommando sofort ausgeführt nachdem das unload erfolgreich abgeschlossen ist.
    Bei den aktuellen 10.4. Versionen ist das "reloaden" glaube ich gar nicht mehr notwendig.

    2. Man sollte vielleicht noch erwähnen, dass die Option -u beim syslogd für `unsecure' steht. Nicht ganz zu Unrecht, da sie in bestimmten Situationen für einen DoS Angriff missbraucht werden kann.
     
    maceis, 16.01.2006
  9. raubsauger

    raubsauger Thread StarterMacUser Mitglied

    Mitglied seit:
    09.04.2004
    Beiträge:
    117
    Zustimmungen:
    1
    Naja, nahezu jeder offener Eingang kann für einen Angriffsversuch verwendet werden, und was sollten wir sonst tun, um die Logs zu sammeln? Fühl mich da zumindest mit dem Mac sicherer als einen fertigen Syslogserver unter Windoof einzurichten.

    Hatte in einer Anleitung gelesen das das sleep commando sinnvoll ist um nicht neu zu starten bevor wirklich alles gestoppt wurde...
     
    raubsauger, 17.01.2006
  10. maceis

    maceisMacUser Mitglied

    Mitglied seit:
    24.09.2003
    Beiträge:
    16.696
    Zustimmungen:
    602
    Ja, aber nicht immer ganz so einfach wie dieser.
    Ich wollte Dich auch nicht kritisieren, sondern das einfach nochmal ins Bewustsein bringen.
     
    maceis, 17.01.2006
Die Seite wird geladen...
Ähnliche Themen - Syslog Server Tiger
  1. MacMännchen
    Antworten:
    3
    Aufrufe:
    17.511
    WirbelFCM
    16.01.2017
  2. Larsen2k4
    Antworten:
    8
    Aufrufe:
    1.809
    Larsen2k4
    04.01.2006
  3. Hairfeti
    Antworten:
    27
    Aufrufe:
    9.342
  4. Hairfeti
    Antworten:
    8
    Aufrufe:
    11.561
  5. SchaSche
    Antworten:
    1
    Aufrufe:
    2.208
    HeckMeck
    30.12.2003