CentOS minimalisieren
Aus Fedorawiki.de
Für einen Server ist eine Installation von CentOS ohne Ballast sinnvoll.
Dennoch bringt eine während der Installation auswählbare Minimalinstallation noch sehr viele überflüssige Pakete mit.
In Anlehnung an einen Artikel der Zeitschrift Linux-Professionell ("Weniger ist sicherer"; Ausgabe 3/2006, Seite 88ff) wird hier beschrieben, wie im Anschluß an eine minimale Installation das System deutlich schlanker gestaltet werden kann.
Eine virtuelle Maschine bietet eine elegante Möglichkeit, ein neues System zu installieren und dabei mit einem bereits funktionierendem System im Hintergrund zu operieren. Vor allem kann nach der Grundinstallation von CentOS eine Kopie der virtuellen Maschine angelegt werden und die Minimalisierung "am lebenden Objekt" durchgeführt werden. Läuft die virtuelle Maschine nach der Schlankheitskur nicht (mehr), kann auf die Kopie zurückgegriffen werden, ohne erneut eine zeitaufwändige Installationsprozedur durchführen zu müssen. Deswegen wird die Minimalisierung von CentOS anhand einer virtuellen Maschine mit VMware beschrieben.
Dieser Artikel wurde auf der Basis von CentOS 4 (Updates 3 und 4) erstellt.
CentOS installieren
Virtuelle Maschine anlegen
Eine neue virtuelle Maschine anlegen. Siehe hierzu: VMware - eine neue virtuelle Maschine anlegen.
Für eine minimale CentOS-Installation genügen die Einstellungen.
- RAM: 256 MB
- HD: 1,5 GB (davon 100 MB für /boot; 384 MB für Swap; 1 GB für / . Eine individuelle Partitionierung ist natürlich auch möglich.)
Für einen Server ist es empfehlenswert, eine statische IP-Adresse zur Verfügung zu haben. Hierzu sollte einerseits eine statische MAC-Adresse in der .vmx-Datei eingetragen und andererseits kein DHCP-Client notwendig sein.
Virtuelle Maschine erstmals starten (Installation CentOS)
Die neue virtuelle Maschine erstmals starten, während im DVD-Laufwerk des Wirtsystems die CentOS DVD (hier: Version 4.4) eingelegt ist.
| |
Achtung: Es ist darauf zu achten, daß für einen Start von CD/DVD das virtuelle Laufwerk nicht als SCSI-Laufwerk konfiguriert ist. Starten ist nur von virtuellen IDE-Laufwerken möglich. |
- Gegebenenfalls die angebotene Medien-Prüfung durchführen.
- Tastaturlayout und Sprache auswählen
- Installationstyp Benutzerdefiniert auswählen
- manuelles Partitionieren wählen
- Partitionen mit
- 100 MB für Partition "/boot" (Ext2)
- 384 MB für Partition "/swap" (swap)
- 1 GB (Rest) für Partition "/" (Ext3)
- anlegen und mit <Weiter> Partitionierung bestätigen und abschließen.
- Netzwerkkonfiguration
- Zunächst eine Netzwerkkonfiguration automatisch über DHCP wählen, auch wenn ein Server grundsätzlich nicht über DHCP eine IP-Adresse erhalten sollte. Dennoch ist es sinnvoll, bei der ersten Erstellung einer virtuellen Server-Maschine die automatische Adressvergabe mittels DHCP zu wählen, damit diese virtuelle Maschine als Kopiervorlage für weitere Server dienen kann ("Template"), ohne daß es bei der weiteren Verwendung einer Kopie zu Adresskonflikten durch fest eingestellte IP-Adressen kommt. Bei der endgültigen Konfiguration der virtuellen Maschine wird eine feste IP-Adresse konfiguriert und das Paket DHCP-Client außer Betrieb genommen und möglichst deinstalliert.
- Konfiguration der Firewall
- Aktiviere Firewall auswählen. Für das weitere Vorgehen ist es sinnvoll, mit SSH auf den Server zugreifen zu können. Um dies zu ermöglichen, Fernwartung (SSH) ankreuzen. Aus Sicherheitsgründen für die Verwendung als Server SELinux aktivieren? auf Aktiv einstellen.
- Zusätzliche Sprachen
- keine weiteren Sprachen auswählen.
- Auswahl der Zeitzone auf Europa/Berlin einstellen und Systemuhr verwendet UTC anwählen. Sinnvollerweise verwendet ein Server die UTC-Zeit.
- Root Paßwort vergeben.
- Auswahl der Paketgruppen
- Hierbei Minimal auswählen, auch wenn feststeht, für welchen besonderen Zweck der Server benötigt wird. Nachdem die virtuelle Maschine fertiggestellt ist, kann eine Kopie mit der benötigten Software mittels Yum nachgerüstet werden. Für ein schlankes und minimalisiertes System werden an dieser Stelle keine weiteren Pakete oder Paketgruppen ausgewählt.
- Installation beginnt
Nach Beendigung des Vorganges das virtuelle System neu starten lassen.
Repositories einbinden
Auf einem lokalen Rechner (beispielsweise mit dem DNS-Alias "nfs") könnten Installations- und Update-Dateien von den öffentlichen Servern gespiegelt abgelegt sein, um Bandbreite zu sparen und einen schnelleren Zugriff der lokalen Rechner zu gewährleisten.
Für das Einbinden eines Einhängepunktes (Mountpoint) im Verzeichnis "/mnt" ein Verzeichnis "/mnt/nfs" und "mnt/nfs/install" erstellen.
Das auf dem Server "nfs" freigegebene Verzeichnis einbinden:
(erforderlichenfalls die Pfade entsprechend anpassen)
Im Verzeichnis /etc/yum.repos.d/ muss eine Repository-Datei für diese lokalen Repositories angelegt werden und die Repositories in den bereits vorhandenen Dateien mit "enabled=0" ausgeschaltet werden oder alternativ die vorhanden Dateien im Verzeichnis /etc/yum.repos.d/ löschen, falls nur lokale Repositories verwendet werden sollen. Sicherheitshalber zuvor die vorhandenen Dateien sichern, um im Fehlerfalle darauf zurückgreifen zu können.
Mit einem Texteditor (z.B. vi/vim) die Repository-Dateien in /etc/yum.repos.d/ entsprechend bearbeiten.
Unnötige Dienste ausschalten
Der Daemon smartd ist in einer virtuellen Maschine nicht notwendig, um die "Festplattengesundheit" zu überwachen. Mit chkconfig sollte smartd dauerhaft ausgeschaltet und aus der Startreihe der Daemonen entfernt werden.
Die nachfolgenden Dienste sollten in einer minimalen virtuellen Maschine nicht enthalten sein, die als "Kopiervorlage" für weitere virtuelle Server dienen soll. Wenn einer dieser Dienste in einer speziellen virtuellen Server-Maschine benötigt wird, kann er wieder aus den lokalen Repositories nachinstalliert werden.
Das Ziel ist, einen virtuellen Server mit einer festen IP-Adresse zu betreiben. Wie bereits erwähnt, wird der DHCP-Client zu gegebener Zeit erst entfernt und bleibt zunächst erhalten.
Falls die virtuelle Maschine kein Mehrprozessorsystem bieten soll:
Unnötige Dienste entfernen
Mit yum werden für einen minimalistischen Server unnötige Dienste entfernt. Hierzu zählen auch solche Dienstprogramme, die einem Angreifer zu leichtfertig Informationen zur Verfügung stellen könnten.
Kommunikation
(Mit den wireless-tools wird auch der NetworkManager entfernt)
Backup und Recovery
Microsoft DOS- und Windows-Tools
Unnötige Netzwerkdienste
Modem-Einwahl
NIS - Yellow Pages
Serielle Schnittstellen
Stromsparfunktionen
Alternative Shells
Wörterbücher
Eine Verbindung zum Paßwort-Check wurde nicht entdeckt.
Kernel- und System-Tools sowie PCMCIA/CS
Eventuell können die Konfigurationstools entfernt werden, wenn die Konfiguration über Textdateien bekannt ist:
Prozeßkontrolle
CentOS aktualisieren
Das auf dem Server "nfs" freigegebene Verzeichnis einbinden:
(erforderlichenfalls die Pfade entsprechend anpassen)
Mit yum Updates aus den lokalen Repositories abrufen und einspielen:
Anschließend das NFS-Verzeichnis aushängen
Virtuelle Maschine herunterfahren
Wenn keine allgemeingültigen weiteren Anpassungen an der virtuellen Maschine erforderlich sind, die virtuelle Maschine herunterfahren:
Virtuelle Maschine sichern
Die erstellte virtuelle Maschine kann als Vorlage für weitere virtuelle Server genutzt werden. Sicherheitshalber kann die erstellte Vorlage vom Wirtsystem aus auf Datenträger gesichert werden.
wobei vmCentOS44template das Unterverzeichnis ist, in welchem die virtuelle Maschine installiert wurde.
Das mit tar erzeugte Archiv beispielsweise auf CD/DVD brennen.
Weiteres
Links