1. Aktuelles
  2. Dashboard
  3. Forum
    1. Unerledigte Themen
  4. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
  5. Community vs. Enterprise
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Artikel
  • Forum
  • Seiten
  • Erweiterte Suche
  1. efw-forum - Endian Firewall Support Forum
  2. Forum
  3. Tips,Tricks, HowTo´s, MODs
  4. Modifikationen und Eigenentwicklungen

Script um LOG´s von Proxy zu archivieren

  • fanti
  • 25. Januar 2011 um 18:28
  • fanti
    Anfänger
    Beiträge
    42
    • 25. Januar 2011 um 18:28
    • #1

    Ich übernehme keine Garantie!!!!

    Das Script habe ich und ein Klassenkamerad von mir geschrieben (eigentlich mehr er als ich) :D damit die Verbindungen der Schüler an unserer Schule ins Internet Dokumentiert werden können, falls der Staatsanwalt mal anklopft.

    Die Endian-Firewall ermöglicht es einen Log des Proxy-Dienstes anzulegen. In diesem sind alle Verbindungen, inkl. der Anmeldenamen der User, abgespeichert die über den Proxy zustande kamen. Abgespeichert werden diese Daten in /var/log/squid/access.log .
    Diese Datei erreicht vor allem in Netzen mit vielen Usern (z. B. Schulen) schnell eine unübersichtliche Größe. Desweiteren enthält sie uninteressante Angaben wie z. B. den UNIX-Zeitstempel. Um die access.log kleiner und übersichtlicher zu halten soll diese täglich gesichert, ausgewertet und anschließend entleert werden. Hierzu wird das Script „tageslog.sh“ verwendet. Dieses wird im Verzeichnis /var/log/squid/ abgelegt und mit Hilfe der Datei „crontab“ in /etc täglich ausgeführt.

    Was macht tageslog.sh?
    1. Es kopiert die access.log in das Verzeichnis /var/log/squid/archivlog, welches zuvor von Hand angelegt werden muss, und speichert sie unter dem Dateinamen „access.log.TAG-MONAT-JAHR“ ab.
    2. Anschließend wird der Inhalt der access.log teilweise eingelesen und in der Datei „squid.archiv.TAG-MONAT-JAHR.log“ abgelegt. Desweitern enthält diese neue Datei (liegt ebenfalls im Verzeichnis /var/log/squid/archivlog) eine Kopfzeile, aus der hervorgeht was die einzelnen Einträge bedeuten und in welcher Reihenfolge sich diese befinden.
    3. Die access.log wird entleert.

    So erhält man nun für jeden Tag im Jahr zwei Dateien (die Originale, und die selbst erstellte) die nur die Daten eines Tages enthalten und somit eine bessere Übersicht bieten.

    Mit dem Script „monatslog.sh“, welches ebenfalls im Verzeichnis /var/log/squid/ abgespeichert wird, wird zu Beginn eines Monats ein tar.gz Archiv mit dem Namen „squid.archiv.MONATSKUERZEL-JAHR.tar.gz“ erstellt. Dieses Archiv enthält alle Dateien des Vormonats, die von tageslog.sh erstellt wurden.
    So erhält man pro Jahr 12 Archive. Der monatliche Start von monatslog.sh wird ebenfalls mit der Datei crontab in /etc gesteuert.

    Hier mal ein kleise Beispiel, ein Eintrag der access.log vor ausführen des Scripts:

    Code
    Jan 13 16:25:04 proxy squid[5939]: 1294932304.953    203 192.168.113.249 TCP_MISS/200 688 GET http://safebrowsing-cache.google.com/safebrowsing/rd/ChNnb29nLW1hbHdhcmUtc2hhdmFyEAEYidUCIIrVAioFiqoAAAEyBYmqAAAB fanti FIRST_UP_PARENT/content3 application/vnd.google.safebrowsing-chunk
    Jan 13 16:25:05 proxy squid[5939]: 1294932305.491    131 127.0.0.1 TCP_MISS/200 630 GET http://safebrowsing-cache.google.com/safebrowsing/rd/ChNnb29nLW1hbHdhcmUtc2hhdmFyEAAY_vEBIP7xATIF_ngAAAE - DIRECT/74.125.39.100 application/vnd.google.safebrowsing-chunk
    Jan 13 16:25:05 proxy squid[5939]: 1294932305.493    348 192.168.113.249 TCP_MISS/200 748 GET http://safebrowsing-cache.google.com/safebrowsing/rd/ChNnb29nLW1hbHdhcmUtc2hhdmFyEAAY_vEBIP7xATIF_ngAAAE fanti FIRST_UP_PARENT/content3 application/vnd.google.safebrowsing-chunk
    Jan 13 16:25:05 proxy squid[5939]: 1294932305.772    126 127.0.0.1 TCP_MISS/200 1357 GET http://safebrowsing-cache.google.com/safebrowsing/rd/ChFnb29nLXBoaXNoLXNoYXZhchAAGN3wByDe8AcqBV74AQABMgVd-AEAAQ - DIRECT/74.125.39.139 application/vnd.google.safebrowsing-chunk
    Jan 13 16:25:05 proxy squid[5939]: 1294932305.773    280 192.168.113.249 TCP_MISS/200 1475 GET http://safebrowsing-cache.google.com/safebrowsing/rd/ChFnb29nLXBoaXNoLXNoYXZhchAAGN3wByDe8AcqBV74AQABMgVd-AEAAQ fanti FIRST_UP_PARENT/content3 application/vnd.google.safebrowsing-chunk


    Daraus wird dann diese Datei erstellt:

    Code
    Datum:
    Einlogzeitpunkt ; Dienst ; IP-Adresse des PC ; Aktion ; Status (200 = OK) ; Groesse (in bytes) ; Methode ; Internetseite ; Benutzer ; Wie wurde die Seite geladen? ; Hostname oder HostIP ; Kopfzeile der Homepage
    
    
    20 Jan 2011:
    16:25:04 ; proxy squid[5939] ; 192.168.113.249 ; TCP_MISS ; 200 ;688 ; GET ; http://safebrowsing-cache.google.com/safebrowsing/rd/ChNnb29nLW1hbHdhcmUtc2hhdmFyEAEYidUCIIrVAioFiqoAAAEyBYmqAAAB ;fanti ; FIRST_UP_PARENT ; content3 ; application/vnd.google.safebrowsing-chunk
    16:25:05 ; proxy squid[5939] ; 127.0.0.1 ; TCP_MISS ; 200 ;630 ; GET ; http://safebrowsing-cache.google.com/safebrowsing/rd/ChNnb29nLW1hbHdhcmUtc2hhdmFyEAAY_vEBIP7xATIF_ngAAAE ;- ; DIRECT ; 74.125.39.100 ; application/vnd.google.safebrowsing-chunk
    16:25:05 ; proxy squid[5939] ; 192.168.113.249 ; TCP_MISS ; 200 ;748 ; GET ; http://safebrowsing-cache.google.com/safebrowsing/rd/ChNnb29nLW1hbHdhcmUtc2hhdmFyEAAY_vEBIP7xATIF_ngAAAE ;fanti ; FIRST_UP_PARENT ; content3 ; application/vnd.google.safebrowsing-chunk
    16:25:05 ; proxy squid[5939] ; 127.0.0.1 ; TCP_MISS ; 200 ;1357 ; GET ; http://safebrowsing-cache.google.com/safebrowsing/rd/ChFnb29nLXBoaXNoLXNoYXZhchAAGN3wByDe8AcqBV74AQABMgVd-AEAAQ ;- ; DIRECT ; 74.125.39.139 ; application/vnd.google.safebrowsing-chunk
    16:25:05 ; proxy squid[5939] ; 192.168.113.249 ; TCP_MISS ; 200 ;1475 ; GET ; http://safebrowsing-cache.google.com/safebrowsing/rd/ChFnb29nLXBoaXNoLXNoYXZhchAAGN3wByDe8AcqBV74AQABMgVd-AEAAQ ;fanti ; FIRST_UP_PARENT ; content3 ; application/vnd.google.safebrowsing-chunk


    Leider ist das erstellen der neuen Datei in der nur ein Teil der Daten der originalen enthalten ist recht zeitaufwendig :( da die Einträge Zeile für Zeile abgearbeitet werden.

    Dateien

    Scripte.rar 3,14 kB – 782 Downloads

Unterstützt von

  1. Datenschutzerklärung
  2. Impressum
Community-Software: WoltLab Suite™