Home.

Technik-Blog

Willkommen auf meinem
Notiz - Blog
Blog

Kmoser's Tech-Blog

Montag
14
Juli 2014
Klaus Moser
Klaus Moser

Ubuntu - Automatische Updates

Wenn man nicht die Zeit hat täglich nach Sicherheitsaktualisierungen für den eigenen Server zu schauen, kann man diese auch automatisch installieren lassen. Das birgt natürlich die Gefahr dass ggf. Dienste nicht mehr funktionieren, weil sich Konfigurationsdateien geändert haben.

Mir ist es aber lieber mein Server funktioniert aufgrund einer veränderten Konfiguration nicht, also dass er von Dritten zu Dingen missbraucht wird zu denen mein Server nicht vorgesehen ist. Vor allem da man nie weiß welche Hintertürchen diese Leute eingebaut haben um wieder auf dem Server zu gelangen.

Die automatischen Updates aktiviert man indem man das Paket unattended-upgrades installiert und einrichtet. Normalerweise ist das Paket schon vorhanden, wenn nicht muss man es nachinstallieren:

sudo apt-get install unattended-upgrades

Um die automatischen Updates zu aktivieren muss man das Paket neu konfigurieren:

sudo dpkg-reconfigure unattended-upgrades

Jetzt sollten über den apt-Cronjob die Sicherheitsaktualisierungen automatisch installiert werden.

Will man keine automatischen Updates, so kann man sich auch per Mail über verfügbare Updates informieren lassen.

#!/bin/bash

HOST="MyServer"
EMAIL="me@myserver.de"

i=0
u=0
/usr/lib/update-notifier/apt-check --human-readable 2>&1 | while read line
#cat /home/myuser/temp.txt | while read line
do
        a=( $line )

        # Zeile 2 enthält die Anzahl an Sicherheitsaktualisierungen
        if [ $i -eq 1 ]
        then
                s=${a[0]}
                if [ $s -gt 0 ]
                then
                        echo "Es sind $s Sicherheitsaktualisierungen auf $HOST vorhanden" | \
                                mail -s "Sicherheitsaktualisierungen auf $HOST verfügbar" $EMAIL
                fi
        else
                u=${a[0]}
                #echo "U ist: "$u
        fi

        i=$(($i+1))
done

Das Script am Besten per Cronjob regelmäßig ausführen lassen.

Samstag
14
Juni 2014
Klaus Moser
Klaus Moser

Ubuntu - Systemzeit einstellen

Jeder Rechner besitzt eine integrierte Uhr. die ab und an gestellt werden sollte.

Anzeigen lässt sich die Uhrzeit und das Datum mit dem Befehl

date

Um die Systemuhr anhand eines NTP-Servers zu stellen führt man diesen Befehl auf:

sudo ntpdate -u ptbtime1.ptb.de

Möchte man nur die Zeit anzeigen ohne die Systemuhr zu stellen, dann kann man folgendes auch als unpriviligierter Benutzer ausführen:

ntpdate -uq ptbtime1.ptb.de

Wie es aussieht ist ntpdate inzwischen deprecated und man sollte stattdessen ntpd verwenden.

sudo apt-get install ntp

Die Konfiguration erfolgt über die Datei /etc/ntp.conf.

sudo nano /etc/ntp.conf

Hier habe ich die Server der Physikalisch-Technischen Universität Braunschweig als Zeitserver eingetragen.

server ptbtime1.ptb.de
server ptbtime2.ptb.de
server ptbtime3.ptb.de

Abschließend den Server starten:

sudo /etc/init.d/ntp start 

Manuell kann man den Abgleich übrigens machen mit

sudo ntpd -q -g -x -n 
Samstag
14
Juni 2014
Klaus Moser
Klaus Moser

Ubuntu 14.04 - Mailserver - Sieve Plugin

Da der Mailserver jetzt ja steht, versuche ich mal ein paar von diesen praktischen Plugins einzubauen. Als erstes nehme ich mir mal sieve vor.

Sieve

Mit der Dovecot Erweiterung Sieve ist es möglich Mails bereits auf dem Webserver in Verzeichnisse sortieren zu lassen. Sieve ist eine Sprache zur Filterung von Mails. RFC 3028.

Folgendes installiert die Erweiterung:

apt-get install dovecot-sieve dovecot-managesieved

Für Sieve muss Dovecots LDA oder Dovecots LMTP verwendet werden.

LDA

Die Variante Sieve im LDA zu benutzen habe ich nicht getestet, sollte aber in etwa so funktionieren:

Postfix muss mitgeteilt bekommen dass man den Dovecot LDA verwenden möchte. Dazu trägt man folgendes in die /etc/postfix/main.cf ein:

mailbox_command = /usr/lib/dovecot/deliver 

In der Datei /etc/dovecot/conf.d/15-lda.conf muss die Zeile für die mail_plugins einkommentiert und sieve hinzugefügt werden:

protocol lda {
  # Space separated list of plugins to load
  #(default is global mail_plugins).
  mail_plugins = $mail_plugins sieve
}

LMTP

In der Datei /etc/dovecot/conf.d/20-lmtp.conf muss die Zeile für die mail_plugins einkommentiert und sieve hinzugefügt werden:

protocol lmtp {
  postmaster_address = postmaster@meinedomain.de
  mail_plugins = $mail_plugins sieve
}

Alle Plugins sind übrigens unter /usr/lib/dovecot/modules zu finden.

Sieve Konfiguration

Die Konfiguration von Sieve erfolgt in der Datei /etc/dovecot/conf.d/90-sieve.conf:

plugin {

  # Benutzerspezifische Konfiguration
  sieve = /var/vmail/%d/%n/dovecot.sieve

  # Benutzerspezifische Konfigurationen
  sieve_dir = /var/vmail/%d/%n/

  #sieve_default  = /var/vmail/%d/default.sieve
  #sieve_global_dir = /var/vmail/%d/conf.d/sieve
}

Dateien in den Ordnern sieve_dir und sieve_global_dir müssen die Dateiendung .sieve haben, da sie sonst nicht erkannt werden. Der Parameter sieve_global_path ist übringes deprecated. Das Script unter sieve_default wird nur dann ausgeführt wenn kein benutzerspezifisches Script gefunden wird.

Sieve Scripts

Ein paar Beispielscripts sind z.B. im Dovecot Wiki zu finden. Im Prinzip sieht der Aufbau der Datei so aus, dass am Anfang die nötigen Plugins referenziert werden und dann eine if/elsif/else Konstruktion folgt.

require ["fileinto", "envelope"];

# Mail von einem Bestimmten Absender
if envelope :is "from" "someone@domain.de" {

  # In der Ordner "Someone" auf Ebene der INBOX verschieben
  fileinto "Someone";
}
elsif  envelope :is "from" "other@domain.de"  {

  # In einen Unterordner von INBOX
  fileinto "INBOX.Test";
} elsif ... {
  [...]
} else {
  keep;
}

Nach dem Ändern eines Scripts muss Dovecot übringens nicht neu gestartet werden (wäre auch ziemlich sinnfrei).

Sieve Remote Management

Der Port für das Remote Management der Sieve Regeln muss in der Datei /etc/dovecot/conf.d/20-managesieve.conf festgelegt werden. Standard ist 4190.

service managesieve-login {
  inet_listener sieve {
    port = 4190
  }
}

Zum Schluss noch Dovecot und ggf. Postfix neu starten

sudo service dovecot restart
sudo service postfix restart 

Thunderbird Add-On

Für Thunderbird gibt es ein Add-On mit dessen Hilfe man die Regeln auf dem Server bearbeiten kann. Das Add-On heißt "Sieve".

Allerdings muss man das Nightly Build verwenden, da das offizielle Add-On nicht funktioniert. Das Plugin gibt es hier: https://github.com/thsmi/sieve/blob/master/nightly/README.md

Hat man dieses Installiert steht ein neuer Reiter in den Kontoeinstellungen zur Verfügung auf dem man erst mal einstellen muss, dass derMailserver Sieve unterstützt.

Hat man das gemacht kann man über "Neu" Sieve Scripts anlegen. Das Editieren ist ein Traum da man einen Code Editor mit Syntax Highlightning und Syntaxprüfung zur Verfügung hat.

Blog

Kmoser's Tech-Blog