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.
- Installation des VMM Agenten
- Persistente
udev
Regeln entfernen - SSH Host Keys entfernen
- Paketverwaltung aufräumen
- Logdateien aufräumen
- Shell Historie löschen
/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/*