Virenscanner clamav unter Fedora einrichten

1 Stern2 Sterne3 Sterne4 Sterne5 Sterne (Keine Bewertung vorhanden)
Loading...

Wer einen Linux Rechner betreibt, egal ob als Endbenutzer oder als Server wird auch mit dem Gedanken spielen, einen Virenscanner einzusetzen. Unter Fedora ist clamav eine der einfachsten Alternativen. Neben einer guten Trefferquote zeigt der Scanner aber auch einige Fehlalarme an. Das ist mir effektiv aber lieber, statt einen echten Virus zu übersehen.

Installiert wird der Virenscanner wie folgt:

yum install clamav clamav-update

Sobald der Virenscanner einmal installiert ist, starten wir das Update der Virendefinitionen via:

freshclam

Nun sollte das erscheinen:

ERROR: Please edit the example config file /etc/freshclam.conf
ERROR: Can't open/parse the config file /etc/freshclam.conf

Öffnen Sie nun mit vi /etc/freshclam.conf und setzen Sie vor das „Example“ eine # (Raute)

Wenn Sie nun „freshclam“ erneut ausführen, sollte eine Meldung ähnlich zu dieser erscheinen:

ClamAV update process started at Sun Oct 20 17:14:48 2013
main.cvd is up to date (version: 55, sigs: 2424225, f-level: 60, builder: neo)
daily.cld is up to date (version: 17978, sigs: 414069, f-level: 63, builder: neo)
bytecode.cvd is up to date (version: 228, sigs: 43, f-level: 63, builder: neo)

Unter Fedora 19 wird für den regelmäßigen Scan unter /etc/cron.d/clamav-update ein Cronjob angelegt. Das Skript startet alle 3 Stunden und sucht nach neuen Update.
In der /etc/freshclam.conf kann nun noch sowohl ein Logfile als auch noch diverse andere Einstellungen vorgenommen werden.
Ich habe hier nur das Logfile & Logrotate aktiviert.

Nun kann der PC gescannt werden. Ein erster Test kann wie folgt gestartet werden:

clamscan -ri /home

Mit dem Parameter werden nur die infizierten Dateien gelistet, r bewirkt dass rekursiv der Ordner durchsucht wird.
Um zu testen, ob der Virenscanner funktioniert, können Sie ein EICAR Test erzeugen. Dazu kopieren sie den Text-String den Sie hier finden, in eine Datei und speichern Sie diese in Ihrem Home-Ordner. Scannen Sie nun mit vorher genannten Befehl. Es sollte nun eine Datei gefunden werden.

Sofern Sie den Scan automatisiert starten lassen wollen, können Sie den Befehl in ein Skript packen, welches per Cronjob ausgeführt wird. Ergänzend nun noch ein paar Befehle, die nützlich sind, wenn ein Virus gefunden wird. Bei oben genannten Befehl passiert außer dem Hinweis gar nichts.

--remove (Entfernt die Datei direkt)
--move=DIRECTORY (Ordner angeben in den die Datei verschoben werden soll. Hinweis: Muss Schreibrechte für dem clamav User haben)
--copy=DIRECTORY (Ordner angeben in den die Datei kopiert werden soll. Hinweis: Muss Schreibrechte für dem clamav User haben)

Weitere Parameter wie ausgeschlossene Ordner usw. lassen sich via „man clamscan“ nachlesen.

Anbei noch ein ausführlicheres Skript für den Virenscan:

  1. #!/bin/bash
  2. #######################
  3. # Create the log file if needed
  4. #
  5. AV_LOG="/var/log/clamav/virusscan.log"
  6.  
  7. if [ ! -f "$AV_LOG" ]; then
  8.         touch "$AV_LOG"
  9.         chmod 600 "$AV_LOG"
  10. else
  11.         mv "$AV_LOG" "$AV_LOG-`date +%Y%m%d`"
  12. fi
  13. #
  14. ########################
  15. COMMON_DIRS="/bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin /home /tmp /www /root /var /opt /etc"
  16. ########################
  17. # Start the scan and mail to root (change as needed)
  18. #
  19. clamscan -ri $COMMON_DIRS --log="$AV_LOG" --quiet
  20.  
  21. if [ $? -gt 0 ]; then
  22.         SUBJECT="VIRUS DETECTED - Virus-Scan-Log - `date +%d.%m.%Y`"
  23. else
  24.         SUBJECT="OK - Virus-Scan-Log - `date +%d.%m.%Y`"
  25. fi
  26. # Send Log to root
  27. cat "$AV_LOG" | mail -s "$SUBJECT" root@localhost
  28. #
  29. ########################

Upgrade von Fedora 18 nach Fedora 19 via YUM

1 Stern2 Sterne3 Sterne4 Sterne5 Sterne (Keine Bewertung vorhanden)
Loading...

Offiziell wird der Update-Weg via YUM nicht unterstützt, über folgenden Weg ist es aber problemlos machbar.

Lösen Sie evtl. auftrendene Paketkonflikte auf. Prüfen können Sie das mit den folgenden 2 Befehlen. Sollte es hier Pakete geben, die angezeigt werden, kann man diese entweder deinstallieren (via yum remove) oder prüfen, ob es ggf. ein altes Paket ist, welches z.B. noch aus Fedora 17 stammt und in Fedora 18 eine Versionsnummer kleiner vorhanden ist. Dann dürfte ein yum reinstall paketname helfen.

package-cleanup --problems
package-cleanup --orphans

Nun muss der Fedora 19 GPG Key importiert werden:

rpm --import https://fedoraproject.org/static/FB4B18E6.txt

Nun können wir auch schon mit dem Upgrade beginnen:

yum reinstall fedora-release
yum clean all
yum update yum
yum --releasever=19 distro-sync

Fedora sucht nun alle Pakete für das Upgrade, mit y bestätigen und schon läuft das Upgrade.

SSD Festplatte unter Linux / Fedora 19

1 Stern2 Sterne3 Sterne4 Sterne5 Sterne (Keine Bewertung vorhanden)
Loading...

SSD werden von Woche zu Woche günstiger und sind nun auch in „normalen“ größen für einen relativ günstigen Preis zu bekommen. Ich habe aufgrund eines Hardwaredefektes die Boot-Festplatte meines Servers ersetzen müssen. Dabei habe ich auf die Samsung 840 Pro Series mit 128GB entschieden.

Die Festplatte zeichnete sich in diversen Tests mit sehr guten Leistungen aus, ist aber nicht extrem teuer. Sicherlich gibt es günstigere Platten, aber es sollte eine ordentliche Qualität sein.

Im Netz gibt es viele Informationen, wie man optimal eine SSD unter Linux betreibt. Ich habe Fedora frisch installiert. Wichtig, im BIOS sollte für den SATA Port der Modus auf AHCI gestellt werden. Im folgenden will ich auf einzelne Themen kurz eingehen:

Trim & fstab

Die SSD muss das Trim Kommando können, dies lässt sich mit hdparm wie folgt identifizieren. Ist hdparm nicht installiert, dies via „yum install hdparm“ nachholen.

hdparm -I /dev/sda | grep -i trim

Das Ergebnis sollte so aussehen:

           *    Data Set Management TRIM supported (limit 8 blocks)
           *    Deterministic read ZEROs after TRIM

Trim unter Linux funktioniert nur mit dem ext4 FileSystem. Hier gibt es nun die Option dies manuell oder automatisch zu tun. Aber wofür ist Trim überhaupt? Beim löschen von Dateien wird der Bereich, in dem die Datei vorher lag nur als „gelöscht“ markiert, der Inhalt ist aber nach wie vor da. Trim räumt den Bereich endgültig auf.

Die automatische Option aktiviert man, in dem man in der /etc/fstab Datei hinter seine SSD Partition folgende Parameter anhängt:

/dev/mapper/fedora-root /   ext4  defaults,remount-ro,discard  1 1

Jedoch verliert man hierbei einen Performance-Vorteil, da bei jedem löschen ein trim ausgeführt wird. Ich habe mich daher für die manuelle Variante entschieden und in der fstab nichts geändert.

Für den manuellen Weg habe ich eine Datei in /etc/cron.daily erzeugt die folgenden Inhalt trägt:

#!/bin/sh
LOG=/var/log/batch_discard.log
echo "*** $(date -R) ***" >> $LOG
fstrim -v / >> $LOG
fstrim -v /www >> $LOG

Für jede einzelne Partition auf einer SSD Festplatte muss die letzte Zeile einfach kopiert werden. Dadurch wird jeden Tag per Cron getrimt. Finden sehr viele Dateioperationen statt, kann das auch mehrfach über die crontab gestartet werden. Das Logfile sieht dann in etwa so aus:

*** Fri, 13 Sep 2013 03:09:03 +0200 ***
/: 3,7 GiB (3930451968 bytes) trimmed
/www: 544,1 MiB (570535936 bytes) trimmed

Es gibt noch weitere Möglichkeiten, den Zugriff zu optimieren, dazu könnte man diese beiden Optionen in der fstab noch setzen:

noatime,nodiratime

Damit wird das Speichern der letzten Zugriffzeit für Dateien & Ordner deaktiviert. Da ich auf diese Informationen aber nicht verzichten will, habe ich diese Werte nicht gesetzt.

Swapping

Generell kann auch der SWAP Bereich auf einer SSD liegen, je nachdem wie klein der Arbeitsspeicher ist und wie oft geswapped wird, empfiehlt es sich aber, ggf. über mehr Arbeitsspeicher nachzudenken und das swappen ganz zu deaktivieren.

Dazu tragen Sie unter Fedora in die Datei /etc/sysctl.conf eine neue Zeile mit folgendem Inhalt ein:

vm.swappiness=0

Fedora 17 für das Fedora 18 Upgrade via yum vorbereiten

1 Stern2 Sterne3 Sterne4 Sterne5 Sterne (Keine Bewertung vorhanden)
Loading...

Da Fedora 18 nun erschienen ist, planen auch wir einen Upgrade der Serversysteme auf Fedora 18. Dies Bedarf einiger Vorbereitung. Nachdem für das Upgrade auf Fedora 16 & 17 mit preupgrade gemacht werden sollte, wird für Fedora 18 wieder yum empfohlen. Vermutlich aufgrund des neuen anaconda installers.

Fangen wir an. Via yum sollten die yum-utils installiert sein.

yum install yum-utils

Gleichzeitig sollte das System auch auf den aktuellsten Stand gebracht werden:

yum update

Anschließend können wir nun mit dem Tool package-cleanup auf offene Probleme suchen als auch Abhängigkeiten überprüfen.

package-cleanup --problems

Ergibt idealerweise: No Problems Found. Sollten hier Probleme gefunden werden, empfiehlt es sich, die genannten Pakete neuzuinstallieren. Das lässt sich am einfachsten via „yum reinstall package1 package2“ erledigen. Sollten die Probleme nicht gelöst werden, deinstalliert die Pakete.

Nun kommen wir zur Prüfung der Abhängigkeiten:

package-cleanup --orphans

Hier werden nun alle Pakete genannt, die im Repository nicht mehr gibt bzw. dort keine Referenz mehr besitzen. Im Regelfall tauchen hier alle manuell installieren RPMs als auch die veralteten Kernel Pakete auf. Alle Kernel Pakete außer dem aktuellen können via:

yum remove kernel-PAE-3.6.10-2.fc17.i686

entfernt werden. Alle restlichen Pakete die hier nun gelistet werden, sollten wenn möglich entfernt werden, bevor das Upgrade durchgeführt wird.

Bevor nun das Upgrade gestartet wird, sollte der lokale yum cache geleert werden:

yum clean all

Es gibt via yum 2 Möglichkeiten, einen neuen Weg & einen alten Weg. Bis Fedora 17 habe ich immer den alten Weg benutzt und mit dem Upgrade auf Fedora 18 nun den neuen Weg getestet:
Zuerst installieren wir den Fedora 18 GPG Key:

rpm --import https://fedoraproject.org/static/DE7F38BD.txt

Wird SELinux genutzt, muss der Mode in Permissive gesetzt werden:

setenforce Permissive

Sofern rpmfusion Repositorys benutzt werden, muss noch folgender Schritt getan werden:

yum remove rpmfusion-free-release rpmfusion-nonfree-release
yum localinstall --nogpgcheck http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-17.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-17.noarch.rpm

Nun updaten wir alle Pakete. Ein Tipp von mir, diese Aktion sollte man in einem screen starten, falls durch das Update des openssh Pakets die Verbindung gekappt wird. Via

screen -S upgrade

kann man einen eigenen Screen starten. Mit STRG+A+D detached man den Screen, loggt sich also aus dem Screen aus, im Hintergrund läuft dieser weiter. Mit screen -r upgrade wird die Verbindung zum Screen wieder aufgenommen.

yum update yum
yum clean all
yum --releasever=18 --disableplugin=presto distro-sync

Anschließend müssen wir ein Rebuild der RPM Datenbank durchführen:

rpm --rebuilddb

Andernfalls wird rpm -qa nicht mehr funktionieren. Lesen Sie nun ab „Nach dem Upgrade“ weiter.

Der alte Weg schaut wie folgt aus:
Nun benötigen wir noch die neuen fedora-release Pakete, die wir hier herunterladen können. Download getrennt nach i386 & x64. Dort downloaden wir:

fedora-release-18-1.noarch.rpm
fedora-release-notes-18.0.0-3.fc18.noarch.rpm
fedora-release-rawhide-18-1.noarch.rpm

Diese Pakete müssen dann via folgendem Befehl installiert werden:

rpm -Uvh fedora-release-18-1.noarch.rpm fedora-release-notes-18.0.0-3.fc18.noarch.rpm fedora-release-rawhide-18-1.noarch.rpm

Ist das erledigt, folgt nun das eigentliche Upgrade:

yum upgrade

Nach dem Upgrade:

Nach dem das Upgrade abgeschlossen ist, sollte im Bootloader noch schnell kontrolliert werden, ob der neue Kernel als Standardkernel eingetragen ist. Da ich bei dem ein oder anderen System Probleme mit dem Bootloader hatte, bietet sich an die grub-config neu bauen zu lassen.

grub2-mkconfig -o /boot/grub2/grub.cfg

Danach kann man das System rebooten und Fedora 18 sollte starten.

Anschließend sollten nun die alten Kernel Versionen noch entfernt werden. Identifizieren können wir diese via

rpm -qa | grep kernel

Diese dann wie weiter oben bereits erwähnt via „yum remove kernel-PAE-3.6.10-2.fc17.i686“ entfernen. (Alle FC17 Kernel).

Hinweis: Die neue Variante konnte auf einem Fedora 17 Testsystem erfolgreich getestet werden.