Linux Image für Virtual Machine Manager erstellen

Um erfolgreich Virtuelle Maschinen mit Linux durch Virtual Machine Manager bereitzustellen, muss das Image entsprechend vorbereitet werden. Die nachfolgende Checkliste unterstützt bei der erfolgreichen Erstellung eines Linux Images für die Bereitstellung durch Virtual Machine Manager.

  1. Installation des VMM Agenten
  2. Persistente udev Regeln entfernen
  3. SSH Host Keys entfernen
  4. Paketverwaltung aufräumen
  5. Logdateien aufräumen
  6. Shell Historie löschen
  7. /tmp aufräumen

Hinweis: Dort wo nicht anders angegeben sind die Befehle auf Debian, Ubuntu, Red Hat Enterprise Linux und CentOS anwendbar. In einigen Fällen sind Befehle für die jeweilige Distribution angegeben.

Installation des VMM Agenten

Damit VMM eine Linux VM bereitstellen kann, wird der VMM Agent benötigt. Der Agent unterstützt beim Customizing der virtuellen Maschine (z.B. setzen der IP-Adresse, Hostname, ....). Nach der abgeschlossenen Bereitstellung der virtuellen Maschine wird der VMM Agent entfernt.

Die Installation des VMM Agenten für Linux ist detailliert in der Microsoft TechNet beschrieben.

Persistente udev Regeln entfernen

Je nachdem, welche Distribution für das Linux Image verwendet wird, kann es sein, dass udev zum Management der Hardware zum Einsatz kommt. Häufig tauchen dann Netzwerkkarten als eth1 im System auf und es kann keine Netzverbindung zu der VM aufgebaut werden, da diese Netzwerkkarte nicht konfiguriert ist. Um dieses Problem zu vermeiden, müssen die persistenten udev Regeln entfernt werden.

Debian/Ubuntu rm -rf /etc/udev/rules/70*

Red Hat Enterprise Linux/CentOS rm -rf /etc/udev/rules/70*sed -i '/^(HWADDR|UUID)=/d' /etc/sysconfig/network-scripts/ifcfg-eth0

SSH Host Keys entfernen

SSH Host Keys sollten bei der Vorbereitung des Images entfernt werden. Passiert dies nicht, besteht die Möglichkeit, dass alle durch dieses Template bereitgestellten virtuellen Maschinen den gleichen Host Key besitzen, was bei einem Sicherheitsvorfall bedeutet, dass alle Systeme gleichermaßen kompromittiert sind. Die Erzeugung des Schlüssels sollte Teil der Bereitstellung sein und kann beispielsweise als Startupscript implementiert werden.

rm –f /etc/ssh/*key*

Paketverwaltung aufräumen

Die meisten Paketmanager speichern ihre Installationspakete nach dem Herunterladen vom zentralen Repository auf der Festplatte des Servers zwischen. Diese Installationspakete konsumieren Speicherplatz, werden in den meisten Fällen nicht mehr benötigt und können bei Bedarf jederzeit wieder über das zentrale Repository bezogen werden. Um die Pakete zu löschen einfach den folgenden Befehl ausführen:

Debian/Ubuntu apt-get clean

Red Hat Enterprise Linux/CentOS yum clean all

Logdateien aufräumen

Bevor die Logdateien aufgeräumt werden kann, empfiehlt es sich die Dienste, die die Logs schreiben zu beenden. Somit wird verhindert, dass die geleerten Logdateien wieder mit neuen Daten gefüllt werden:

Debian/Ubuntu service rsyslog stop

Red Hat Enterprise Linux/CentOS service rsyslog stopservice auditd stop

Zum gründlichen aufräumen der Logdateien sollten zuerst alle bekannten Logdateien rotiert werden:

logrotate -f /etc/logrotate.conf

Nach dem rotieren der Logs können die rotierten Dateien entfernt werden:

Debian/Ubuntu rm -f /var/log/*.gz /var/log/*.[0-1]

Red Hat Enterprise Linux/CentOS rm -f /var/log/*.gz /var/log/*.[0-1] /var/log/dmesg.old /var/log/anaconda

Zum Schluss sollten noch einige Systemlogs bereinigt werden:

Debian/Ubuntu cat /dev/null > /var/log/wtmpcat /dev/null > /var/log/lastlogcat /dev/null > /var/log/auth.log

Red Hat Enterprise Linux/CentOS cat /dev/null > /var/log/audit/audit.logcat /dev/null > /var/log/wtmpcat /dev/null > /var/log/lastlogcat /dev/null > /var/log/grubby

Shell Historie löschen

Die Historie von ausgeführten Befehlen ist für eine bereitgestellte virtuelle Maschine unwichtig und könnte sogar dazu führen, dass sensitive Daten nach Außen gelangen. Aus diesem Grund ist es eine gute Idee die Historie zu löschen.

rm -f ~root/.bash_historyunset HISTFILE

/tmp aufräumen

Viele Applikationen legen temporäre Daten auf der Festplatte ab. Diese liegen meist unter /tmp. Damit das Image nicht größer ist als es sein muss, empfiehlt es sich, diese Daten zu entfernen:

rm -rf /tmp/*rm -rf /var/tmp/*