Windows gezielt herunterfahren

Über „Ausführen“ kann man Windows mit der Eingabe shutdown -s -t xx in xx Sekunden herunterfahren. Neugestartet wird mit shutdown -r. Falls das nicht funktionieren sollte, kann man mit shutdown -s -f das Herunterfahren (samt warnungslosem Schließen aller Programme) veranlassen.

Das schonungslose Schließen von Programmen geht in Linux übrigens über die Kommandozeile mit killall -9 Programmname. Ein Neustart wird in Linux ausgeführt mit reboot.

Wer eine komplette Befehlsübersicht von shutdown haben möchte, muss in der MS-Eingabeaufforderung shutdown /? eingeben.

Mit shutdown -a wird beispielsweise der geplante Shutdown abgebrochen. Um den PC in einer Stunde herunterzufahren, kann man shutdown -s -t 3600 eingeben.

Linux Server Sicherheit

Wer einen eigenen Linux Server hat, sollte sich um dessen Sicherheit sorgen. Das Wichtigste ist ein sicheres Passwort sowie strenge Zugriffsbeschränkungen. In openSuSE kann man über die Kommandozeile sein Passwort mit dem Kommando passwd (ohne jegliche Parameter) ändern. Nach der Eingabe wird zweimal nach dem neuen Passwort gefragt.

Außerdem sollte man in der Datei /etc/passwd die Login-Shell für so gut wie alle Benutzer auf /bin/false setzen. Dadurch wird die Anmeldung per SSH für die jeweiligen Benutzer verboten. Das ist notwendig, weil oft versucht wird über den SSH-Port in das System einzudringen. Die Passwörter der Benutzer stehen verschlüsselt in der Datei /etc/shadow. Benutzer mit einem ! als Passwort können sich ebenfalls nicht einloggen.

Die Bedeutung der Felder aus /etc/shadow von links nach rechts:

  1. Der Benutzername
  2. Das verschlüsselte Kennwort (darf nicht leer sein!)
  3. Die Anzahl von Tagen zwischen dem 01.01.1970 und der letzten Kennwortänderung
  4. Die Zeit in Tagen, die zwischen zwei Kennwortänderungen liegen muss
  5. Die Zeit in Tagen, wie lange ein Kennwort gültig ist.
  6. Die Zeit in Tagen, wie lange der Benutzer vor dem Auslaufen des Kennworts gewarnt wird.
  7. Die Zeit in Tagen bis das Konto nach dem Auslaufen des Kennworts gesperrt wird.
  8. Auslaufen des Kontos in Tagen seit dem 01.01.1970

Ein weiteres wesentliches Kriterium für die Server-Sicherheit sind regelmäßige Updates. Mit dem Befehl zypper up erreicht man unter openSuSE ein System-Update.

SpamAssassin konfigurieren

SpamAssassin kann Email-Spam identifizieren und die Betreffszeilen der betroffenen Mails ändern (standardmäßig: ****SPAM(SCORE)****). Das Löschen von Spam-Nachrichten bleibt SpamAssassin jedoch vorbehalten.

Wer trotzdem so viel Spam wie möglich erkennen möchte, kann die Konfigurationsdatei von SpamAssassin (zu finden unter /etc/mail/spamassassin/local.cf) etwas optimieren. Um die Konfigurationsdatei nach Veränderung zu laden, muss SpamAssassin erst gestoppt
/etc/init.d/spamd stop und dann wieder gestartet /etc/init.d/spamd start werden.

Meine Konfiguration:

# Add your own customisations to this file.  See ‚man Mail::SpamAssassin::Conf‘
# for details of what can be tweaked.
#
# SpamAssassin config file for version 3.x
# NOTE: NOT COMPATIBLE WITH VERSIONS 2.5 or 2.6
# See http://www.yrex.com/spam/spamconfig25.php for earlier versions
# Generated by http://www.yrex.com/spam/spamconfig.php (version 1.50)

# How many hits before a message is considered spam.
required_score           5.0

# Change the subject of suspected spam
rewrite_header subject         *****GOAWAY*****

# Encapsulate spam in an attachment (0=no, 1=yes, 2=safe)
report_safe             1

# Enable the Bayes system
use_bayes               1

# Enable Bayes auto-learning
bayes_auto_learn     1

# Enable or disable network checks
skip_rbl_checks        0
use_razor2              1
use_pyzor               1

# Mail using languages used in these country codes will not be marked
# as being possibly spam in a foreign language.
# – german
ok_languages            de

# Mail using locales used in these country codes will not be marked
# as being possibly spam in a foreign language.
ok_locales              all

# Enhance the uridnsbl_skip_domain list with some usefull entries
# Do not block the web-sites of Novell and SUSE
ifplugin Mail::SpamAssassin::Plugin::URIDNSBL
uridnsbl_skip_domain suse.de opensuse.org suse.com suse.org
uridnsbl_skip_domain novell.com novell.org novell.ru novell.de novell.hu novell.co.uk
endif   # Mail::SpamAssassin::Plugin::URIDNSBL

#The combination of SpamAssassin + The Bat! as mail client can cause false positives.
#The reason for the high spam rating is the Reply-To header inserted by mailman,
#which seems to have more quoting than The Bat! can do.
#If you have such problem activate the next two lines
#header IS_MAILMAN exists:X-Mailman-Version
#score IS_MAILMAN -2

Alle Emails werden jetzt nach bestimmten Filtern gewichtet und beim Überschreiten einer Trefferpunktzahl von 5.0 in der Betreffszeile mit *****GOAWAY***** markiert. In der Online-Dokumentation von SpamAssassin ist beschrieben, wie man Spammails komplett löschen kann. Dabei ist das Verfahren abhängig vom verwendeten Mailserver.

SpamAssassin installieren

Bei den Virtual Server-Angeboten von Strato ist für SuSE Linux inkl. Plesk kein SpamAssassin Lizenzkey mit dabei. Darum ist Handarbeit gefragt, denn man kann das Antispam-Programm selbst nachrüsten. Mit Hilfe von Huschis SpamAssassin-Tutorial aus dem serversupportforum und Unterstützung von Fabian Off aka „Fabs“ (Studienkumpel von Daniel) habe ich es als Linux-Neuling geschafft, den Spamtöter anzuheuern. Während der Installation sind einige Fehlermeldungen aufgetaucht, die im eigentlichen gar keine Fehler sind, sondern nur Hinweise. Also bitte nicht abschrecken lassen!

Die gesamte Installation wird über die Linux Konsole gesteuert. Die Begriffe, welche in die Konsole einzutippen sind, werde ich fett markieren. Die daraus resultierenden Hinweismeldungen werden kursiv dargestellt und meine eigenen Kommentare (bitte nicht mit eintippen) werde ich mit vorangestellten // auszeichnen.

Als kleiner Zusatz wird in diesem Tutorial auch noch das Antivirus-Programm ClamAV installiert, welches Emails auf Viren überprüft.

SpamAssassin installieren

// Das SpamAssasin-Paket über YaST installieren

yast -i spamassassin

// SpamAssassin starten. Bei einem erstmaligen Aufruf wird dadurch die Konfigurationsdatei user_prefs erstellt. Eine solche Datei kann mit dem SpamAssassin Configuration Generator an die eigenen Wünsche anpasst werden.

/etc/init.d/spamd start

warn: config: created user preferences file: /root/.spamassassin/user_prefs

// Virenscanner ClamAV über YaST installieren

yast -i clamav

// Init-Skript für ClamAV aktivieren (erzeugt einen Autostart von ClamAV)

insserv clamd

// Init-Skript für den Updater von ClamAV (freshclam) aktivieren.
// Im Normalfall sollte diese Datei schon existieren.

insserv freshclam

insserv: can not symlink(../vzquota, rc0.d/S11vzquota): File exists

// ClamAV starten

/etc/init.d/clamd start

// Updater von ClamAV starten

/etc/init.d/freshclam start

// Update von ClamAV ausführen
// Bitte nicht von den vielen Fehlermeldungen abschrecken lassen, solange „Downloading daily.cvd [100%]“ und „Database updated“ erscheinen, ist alles okay

freshclam -v

Current working dir is /var/lib/clamav
Max retries == 3
ClamAV update process started at Fri Jan 23 16:13:32 2009
Using IPv6 aware code
Querying current.cvd.clamav.net
TTL: 71
Software version from DNS: 0.94.2
main.cvd version from DNS: 49
main.cvd is up to date (version: 49, sigs: 437972, f-level: 35, builder: sven)
daily.cvd version from DNS: 8897
Retrieving http://database.clamav.net/daily-8684.cdiff
Trying to download http://database.clamav.net/daily-8684.cdiff (IP: 85.214.20.182)
WARNING: getfile: daily-8684.cdiff not found on remote server (IP: 85.214.20.182)
WARNING: getpatch: Can’t download daily-8684.cdiff from database.clamav.net
Retrieving http://database.clamav.net/daily-8684.cdiff
Trying to download http://database.clamav.net/daily-8684.cdiff (IP: 85.214.20.182)
WARNING: getfile: daily-8684.cdiff not found on remote server (IP: 85.214.20.182)
WARNING: getpatch: Can’t download daily-8684.cdiff from database.clamav.net
Retrieving http://database.clamav.net/daily-8684.cdiff
Trying to download http://database.clamav.net/daily-8684.cdiff (IP: 85.214.20.182)
WARNING: getfile: daily-8684.cdiff not found on remote server (IP: 85.214.20.182)
WARNING: getpatch: Can’t download daily-8684.cdiff from database.clamav.net
WARNING: Incremental update failed, trying to download daily.cvd
Retrieving http://database.clamav.net/daily.cvd
Trying to download http://database.clamav.net/daily.cvd (IP: 85.214.20.182)
Downloading daily.cvd [100%]
daily.cvd updated (version: 8897, sigs: 61172, f-level: 38, builder: edwin)
Database updated (499144 signatures) from database.clamav.net (IP: 85.214.20.182)

// Nach einem erfolgreichen Update sollten ClamAV und Freshclam sich neu starten. Falls dies nicht passiert (kann mit ps -u vscan überprüft werden), müssen die beiden Prozesse manuell neu gestartet werden.

/etc/init.d/clamd start
/etc/init.d/freshclam start

// ripMIME (Extrahierer für Email-Dateianhänge) installieren

cd /usr/local/src
wget http://www.pldaniels.com/ripmime/ripmime-1.4.0.5.tar.gz
tar zxvf ripmime-1.4.0.5.tar.gz
cd ripmime-1.4.0.5

// Die GNU Compiler Collection (GCC) installieren, um C Code kompilieren zu können

yast -i gcc

// ripMIME kompilieren

make
make install

// Symbolische Verknüpfung (engl. Symlink) für ripMIME anlegen

ln -s /usr/local/bin/ripmime /usr/bin/

// qSheff für die Verknüpfung von ClamAV und SpamAssassin installieren

cd /usr/local/src
wget http://www.huschi.net/download/qsheff-1.0-r4.tar.gz
tar -xzvf qsheff-1.0-r4.tar.gz
cd qsheff-1.0-r4
./configure
make

// Mailserver qmail anhalten

/etc/init.d/qmail stop

// Backup der Datei qmail-queue anlegen (Original wird später verändert)

cp -p /var/qmail/bin/qmail-queue /var/qmail/bin/qmail-queue.bak

// qSheff installieren

make install

// qSheff Konfiguration editieren

edit /usr/local/etc/qsheff/qsheff.conf

// In der Zeile von VIRUS_PROG den Pfad anpassen auf:

# VIRUS_PROG = „/usr/bin/clamdscan –-quiet“

// qSheff Schnittstelle installieren

/usr/local/etc/qsheff/install-wrapper.sh

// SpamAssassin in die qmail-queue einbinden:

rm -f /var/qmail/bin/qmail-queue
echo ‚#!/bin/sh‘ >/var/qmail/bin/qmail-queue
echo ‚/usr/bin/spamc | /var/qmail/bin/qmail-qsheff‘ >>/var/qmail/bin/qmail-queue
chmod 4755 /var/qmail/bin/qmail-queue

// Mailserver qmail wieder starten

/etc/init.d/qmail start

FEEEEEEEEEEEEEEEERTIG!

Mit dem Befehl ps aux | grep spamd lässt sich überprüfen, ob SpamAssassine läuft. Nach Ausführung des Befehls müsste mehr als 1 Eintrag erscheinen. Sollte SpamAssassin nicht laufen, hilft der Befehl /etc/init.d/spamd start.

Außerdem müssten in den Kopfdaten eingehender Spam-Emails jetzt folgende Zeilen zu finden sein:

Beispiel:

Received: (qmail 15739 invoked by uid 110); 11 Mar 2009 20:30:51 +0100
X-Mail-Scanner: Scanned by qSheff 1.0-r4 (http://www.enderunix.org/qsheff/)
Delivered-To: 5-user@email.de
Received: (qmail 15730 invoked from network); 11 Mar 2009 20:30:49 +0100
X-Mail-Scanner: Scanned by qSheff 1.0-r4 (http://www.enderunix.org/qsheff/)
X-Spam-Checker-Version: SpamAssassin 3.2.3 (2007-08-08) on server
X-Spam-Level: *************
X-Spam-Status: Yes, score=13.5 required=5.0 tests=DYN_RDNS_AND_INLINE_IMAGE,

Linux Task-Manager

Sowas ähnliches wie den Windows Task-Manager erhält man unter Linix mit dem Konsolenbefehl top. Nach Eingabe dieses Befehls werden einem die aktiven Prozesse mit dazugehörigem Ressourcenanspruch angezeigt.

Durch Drücken der Taste k und Eingabe der PID kann man dann einzelne Anwendungen schließen.

P.S.
Für Linux Systeme mit grafischer Ausgabe gibt es noch das etwas hübschere htop.

Webmin deinstallieren

Wer Webmin über die setup.sh installiert hat, kann das Administrations-Werkzeug wieder mit dem Konsolen-Befehl /etc/webmin/uninstall.sh deinstallieren. Falls zur Installation die RPM Version verwendet wurde, hilft das Kommando rpm -e webmin.

Es folgt:

Are you sure you want to uninstall Webmin? (y/n) : y

Stopping Webmin server in /root/webmin-1.441
Running uninstall scripts ..
Deleted init script /etc/init.d/webmin
Deleting /root/webmin-1.441 ..
Deleting /etc/webmin ..
Done!