Konkurrenz der Systeme
Seite 9: Sicherheit
Ein wesentliches Kriterium für den Einsatz von Linux durch die öffentliche Verwaltung ist natürlich die Frage, inwieweit Sicherheit durch ein proprietäres System überhaupt gewährleistet werden kann. Besonders Microsoft-spezifische Würmer wie Nimda und Code Red, die Hunderttausende von Web-Servern infizierten, haben diese Frage erneut aufgeworfen. Die Vorgehensweise der Würmer ist dabei meist ähnlich: Ein bestimmtes Sicherheitsloch, das zwar bereits bekannt, aber von den meisten Administratoren noch nicht gestopft worden ist, wird ausgenutzt, und der Server wird als Wirt für die weitere Verbreitung verwendet. Teilweise werden auch Nutzer, die auf die entsprechenden Websites zugreifen, über Sicherheitslöcher im Web-Browser (meist Internet Explorer) infiziert.
Daneben gibt es noch die bekannten E-Mail-Viren à la ILOVEYOU, SirCam und Melissa, die teils vom Nutzer die Ausführung von Mail-Attachments verlangen, teils bequemerweise vom Mail-Client (meist Outlook / Outlook Express) automatisch ausgeführt werden (wodurch sie per Definition zu Würmern werden). Auch diese Viren/Würmer betrafen bisher ausschließlich Microsoft-Systeme. Und zu guter Letzt liefert Microsoft mit einigen Office-Programmen noch Viren-Programmiersprachen, so dass sogar Word-Dokumente infektiös sein können. Die meisten Entwickler digitalen Ungeziefers scheinen krank, aber nicht psychopathisch zu sein, denn ihre Produkte sind in der Regel weitgehend harmlos. Eine Ausnahme bildet der SirCam-Virus, der private Dokumente verschickt (ich habe auf diesem Wege bereits an die 100 Megabyte Excel-Tabellen und Word-Dateien erhalten).
Die dramatische Diskrepanz zwischen der Zahl von Schädlingen auf Microsoft-Systemen und der auf Konkurrenten wie Linux wird oft der geringen Verbreitung von Nicht-MS-Plattformen zugeschrieben. Im Falle von Apache ist dies jedoch wie schon mehrfach zitiert unrichtig, die Zahl der Apache-Webserver war 2001 rund doppelt so groß wie die des Microsoft-Gegenstücks IIS. Doch einen "Code Red" für Apache gab es bisher nicht und kann es in dieser Form auch kaum geben. Das hat mit mehreren Faktoren zu tun:
1. Das schon beschriebene Unix-Rechtekonzept, das die Veränderung nichtzugänglicher Dateien unmöglich macht. Die Notwendigkeit eines ausgeklügelten Rechtekonzepts wird auch von Microsoft nach und nach erkannt und sollte die Zahl von Viren und Würmern unter Windows reduzieren.
2. Die fehlende Monokultur, die einheitliche Vorgehensweisen für Viren und Würmer unmöglich macht -- selbst die unterschiedlichen Linuxe sind oft sehr unterschiedlich konfiguriert, und daneben läuft Apache auf zahlreichen anderen Betriebssystemen.
3. Der sehr offene Umgang mit Bugs, der zu einer schnellen Verbreitung kritischer Informationen zu den Administratoren führt. Kritische Fehler werden eher behoben, als wenn sie wie von Microsoft gewünscht und praktiziert möglichst lange unter den Teppich gekehrt werden.
Unix-Administratoren wird von Unix-Fans natürlich auch ein größeres Sicherheitsbewusstsein zugeschrieben. Dies dürfte aber von geringerer Bedeutung sein als das eigentliche Open-Source-Entwicklungskonzept. "Bei einer genügend großen Zahl von Augäpfeln sind alle Bugs behebbar", schreibt Eric Raymond. Tatsächlich wird Apache wohl stärker unter die Lupe genommen als die meisten anderen Open-Source-Programme, während den Microsoft-Quellcode derzeit nur eine kleine Schar von Firmenangestellten und Auserwählten zu Gesicht bekommt. Dass die Auffindbarkeit von Bugs proportional zur Zahl der Bug-Suchenden steigt, sollte keiner weiteren Beweisführung bedürfen.
Was nicht heißt, dass Unix keine Würmer und Viren kennt. Problematisch sind Unix-Altlasten wie der FTP-Server wuftpd, Kernel-Fehler und neue, ungetestete Programme (s. auch SANS-Liste der kritischsten Sicherheitslöcher unter Unix und Windows). Deshalb sollte eigentlich keine Linux-Distribution Server installieren, wenn dies nicht explizit vom Nutzer gewünscht wird. Leider halten sich daran längst nicht alle Distributoren. Weiterhin ist, wie bereits beim Thema Installation beschrieben, die Aktualisierung von Software noch unnötig umständlich, was im Problemfall die Installation von Patches verhindern könnte. Microsofts "Windows Update" funktioniert hier theoretisch besser, war aber praktisch selbst kurzzeitig von "Code Red" betroffen: Ein solches Aktualisierungssystem bringt einen Wartungsaufwand mit sich, den Microsoft allein kaum leisten kann. Email-Viren sind ebenfalls eine Microsoft-Spezialität, die allerdings mit dem in Windows XP erweiterten Rechtekonzept hoffentlich bald der Vergangenheit angehört.
Auch das Linux-Rechtekonzept kann noch verbessert werden. So kann über sogenannte Capabilities Nutzern und Prozessen genau mitgeteilt werden, was sie dürfen und was nicht - einem Nutzerprozess kann z.B. der Zugriff auf die Rechner-Uhr gestattet oder untersagt werden. Die Linux-Capabilities sind jedoch noch nicht sehr weit fortgeschritten, wie eine FAQ erklärt. Deshalb muss man sehr häufig den "allmächtigen" Superuser verwenden, um bestimmte Standardaufgaben durchzuführen, was immer ein erhebliches Sicherheitsrisiko darstellt. Auch hier dürfte es sich von selbst erklären, dass bei einem offenen Betriebssystem solche neuen Sicherheitsmodelle schneller Verbreitung finden als bei proprietärer Software, die nach Marktkritierien entwickelt wird.
Die bisherigen Microsoft-Würmer sollte man als nette Warnungen verstehen. Trotzdem hat die Installation von Microsoft IIS im Zeitraum nach den Angriffen zugenommen. Ein wirklich boshafter Virus oder Wurm würde jedoch weit mehr tun als nur Dateien verschicken: Er würde innerhalb weniger Tage Zeitbomben auf Hunderttausenden Rechnern installieren, sowohl auf Privat-PCs als auch auf Servern, die bei der Detonation Festplatten und BIOS-Flash-Speicher unbrauchbar machen. Der CIH-Virus ist ein gutes Beispiel für die mögliche Destruktivität von Viren. Ein anderer Virus missbrauchte Notruf-Nummern über an die PCs angeschlossene Modems.
Man muss sich ins Gedächtnis rufen, dass Code Red und Nimda bekannte Sicherheitslücken ausnutzten. Deshalb war es relativ leicht, die entsprechenden Patches zu installieren, und viele Systeme waren nicht betroffen. Wenn ein Cracker aber sowohl Sicherheitslücken im IIS als auch im Internet Explorer findet und diese Microsoft nicht mitteilt, sondern einsetzt, um einen Wurm zu schreiben, könnte das weitaus weitreichendere Folgen haben.
Je mehr kritische Infrastruktur von PCs abhängt, desto größer wird das Risiko einer globalen Katastrophe aufgrund von Angriffen. Die Presse hat bei Code Red & Co. meist von "Internet-Würmern" gesprochen und Microsoft kaum namentlich erwähnt - so wird an den Problemen vorbeigeredet. Die Schaffung einer offenen Software-Infrastruktur, auf Servern wie auf Clients, ist von elementarer Bedeutung, und nichts ist hier wichtiger als das Betriebssystem selbst. Ein verantwortungsbewusster Staat muss die richtigen Weichen stellen, wenn es nicht eines Tages zu EDV-Angriffen kommen soll, die nicht nur finanziellen Schaden verursachen, sondern auch Menschenleben kosten.
Performance
Eines der am häufigsten diskutierten Themen ist natürlich die Linux-Performance im Vergleich zu Windows. Darauf soll hier aber nicht im Detail eingegangen werden, da Benchmarks eine höchst komplexe Problematik sind und sehr leicht verfälscht werden können. Generell gilt: Programme in Hochsprachen sind langsamer als in systemnäheren Sprachen, umfangreiche Programmbibliotheken können die Performance beeinträchtigen, grafische Oberflächen sind grundsätzlich recht performancehungrig und komplette Desktop-Environments (wie unter Windows unvermeidbar) erst recht. Die C/C++-Compiler sind mittlerweile auf beiden Plattformen so gut optimiert, dass die Programme selbst von entscheidender Bedeutung sind. Weil man unter Linux bei Bedarf so ziemlich auf jeden grafischen Schnickschnack verzichten und ein Programm sogar von Hand auf die notwendigen Grundfunktionen reduzieren kann, ergibt sich hieraus logisch eine theoretisch deutlich höhere Performance besonders für Server.
Dafür sind grafische Oberflächen unter Linux tendenziell etwas langsamer als unter Windows (insbesondere, wenn sie von ähnlicher Komplexität sind), weil sie über mehrere Abstraktionsebenen arbeiten, was ja auch heißt, dass der Absturz von GUI-Komponenten nie das Betriebssystem mitnehmen kann. Windows ist eben ein reines GUI-System, was den notwendigen Overhead ein wenig reduziert. Außerdem lässt sich bei einem Linux-System praktisch jede Komponente durch eine andere austauschen. Allerdings ist der so verursachte Overhead konstant, so dass er bei modernen Systemen kaum noch auffällt. Man könnte auch in Linux systemnähere GUIs entwickeln, dies ist jedoch aus Sicherheitsgründen verpönt. Zumindest für Spiele existiert mit DirectFB ein entsprechendes Projekt.
Lokalisierung
Wenn es um die Eindeutschung des Betriebssystems geht, ist die Lage sehr unterschiedlich, je nachdem, wie weit verbreitet ein Programm ist und wie leicht die Übersetzung programmtechnisch möglich ist. Insbesondere KDE verfügt rein technisch über gute Lokalisierungs-Standards, und ein großer Teil der KDE-Applikationen wurde in viele Sprachen übersetzt. Fast alle wichtigen Anwender-Programme sind in deutscher Sprache verfügbar. Auf der Systemebene sieht es weniger gut aus, Befehle, Hilfebildschirme und Dokumentation sind oftmals nicht oder nicht vollständig lokalisiert. Wer also ein Linux-System administrieren will, kommt um Englischkenntnisse kaum herum, wer es nur nutzen will, kann zunehmend darauf verzichten.
Dokumentation
Sobald man damit beginnt, den SuSE-Desktop zu erkunden, ist man relativ allein auf weiter Flur. Das "SuSE-Hilfezentrum" erschlägt den Nutzer mit HOWTOs, man-pages, KDE-eigenen Hilfedateien und kompletten Büchern, aus denen man sich selbst die passenden heraussuchen darf. Übersichten oder Guides sind schwer zu finden, Bewertungen fehlen. Mit dem Browser und Google findet man oft schneller die richtigen Informationen.
Hier könnte man Informationen stärker bündeln, mit einer kleinen Zahl von vielleicht vier oder fünf prinzipiellen Übersichts-Guides (z.B. Shell, GUI, Installation von Software, Konfiguration des Systems, Programmieren), die jeweils auf Detaildokumente verweisen. In den Papier-Handbüchern der Personal-Version gelingt dies mangels Umfang kaum, aber das ist ja auch nicht nötig. Jedes relevante Dokument, das im System installiert ist, sollte über einen eindeutigen Schlüssel erfassbar sein - für die "man-Pages", die Kurzanleitungen zu allen wesentlichen Programmen, gilt das bereits, für umfassende Manuals, FAQs, Readmes, Bücher, KDE-Hilfedateien usw. aber nicht. Nur so sind jedoch eindeutige Querverweise möglich.
Noch wichtiger ist, dass jede Distribution dem Nutzer auf einfachem Wege Kommunikationskanäle mit anderen Usern geben muss, die durchaus auch Neulinge ("Newbies") sein können. Es gibt z.B. im Internet Relay Chat (IRC) etliche Kanäle für Newbies, in denen diese sich gegenseitig beraten -- das funktioniert, da im Linux-Bereich von niemandem erwartet wird, "alles" zu wissen. Diese Kanäle muss sich der Neueinsteiger aber erst mühsam erschließen. Kennt er IRC schon von Windows her, benötigt er oft noch einen "ident-Dämon", der seinen Hostnamen an den IRC-Server weitergibt, um Missbrauch zu verhindern -- und muss einen Kanal suchen, in dem er mit anderen Linuxern chatten kann. Der richtige Newbie ist schon bei Schritt 1 überfragt.
Ein einfaches Icon "Internet-Community für Neueinsteiger" auf dem Desktop würde da vieles leichter machen. Wenn die Community an eine bestimmte Distribution gebunden ist, kann der Distributor auf diesem Wege außerdem zu geringen Kosten sein "Branding" beim Nutzer dauerhaft erhöhen und womöglich sogar Einnahmequellen mit dieser Community verbinden. Allerdings ist es mit dem simplen Icon auch wieder nicht getan, denn Community-Building erfordert Arbeit, um zu verhindern, dass Neulinge durch arrogante Elitisten ("Read the fucking manual!") im Channel abgeschreckt werden. Hier muss durch Moderation eventuell Freundlichkeit vor Kompetenz gestellt werden: Newbies brauchen jemanden, der virtuell Händchen hält. Es gibt ja durchaus auch Linux-Nutzer, die das gerne tun.
Diese Probleme sind nicht tödlich, aber sie machen vielen Einsteigerfrust mit Linux begreiflich. Es ist gar nicht so wichtig, Windows möglichst in allen Aspekten nachzuahmen, um den Einstieg leichter zu machen. Wer unter Texteditor bislang "so etwas wie Notepad" verstanden hat, der wird verblüfft sein von der Vielzahl von Möglichkeiten, die ein echter Editor wie vim bietet: Mühelos formuliert der Profi Filter wie "Ersetze jedes Wort in Anführungszeichen am Anfang einer Zeile durch das gleiche Wort ohne Anführungszeichen in Großbuchstaben, aber nur, wenn das darauffolgende Wort mit einem Vokal beginnt". In normalen Texten ist so etwas von begrenzter Wichtigkeit (dort ist die Komplexität von vim eher störend), aber der Programmierer oder HTML-Designer wird sich darüber, über die automatische farbliche Hervorhebung von Schlüsselworten oder Sonderzeichen, automatische Klammerprüfung usw. usf. freuen. Jedoch der Linux-Einsteiger wird sich nach dem Start von vim erst einmal zwei Dinge fragen: "Wie zum Teufel gebe ich hier Text ein?" Und dann: "Wie zur Hölle komme ich hier wieder raus?!"
Distributoren dürfen nicht den Fehler machen, mit der Weiterentwicklung von KDE & Co. Linux-Einsteigern nur die Einsteiger-Werkzeuge zu erklären und sollten zumindest gute Übersichten über die vorhandene Dokumentation liefern. Sonst bleiben viele der Vorteile von Unix unsichtbar.