Internet Explorer Erweitern und Absichern

[stextbox id=“warning“ caption=“Achtung – Tote Seite“]Diese Seite wird nicht mehr aktualisiert und bleibt so wie sie ist;
__dadurch kann es sein, dass der Inhalt nicht mehr Zeitgemäss- und auch nicht richtig ist.
Weiter könnten diverse Rechtschreibfehler__ vorhanden sein.
Die Seite bleibt nur noch zu Referenz-Zwecken erhalten.[/stextbox]

__Den Internet Explorer von Microsoft kann man sehr indivduell erweitern. Viele möglichkeiten um den IE zu personalisieren sind weitgehend unbekannt; das spektrum reicht vom erweitern des Kontextmenus über das anpassen der Dateitypen, die automatisch geladen/angezeigt werden sollen, bis zum "skinnen" des Browsers oder das hinzufügen benutzerdefinierten Zonen.

Ein weichtiger Abschnitt ist auch dem Absichern des Browsers gegen Viren und Würmer gewidmet.__

IE und Sicherheit

Da ich oft danach gefragt werde wieso ich mit meinem IE bis jetzt noch keine einzige Sicherheitslücke erfolgreich testen konnte, werde ich den ersten Abschnitt dem Absichern des Browsers widmen, da es im Prinzip gar nicht so aufwändig ist und man die Sicherheit vor dem Erweitern lösen sollte.

IE und die "Zonen"

Sowohl der Internet Explorer, wie auch Outlook Express verwenden sogenannte "Zonen" um die Seiten als "sicher" oder "unsicher" einzustufen. Standardmässig gibt es 5 solcher Zonen: "Internet", "Lokales Intranet", "Vertrauenswürdige Sites", "Eingeschränkte Sites" und als spezielle Zone "Arbeitsplatz". -Letzere ist im IE unter "Extras-Internetoptionen-Sicherheit" ausgeblendet.
Für jede dieser Zonen kann man benutzerspezifische Einstellungen vornehmen. Die Standardeinstellungen sind jedoch meist nicht optimal, bzw. nicht sicher genug.

Die Zonen sind für folgende Benutzung vorgesehen:{131:right}

  • Internet

Dies ist die ‚Standardzone‘; alle aufgerufenen Internet-Seiten werden in dieser Zone ausgeführt, sofern man sie nicht in eine andere Zone verschoben hat.

  • Lokales Intranet

Diese Zone ist dazu gedacht um auf Dateien in einem Netzwerk zuzugreifen. Alle Adressen mit freigabenamen wie z.B. $freigabe werden in dieser Zone ausgeführt.

  • Vertrauenswürdige Sites

In diese Zone kann man die Internet-Seiten eintragen denen man vertraut, beispielsweise die Windows-Update Seite (windowsupdate.microsft.com), da diese activex Programme ausführen muss um zu ermitteln welche updates schon installiert sind. Standardmässig werden hier, wie gesagt, z.B. activex controlls ausgeführt.

  • Eingeschränkte Sites

Hier sollen Seiten eingetragen werden, denen man wenig vertraut; beispielsweise warez oder sexseiten.

  • Arbeitsplatz

Diese Zone ist eigentlich nicht vorgesehen um im Internet Explorer benutzt zu werden und ist deswegen in den Internetoptionen auch nicht sichtbar, wird aber gebraucht weil ja bekanntermassen seit Windows 98 der IE fest ins System integriert ist und so auch jedes lokal geöffnete Verzeichnis (z.B. C:Windows) in einem Internet Explorer Fenster gestartet wird. Diese Zone hat standardmässig keine Einschränkungen und gillt für alle auf der lokalen Festplatte aufgerufenen Daten; also alle Daten die sich schon auf dem PC befinden. (z.B. C:webmeine_webseite.htm)

Alle Zonen haben Standardmässig keine Seiten voreingetragen.

Zonen sicherer machen

Leider ist besonders die Internetzone Standardmässig zu locker eingestellt; dies weil Microsoft -und viele Nutzer- wert darauf legen dass bestimmte Plugins wie z.B. Flash, Quicktime, usw. problemlos abgespielt werden. Da es aber schwierig ist festzustellen, ob ein plugin "sicher" oder "unsicher" ist, hat man nur die Wahl zwischen maximalem Konfort und Sicherheit.
-Da aber fast auschliesslich alle Sicherheitslücken auf eben diesen aktivierten Plugins/Controlls basieren, sollte man es sich genau überlegen wie wichtig es ist, dass Flash Seiten automatisch angezeigt werden, oder ein, in eine Webseite eingebetete Video-Datei automatisch startet.

Aber genug Therorie, schliesslich wollen wir den Internet Explorer jetzt mal sicher machen.

Also gehen wir auf: ‚Extras-Internetoptionen-Sicherheit‘ und wählen dann bei ‚Internet‘ die Schaltfläche ‚Stufe Anpassen‘.
Hier sollte grundsätzlich alles auf "deaktiviert" eingestellt sein, ausser:

  • Download: Dateidownload, Schriftartdownload
  • Scripting: ActiveScripting (das ist JavaScript)
  • Verschiedenes: Dauerhaftigkeit der Benutzerdaten, META-REFRESH zulassen, unverschlüsselte Formulardaten übermitteln (kann auch auf ‚Eingabeaufforderun‘ gestellt werden, muss aber nicht),
  • Microsoft-VM: Java-Einstellungen sollte auf "Hohe Sicherheit stehen"
  • Zugriffsrechte für Softwarechannel: Sollte mindestens auf ‚Mittlere Sicherheit‘ stehen, besser aber noch ‚Hohe Sicherheit‘

Damit kann man vernünftig und sicher im Internet Surfen, ohne auf grundlegende Funktionen wie z.B. JavaScript zu verzichten.

Sicherheitslücken, Dialer, usw. können nun auch nicht mehr "versehentlich" ausgeführt werden, dafür sieht man nun bei einigen Seiten folgende Meldung:
{img fileId="56" thumb="y" alt="" rel="box[g]"}

Dies heisst nicht unbedingt, dass die Seite unsicher ist, sondern einfach dass ein plugin oder controll in der Seite eingebetet ist. Dies kann ein Flash Film sein, aber auch ein Dialer oder ein eingebundenes Video.

Was aber nun, wenn bestimmte Plugins auf bestimmten Seiten benötigt werden?

In diesem falle, also z.B. wenn man eine Flashseite betrachten will, oder ein Video anschauen kann man die Adresse der Seite kopieren (CTRL+C), dann "Extras-Internetoptionen-Sicherheit" aufrufen, die Zone "Vertrauenswürdige Sites" anwählen, auf "Sites" klicken und die Adresse der Seite dort Einfügen. Danach Alles bestätigen und die Seite aktualiseren; ab jetzt wird das Flash/Video wieder angezeigt. Für grosse Seiten kann man übrigens einen Stern () setzen um alle subdomains miteinzuschliessen, also z.B. ".microsft.com". Benutzt man das Windowsupdate sollte man mindestens die Adresse: windowsupdate.microsoft.com dort Eintragen, da diese ansonsten nicht mehr funktioniert.

Noch einfacher geht das mit den Power Tweaks von Microsoft. Diese fügen unter dem Menu ‚Extras‘ einen Menupunkt hinzu, bei dem man eine Seite mit nur einem Mausklick in die Zone ‚Sichere Sites‘, bzw. auch ‚Eingeschränkte Sites‘ legen kann; so reicht ein Mausklick und ein klick auf ‚Aktualisieren‘ um z.B. eine Flash-Seite anzuzeigen.

MS Java Interpreter entfernen

Der Hauseigene Java interpreter von Microsoft ist umstritten und stellt unter gewissen Umständen auch ein Sicherheitsrisiko dar. Da die meisten Webprogrammierer Ihre Applets sowieso nur unter Sun’s original Java erstellen, kann man den MS Java Interpreter (jview) deaktivieren.

Dazu geht man unter "Start" auf "Ausführen", gibt dort cmd ein und drückt auf ENTER.

In der nachfolgenden Konsole den Befehl:

regsvr32 /u javaprxy.dll

eingeben und mit ENTER ausführen.

Nachteil dieser Lösung: Anwendungen, die auf Microsofts Java angewiesen sind, funktionieren nicht mehr, was aber anhand der sehr geringen Zahl an MS Java Applets durchaus vernachläsigbar ist.

IE Erweitern

Neues Fenster automatisch maximieren

Der Internet Explorer bietet leider keine option um neue Fenster immer maximiert zu öffnen, stattdessen nimmt er immer die zuletzt verwendete auflösung was nach dem besuchen von Seiten, die die Fenstergrösse ändern zu nervigen klein fenstern führen kann. Tools wie der MaxIEmizer setzen dem ein Ende und maximieren automatisch jedes neue Fenster.

Das Kontextmenu erweitern

{img fileId="57" thumb="y" rel="box[g]" imalign="right" align="right"} BILD Das Kontextmenu, das bei einem Rechtsklick erscheint kann eifach erweitert werden:

# Start – Ausführen und ‚regedit‘ eingeben
# Zum schlüssel: HKEY_CURRENT_USERSoftwareMicrosoftInternet ExplorerMenuExt durchklicken
Nun kann man einen neuen Unterschlüssel mit dem Namen des Eintrags der erscheinen soll angeben und als Standardwert den Pfad zur Datei, die man beim klick darauf aufrufen will.

Dies kann z.B. eine HTML-Datei sein, die den W3C HTML Validator aufruft und die Seite anzeigt, oder auf das Script pcwIESpell.VBS verweisen um die MS Word Rechtschreibeprüfung bei Webformularen einzusetzen. Die Möglichkeiten sind sehr vielfälltig, so kann man auf den Inhalt der Seite mit einem selbst erstellten script/programm zugreifen.
Empfehlenswert hierzu finde ich folgende Einträge: W3C HTML Validator, W3C CSS Validator und pcwIESpell.VBS .

Als Anschauungsbeispiel wollen wir uns mal den Eintrag zum W3C HTML Validator selbst erstellen, obwohl man diesen auch als Selbstinstallierende Datei runterladen könnte.

Erstmal gilt es eine HTML-Datei (z.B.: C:w3chtml.htm) mit folgendem Inhalt zu erstellen:

<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
window.open("<a href="http://validator.w3.org/check?ss=&uri="" target="blank">http://validator.w3.org/check?ss=&uri="</a> + external.menuArguments.location.href,"", "toolbar=yes,location=yes,directories=yes,status=yes,menubar=yes,scrollbars=yes,resizable=yes,top=0,left=0,width=" +(screen.width) +",height=" +(screen.height));
</SCRIPT>

Javascript-kundige werden sich bei diesem Code etwa vorstellen können, was passiert: Damit wird ein neues popup-fenster in vollbildgrösse mit der URL des W3C-Validators (http://validator.w3.org/) aufgerufen und als parameter die aktuelle Seite, die mittels der Objektvariable: ‚external.menuArguments.location.href‘ bestimmt werden kann angehängt.

UPDATE 26.05.2005: Aus irgendeinem undefinierbaren Grund haben die Microsoft IE-Programmierer entschieden, dass die aktuelle Seite nicht mehr über: ‚external.menuArguments.document.location.href‘, sondern nur noch über: ‚external.menuArguments.location.href‘ abgerufen werden kann. Hier wurde vormals die "alte" Variante beschrieben; wenn also die Scripts nicht mehr funktionieren, muss man ggf. diese Zeile anpassen.
Mehr Infos: http://www.philringnalda.com/blogthis/

Aber zurück zum Thema: Diese Datei nun Speichern und unter: ‚HKEY_CURRENT_USERSoftwareMicrosoftInternet ExplorerMenuExt‘ einen neuen Schlüssel mit dem Namen: "HTML Validieren" erstellen.
Dann in diesem neuen Schlüssel mittels Rechtsklick [Neu] wählen und den Pfad zur HTML Datei angeben, also z.B. ‚C:w3chtml.htm‘

Ab jetzt kann man Webseiten einfach durch rechtsklick + ‚HTML Validieren‘ vom HTML Validator überprüfen lassen.

Übrigens, wer noch eine weitere Anregung möchte um selbst kreativ zu werden:
Die Seite http://dict.leo.org/ übersetzt fremdsprachige Wörter in die Deutsche Sprache und umgekehrt. Da die Seite auch mit URL-Parametern arbeitet, ist es nun relativ einfach möglich obiges Script so abzuändern, dass man per Rechtsklick ein Wort übersetzen lassen kann… 😉
Tip: An den selektierten Text auf einer Webseite kommt man mittels: ‚document.all.location.select()‘

Weitere Anregungen und Beispiele geben die IE Web-Entwickler tools die ebenfalls so aufgebaut sind.

Die IE-Menuleiste erweitern

Nicht ganz so einfach wie das erweitern des Kontextmenus, aber auch möglich ist das erweitern der Menus ‚Extras‘ und ‚?‘ in der Menuleiste.
Dazu muss man das in MS Visual Studio enthaltene Programm: GUIDEN utility benutzen, dass man im VisualStudio Verzeichniss unter: CommonTools findet.
-Wer das VisualStudio nicht hat, kann sich das GuidGen Utility aber auch von der Mircosoft Webseite runterladen.

{143:left}Mit diesem Tool muss man sich erstmal eine sog. Globally Unique Identifiers ID im Registry-Format generieren lassen.

Danach kann man zum registry-Pfad unter: ‚HKEY_LOCAL_MACHINESOFTWAREMicrosoftInternet ExplorerExtensions‘ wechseln.
Jetzt erstellt man einen neuen Schlüssel mit der eben generierten GUID als Name.

Als Schlüsselwerte müssen darin mindestens die Zeichenfolgen ‚CLSID‘, mit einer neuen generierten ID, die das aufgerufene Programm verwendet, sowie ‚MenuText‘, dass den Text enthällt enthalten. Mit der Zeichenfolge ‚Exec‘ kann ein Programm angegeben werden, dass aufgerufen werden soll.

Wie gesagt, es ist relativ kompliziert dort Einträge einzufügen und offensichtlich will Microsoft diese Funktion den Programmierern vorenthalten.

Interessierte finden sich im Web mehr zum Thema.

JavaScript-Plugins

Einen etwas einfacheren Weg stellen sogenannte ‚JavaScript-Plugins‘ dar, diese erlauben es mittels des Zusatztools ‚Trixie‘ beliebige JavaScripts zu Webseiten hinzuzufügen. Dies kann man z.B. brauchen um Werbung aus häufig verwendeten Seiten zu verstecken, Fehler in Webseiten behehen oder sogar die Seiten mittles kleiner tools Benutzerfreundlicher zu machen.
Der Weg dorthin ist ganz einfach: Trixie installieren, danach findet man im Menu ‚Extras‘ ein zusätzlicher Menupunkt: ‚Trixie Options…‘ Dort findet sich schon eine vorauswahl an Scripts zum auswählen. Selbst erstellte Scripts kann man ins Verzeichnis Trixie/Scripts kopieren, diese werden danach jeweils in der betreffenden Seite geladen.
Weitere infos zu solchen Trixie-Scripts gibts auf der Trixie-Webseite .

Eigene Zonen erstellen

Weiter oben wurde besprochen wie man die Berechtigungen im IE mit Hilfe von Zonen einteilen kann. Von diesen Zonen kann man bei bedarf auch noch eigene erstellen, auch wenn der sinn dessen fraglich ist.
So gehts:

# Start – Ausführen und "regedit" eingeben
# Zum schlüssel: HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet SettingsZones durchklicken
Jetzt kann ein neuer Schlüssel mit aufsteigender Zahl erstellt werden (also 5, 6, usw.) und darin folgende Zeichenfolgen erstellen:

"DisplayName"="Neue Zone"
"Description"="Beschreibung für die neue Zone"
"Icon"="shell32.dll#0019"

danach die DWORD-Werte:

"CurrentLevel"=0
"MinLevel"=12000
"RecommendedLevel"=12000
"Flags"=3

Leider klappt es bei der Namen der Zonen nicht so richtig und ich habe selber noch nicht raus gefunden wie man die eigenen Zonen korrekt benennen kann.

Dateien nicht automatisch downloaden

Einige Dateien, z.B. CSS-Dateien werden vom IE automatisch heruntergeladen und im Standarprogramm geöffnet. -Wer dies nicht will, geht Auf Arbeitsplatz, klickt dann auf "Extras"-"Ordneroptionen"-"Dateitypen", sucht nach der Datei, klickt auf "erweitert" und aktiviert das Kästchen bei: "Öffnen nach Download bestätigen".

Popups-Blocken

Popups blocken können nicht nur alternative Browser, sondern auch der Internet Explorer! Der einzige unterschied ist, dass man ein Zusatzprogramm dafür downloaden und installieren muss, was bei anderen Browsern automatisch installiert wird.
Das bekannteste und einfachtse Programm dafür ist der Webwasher ; erweiterte Filtermöglichkeiten wie z.B. beim Firefox Browser hat man mit Proxomitron . Leider ist letzteres nicht ganz so einfach zu konfigurieren wie Webwasher, aber nach dem durchlesen der Dokumentation und tutorials sollts schon klappen.

IE mit Skins

Wer denkt umsteigen zu müssen bloss weil der IE vermeintlich keine Skins hat, liegt falsch.
Mittels dem Microsoft eigenen webaccess Tool kann man ein Hintergrundbild für die IE Oberfläche setzen.

{148:left}!!Webseiten dynamisch verändern mit einen Proxy-Server
Oft hört man mittlerweile das Argument, man andere browser hätten mehr Möglichkeiten, wie beispielsweise das entfernen von Werbebannern, das ändern des User-Agent-Feldes, oder das blocken nur bestimmter JavaScripts, etwa zur veränderung der Statuszeile. Doch auch dies kann man relativ leicht mit einem sogenannten Proxy-Server "nachrüsten" – Und das sogar ganz Browserunabhängig.
Für diese zwecke eignet sich der Proxy: Proxomitron am besten. Alles was man dazu tun muss ist diesen herunterzuladen, ins Programmverzeichniss zu kopieren und zu starten. Hier sieht man dann schon einige Filter vorkonfiguriert, etwa zum entfernen von Werbebannern. Nun muss man nur noch dem IE bekanntmachen, dass er die Webseiten über diesen Proxy-Server laden muss: Unter: Extras-Internetoptionen-Verbindungen-"LAN-Einstellungen…" bei "Proxy Server" ‚localhost‘ eintragen und als Port-nr. ‚8080‘.

[stextbox id=“tip“ caption=“Hinweis“]Da dies nicht mehr wirklich zum Internet Explorer gehört, wird hier nur kurz eingegangen. Über die Konfiguration und Möglichkeiten von proxomitron liefert die Webseite: http://www.buerschgens.de/Prox/ ausführliche Informationen.[/stextbox]

<!–
TODO:
-MIME TYPES
-Kontextmenu
–>

Related Links

|| Link | Beschreibung
[http://www.webwasher.com/|Webwasher] | Das Tool um Poups zu Filtern
[http://www.buerschgens.de/Prox/|Proxomitron] | Proxomitron ist ein guter Freeware HTML-Proxy mit vielen Filtermöglichkeiten
[http://www.microsoft.com/windows/ie/previous/webaccess/default.mspx|webaccess] | Das webaccess tool bietet dem IE einige Zusatzfunktionen, wie beispielsweise das hinzufügen von Skins.
[http://www.mvps.org/winhelp2002/ieplus.htm|Weitere Erweiterungen auf mvps.org] | Einige weitere Plugins für den Internet Explorer, wie z.B. die Web Accessories, PowerTweaks, oder eine erweiterte Rechtschreibprüfung, die auch ohne MS Office funktioniert
[http://www.mindcracker.com/mindcracker/c_cafe/internet/ie0.asp|Customizing Internet Explorer auf mindcracker.com] | Tips für Programmierer, die eigene Plugins für den IE schreiben wollen
[http://www.aborange.de/products/freeware/maxiemizer.php|MaxIEmizer] | Der Microsoft Internet Explorer hat eine lästige Eigenart: Jedes neue geöffnete Fenster erscheint in Standardgröße mitten auf dem Bildschirm. MaxIEmizer, sorgt dafür, dass Programmfenster des Internet Explorers in maximaler Größe erscheinen und der Bildschirm komplett ausgenutzt wird.
[http://www.bhelpuri.net/Trixie/|Trixie-Webseite] | Mittels diesem IE Add-on lassen sich eigene JavaScripts in fremden Webseiten ausführen.
[http://www.bhelpuri.net/Snippy/default.htm|Snippy] | Mit diesem Plugin lassen sich konfortabel Teile einer Webseite markieren und als Bild in die Zwischenablage kopieren, um es z.B. per mail weiter zu senden
[http://www.gurusheaven.de/|Gurus Heaven] | Eine Seite, die sich mit Browser Sicherheit- und Anonymität befasst
[http://www.misitio.ch/|misito.ch] | Viele Tips rund um den IE
||

Related Downloads

|| File | Beschreibung
[http://www.heise.de/ct/ftp/projekte/iecontroller/|ct IE-Controller] | Die Zeitschrift ct hatte mal ein gutes Programm zum gezielten Absichern des Internet Explorers entwickelt
[http://www.pcwelt.de/public/pcwIESpell.z.exe|pcwIESpell.VBS] | Mit diesem PC-Welt Script kann man die Microsoft Word Rechtschreibkorrektur in den Internet Explorer einbinden
[http://www.nirsoft.net/utils/ctie.html|CustomizeIE] | Mit CustomizeIE lassen sich die Menueinträge bei ‚Extras‘ und ‚?‘, sowie der Toolbar individuell anpassen
[http://www.iespell.com/|ieSpell] | Eine erweiterte Rechtschreibprüfung um die Textformulare auf Webseiten einer Rechtschreibüberprüfung zu unterziehen. Nützlich, wenn man oft viel Text über Web-Formulare versendet, wie z.B. bei WebMail, Blogs, Content Management Systemen,…
[http://www.microsoft.com/downloads/details.aspx?amp;displaylang=en&familyid=94551f58-484f-4a8c-bb39-adb270833afc&displaylang=en|GUID Utility] | Das GUID Utility von Microsoft um selbst sog. Globally Unique Identifiers (GUIDs) zu generieren
[http://www.tech-island.com/scripts/download.php?action=getFile&id=71|IE Web-Entwickler tools] | Eine nette sammlung sehr nützlicher tools, wenn man selbst Webseiten erstellt
[http://download.microsoft.com/download/ie5/Utility/1/W9XNT4MeXP/EN-US/pwrtwks.exe|Power Tweaks] | Seiten als Vertrauenswürdig/Eingeschränkt einstufen über das Kontextmenu, URL einer Seite in die zwischenablage kopieren und online/offline Button
[http://www.bhelpuri.net/Trixie/TrixieSetup.htm|Trixie] | Download des Trixie Add-ons
[http://www.microsoft.com/downloads/details.aspx?FamilyID=8B5762D2-077F-4031-9EE6-C9538E9F2A2F&displaylang=de|Office-Tool zur Öffnungsbestätigung von Dokumenten] | Microsoft hat ein Tool entwickelt, das vor dem Öffnen eines Office-Dokuments (Word, Excel, PowerPoint oder Access) aus Internet Explorer eine Bestätigung erfordert uns somit schluss macht mit dem Unsinn Office Dokumente wie Word oder Excel im Browserfenster zu öffnen
||

Automatisierte Windows Installation

[stextbox id=“note“ caption=“Hinweis“]Diese Seite ist derzeit noch unvollständig!
Betrachten auf eigene Gefahr… ;-)[/stextbox]

__Wer kennt das nicht: Da muss man mal Windows und unzählige Treiber, Tools und Anwendungen installieren und das System wieder Stundenlang konfigurieren. Wie schön wäre es doch, wenn man eine auf den Benutzer ausgerichtete Windows-CD machen könnte, die man nur einzulegen braucht, PC Starten und nach einigen Stunden ist das System fixfertig installiert und konfiguriert.
Nun, diese Möglichkeit beitet sich tatsächlich an, nämlich mit einer sog. "Unbeaufsichtigten Windfows Installation".__

Einleitung

Microsoft hat bei Windows die Möglichkeit eingeräumt alle Angaben in einer Datei "unattended.txt" zu hinterlegen und so die Installation automatisch zu starten. Aufgrund der vielen Option und Parameter ist dies anfangs jedoch nicht ganz einfach. Wir erklären hier, wie sich in einfachen Schritten eine Benutzerdefinierte Windows-CD Machen lässt.

Vorteile

Die Vorteile einer automatisierten Windows-Installation liegen auf der Hand: Man kann alle Angaben, die man während einer Installation machen muss schon vorgeben, aktuelle Gerätetreiber automatisch einbinden und sogar Anwendungen wie WinRAR oder Adobe Acrobat Reader automatisch installieren.
Daneben kann man auch Konfigurationseinstellungen vornehmen, die man im Nachinein nicht mehr, oder nur mit grossem Aufwand machen kann, wie z.B. das ändern des Benutzer-Profil Verzeichnisses.

Automatische Installation vs. CD-Image

Einige Leute machen von einer frisch installierten Windows Version ein CD-Image um dies bei einem zerschossenen Windows einfach wieder drüber zu spielen. Diese Methode hat aber einige Nachteile wie z.B.:

  • Kommt neue Hardware hinzu, muss man wieder ein neues Image machen
  • Das gleiche gillt bei neuen Software Versionen
  • Neue ServicePacks und Updates muss man immer wieder von Hand einspielen
  • Das aktuell halten des CD-Images ist sehr mühsam und umständlich

Eine automatische Installation ist hingegen viel die sauberere Lösung, da hier Windows komplett neu installiert wird, neue Hardware erkannt wird und die Treiber dazu installiert werden.
Um neue Updates oder Software hinzuzufügen, reicht es diese einfach einzubinden, dies ist in minuten erledigt.

Funktionsweise

Alle Angaben zur automatischen Windowsinstallation sind in einer Textdatei namens ‚unattended.txt‘ festgehalten. Dort kann man nun alle Parameter vorgeben, wie z.B., Sprache Seriennummer usw. und diese Datei mit auf CD kopieren.
Startet man dann die Installation, fragt die Installation nur noch die Werte ab, welche nicht angegeben wurde, d.h. wenn alle benötigten Angaben darin stehen, läuft alles Automatisch ab und braucht keine klicks mehr.
Wenn Windows installiert ist, loggt es sich das erste mal auf Wunsch auch automatisch ein und installiert die Treiber für die Hardware, welche man vorgeben kann. Aber das ist noch nicht alles, danach kann man auch noch definieren, dass Programme wie WinRAR oder MS Office ebenfalls vollautomatisch installiert und konfiguriert werden…
Zugegeben, das gibt fürs erste mal etwas arbeit, doch ist das gemacht, kann man ganz einfach die CD ins System einlegen, Computer starten, nach ein paar Stunden wieder kommen, sich wieder mit seinem Benutzernamen einloggen und alle Einstellungen und Programme vorfinden, die man vorher hatte.

Auch wird es damit möglich bestimmte Standard-Pfade, wie z.B. "Dokumente und Einstellungen" zu ändern.

Benötigtes Material

Für die automatische Windows-CD benötigen wir folgendes Material:

  • Windows-CD
  • boot.bin Datei
  • CDIMAGE
  • Etwa 1 GB Platz auf der Festplatte

Für die "erweiterte CD" mit anschliessendem automatischen installieren und konfigurieren von Fremdprogrammen ausserdem:

  • Die MS-Tools: reg.exe, shutdown.exe -Damit diese nicht umständlich aus den diversen Ressource Kit und Support tools zusammengesucht werden müssen, habe ich diese im Unattended Tools Pack zusammengefasst

Testen

Bei einer selbstinstallierenden WindowsCD macht man, besonders am anfang immer wieder fehler, bzw. merkt, dass man noch Änderungen anbringen möchte. Mit VMWare kann man das ISO als CD-ROM eibinden und so ganz einfach und schnell testen. Denn selbst denen, die einen extra Test PC und CD-RW haben, möchte ich dies ans Herz legen; es geht wesentlich einfacher und unkomplizierter die CD mit VMWare zu testen, als diese jedes mal wieder neu brennen und auf dem Test PC ablaufen zu lassen.

Grund-CD erstellen

Am einfachsten fängt man an, indem man das Unattended Setup Tool (setupmgr) benützt, dass man auf der Windows-CD im Verzeichnis "SUPPORTDEPLOY" findet.
Dieses Starten und die Fragen, ähnlich einer Windows Installation beantworten. Danach einen "neuen Distributionsordner" erstellen und die unattendened.txt Datei Speichern. Diese Datei wird nach beenden des Installationsassistenten in winnt.sif unbenannt und ins Verzeichniss WINNT kopiert.

Nun könntest du dieses Verzeichniss auf CD brennen, bootbar machen und Windows würde sich mit den von dir gewählten Einstellungen automatisch installieren.

Doch warscheinlich möchtest du jetzt noch Treiber und externe Programme hinzufügen? Dann liess weiter:

Treiber hinzufügen

Programme hinzufügen

CD brennen und bootbar machen

Noch ein Schritt weiter: Installation über das Netzwerk

Schlusswort

Word Vorlagen

__Microsofts Word wird für fast jede Art von Briefen eingesetzt: Von privaten Briefen in Haushalten, bis zu komplexen Geschäftlichen Briefen.
Was viele aber nicht wissen: Word kann noch einiges mehr als angenommen; mittels Formatvorlagen, Formularen und VBA Makros könnte man sich so manchen Prozess erheblich vereinfachen.__

Einleitung

Dieser Workshop widmet sich der Erstellung professioneller Word Vorlagen. Schritt für Schritt werden zuerst grundsätzliche Abläufe aufgezeigt, bis zum Schluss, wo es noch um die Programmierung mit VBA-Makros geht.

Was sind Dokumentvorlagen?

In Microsoft Word kann man sogenannte "Dokumentvorlagen" erstellen um ein Muster für häufig gebrauchte Dokumente darzustellen. Diese sollten keine spezifischen Daten wie beispielsweise die Adresse einer einzelnen Person enthalten; stattdessen werden variablen verwendet, also z.B. [[ADRESSE], [[BETREFF], o.ä.

Vorlagen statt Word-Dokumente

Um einen neuen Brief zu erstellen verwenden die meisten eine "Vorlage". Nur meistens handelt es sich dabei einfach um ein zuvor erstelltes Dokument, dass dann mittels "Speichern unter…" einfach auf einen anderen Namen gespeichert wird. Vergisst man das "Speichern unter…" zu wählen, wird einfach der alte Brief überschrieben und mit der Zeit entsteht ein Chaos.
Viel einfacher geht’s wenn man sich einen Standard-Brief erstellt und diesen beim Speichern-Dialog nicht als Word-Dokument, sondern als Word-Vorlage speichert.

Um das zu tun wählt man beim Feld "Dateityp" statt "Word-Dokument (.doc)" einfach: "Dokument Vorlage (.dot)". Ruft man dann diese Vorlage auf, erscheint automatisch immer der "Speichern unter…"-Dialog.

Im nachfolgenden Workshop werden wir uns eine Vorlage für einen Standard-Brief zusammenstellen:

# Neues Dokument erstellen
# Den Brief nach belieben gestalten, dabei daran denken statt einer Beispieladresse [[ADRESSE] schreiben, statt des Datums: [[DATUM], usw.

Kopf-/Fusszeile

Die Kopf-, bzw. Fusszeile ist wie der Name schon sagt dazu gedacht Kopf-/Fussnoten, also etwa die eigene Adresse oder die Seiteanzahl anzubringen. Der Vorteil daran liegt, dass man diese dann nicht mehr selbst in jede Seite einfügen muss – und sollte sich mal etwas ändern, genügt es die Kopfzeile der ersten Seite zu ändern und alle Seiten enthalten automatisch die neue Kopfzeile. Zudem wird die Kopfzeile während dem schreiben des Dokuments uneditierbar, so dass man diese nicht versehentlich ändert.

Wir werden für unseren Muster-Brief also als erstes die eigene Adresse in die Kopfzeile einfügen:

# Aktivieren mittels dem Menu: Ansicht->Kopf- und Fusszeile.
# Text, z.B. die Adresse, Dokumenttitel, o.ä. eingeben.
# Mittels erneutes klicken auf Ansicht->Kopf- und Fusszeile kommt man wieder zum Dokument. Die Kopfzeile ist nun grau und nicht mehr editierbar. Will man etwas ändern einfach die obigen Schritte wiederholen oder auf die Kopfzeile Doppelklicken.

Funktionsfelder

Mittels sogenannten Funktionsfeldern kann man sich das leben sehr vereinfachen weil diese bestimmte Werte, wie beispielsweise das aktuelle Datum automatisch anzeigen. Das wollen wir uns in unserem Brief zunutze machen, indem wir an der üblichen Stelle neben dem Ort das Erstellungsdatum des Dokumentes automatisch einfügen lassen:

# Cursor an die Stelle positionieren wo später das Datum erscheinen soll
# Menu: Einfügen->Feld… anwählen
# Im darauf folgenden Dialog selektieren wir in der linken Spalte die Zeile wo "Datum und Uhrzeit" steht
# Dann wählen wir in der rechten Spalte den Eintrag "CreateDate" aus, der Datum und Uhrzeit des Erstellungsdatums des Dokuments einfügt. Da in den meisten Briefen jedoch nur das Datum ohne Uhrzeit angegeben ist, klicken wir noch auf "Optionen…". Im nächsten Dialog ist links das Format "dd.MM.yyyy" schon ausgewählt, also müssen wir nur noch auf "Hinzufügen" klicken.
# Jetzt auf "OK" klicken und in vorherigen Dialog nochmals auf "OK". Jetzt erscheint das aktuelle Datum und wir müssen künftig nie mehr das Datum ändern, wenn wir einen neuen Brief schreiben; es wird immer automatisch das Datum eingefügt an dem das Dokument erstellt wurde. Praktisch, nicht?
Übrigens: Will man statt des Erstellungsdatum immer das aktuelle haben, einfach zuoberst statt "CreateDate", "Date" auswählen.

Formulare

{IMG(fileId="55",thumb="y",rel="box[g]",imalign="left",align="left")}{IMG} Dieses Thema enthält gleich zwei verwirrende Begriffe, die wir hier auflösen werden und die uns sehr Hilfreich dienen werden während des Erstellens unserer Briefvorlage. Das eine ist wie schon gesagt "Formulare", dass andere ist der "Dokumentenschutz".
Beim Begriff "Formulare" denken wir als erstes Dokumente bei denen der Empfänger des Dokuments Kreuzchen machen muss, oder Felder ausfüllen. -Dabei meint Word damit was ganz anderes, nämlich Formulare zum eingeben von Daten im Word-Dokument. Beim Dokumentenschutz denken viele an eine Funktion zum schützen des Dokuments vor der Bearbeitung durch andere. Obwohl man den Dokumentenschutz dazu gebrauchen könnte, liegt seine primäre Funktion nicht darin das Dokument vor anderen zu schützen, sondern vor der (versehentlichen) Eingabe von sich selbst! 😉
-Mit diesen beiden Funktionen kann man sich nun ganz einfach einen Standardbrief Erstellen, bei dem der Text nicht mehr Editierbar ist, man aber die variablen Felder wie Adresse, Anrede, usw. ganz einfach in Formularfelder eintragen kann; für Texte, die sich nur in einem Teil ändern (z.B. die Anrede), kann man wie bei Webformularen aus einem Dropdownfeld die geeignete auswählen und erspart sich so dass lästige schreiben.

Dies wird an unserem Beispiel Standardbrief verdeutlicht, erst gehen wir aber mal auf: Ansicht-Symbolleisten-Formular. Damit wird eine neue Symbolleiste mit den Formular-Werkzeugen eingeblendet.

Nun gehen wir alle unsere in [] eingeschlossenen Variablen Felder durch und fangen bei [[ADRESSE] an. -Anstatt [[ADRESSE] klicken wir nun auf das erste Symbol in der neuen Leiste ‚Textformularfeld‘. Dabei erscheint an der Stelle wo mal Adresse stand jetzt ein graues Feld. Danach gehen wir genauso mit allen anderen Feldern vor und fügen für jede Variable (Die in den Klammern) so ein Feld ein, bis wir zur [[Anrede] kommen. Hier klicken wir anstatt des ersten Symbols auf das dritte Symbol ‚Dropdown-Formularfeld‘. Dieses sieht nun äusserlich noch gleich aus wie die vorherigen, was sich aber gleich ändern wird.
{IMG(fileId="54",thumb="y",rel="box[g]",imalign="right",align="right")}{IMG} Durch einen Doppelklick auf das graue Feld erscheint ein Dialog: ‚Optionen für Dropdown-Formularfelder‘. Hier tragen wir im ersten Textfeld ‚Dropdownelement‘ den Text "Sehr geehrte Damen und Herren" ein und klicken auf "hinzufügen"; danach wiederholen wir diesen Schritt nochmals für die anderen beiden Anreden ("Sehr geehrte Frau"; "Sehr geehrter Herr"). -Bei Bedarf kann man natürlich noch weitere Anreden hinzufügen, wie z.B. "Sehr geehrter Herr Dr.", usw. Nun abschliessend auf OK drücken um das Auswahlfeld abzuschliessen.
Nun kommt der Trick mit dem "Dokumentenschutz": Diesen muss man, wenn man das Formular aktivieren möchte zwingend benutzen. Wir klicken deshalb abschliessend auf das Schloss-Symbol ganz rechts ‚Formular Schützen‘. Nach diesem Schritt sind nur noch die Formularfelder editierbar und das Anrede-Feld verwandelt sich in ein Dropdownfeld, bei dem wir von nun an bequem auswählen können wie die Anrede sein soll.
Die Brief-Daten selber können wir nun wie in einem Formular eingeben und per Tabulatortaste (TAB) von Feld zu Feld springen. Der eigentliche Text und sämtliche Formatierungen bleiben erhalten.
Übrigens, wenn mal eine Änderung am text oder den Formularfeldern angebracht werden soll, genügt es ganz einfach die Symbolleiste ‚Formular‘ erneut aufzurufen und das Schloss-Symbol erneut anzuklicken, die Änderungen vorzunehmen und dann das Formular wieder zu schützen.

VBA-Makros

Der letzte Punkt, den ich hier behandeln möchte ist das automatisieren gewisser Aufgaben mit Makros. Microsoft hat nicht umsonst mit seinem "Visual Basic for Applications", kurz "VBA" eine sehr mächtige und Leistungsfähige Programmierumgebung in alle Ihre Office Produkte eingebaut. -Doch keine Angst, Makros lassen sich, mittels dem eingebauten "Makrorekorder" auch ganz ohne Programmierkenntnisse erstellen!

Doch zunächst noch eine Erklärung für was Makros gut sind: Im Prinzip lässt sich nahezu _alles_ was man in Word (oder einem anderen MS Office Programm) machen kann "fernsteuern", d.h. man kann Word sagen mach dies und danach das, usw. Danach kann man diese Abfolge von Aktionen automatisch ablaufen lassen. -Man kann natürlich auch andere Programme aufrufen lassen und Word sagen, es soll gewisse Texte aus dem Word Dokument automatisch in eine Excel-Tabelle einfügen, diese Berechnen und dann ausdrucken. – Der Fantasie sind hier keine Grenzen gesetzt.

{img fileId="53" thumb="y" rel="box[g]" imalign="left" align="left"} Doch fangen wir erst mal mit einem kleinen Beispiel zur Verdeutlichung an:

# Öffne ein neues Word Dokument
# Gehe auf Extras-Makro-Aufzeichnen… und klicke im Nachfolgenden Dialog auf OK.
# Jetzt hat sich der Cursor in ein Tonband-Symbol verwandelt und es erscheint ein Kasten, der wie die Bedienelemente eines Tonbandrecorders aussieht. Gib nun etwas text ein und formatiere ihn ein wenig, d.h. die einen Wörter Fett, Kursiv, Schriftfarbe ändern, usw.
# Wenn du Fertig bist, klicke auf das Stop-Symbol im Recorderkasten.
# Lösche nun den ganzen Text wieder.
# Nun gehe auf Extras-Makro-Makros…
# Wähle hier Makro1 aus und klicke auf ‚Ausführen‘.
# Word hat sich vorher beim Aufzeichnen alle Aktionen die du zuvor gemacht hast gemerkt und wird, wie du siehst genau dasselbe wieder tun.

<B>Tipp:</B> Unter Extras-Makro-‚Visual Basic-Editor‘ kannst du dir jederzeit anschauen wie der Programmiercode "dahinter" aussieht und du wirst merken, dass er ganz einfach aufgebaut ist. -Und mit etwas Visual Basic, ASP oder VBA Kenntnissen auch das eine oder andere Verändern können.

Dem Programmieren mit VBA werde ich aus Komplexitätsgründen zu einem späteren Zeitpunkt einen eigenen Workshop widmen.

Abschliessendes

Ich hoffe der nachfolgende Workshop war Hilfreich und bin für Fragen oder Anregungen jederzeit offen!
Ich hatte hier auf weitergehenden Themen wie z.B. Formatvorlagen bewusst verzichtet um den Workshop für den Anfang nicht zu komplex zu gestalten und werde diese Dinge aber vielleicht in Zukunft ergänzen.

Related Downloads

|| File | Beschreibung
[http://download.tech-island.com/pub/files/musterbrief.dot|Musterbrief] | Den während dieses Workshops entstandenen Musterbrief. Er kann als Nachvollzug der Techniken, oder für Denkanstösse für weitere Briefe verwendet werden.
||

Einen OpenWRT router installieren

Seit einigen Jahren, genauer gesagt seit Linksys den legendären WRT54GL-Router herausgebracht hat, ist es möglich auf immer mehr billigen WLAN-Routern „OpenWRT“, als Linux zu installieren. – Diese Mini-Linux Distribution reicht in den meisten Anwendungsfällen um das PC-/Server basierte Gateway zu ersetzen.

Wir setzen hier eine default Konfiguration mit dem, immer noch populärsten Linksys WRT54GL auf.

Vergleich gegenüber eines Server-Gateways

Vorteile

  • Leise
  • Weniger Stromverbrauch
  • Platzsparender

Nachteile

  • Stark eingeschränkter Speicherplatz und RAM
  • Weniger flexibel

Voraussetzungen

  • PC
  • Linksys WRT54GL-Router

Hinweise zur verwendeten OpenWRT-Version

Leider ändert das OpenWRT-Projekt bei fast jedem neuen release die Konfigurationsmethoden wieder radikal; d.H., was in Version 7.09 galt, gilt nicht mehr für Version 8.09, usw.

[stextbox id=“warning“ caption=“Hinweis“]Dieses Tutorial bezieht sich deshalb ausdrücklich auf die Version 8.09![/stextbox]

[stextbox id=“warning“ caption=“Achtung“]Die neueren Kamikaze-Version (8.09) scheint ein Rückschritt zur Vorherigen Version (7.09) zu sein: Nebst der komplizierteren Konfiguration (z.B. die SUSE-Typische Konfiguration: „/etc/hosts“ is autogenerated, use „/etc/hosts.local“ instead…) ist OpenWRTso aufgeblasen, dass viele Pakete, wie z.B. OpenVPN (ohne Hacks) keinen Platz mehr finden! – Ich würde deshalb einigen Leuten (die, die keine Lust am lange rumbasteln und rumgoogeln haben) empfehlen die Version: 7.09 zu installieren![/stextbox]

Ich beschreibe hier die Version 8.09, schlicht aus dem Grund weil ich schon zu viel Zeit mit Basteln investiert hatte und nicht nochmals von vorne mit einem reflash von 7.09 beginnen wollte. 😉

You have been warned…

Installation von OpenWRT

Zuerst schliessen wir den Router über einen der Ethernet-Ports direkt am PC an, dieser sollte auf DHCP eingestellt sein.

Dann wählen wir die URL: http://192.168.1.1/ an (Benutzername/Passwort: admin/admin) und klicken und durch zu -> Administration -> Firmware Upgrade

[stextbox id=“note“ caption=“Hinweis“]Es ist ganz wichtig, zuerst die Kernel 2.4 Version zu installieren, um danach die NVRAM-Variablen „boot_wait“ und „boot_time“ zu setzen (geht in den 2.6-er Versionen nicht)!
Derzeit ist die 2.4-er Kernel Version auch besser, da auf Kernel 2.6. Wireless noch immer nicht richtig läuft.[/stextbox]

Nun laden wir das folgende Firmware-Image herunter: http://downloads.openwrt.org/kamikaze/8.09.2/brcm-2.4/openwrt-wrt54g-squashfs.bin
Dieses installieren wir nun auf dem Router wie ein Standard Firmware-Upgrade.

Nach ca. 2 Minuten rebootet der Router und wir können uns per telnet auf: 192.168.1.1 verbinden und konfigurieren.

NVRAM-Variablen setzen

(Hinweis: Dies muss nur bei der ersten OpenWRT Installation gemacht werden)

Gleich nach dem ersten Login muss folgendes ausgeführt werden:

nvram set boot_wait=on
nvram set boot_time=10
nvram commit && reboot

Konfiguration

IP ändern

Als erstes kann man die LAN-IP nach eigenen belieben setzen, wenn der Standard 192.168.1.1 nicht gefällt.
Dies lässt sich ganz einfach in der Datei: /etc/config/network machen:

#### VLAN configuration
config switch eth0
        option vlan0    "0 1 2 3 5*"
        option vlan1    "4 5"
 
 
#### Loopback configuration
config interface loopback
        option ifname   "lo"
        option proto    static
        option ipaddr   127.0.0.1
        option netmask  255.0.0.0
 
 
#### LAN configuration
config interface lan
        option type     bridge
        option ifname   "eth0.0"
        option proto    static
        option ipaddr   10.2.1.1
        option netmask  255.255.255.0
 
 
#### WAN configuration
config interface        wan
        option ifname   "eth0.1"
        option proto    dhcp

SSH auf dem Internet-Interface

Dies werden wohl die meisten benötigen, da man so den Router später auch remote administrieren kann:

passwd

schaltet SSH ein- und telnet aus.

Nun geben wir unter /etc/firewall.user folgendes ein:

#========================== Rulesets ==========================================
### Open ports to WAN
## -- This allows port 22 to be answered by (dropbear on) the router
iptables -t nat -A prerouting_wan -p tcp --dport 22 -j ACCEPT
iptables        -A input_wan      -p tcp --dport 22 -j ACCEPT

Nach einem: /etc/init.d/firewall restart sollte man sich dann auf die öffentliche IP einloggen können.

[stextbox id=“warning“ caption=“Zugriff einschränken“]Da der router quasi das „Tor zum Internet“ ist, sollte man diesen nicht einfach so per SSH login Weltweit verfügbar machen, sondern auf das interne Netzwerk einschränken; remote kann dann immer noch per VPN zugegriffen werden.

Dazu ändert man die obige Regel bei einem 10-er Netzwerk wie folgt ab (bei einer andere Netzadresse muss man das natürlich anpassen!):

### Open ports to WAN
## -- This allows port 22 to be answered by (dropbear on) the router
iptables -t nat -A prerouting_wan -p tcp --dport 22 -s 10.0.0.0/8 -j ACCEPT
iptables        -A input_wan      -p tcp --dport 22 -s 10.0.0.0/8 -j ACCEPT

Dazu kann man intern immer darauf zugreifen, selbst wenn eine VPN-Verbindung mal ausfallen sollte und remote nur noch per VPN.[/stextbox]

Zeit- und Zeitzone einstellen

Zuerst in <I>/etc/config/system</I> den Parameter „option timezone“ auf Mitteleuropäische Zeit (CEST) einstellen:

option timezone CET-1CEST-2,M3.5.0/02:00:00,M10.5.0/03:00:00

Und danach mittels:

date -s YYYY-MM-DD hh:mm[:ss]

die Zeit richtig Einstellen.

Wireless aktivieren

Unter /etc/config/wireless:

option disabled 1

entfernen.

Mit:

option encryption psk
        option key        "passwort"

Kann man nun noch die Verschlüsselung aktivieren.

Wer noch kein Passwort hat, mit:

pwgen --secret 13 1

kann man sich eins generieren lassen.

Firewall-Bug reparieren

Standardmässig blockt OpenWRT 8.09 ICMP- (ping) requests; dies ist unschön und führt zu nur sehr mühsam zu identifizierenden Netzwerk-Problemen.
Deshalb sollte in /etc/config/firewall folgendes eingefügt werden:

# Bugfix: Allow ICMP (<a href="https://dev.openwrt.org/ticket/4546)" target="blank">https://dev.openwrt.org/ticket/4546)</a>
config rule
        option proto ICMP
        option target ACCEPT

Paketliste aktualisieren:

opkg update

[stextbox id=“note“ caption=“Hinweis“]Dies muss in jeder shell session _immer_ einmal gemacht werden, sonst findet opkg die Pakete nicht![/stextbox]

QoS-Scripts

Die QoS-Funktionalität wird zwar nicht unbedingt gebraucht, ist aber trotzdem ganz Nett für einen Router:

ipkg install qos-scripts
/etc/init.d/qos start
/etc/init.d/qos enable

DynDNS

DynDNS ist sehr nützlich wenn sich die öffentliche IP-Adresse ab- und zu ändert, wie das bei den meisten Providern der Fall ist.

Dazu muss zuerst bei einem DynDNS-Anbieter ein Account erstellt werden (z.B. unter dyndns.org ), dann in OpenWRT die ddns-scripts installieren:

opkg install ddns-scripts

und unter /etc/config/ddns die Daten eintragen; diese Konfiguration sollte selbsterklärend sein… 😉

Zur initialisierung muss nun einmal folgendes gemacht werden:

sh
. /usr/lib/ddns/dynamic_dns_functions.sh # note the leading period
start_daemon_for_all_ddns_sections
exit

Ab jetzt wird sich die IP immer mit der DynDNS-URL synchronisieren, sobald diese ändert.

ntpclient

Um automatische Zeit updates empfangen zu können, installieren wir den ntpclient:

opkg install ntpclient

openvpn

Um den OpenWRT router als Client für eine VPN-Verbindung einzurichten ist folgendes zu tun:

opkg update
opkg install openvpn
mkdir /etc/openvpn/

[stextbox id=“note“ caption=“Hinweis“]Sollte beim client eine Meldung wegen ungenügendem Speicherplatz kommen, kann man folgendes probieren:

echo 'option force_space' >> /etc/opkg.conf

– Aus irgendeinem Grund funktioniert das häufig sogar.[/stextbox]

Nun erstellen wir das config file des clients:

client
dev tun
proto udp
port 1194
comp-lzo
daemon
remote vpnserver
resolv-retry infinite
#nobind
persist-key
persist-tun
ca /etc/openvpn/ca.crt
cert /etc/openvpn/client-1.crt
key /etc/openvpn/client-1.key
ns-cert-type server
verb 3

Bitte den ganzen Rest in dem File vorher weg löschen, z.B. durch: „echo > /etc/config/openvpn“)

package openvpn
config openvpn custom_config
option enable 1
option config /etc/openvpn/client-1.conf

Und auch hier noch die firewall unter /etc/firewall.user (nur der zusätzliche Teil, evtl. bestehende rules sollten beibehalten werden):

#========================== Rulesets ==========================================
### Open ports to WAN
## -- This allows port 22 to be answered by (dropbear on) the router
iptables -t nat -A prerouting_wan -p tcp --dport 22 -j ACCEPT
iptables        -A input_wan      -p tcp --dport 22 -j ACCEPT
 
### VPN
## -- VPN-Connection settings
iptables -t nat -A prerouting_rule -i eth0.1 -p udp --dport 1194 -j ACCEPT
iptables        -A input_rule      -i eth0.1 -p udp --dport 1194 -j ACCEPT
iptables        -A input_rule      -i tun0                     -j ACCEPT
iptables        -A forwarding_rule -i tun0                     -j ACCEPT
iptables        -A forwarding_rule -o tun0                     -j ACCEPT
iptables        -A output_rule     -o tun0                     -j ACCEPT

Als letztes definieren wir auf dem client noch, dass der DNS-Server des 10.1.1.0-er Netzwerks verwendet werden soll durch anfügen folgender Zeilen in /etc/config/dhcp:
Unterhalb: „config dhcp lan“

option dhcp-option=6,10.1.1.10
option domain-suffix=home.lan

und weisen den festen hosts wiederum feste IP-Adressen zu:

# pc01
00:00:00:00:00:00 10.2.1.10
# pc02
00:00:00:00:00:00 10.2.1.20
#usw.

Nun noch den Client aktivieren und neu starten:

/etc/init.d/openvpn enable
/etc/init.d/openvpn start
/etc/init.d/dnsmasq restart
/etc/init.d/firewall restart

Related Links

Related Downloads

Mit OpenVPN zwei Netzwerke verbinden

Das Gateway läuft perfekt im eigenen Netzwerk, doch nun möchte man noch ein anderes Netzwerk, z.B. das der Eltern, oder der Firma mit dem eigenen verbinden – Die Möglichkeit heutzutage auf kleinen PCs oder billig-Routern ein Linux, wie OpenWRT installieren zu können, macht dies relativ einfach möglich!

Continue reading Mit OpenVPN zwei Netzwerke verbinden

Das Gateway in eine Festung verwandeln

In diesem Kapitel behandeln wir Konzepte um das vorher installierte System noch sicherer zu machen (oder auch zu "härten").

Einleitung

Im vorherigen Beitrag haben wir ein sicheres Linux Gateway mit Router und Firewall Funktion erstellt. (Falls du den vorherigen Artikel: ((Router-Firewall selbst Bauen|Router / Firewall selbst Bauen)) nicht gelesen hast, solltest du dies jetzt tun, da dieser Artikel auf dem vorherigen basiert.) Jetzt kommt die Feinarbeit, das umwandeln unseres Gateways in eine Festung.
Das erste was man jetzt aber verstehen muss ist, es gibt keinen Weg um komplett sicher zu sein. Es ist einfach nicht genügend Zeit vorhanden um alles zu tun; Grosse Firmen stellen riesige Informatik Abteilungen an, deren einziges Lebensziel darin besteht ihre Netzwerke abzusichern und werden immer noch geknackt.
Unser richtiges Ziel hier ist es die freundlichen Leute freundlich zu behalten, die Script Kiddies und Würmer draussen zu halten und den Rest zu verlangsamen um dir die Möglichkeit zu geben diese zu Entdecken bevor sie in deinem Netzwerk Schaden anrichten können.
Idealerweise fängt diese Sicherheit schon nach einer sauberen Installation an, bevor das System je ans Internet angeschlossen wird.

System Updates und Sicherheitsratschläge

In der Welt der IT-Sicherheit ist Wissen Macht. Sicherheitsexperten sind immer einen Schritt hinter den Crackern, viele Sicherheitslücken werden nicht von den Sicherheits- Experten, aber von den Crackern entdeckt.
Du musst dich über neue Probleme immer auf dem neuesten Stand halten und solltest vor allem die Programme updaten, sobald eine neue Version rauskommt.

Tippe regelmässig

aptitude update && aptitude upgrade -s

auf deinem Gateway ein; dies zeigt dir eine Liste aller installierten Pakete für die es eine neue Version gibt.

Falls du wirklich aktiv sein willst, solltest du zu www.securityfocus.com gehen und dich sowohl zur BugTraq wie auch zur CERT Mailingliste anmelden.

Physische Sicherheit

Für Heimanwender stellt die physische Sicherheit kein Problem dar, in einer Firma sollte man das Gateway auch physisch absichern, damit niemand ungewollt Sachen installieren-, den Netzstecker ziehen kann, usw.
Folgende Ratschläge sind hierbei -je nach Bedarf- hilfreich:

  • Alle Laufwerke, wie CD-ROM, Diskette, usw. entfernen
  • Alle nicht benötigten Anschlüsse wie z.B. USB, Serielle Schnittstelle, usw. deaktivieren oder entfernen
  • Den Gateway Computer in einem Schrank oder Tresor einschliessen
  • Die Steckdose so versiegeln, dass sie von aussen nicht mehr erreicht werden kann
  • Ein Notstrom-Gerät an das Gateway anschliessen; dieses sollte zusammen mit dem Gateway im verschlossenen Schrank stehen

Wie gesagt, obige Ratschläge sind für viele Leute nicht erforderlich; ich würde dennoch mindestens die Laufwerke aus dem Gateway Computer entfernen, sobald er stabil läuft.

Benutzer Accounts und Passworte

Neben dem root Account und den spezial Accounts, welche später behandelt werden, sollte es nur einen User Account geben. Der root und User Account sollten gute Passworte haben. Ein gutes Passwort ist mindestens 8 Zeichen lang, besteht aus einem mix aus gross- und Kleinbuchstaben, Nummern, Sonderzeichen und ist kein Wort das in einem Wörterbuch vorkommt. Es ist ebenfalls eine gute Idee die Passworte von Zeit zu Zeit zu ändern und schreib sie nicht auf einen auf den Monitor geklebten Zettel, wo jeder es lesen kann. Benutze verschiedene Passworte für jeden Computer im Netzwerk, denn so wenn ein System geknackt wurde, wird ein Angreifer immer noch nicht Zugang zu den anderen Systemen im Netzwerk haben. Nochmals, weil Passwörter knacken Zeit braucht, wirst du ihn hoffentlich entdecken bevor er zu weit kommt.

Ausserdem sollte man remote (auch im internen Netz) Benutzer nur mittels private/public Key aufs System lassen und root gar nicht.

Du kannst dir einen Private-Key wie ein extrem langes Passwort vorstellen, welches hunderte Zeichen lang- und in einer (verschlüsselten) Datei gespeichert ist.

Nun musst du die Schlüsselpaare erst erstellen.
Dazu loggst du dich auf dem gateway (oder einem anderen Linux) ein und tippst:

ssh-keygen -t rsa -b 2048

Du wirst dann nach einem Passwort (Passphrase) gefragt, welches natürlich die selben Sicherheits-Anforderungen haben muss wie jedes gute Passwort auch.

Den private-key verschiebst du nun auf deine Admin-Workstation; dieser darf nicht auf dem gateway verbleiben! – Ansonsten wäre das etwa so, wie wenn du einen Tresor hättest und den Schlüssel in einer abgeschlossenen Schreibtischschublade vor dem Tresor lagern würdest… 😉

Nun kannst du im ssh-client (z.B. Putty) deinen Private-Key angeben und dich damit und deinem Passwort auf dem System anmelden.

Direkte Logins mit nur einem Passwort ohne private key dürfen auf dem gateway nur physisch am System stattfinden. Dies werden wir später so konfigurieren.

[stextbox id=“note“ caption=“Hinweis: Entfernen der Standard-Benutzer“]Die Distributionen erstellen in der Regel einige (deaktivierte) Standard-Benutzer wie: „daemon“, „sys“, „sync“ oder „games“.
Diese Benutzer haben in der Regel eine UID zwischen 0 und 99.
Diese sind deaktiviert und sollten auf dem System belassen werden, da sie so gut wie kein Sicherheitsrisiko darstellen.

Benutzer ab UID 100 könnten gelöscht werden, wenn man sicher ist, dass man damit nichts zerbricht.

Falls du diese trotzdem löschen willst, solltest du nur die user löschen, welche keine Datei besitzen.

Diese findest du mit:

find / -user $USERNAME -ls &

Alle Benutzer kann man sich mit:

cat /etc/passwd

anzeigen lassen.

Mittels folgendem Code kann man sich alle Benutzer anzeigen lassen, denen Dateien gehören und die man im System lassen sollte:

# Benutzer
cut -f 1 -d : /etc/passwd | while read i; do find / -user "$i" | grep -q . || echo "$i"; done
 
# Gruppen
cut -f 1 -d : /etc/passwd | while read i; do find / -group "$i" | grep -q . && echo "$i"; done

Falls dennoch etwas schief gegangen ist: Unter Debian kann man mit:

update-passwd

den Original-Zustand der Systemuser wiederherstellen.
[/stextbox]

Shell von innaktiven Benutzern ändern

Die Standard-Benutzer der Linux distribution sollten zwar vorhanden sein, müssen aber nicht unbedingt eine valide login-shell (z.B. /bin/sh) haben.

Bei folgenden Benutzern kann man die shell auf: /bin/false setzen:

  • daemon
  • bin
  • sys
  • games
  • man
  • lp
  • mail
  • news
  • uucp
  • proxy
  • www-data
  • list
  • irc
  • gnats
  • nobody
  • sshd
  • libuuid
  • ntp
  • openvpn
  • Debian-exim
  • logcheck
  • snort
  • postfix

Zu beachten ist jeweils, dass einige system-user eine shell brauchen! – Cron-Jobs, laufen beispielsweise nicht ohne shell!

Unnötige Programme

Ein Grossteil der Computersicherheit basiert darauf sowenig wie möglich installiert zu haben; denn jedes zusätzliche Programm ist ein Angriffspunkt mehr.
Auch bei einer minimalinstallation werden noch unnötige Programme installiert, die es zu entfernen gilt:

aptitude purge resolvconf nano ufw wireless-regdb crda qstat nano gdb gcc-3.3 dpkg-dev libc6-dev cpp-3.3 manpages-dev flex g++ linux-kernel-headers bin86 cpp gcc g++-3.3 bison make libstdc++5-3.3-dev

Konfigurationsdateien

Dies ist zweifellos der wichtigste Abschnitt. Schlecht verwaltete Konfigurationsdateien sind das grösste Sicherheitsrisiko für jedes System.

/etc/inetd.conf
Von hier aus starten einige TCP/IP Services. Da der einzige Service, den wir laufen lassen wollen sshd ist, der nicht von inetd gestartet wird, sollte diese Datei ebenfalls leer- oder gar nicht vorhanden sein. Falls nicht, lösche sie mit rm /etc/inetd.conf, erstelle eine neue mit touch /etc/inetd.conf und schliesse sie mit chattr +i /etc/inetd.conf für zukünftige Schreibzugriffe ab.

/etc/host.conf
Da wir eine Verteidigung gegen Attacken von aussen aufbauen, sollten wir hier als letzte Zeile in /etc/hosts.conf schreiben:

nospoof on

/etc/fstab
Von hier bekommt das System Informationen darüber, welche Laufwerke und Partitionen beim auf starten gemountet werden müssen und wo. Falls du dein System als eine grosse Partition partitioniert hast, oder du keine separate Partition für /home und /tmp erstellst hast, kannst du diesen Abschnitt überspringen. /home und /tmp sind wichtige Bereiche, weil sie von anderen Benutzern als root gelesen und geschrieben werden können. Was wir nun wollen ist limitieren was der Benutzer auf diesen Partitionen machen darf. In /home wollen wir nicht, dass ein Benutzer ein SUID-Programm oder ein Laufwerk erstellt und zusätzlich in /tmp wollen wir dass keine Programme ausgeführt werden können. Dies erreichen wir, indem wir die Datei /ec/fstab ändern.
Deine Datei sollte etwa so aussehen:

# <file system> <mount point> <type>    <options>       <dump>  <pass>
/dev/hda1      /              ext3      defaults        1       1
/dev/hda9      /boot          ext3      defaults        1       2
/dev/hda5      /home          ext3      defaults        1       2
/dev/hda6      /tmp           ext3      defaults        1       2
/dev/sda1      /usr           ext3      defaults        1       2
/dev/hda7      /var           ext3      defaults        1       2
/dev/hda8      swap           swap      defaults        0       0
none           /proc          proc      defaults        0       0

Nun ändern wir das "defaults" unter <options> für diese Filesysteme wie folgt ab:

<mount point>  <options>
/home          rw,nosuid,nodev,noexec
/tmp           defaults,nodev,nosuid,noexec
/usr           defaults,ro,nodev
/var           defaults,nodev,nosuid,noexec

[stextbox id=“note“ caption=“Hinweis“]Du könntest /home theoretisch auch auf read-only setzten, doch dann würde mit deinem User-Account keine shell-history mehr geloggt werden können.[/stextbox]

Damit kann nun auf /usr und /var nicht mehr geschrieben werden, weil es auf read-only (ro) gesetzt ist.

Um trotzdem noch system-updates machen zu können, erstellt man sich nun ein "apt-prescript" welches automatisch beim aufruf von aptitude aufgerufen wird und temporär den Schreibschutz aufhebt:

DPkg
{
  Pre-Invoke  { "mount /usr -o remount,rw" };
  Pre-Invoke  { "mount /var -o remount,exec" };
  Post-Invoke { "mount /usr -o remount,ro" };
  Post-Invoke { "mount /var -o remount,noexec" };
 
  // Wenn man mit iptatbles noch ausgehende HTTP/FTP connections blockt, kann man dies ebenfalls temporär aktivieren:
  // Die Zeilennummer (hier 5) muss evtl angepasst werden!
  //Pre-Invoke  { "iptables -I OUTPUT 5 -o eth0 -p tcp -m multiport --dports 21,80 -m state --state NEW -j ACCEPT" };
  //Post-Invoke { "iptables -D OUTPUT -o eth0 -p tcp -m multiport --dports 21,80 -m state --state NEW -j ACCEPT" };
};

Programme

Nun geht es daran die einzelnen Programme und Dienste abzusichern.

SUID Programme

Als erstes müssen wir alle SUID Programme finden; dies sind Programme, die die Identität von root annehmen, wenn sie ausgeführt werden, was ein hohes Sicherheitsrisiko darstellt.
Dies macht diese Programme Ziele von Buffer Overflow Attacken und Vertauschungen mit Trojanern.

Um alle SUID Programme auf dem System zu finden tippe:

ls -alF `find / -perm -4000`

ein; die Ausgabe wird etwa so aussehen:

-rwsr-xr-x 1 root root  94776 Dec 11  2012 /bin/mount*
-rwsr-xr-x 1 root root  36136 Apr 12  2011 /bin/ping*
-rwsr-xr-x 1 root root  36896 Apr 12  2011 /bin/ping6*
-rwsr-xr-x 1 root root  36816 May 25  2012 /bin/su*
-rwsr-xr-x 1 root root  69080 Dec 11  2012 /bin/umount*
-rwsr-xr-x 1 root root  46264 May 25  2012 /usr/bin/chfn*
-rwsr-xr-x 1 root root  41272 May 25  2012 /usr/bin/chsh*
-rwsr-xr-x 1 root root  31496 Jun 25  2012 /usr/bin/fping*
-rwsr-xr-x 1 root root  31496 Jun 25  2012 /usr/bin/fping6*
-rwsr-xr-x 1 root root  68024 May 25  2012 /usr/bin/gpasswd*
-rwsr-xr-x 1 root root  36432 May 25  2012 /usr/bin/newgrp*
-rwsr-xr-x 1 root root  51096 May 25  2012 /usr/bin/passwd*
-rwsr-xr-x 2 root root 113048 Mar  1 06:20 /usr/bin/sudo*
-rwsr-xr-x 2 root root 113048 Mar  1 06:20 /usr/bin/sudoedit*
-rwsr-xr-x 1 root root 245064 Feb  8  2013 /usr/lib/openssh/ssh-keysign*
-rwsr-xr-x 1 root root  10496 Dec 30  2012 /usr/lib/pt_chown*

Wie du sehen kannst, zeigt die linke Seite die Berechtigung an; jedes Programm mit einem "s" darin hat das SUID bit gesetzt, beim deaktivieren des SUID bits kann nur noch root das Programm ausführen. Was nun gemacht werden muss, ist rauszufinden bei welchen Programmen das SUID bit sicher abgeschaltet werden kann – viele von diesen Programmen brauchen es allerdings um normal ablaufen zu können; andere wiederum sollten sowieso nur von root ausgeführt werden. Das SUID bit schaltest du mit dem Befehl

chmod a-s dateiname

ab.
Empfohlen für diesen Schritt werden:

  • /usr/bin/gpasswd,
  • /usr/bin/chfn,
  • /usr/bin/chsh,
  • /usr/bin/newgrp,
  • /bin/mount,
  • /bin/umount
chmod -v a-s /usr/bin/gpasswd /usr/bin/chfn /usr/bin/chsh /usr/bin/newgrp /bin/mount /bin/umount
mode of `/usr/bin/gpasswd' retained as 0755 (rwxr-xr-x)
mode of `/usr/bin/chfn' changed from 4755 (rwsr-xr-x) to 0755 (rwxr-xr-x)
mode of `/usr/bin/chsh' changed from 4755 (rwsr-xr-x) to 0755 (rwxr-xr-x)
mode of `/usr/bin/newgrp' changed from 4755 (rwsr-xr-x) to 0755 (rwxr-xr-x)
mode of `/bin/mount' changed from 4755 (rwsr-xr-x) to 0755 (rwxr-xr-x)
mode of `/bin/umount' changed from 4755 (rwsr-xr-x) to 0755 (rwxr-xr-x)

Prozesse

Mittels

ps aux |grep -v "["

kannst du dir die Prozesse auf deinem System anzeigen lassen.
Stelle sicher, dass kein Prozess läuft, von dem du nicht genau weisst was er tut und ob er laufen soll oder nicht.
Unnötige Prozesse mittels

update-rc.d PROZESS

off deaktivieren.

Normal sind z.B.:

  • udevd –daemon
  • /usr/sbin/rsyslogd
  • /usr/sbin/cron
  • /usr/sbin/sshd
  • /usr/sbin/ntpd
  • /sbin/getty 38400 tty1

Netzwerk-Dienste

Nun gilt es herauszufinden welche Netzwerkdienste laufen.

Dies findest du mit

netstat -pn -l -A inet

heraus; die Ausgabe zeigt dir alle Dienste an, zu denen man sich Verbinden kann:

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 127.0.0.1:25            0.0.0.0:*                           26542/smtpd
udp        0      0 10.1.1.1:22             0.0.0.0:*               LISTEN      2200/sshd
udp        0      0 0.0.0.0:1194            0.0.0.0:*               LISTEN      2178/openvpn

Die Spalte "Local Address" zeigt auf welchem Netzwerk-Interface der Dienst läuft:

<ol>
127.0.0.1          Der Dienst ist nur vom lokalen System erreichbar
10.1.1.1 (LAN-IP)  Der Dienst ist nur vom internen Netzwerk erreichbar
</ol>
0.0.0.0            Der Dienst ist von überall erreichbar

Dienste mit dem letzten Eintrag (0.0.0.0) sind besonders heikel, denn diese sind von überall (also auch vom Internet) erreichbar!

Hier sollten wirklich nur die Dienste laufen, welche du unbedingt übers Internet von überall aus erreichen musst. Alle anderen Dienste sollten nur übers lokale Netzwerk, bzw. wenn du dich mit denen nicht remote Verbinden musst, nur lokal auf 127.0.0.1 laufen.

Und selbst wenn du dich von einem entfernten Standort (z.B. dem Büro) verbinden musst wäre das aufsetzten eines ((Mit OpenVPN zwei Netzwerke verbinden|VPN))s die bessere Lösung.

Bei fast allen Diensten kann man konfigurieren an welches Interface der Dienst sich "bindet".

Stelle nach diesen Kriterien sicher, dass die Dienste alle auf dem korrekten Interface laufen. Und Dienste die man nicht braucht, sollten natürlich gar nicht erst laufen.

SSH

Der SSH-Server sollten eines der einzigen Programme sein, welches läuft und auf den Interfaces hört. Entsprechend sollte auch dieses abgesichert sein.

Hier binden wir den SSH-Server auf die lokale LAN-Adresse, deaktivieren passwort logins, deaktivieren root logins, lassen nur noch ausgewählte Benutzer zu und deaktivieren unnötige Dinge wie x-forwarding oder den sftp-server.

Folgende Zeilen müssen dazu in der Datei /etc/ssh/sshd_config geändert werden:

Port 22
# Falls SSH auf dem Internet-Interface läuft sollte man wenigstens einen anderen Port dafür nehmen und
# den Default-Port 22 per iptables-firewall nur von innen zugänglich machen
Port 9876
ListenAddress 10.1.1.1                       #Falls der Dienst im Internet laufen muss: 0.0.0.0 (default) und anderer Port (s.o.)
 
LogLevel DEBUG                               # Damit sieht man mehr Infos in den logs
 
PermitRootLogin no
AllowUsers hmuster                           # Hier kommt dein Benutzername hin
PasswordAuthentication no
 
X11Forwarding no
 
#Subsystem sftp /usr/lib/openssh/sftp-server # Auskommentieren

Achtung, ab jetzt kannst du dich per SSH nur noch mit deinem SSH-Private-Key anmelden, den du hoffentlich zuvor erstellt hattest… 😉

/proc tuning

Mittels dem /proc filesystem können verschiedene Kernel-Variablem gesetzt werden.
Die wichtigsten rund um die IT-Sicherheit eines routers/firewall sind:

net.ipv4.icmp_echo_ignore_broadcasts = 1
Hiermit ignoriert der Kernel alle Echo-Request-Pakete (Ping) an die Broadcast-Adresse.
Üblicherweise beantworten alle Linux-/Unix-Betriebssysteme einen Echo-Request an ihre Broadcast-Adresse. So kann man sehr leicht in einem Netzwerk alle verfügbaren Unix-Systeme ermit-
teln.
Da aber viele Router in der Vergangenheit (und auch heute noch) derartige Broadcast-Ping-Anfragen nicht verworfen haben, konnte damit eine Verstärkung des Verkehrs erzeugt werden.
Man sendet ein Ping an die Broadcast-Adresse eines Netzwerks mit 10 Unix-Rechnern und erhält 10 Antworten zurück. Wenn man die Absenderadresse fälscht (IP-Spoofing), kann man so einen anderen Rechner mit Ping-Antworten überschwemmen. Dieser Angriff trägt den Namen Smurf-Angriff.

net.ipv4.tcp_syncookies = 1
Hiermit werde SYN-Cookies im Linux-Kernel aktiviert. Der Linux-Kernel wird anfangen, SYN-Cookies zu versenden, sobald der SYN-Backlog überläuft.
Damit kann man sich gegen einen SYN-Flood wehren.

net.ipv4.ip_forward = 1
net.ipv4.conf.all.forwarding = 1
Schaltet das IP-Forwarding ein. Für router ein unverzichbarer Wert.

net.ipv4.conf.all.accept_redirects = 0
Normalerweise wird ein Paket das in ein anderes subnet soll an ein Gateway geschickt, mit einem ICMP redirect schickt kann das Gateway mitteilen das ein anderer router eine bessere Route für das Paket hat. Ein cracker kann das für eine man-in-the-middle Attacke ausnützen. Diese Option sollte IMMER auf 0 sein.

net.ipv4.conf.all.accept_source_route = 0
Dieser Parameter definiert, ob das System IP-Pakete mit der IP-Option Source-Routing akzeptiert.
Da damit ein Angreifer Pakete über selbst gewählte Routen versenden kann, sollte diese Option abgeschaltet sein (0). Dies ist auch der Default.

net.ipv4.conf.all.log_martians = 1
Wenn diese Option aktiviert ist, loggt der Kernel Pakete mit ungültigen Adressen.

net.ipv4.conf.all.rp_filter = 1
Diese Variable schaltet einen Reverse-Path-Filter für diese Netzwerkkarte an.
Dieser Filter prüft, ob eine Antwort an den Absender des Pakets auch über diese Netzwerkkarte versendet werden würde.
Diese Variable bietet so einen gewissen Schutz vor IP-Spoofing-Angriffen.

net.ipv4.conf.all.secure_redirects = 1
Normalerweise akzeptiert ein Linux-System sämtliche ICMP-Redirects.
Wenn diese Variable aktiviert ist, werden nur Redirects von bekannten Default-Gateways akzeptiert.

Remote loging aktivieren

Wenn ein Angreifer in das System einbricht könnte er theoretisch die logfiles löschen oder ändern um seine Spuren zu verwischen.

Um dies zu verhindern kann man die logfiles per remote-log an ein externes System weiter leiten, auf welches der Angreifer (erstmal) keinen Zugriff hat.

Dazu muss man beim gateway in /etc/rsyslog.conf (oberhalb der lokalen Einträge!) folgendes stehen:

#========================== SPECIFIC AND REMOTE LOGGING =======================
# The "& ~"-Line stops further proccessing of the messages
 
#if $syslogfacility-text == 'kernel' and ($msg contains . 'iptables') . then /var/log/firewall.log
if $programname == 'kernel' and ($msg contains 'iptables') then @syslog
if $programname == 'kernel' and ($msg contains 'iptables') then /var/log/firewall.log
if $programname == 'kernel' and ($msg contains 'iptables') then ~
 
if $programname contains 'kernel' and ($msg contains 'martian' or $msg contains 'll header') then /var/log/martian.log
& ~
 
# Send all logs to deinsyslogserver syslog
<ul>
<li>.*                             @deinsyslogserver

Am wichtigsten ist nur die Zeile:

<em>.</em>                             @deinsyslogserver

Die restlichen Anweisungen sind nur dazu da um beispielsweise die firewall logs in ein separates logfile zu schrieben.

Auf "deinsyslogserver" sehen die relvanten Einträge in der rsyslogd.conf so aus:

# Provides UDP syslog reception
$ModLoad imudp.so
$UDPServerRun 514
 
# Provides TCP syslog reception
$ModLoad imtcp.so
$InputTCPServerRun 514
 
 
#========================== LOGS FROM REMOTE HOSTS ============================
# The "& ~"-Line stops further proccessing of the messages
$template PerHostLog,"/var/log/%HOSTNAME%/syslog.log"
 
if $programname == 'kernel' and ($msg contains 'iptables') then /var/log/gateway/firewall.log
& ~
if $programname contains 'openvpn' then /var/log/gateway/openvpn.log
& ~
if $programname contains 'kernel' and ($msg contains 'martian' or $msg contains 'll header') then ~
& ~
 
if $fromhost == 'gateway' then -?PerHostLog
& ~

System Integrität überprüfen

Das letzte, was wir nun noch tun wollen ist das System so aufzusetzen, damit es in der Lage ist dich zu warnen, falls irgendwas verändert wurde. Sobald irgendein Einbrecher reinkommt und ein Trojaner pflanzt, oder ein Account erstellt, wollen wir dass das System uns sagen kann was verändert wurde.

debian-harden

Debian stellt ein paket "harden" zur Verfügung, dass all die wichtigen Tools rund um Intrusion Detection (IDS) und System hardening zur Verfügung stellt:

aptitude install harden

rkhunter

rkhunter durchsucht das System regelmässig nach Rootkits und Trojanern und sendet eine Meldung per Mail, wenn etwas nicht stimmt.

AIDE

AIDE erstellt einen kompletten Snapshot vom System und informiert, sobald Dateien geändert wurden.

logwatch

Logwatch ist ein nettes Tool, dass die täglich die Auswertungen der wichtigsten logfiles zusendet.

Abschluss

Es ist nun relativ sicher das System ins Internet zu stellen. Sobald dies getan ist, willst du wahrscheinlich deine Sicherheit überprüfen. Unter: www.security-check.ch kannst du dein System auf offene Ports überprüfen lassen und siehst, wie sicher du nun durchs Internet surfst.

Related Links

|| Link | Beschreibung
[http://linuxgazette.net/issue55/stoddard.html|Building a Secure Gateway, part II By Chris Stoddard] | Von diesem sehr gut gemachten Tutorial stammen viele Informationen auf dieser Seite
[http://www.debian.org/doc/manuals/securing-debian-howto/ch4.de.html|Anleitung zum Absichern von Debian] | Viele Hinweise, wie man sein Debian-System absichern kann
[http://www.security-check.ch/|www.security-check.ch] | Eine Seite bei der man sein System auf Angriffsmöglichkeiten hin checken lassen kann
||

Related Downloads

|| File | Beschreibung
[http://linux.tucows.com/preview/51638.html|FCHECK] | Ein Tool um über Änderungen an einem Linux System informiert zu werden
||

Router-Firewall selbst Bauen

<---TOC--->

In diesem Tutorial lernen wir zuerst einen Linux NAT Router mit Firewall und IP Masquerading für den Zugang über ein Kabel- oder DSL-Modem zu erstellen und dann optional zusätzliche Services, wie DNS, DHCP und Port-Forwarding zu aktivieren.

Einleitung

Dieses Tutorial möchte schritt für schritt erklären, wie man erst ein sicheres Linux System als Internet Gateway aufsetzt, als nächstes das Netzwerk mit dem Internet verbindet, grundsätzliche Router Funktionen aktiviert, eine Firewall mit IPTABLES konfiguriert und als letztes optional einen DHCP und DNS Server für die einfache Netzwerkverwaltung aufsetzt, sowie über Port Forwarding zusätzliche Dienste auf einem Zweitcomputer laufen lassen kann.

Dieses Tutorial ist in 3 Teile unterteilt:

1. Router / Firewall selbst Bauen
Hier lernen wir, wie man einen einfachen Router mit Firewall erstellt; wir installieren die nötige Software und Konfigurieren den Router und das Gateway.

2. Das Gateway in eine Festung verwandeln
Hier werden Konzepte erklärt um das Gateway zusätzlich abzusichern

3. Zusätzliche Services Installieren
Hier werden DNS, DHCP und zusätzliche Webserver über Port-Forwarding aufgesetzt.

Das Kapitel über DHCP, DNS und Port Forwarding ist optional, da es bereits ein (geringes) Sicherheitsrisiko darstellt und wenn immer möglich nicht auf der Firewall laufen sollte.

Dieses Tutorial lehnt sich an das sehr gute: Private Networks and Roadrunner using IP Masquerading von Mark Nielsen und Andrew Byrd (http://www.linuxgazette.com/issue51/nielsen.html) an, das leider mittlerweile etwas outdated geworden ist.

Voraussetzungen

Obwohl ich darauf geachtet habe das Tutorial so einfach wie möglich zu halten, muss ich voraussetzen, dass du Windows fortgeschritten beherrschst, Linux schon installiert hast und weisst wie man ein Netzwerk aufsetzt.
-Falls nicht, solltest du erst mal versuchen ein normales Netzwerk ohne Gateway und Firewall aufzusetzen.

Sinnvolle Lesevorbereitung

Folgende Informationen wären sinnvoll, aber nicht unbedingt nötig zu lesen, bevor man anfängt; sie vermitteln einem das Basiswissen über die vorgestellten Konzepte:

  • Netzwerke – Grundsätzliche Informationen zu TCP/IP Netzwerken
  • IP Masquerading
  • Unix Security

Die Idee dahinter

{img fileId="52" thumb="y" alt="" rel="box[g]"}
Jeder schwarze Punkt im Bild oben stellt eine Netzwerkkarte dar und jede linie ist ein CAT5 Netzwerkkabel.
Wie man sieht, braucht es an jedem angeschlossenen Computer eine Netzwerkkarte und zwei Netzwerkkarten im Gateway.
Sinn und Zweck der ganzen Sache: Alle PCs sind im internen Netzwerk und haben keinen direkten Zugang zum Internet, sind also auch nicht direkt erreichbar.
Der Gateway Rechner ist dann der einzige, der direkten Zugang zum Internet hat und sämtlicher Internet-Verkehr muss über diesen -mit Firewall geschützten- Rechner laufen und stellt so die Mauer zwischen dem Netzwerk und der Aussenwelt dar.

Netzwerk-Überlegungen

Heutzutage macht es durchaus Sinn, wenn man sich auch im Heim-Bereich Gedanken über die Netzwerk-Topologie macht.

Beispielsweise wurde hier früher empfohlen ein Netzwerk 10.0.0.0/8 (subnetzmaske: 255.0.0.0) aufzubauen, doch dies birgt einen grossen Nachteil: Damit sind zwar über 16 Millionen Hosts möglich, aber kein einziges subnet mehr – Das dies zum Verhängnis werden kann, wenn man z.B. dann ein zweites Netzwerk aufbauen- und diese beiden mit einem VPN verbinden will, das musste auch der Autor dieses Artikels kürzlich feststellen…. 😉

Für diesen Artikel definieren wir deshalb ein Klasse-A-Netzwerk (10.1.1.x/24) mit der Netzmaske: 255.255.255.0 – Natürlich kannst du aber auch einen anderen Netzwerkblock wählen, wenn du weisst was du tust. 😉

Mit dem oben genannte Schema lassen sich 254 Hosts anschliessen (10.1.1.1 bis 10.1.1.254) und dürfte für die meisten Menschen mehr als genug sein. – Kommt dann ein zweites Netzwerk dazu, bekommt das das Netzwerk: 10.1.2.x, das dritte 10.1.3.x, usw.

– Praktisch zum Einsatz kommen kann das beispielsweise, wenn du momentan noch bei deinen Eltern wohnst; irgendwann aber ausziehen möchtest und das Netzwerk deiner Eltern mit dem deiner neuen Wohnung verbinden willst. -> Dieses Szenario wird ausführlich im Workshop: Mit OpenVPN zwei Netzwerke verbinden behandelt.

Als Domain Namen nahm ich hier: home.lan (der Domainname kann, muss aber nicht existieren) genommen.
Das Gateway heisst hier gateway.home.lan (Interne IP: 10.1.1.1) und die drei angeschlossenen Workstations heissen: pc01.home.lan (10.1.1.10), pc02.home.lan (10.1.1.20) und pc03.home.lan (10.1.1.30) -Es steht dir natürlich hier frei das ganze nach belieben mit mehr oder weniger PCs zu machen.

Auswahl der Hardware

Die Gateway Maschine braucht sehr wenig Ressourcen, es kann also auch ein alter 486-er mit relativ wenig Speicher sein; IP-Pakete zu Routen ist keine grosse Arbeit. Wenn Linux darauf laufen kann, sollte es auch mit dem anderen keine Probleme haben.
Als Gateway Rechner habe ich einen alten Dell mit 333 MHz, 128 MB RAM und 3 GB Festplatte genommen weil der grad rumstand. Aber nochmals: Es wird kein so leistungsfähiger Rechner für die Aufgabe gebraucht; ein Pentium 90 mit 16 MB RAM und 500 MB Harddisk tut’s längstens noch.

Bei den Netzwerkkarten kann es bereits Sinn machen auch für die Internet-Netzwerkkarte auf GBit zu setzten; da einige Provider bereits Internet-Zugänge mir über 100MBit/s anbieten.

Weiter braucht man noch einen Switch, welcher ist aber relativ egal. Falls man später mit VLAN’s arbeiten möchte, sollte es ein managed switcht sein. Für dieses tutorial spielt das jedoch keine Rolle.

Eine Tastatur und Monitor braucht’s nur während der Installation, da sich das Gateway später über SSH bequem vom PC aus "Fernwarten" lässt.

Software

Als Software für das Gateway nehmen wir hier ein aktuelles Debian Release. Grund: Debian ist schon von Haus aus sehr auf Sicherheit konzipiert und dazu extrem einfach zu handhaben.

Debian kann man entweder über das "net-inst" ISO, welches auf CD gebrannt wird über das Internet installieren, oder man lädt sich ein ISO der vollen CD. Die Internet Installation ist aus Sicherheitsgründen jedoch nicht empfehlenswert, sofern das gateway bereits direkt am Internet angeschlossen ist.

Die Workstations können irgend ein TCP/IP basiertes Betriebssystem, solche wie Windows (95/98/ME/NT/2000/XP/7/8…), Linux, MacOS, usw. sein. Es müssen nur alle eine lauffähige Netzwerkkarte eingebaut haben.

Linux System aufsetzen

Ein sicheres System beginnt als allererstes mit einer frischen, auf Sicherheit bedachten Installation!

Wir werden deswegen hier ein frisches Debian System mit nur den wichtigsten Komponenten installieren. Alles zusätzliche, wie X-Server, KDE/GNOME, FTP-Server, usw. birgt später ein Sicherheitsrisiko.

Bei der Installation von Debian einfach ENTER drücken und sich vom Assistenten leiten lassen; die Installation sollte mehr oder weniger selbsterklärend sein.

Nach der Sprachwahl, Tastatur, Einstellungen, usw. gelangt man zur Partitionierung ("Partition Disks")

Hier wählen wir: "Manually edit Partition Table".
Nachdem wir evtl. schon vorhandene Partitionen entfernt haben, erstellen wir neue nach diesem Schema:

<PRE>
Partition Minimum % des totalen Empfohlen
/ 200 MB 10% 1 GB
/boot 100 MB 300 MB 300 MB
/home 10 MB 25% 100 MB
/tmp 40 MB 10% 100 MB
/usr 500 MB 45% 2 GB
/var 384 MB 10% 500 MB
swap 64 MB 2X RAM 512 MB
</PRE>

Nachdem alles partitioniert ist, kommen wir zur Auswahl der Programm-Pakete.
Da es bei einem Firewall System essentiell ist, das darauf möglichst wenig läuft, lassen wir bei der Paketauswahl vorerst alles deaktiviert.

Falls während der Installation nach der Konfiguration der Netzwerkkarte(n) gefragt wird, wählen wir bei der ersten (eth0): "statisch"; als IP Adresse ist 10.1.1.1, als subnet mask 255.255.255.0 und als Standard Gateway 10.1.1.1 einzugeben.
Bei der zweiten (eth1): "DHCP zugewiesene IP Adresse (DHCP)".
Den Rest kann man bei den Standard werten belassen.
Hinweis: Falls nicht beide Netzwerkkarten erkannt worden sind, muss man nach der Installation die nicht erkannte(n) mittels Installation der Treiber so konfigurieren, dass sie lauffähig sind bevor man weitermacht; wer sich den ärger ersparen will, kauft für n paar Euro ne andere Netzwerkkarte die erkannt wird…

Dass das Passwort, dass man eingeben muss, sehr kompliziert sein soll, braucht wohl nicht extra erwähnt zu werden… 😉

Zusätzliche Software installieren

Da das System nun praktisch keine Software drauf hat, installieren wir das nötigste noch von hand:

aptitude install vim vlan locate ntp tmux unzip rsync telnet lsof sudo less iftop atop htop ethtool acl setfacl

Dafür schmeissen wir unötige Software weg:

aptitude purge ruby inetd portmap resolvconf nano ufw wireless-regdb crda qstat qstat

Konfiguration

Nach dem ersten Login auf dem gateway können wir mit der Konfiguration beginnen.
Erst werden wir die Netzwerkkarten überprüfen und ggf. konfigurieren, dann das Rounting aktivieren, Firewall und ggf. Port-Forwarding aufsetzen und zum schluss ein Firewall Script schreiben.

Netzwerkkarten

Erst müssen wir die Datei ‚/etc/network/interfaces‘ editieren.
Darin sollte stehen:

# Loopback network interface
auto lo
iface lo inet loopback
 
# Internal Interface
auto eth0
iface eth0 inet static
address 10.1.1.1
netmask 255.255.255.0
network 10.1.1.0
gateway 10.1.1.1
 
# External interface
auto eth1
iface eth1 inet dhcp

Firewall und IP Masquerading konfigurieren

Ping’e nun erst mal einige Server draussen um zu testen, ob die Internet Verbindung klappt.

Stelle nun sicher, dass alle Workstations und das Gateway am Switch angeschlossen sind.
Die erste Netzwerkkarte (eth0) wird wie die PCs mit dem Switch verbunden. Das Kabel- oder DSL-Modem steckst du bei der zweiten Netzwerkkarte im Gateway an (eth1).

Gib nun dem ersten PC im Netzwerk die IP Adresse 10.1.1.10, dem zweiten 10.1.1.20, dem dritten 10.1.1.30, usw. Die Subnetz Maske ist immer 255.255.255.0 und das Standard Gateway 10.1.1.1.
Hinweis: Die DNS Server Adressen kannst du beim Provider raus finden, oder z.B. unter Windows durch Eingabe von

ipconfig /all

in der Konsole. (Start->Ausführen->"cmd" (Win 2000/XP) oder "command" (Win 95/98/ME) eingeben) – Dies natürlich bevor du die Konfigurationen an den Workstations änderst!.

Nun musst du noch das Konfigurationsscript für die Firewall erstellen.
Mittels Eingabe von <PRE>vi /etc/init.d/firewall</PRE> erstellst du die Firewall Start- und Konfigurationsdatei, die das Routing und die Firewall aktiviert.

In diese Datei gibst du folgende Zeilen ein:

#!/bin/bash
 
### BEGIN INIT INFO
# Provides:             firewall
# Required-Start:
# Required-Stop:
# Should-Start:
# Should-Stop:
# Default-Start:        2 3 4 5
# Default-Stop:         0 1 6
# Short-Description:    Starts iptables firewall
# Description:          iptables provides packet filter security.
### END INIT INFO
 
 
################################################################################
# Script Written by Steven Varco, root@webserver.tech-island.com
#
# DESCRIPTION: Starts and stops iptables firewall
# CREATED: 04.09.2013
#
# CHANGE HISTORY:
# Date:       Author:         Description
# =============================================================================
# 04.09.2013  Steven Varco      - Created script
################################################################################
 
# Variables
IPTABLES=$(which iptables)
IPTABLES_RESTORE=$(which iptables-restore)
IPTABLES_APPLY=$(which iptables-apply)
CONFIG=/etc/firewall.conf
 
# Source function library.
. /etc/init.d/functions
 
 
start()
{
  echo "Loading Firewall..."
  # Delete all previous tables and chains
  for i in $tables; do
    # Flush firewall rules.
    $IPTABLES -t $i -F;
    let ret+=$?;
 
    # Delete firewall chains.
    $IPTABLES -t $i -X;
    let ret+=$?;
 
    # Set counter to zero.
    $IPTABLES -t $i -Z;
    let ret+=$?;
  done
 
  # Load firewall
  $IPTABLES_RESTORE $CONFIG
  RC=$?
 
  if [ "$RC" -eq 0 ]; then
    echo_ok
  else
    echo_fail
  fi
 
  exit $RC
}
 
apply()
{
  echo "Applying Firewall..."
  # Delete all previous tables
  $IPTABLES -F
  $IPTABLES -X
  $IPTABLES -t nat -F
  $IPTABLES -t nat -X
 
  # Load firewall
  $IPTABLES_APPLY $CONFIG
  RC=$?
 
  if [ "$RC" -eq 0 ]; then
    echo_ok
  else
    echo_fail
  fi
 
  exit $RC
}
 
 
stop() {
 
  echo -n $"Firewall shutting down..."
 
  # Delete Rules
  $IPTABLES -F
  $IPTABLES -X
  # Delete NAT-Table
  $IPTABLES -t nat -F
  $IPTABLES -t nat -X
  # Delete all previous tables and chains
  for i in $tables; do
    # Flush firewall rules.
    $IPTABLES -t $i -F;
    let ret+=$?;
 
    # Delete firewall chains.
    $IPTABLES -t $i -X;
    let ret+=$?;
 
    # Set counter to zero.
    $IPTABLES -t $i -Z;
    let ret+=$?;
  done
 
  #Default Policy Accept (allow all)
  $IPTABLES -P INPUT ACCEPT
  $IPTABLES -P FORWARD ACCEPT
  $IPTABLES -P OUTPUT ACCEPT
 
  echo_ok
  echo_warning; echo "Firewall is OFF!"
 
  exit 0
}
 
reload()
{
  $0 stop
  $0 start
}
 
reloadapply()
{
  $0 stop
  $0 apply
}
 
restart()
{
  # For security reasons stop external interface before reloading
  ifdown $EXT_INTERFACE
  sleep 2
  $0 stop
  # wait a couple of seconds for the firewall to finish closing down
  sleep 2
  $0 start
  sleep 2
  ifup $EXT_INTERFACE
}
 
status()
{
  $IPTABLES -v --list --line-numbers
}
 
help() {
 
#prints a short help
 
cat << HELP
 
This Script starts/stops an $IPTABLES-Based Firewall
 
Usage: firewall {start|stop|reload|restart|apply|reloadapply|status|help}
Example: ./firewall reload
 
check the Firewall-Rules with
$IPTABLES --list
 
HELP
exit 0
}
 
case "$1" in
start) start ;;
stop) stop ;;
reload) reload ;;
restart) restart ;;
apply) apply ;;
reloadapply) reloadapply ;;
status) status ;;
help) help ;;
<ul>
<li>)</li>
</ul>
echo $"Usage : $0 {start|stop|reload|restart|apply|reloadapply|status|help}"
exit 1
esac
exit 0
 
#end of file

Speichere das ganze und verlasse den Editor.4

Dann erstellst du noch ein file "functions.sh" welches die Ausgabe des scripts ein bisschen schöner macht:

RES_COL=60
MOVE_TO_COL="echo -en 33[${RES_COL}G"
SETCOLOR_SUCCESS="echo -en 33[1;32m"
SETCOLOR_FAILURE="echo -en 33[1;31m"
SETCOLOR_WARNING="echo -en 33[1;33m"
SETCOLOR_NORMAL="echo -en 33[0;39m"
 
function echo_done()
{
  $MOVE_TO_COL
  echo -n "[ "
  $SETCOLOR_SUCCESS
  echo -n "DONE"
  $SETCOLOR_NORMAL
  echo " ]"
  return 0
}
 
function echo_ok()
{
  $MOVE_TO_COL
  echo -n "[  "
  $SETCOLOR_SUCCESS
  echo -n "OK"
  $SETCOLOR_NORMAL
  echo "  ]"
  return 0
}
 
function echo_warning()
{
  $SETCOLOR_WARNING
  echo -n "WARNING: "
  $SETCOLOR_NORMAL
  return 1
}
 
function echo_failure()
{
  $MOVE_TO_COL
  echo -n "[ "
  $SETCOLOR_FAILURE
  echo -n "FAILED"
  $SETCOLOR_NORMAL
  echo " ]"
  return 2
}

Speichere und schliesse auch diese Datei.

Nun musst du das firewall-script noch ausführbar machen; folgender Befehl ist dafür zuständig:

chmod +x /etc/init.d/firewall

Dieses script ist nun fürs starten/stoppen der firewall zuständig, enthällt aber noch keine Regeln.
Deshalb wird nun noch das file mit den firewall-Regeln erstellt:

#========================== Global Section ====================================
### currently not used
#*raw
#:PREROUTING ACCEPT
#:OUTPUT ACCEPT
#COMMIT
 
 
#========================== NAT Traffic =======================================
# Rules for NAT-ing
<ul>
<li>nat</li>
</ul>
:PREROUTING ACCEPT
:OUTPUT ACCEPT
:POSTROUTING ACCEPT
 
#-------------------------- Port-Forwardings ---------------------------------
# PORT:         PROTOCOL:       FROM:           TO:                     DESC:
# 80            HTTP            INTERNET        TESTPC (10.1.1.40)      Beispiel Webserver
 
#-A PREROUTING -i eth1 -p tcp -m multiport --dports 80 -j DNAT --to-destination 10.1.1.40
 
 
#-------------------------- Masquerading -------------------------------------
# Enable masquerading for all interfaces
-A POSTROUTING -j MASQUERADE
COMMIT
 
 
#========================== mangle ============================================
### currently not used
#*mangle
#:PREROUTING ACCEPT
#:INPUT ACCEPT
#:FORWARD ACCEPT
#:OUTPUT ACCEPT
#:POSTROUTING ACCEPT
#COMMIT
 
 
#========================== Filter ============================================
# The FILTER section of the ruleset is where we initially drop all packets and then selectively open certain ports.
# We will also enable logging of all dropped requests.
<ul>
<li>filter</li>
</ul>
:INPUT DROP
:FORWARD DROP
:OUTPUT DROP
:LOG_DROP -
:LOG_ACCEPT -
:LOG_FORWARD -
:icmp_packets -
:invalid_flags -
 
 
 
#========================== Custom chains =====================================
 
#-------------------------- Chain: Invalid Flags ------------------------------
# Here is where unwanted packet types get dropped.
# This helps in making port scans against the server a bit more time
# consuming and difficult, but not impossible.
-A invalid_flags -p tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,PSH,URG -j DROP
-A invalid_flags -p tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j DROP
-A invalid_flags -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
-A invalid_flags -p tcp --tcp-flags FIN,SYN FIN,SYN -j DROP
-A invalid_flags -p tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,PSH,URG -j DROP
-A invalid_flags -p tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j DROP
-A invalid_flags -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
-A invalid_flags -p tcp --tcp-flags FIN,SYN FIN,SYN -j DROP
-A invalid_flags -p tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,PSH,URG -j DROP
-A invalid_flags -p tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j DROP
-A invalid_flags -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
-A invalid_flags -p tcp --tcp-flags FIN,SYN FIN,SYN -j DROP
-A invalid_flags -p tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,PSH,URG -j DROP
-A invalid_flags -p tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j DROP
-A invalid_flags -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
-A invalid_flags -p tcp --tcp-flags FIN,SYN FIN,SYN -j DROP
-A INPUT -p tcp -j invalid_flags
 
 
#-------------------------- ICMP Packets --------------------------------------
# Enable selected ICMP requests
-A icmp_packets -p icmp --icmp-type echo-request -j ACCEPT
-A icmp_packets -p icmp --icmp-type echo-reply -j ACCEPT
-A icmp_packets -p icmp --icmp-type destination-unreachable -j ACCEPT
-A icmp_packets -p icmp --icmp-type source-quench -j ACCEPT
-A icmp_packets -p icmp --icmp-type time-exceeded -j ACCEPT
-A icmp_packets -p icmp -j DROP
-A INPUT -p icmp -j icmp_packets
-A OUTPUT -p icmp -j icmp_packets
 
 
 
#========================== Inbound Traffic ===================================
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
 
#-------------------------- Policies -----------------------------------------
# IFACE:        PORT:           PROTOCOL:       FROM:           DESC:
# lo            ANY             ANY             ANY             Local interface
# eth0          22              tcp             eth0            SSH from local net
# eth1          N/A             ICMP            ANY             restricted ICMP
 
 
-A INPUT -i lo -s 127.0.0.0/8 -j ACCEPT
-A INPUT -i eth0 -s 10.1.1.0/24 -p tcp --dport 22 -m state --state NEW -j ACCEPT
-A INPUT -i eth1 -j icmp_packets
 
# Log all dropped requests
-A INPUT -j LOG_DROP
 
 
#========================== Outbound Traffic ==================================
-A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
 
#-------------------------- Policies -----------------------------------------
# IFACE:        PORT:           PROTOCOL:       TO:             DESC:
# lo            ANY             ANY             ANY             Local interface
# eth1          N/A             ICMP            ANY             restricted ICMP
# eth1          53              tcp,udp         ANY             DNS lookups
# eth1          67              udp             DHCP            DHCP domain
# eth1          80              tcp             ANY             http: updates, noip.com alternate port
 
-A OUTPUT -o lo -d 127.0.0.0/8 -j ACCEPT
-A OUTPUT -o eth1 -j icmp_packets
-A OUTPUT -o eth1 -p tcp -m multiport --dports 53,80 -m state --state NEW -j ACCEPT
-A OUTPUT -o eth1 -p udp -m multiport --dports 53 -j ACCEPT
#DHCP
#-A OUTPUT -o eth1 -d 10.181.0.1 -p udp -m udp --dport 67 -m state --state NEW -j ACCEPT
 
# Log all dropped requests
-A OUTPUT -j LOG_DROP
 
 
#========================== Forward Traffic ===================================
# see PREROUTING tables for details
 
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
 
#-A FORWARD -i eth1 -m state --state NEW -p tcp -m multiport --dports 80 -j ACCEPT
 
# LOG and DROP spoofing attacks
-A FORWARD -s 10.1.1.0/24 -i eth1 -j LOG --log-prefix "iptables [SPOOFING]: " --log-level 6
-A FORWARD -s 10.1.1.0/24 -i eth1 -j DROP
-A FORWARD ! -i eth1 -m state --state NEW -j ACCEPT
 
-A FORWARD -j LOG_FORWARD
 
 
#========================== Logging ===========================================
# Here we have 2 sets of logging rules. One for dropped packets to log all dropped requests
# and one for accepted packets, should we wish to log any accepted requesets.
-A LOG_DROP -j LOG --log-prefix "iptables [DROP]: " --log-tcp-options --log-ip-options
-A LOG_DROP -j DROP
-A LOG_ACCEPT -j LOG --log-prefix "iptables [ACCEPT]: " --log-tcp-options --log-ip-options
-A LOG_ACCEPT -j ACCEPT
-A LOG_FORWARD -j LOG --log-prefix "iptables [FORWARD]: " --log-level 6
-A LOG_FORWARD -j ACCEPT
 
COMMIT

Starte nun das Script mittels:
<PRE>/etc/init.d/firewall start</PRE>

Der Internetverkehr ist nun sicher und du solltest mit allen PCs Zugang zum Internet haben!

Allerdings wird die Firewall noch nicht automatisch gestartet, so dass du bei jedem Neustart des Gateways diese wieder manuell starten müsstest.
Da dies ziemlich lästig ist, lassen wir die Dateien bei jedem Neustart automatisch über ein "rc.d-Startscript starten"; dieses ist vergleichbar mit dem Autostart-Ordner von Windows.

Dazu ist folgedens Kommando nötig:

update-rc.d firewall enable

Starte nun Linux neu (<PRE>shutdown -r now</PRE>) und wenn du alles richtig gemach hast, solltest du jetzt sicher ins Internet kommen!

{IMG(fileId="58",thumb="y",rel="box[g]",imalign="left")}{IMG} Abschliessend noch ein Hinweis zu Firewall-Konfigurationen, die den Server "unsichtbar" machen sollen, etwa durch das nicht zulassen von ping-signalen:
Das "unsichtbar machen" von Systemen bringt keine wirkliche sicherheit, da praktisch alle neuen würmer und cracker-tools einen request an den Zielrechner senden, egal ob dieser erreichbar ist, oder nicht. Profis hingegen können dennoch rauskriegen, ob dein System wirklich nicht existeiert oder einfach nur "versteckt" ist, da es gemäss der Struktur des Internets unmöglich ist ein system "unsichtbar" zu machen. Das ignorieren von pings macht zudem die fehleranalyse nur unnötig kompliziert und ist auch von der sicherheits-szene verpönnt.

Zusätzliche Firewall-Regeln

Hier noch einige zusätzlichen Firewall Regeln

SMB-Traffic

Vor allem Windows-PCs schicken häufig ziellos nachrichten an alle Hosts, die dann beim gateway das log zumüllen können. Wen das stört kanns zulassen:

-A INPUT -i eth1 -s 10.1.1.0/24 -p tcp --dport 137:139 -m state --state NEW -j ACCEPT
-A INPUT -i eth1 -s 10.1.1.0/24 -p udp --dport 137:139 -m state --state NEW -j ACCEPT
-A INPUT -i eth1 -s 10.1.1.0/24 -d 10.1.1.255 -p udp -m multiport --dports 138 -m state --state NEW -j ACCEPT

Broadcasts

-A INPUT -i eth1 -s 10.1.1.0/24 -d 255.255.255.255 -p udp --dport 7423 -j ACCEPT

Ganglia Mulitcast

Falls man das gateway mit ganglia monitoren möchte

-A INPUT  -i lan0 -s 10.1.1.1  -d 239.2.11.71 -p udp --dport 8649 -j ACCEPT
# 10.1.1.2 ist die IP-Addresse vom server wo gmetad läuft:
-A INPUT  -i lan0 -s 10.1.1.2 -d 239.2.11.71 -p udp --dport 8649 -j ACCEPT
-A OUTPUT -o lan0 -s 10.1.1.1  -d 239.2.11.71 -p udp --dport 8649 -j ACCEPT
-A OUTPUT -o wan0 -d 239.2.11.71 -p udp --dport 8649 -j ACCEPT

Fernwartung des Gateways

Als letztes musst du nun noch deinen PC so einrichten, dass du ihn über SSH Fernwarten kannst.
Lade dir dafür unter: http://www.chiark.greenend.org.uk/~sgtatham/putty/ das Programm PUTTY herunter. Wenn du dieses dann startest, musst du folgendes eingeben:
<PRE>
Hostname : 10.1.1.1
Protocol : SSH
</PRE>

mittels OPEN verbindest du dich dann mit deinem Gateway und kannst dich ganz normal einloggen.

Zusätzliche Services Installieren

Das aufsetzen von zusätzlichen services wurde nicht ohne Grund bis zum Schluss aufgehoben; denn es stellt ein gewisses Sicherheitsrisiko dar auf dem selben Rechner wie die Firewall noch was anderes wie z.B. DNS-Server laufen zu lassen.
Idealerweise sollte deswegen der DHCP und DNS Server auf einem seperaten Rechner hinter der Firewall drauf sein. -Da dies allerdings den Rahmen vieler Benutzer sprengt und es auch nicht ein sehr grosses Risiko ist, werden wir hier den DHCP- und DNS-Server auf das Gateway installieren und wer nicht auf den zusätzlichen Konfort verzichten will, kann dies auch so machen. Aber nochmals: Wenn möglich, ist es besser diese Server auf einem seperaten standalone Rechner zu haben. Auf keinem Fall sollte ausser SSH, DNS und DHCP noch etwas anderes, wie beispielsweise web- und mail-server darauf laufen; diese gehören definitv auf einen drittrechner.

Das Tutorial geht in diesem Falle bei Zusätzliche Services Installieren weiter.

Falls du noch interessiert bist dein Gateway noch zusätzlich abzusichern, liess den zweiten Teil: Das Gateway in eine Festung verwandeln .

Related Pages

<---TOC--->

Related Links

|| Link | Beschreibung
[http://www.linuxgazette.com/issue54/stoddard.html|Building a Secure Gatway System By Chris Stoddard] | Chris Stoddard hat auf dieser Seite sehr gut beschrieben, wie man ein sicheres Linux-System aufsetzt; viele Informationen in disem Tutorial stammen von ihm
[http://www.linuxgazette.com/issue51/nielsen.html|Private Networks and Roadrunner using IP Masquerading] | Dies war das Tutorial, bei dem ich angefangen habe mein Gateway aufzusetzen! Leider sind die Informationen darauf etwas veraltet; dieses Tutorial hier ist eine neu-adaption des Tutorials von Mark Nielsen und Andrew Byrd
[http://www.linuxdoc.org/HOWTO/NET3-4-HOWTO.html|Netzwerke – Grundsätzliche Informationen zu TCP/IP Netzwerken] |
[http://dir.yahoo.com/Computers_and_Internet/Software/Operating_Systems/Unix/Security/|Unix Security] |
[http://www.linuxdoc.org/HOWTO/IP-Masquerade-HOWTO.html|IP Masquerading] |
[http://www.debian-administration.org/articles/23|Setting up a simple Debian gateway auf debian-administration.org] | Ein kleines, aber feines Tutorial zum schnellen Aufsetzen eines einfachen Routing-Gateways unter Debian
[https://kb.isc.org/article/AA-00378/0/Why-does-DHCP-use-raw-sockets.html|Why does DHCP use raw sockets?] | Erklärt, warum DHCP immer durch die firewall kommt
||

Windows XP Boot-CD mit integriertem Service Pack

Das Service Pack 3 für Windows XP behebt über 900 Fehler im Microsoft-Betriebssystem, die seit der Veröffentlichung der Service Packs 1 und 2 bekannt geworden sind. Das kumulative Update-Paket, das sämtliche Neuerungen der älteren Service Packs 1 und 2 enthält, ist somit unverzichtbar für jeden Anwender des immer noch weit verbreiteten Windows XP.

Einleitung

Standardmäßig wird das Service Pack auf eine bestehende Windows-XP-Installation aufgespielt, doch gibt es auch eine wenig bekannte Möglichkeit, das Update-Paket in die Dateien der Original-Installations-CD zu integrieren – das so genannte "Slipstreaming" – und diese aktualisierten Installationsdateien als bootfähige CD zu brennen. Eine von einer solchen CD vorgenommenen Windows-XP-Installation ist bereits beim ersten Hochfahren des Rechners auf dem neusten Stand SP4. Das nachträgliche Aufspielen des Service Packs bleibt dem Anwender oder Administrator erspart.

<EM>Hinweis:</EM>Zu beachten ist, dass diese Anleitung nur auf auf Windows-2000- oder Windows-XP-Systemen ausgeführt werden kann.

Voraussetzungen

  • Original Windows-XP-CD
  • Das aktuellste Service Pack für Windows XP
  • Windows XP CD Boot-Image ( w2kcd_bootimage.bin )
  • Rund 700 MByte freien Festplattenspeicher
  • Einen CD-Brenner
  • Eine Brennsoftware, die das Brennen bootfähiger CDs beherrscht
  • Windows 2000 oder XP (diese Anleitung läßt sich nicht unter Windows 9x/ME ausführen)

Schritt 1: Dateien und Verzeichnisse vorbereiten

Nun sind zuerst auf der Festplatte zwei Verzeichnisse zu Erstellen:

  • WIN2KCD – Für die Original Windows-CD
  • WIN2KSP – Für die SerivePack Dateien

Nun legt man die Windows XP-CD ein und kopiert die komplette CD in das Verzeichniss WIN2KCD.

Als zweiten Schritt läft man das aktuellste ServicePack ("Netzwerkinstallation") von downloads.microsoft.com herunter und speichert es ins Verzeichniss WIN2KSP. Nun muss diese Datei entpackt werdenen; entweder mit einem Packer wie z.B. WinRAR oder mittels aufrufen von WIN2KSP<datei.exe> -x
-Falls also die SP-Datei im Verzeichniss: C:WIN2KSPW2KSP4_DE.EXE liegt, muss man unter "Start-Ausführen":

C:WIN2KSPW2KSP4_DE.EXE -x

eingeben und "Enter" Drücken.

Anschliessend wird die Datei einer Integritätsprüfung unterzogen:

Ist das SP3-Archiv in Ordnung, wird man aufgefordert, den Speicherort der dekomprimierten Dateien zu bestimmen. Standardmäßig wird der aktuelle Ordner vorgeschlagen. Daran möchten wir nichts ändern, also klicken Sie auf OK.

Nachdem die Dateien ins Verzewichnis dekomprimiert wurden, wird man mittels einer Dialogbox ("Dekomprimierung abgeschlossen.") darauf hingewiesen.

Der Ordner WIN2KSP sollte nun folgenden Inhalt aufweisen – das SP Installations-Archiv w2ksp.exe und einen neuen Unterordner i386, der die entpackten Dateien des Service-Packs enthält.

Im nächsten Schritt werden die Windows-XP-Installationsdateien der Original-CD mit den aus dem Service Pack soeben extrahierten Dateien aktualisiert.

Dazu geben wir über "Start-Ausführen" in einer Zeile folgenden Befehl ein:

WIN2KSPi386updateupdate.exe -s:<X>:win2kcd

(<X> steht dabei für den Laufwerksbuchstaben)

Jetzt auf OK klicken. Nun werden die Service-Pack-Dateien automatisch in den Installationsordner WIN2KCD integriert. Der erfolgreiche Abschluss des Aktualisierungsvorgangs wird mit einem Dialogfenster bestätigt.

Der Ordner WIN2KCD sollte nun folgenden Inhalt aufweisen – die im Root-Verzeichnis neu hinzugekommenen Dateien cdromsp.tst und spnotes.htm weisen auf das integrierte Service Pack hin.

Das so genannte "CD-ROM Identifier File" (wie in diesem Beispiel oben zu sehen CDROM_IP.5) ist abhängig von der zu aktualisierenden Windows-XP-Version. Die Möglichkeiten sind:

CDROM_IP.5 für Windows XP Professional
CDROM_IS.5 für Windows 2000 Server
CDROM_IA.5 für Windows 2000 Advanced Server
CDROM_ID.5 für Windows 2000 Datacenter

Bootfähige Windows XP SP3 CD brennen

Nun können die mit dem Service Pack aktualisierten Installationsdateien auf CD gebrannt werden.

Damit die CD bootfähig wird, wird vom Brennprogramm das Boot-Image der Windows XP Original-CD benötigt. Um das Extrahieren des Boot-Images von der Original-CD zu ersparen, haben wir es hier zum Download zur Verfügung gestellt.

Download des Windows XP Boot-Images w2kcd_bootimage.bin

Der Speicherort des Boot-Images w2kcd_bootimage.bin bleibt Ihnen überlassen – das Boot-Image darf nur nicht im CD-Sammelordner WIN2KCD gespeichert werden. In diesem Beispiel haben wir die w2kcd_bootimage.bin im Wurzelverzeichnis von D: gespeichert, also D:bootimage.bin

Nun muss man noch sein Brennprogramm starten (in diesem Beispiel wird Nero Burning ROM verwendet) und die CD mit dem Bootimage Brennen:

Beim Start muss man unter Nero CD-ROM (Boot) auswählen (ggf. vorher "Wizard schliessen anklicken") und dann die Einstellungen wie auf folgenden Screenshots eintragen:

{124}
<EM>Hinweis:</EM> Beim Durchsuchen nach dem Boot-Image bootimage.bin muss man den Dateityp Alle Dateien ( . ) auswählen.

{125}
{126}
{127}
Hier zieht man den kompletten Inhalt des Verzeichnisses WIN2KCD in die Fensterhälfte der zu brennenden CD.

{128}
Nun auf "Datei-CD brennen" klicken um den CD-Brenn-Dialog aufzurufen.

Nun sind alle erforderliche Einstellungen zum Brennen der bootfähigen Windows XP CD mit integriertem Service Pack getroffen. Auf ‚Brennen‘ klicken um den Brennvorgang zu starten. Nach erfolgreichem Erstellen der CD erscheint das Nero-Bestätigungsfenster.
{129}

Nun verfügt man über eine auf den aktuellsten Stand gebrachte, bootfähige Windows Xp Installations-CD mit integriertem Service Pack.

<EM>Hinweis:</EM> Die CD sollte unbedingt noch getestet werden ob sie automatisch startet, dies erspart Ärger bei einer Neuinstallation.

Related Links

|| Link | Beschreibung
[http://www.ahead.de/|Nero Burning ROM] | Gutes Brennprogramm; kostenlose Testversion
[http://www.microsoft.com/windows2000/downloads/servicepacks/|Service Pack für Windows 2000] | Hier kann das aktuellste ServicePack für Windows 2000 heruntergeladen werden
[http://www.wintotal.de/Artikel/w2ksp4/w2ksp4.php|WinTotal: "Windows mit integriertem Service Pack"] | Noch ein Beitrag dazu von WinTotal
||

Related Downloads

|| File | Beschreibung
[http://download.tech-island.com/pub/files/w2kcd_bootimage.bin|w2kcd_bootimage.bin] | Boot-Image File für die Windows 2000-CD
||

Windows-CD mit integrierten Updates

__Problem:

Microsoft überschwemmt seine Seite www.windowsupdate.com monatlich mit Update-Paketen. Wenn Sie ein System neu einrichten, müssen Sie nach der normalen Installation Service Packs (SPs) und eine Menge kleiner Updates herunterladen und je einzeln installieren.

Lösung:

Wenn Sie Windows-Updates herunterladen und in der nachfolgend beschriebenen Weise in die Installationsdateien einpassen, können Sie eine Installations-CD mit allen wichtigen Updates anlegen. Der komplexe Vorgang erfordert eine ganze Reihe von Schritten:__

1. "Wichtige“ Updates:

Wenn ihr Windows derzeit auf dem neuesten Stand ist, so öffnen Sie einfach "Systemsteuerung, Software“ und notieren alle Knowledge-Base-IDs der Hotfix-Einträge (zum Beispiel "KB828035“). Sollte Ihr System derzeit nicht auf dem neuesten Stand sein, dann öffnen Sie die Update-Seite www.windowsupdate.com und notieren sich alle Knowledge-Base-IDs der "wichtigen“ Updates und SPs, welche die Seite Ihnen anzeigt.

In beiden Fällen gehen Sie dann auf die Web-Seite http://download.microsoft.com, und suchen Sie unter "Keywords“ nach den notierten IDs. Achten Sie beim Download der Updates darauf, dass Sie die deutsche Version ausgewählt haben.

2. SP-Archiv anlegen:

Wenn Sie alle Updates beisammen haben, erstellen Sie ein Verzeichnis <Zielordner1> zum Speichern aller Installationsdateien. Kopieren Sie alle Dateien von der Windows-Installations-CD in das neue Verzeichnis. Danach integrieren Sie die SPs, indem Sie diese im "Ausführen“-Dialog gefolgt von "/s:<Zielordner1>“ aufrufen. <Zielordner1> ist das Verzeichnis, das bereits die Installationsdateien enthält.

3. Hotfixes hinzufügen:

Um einzelne Hotfixes einzubinden, wechseln Sie ins Verzeichnis I386 Ihres Installationsordners und legen dort den Unterordner svcpack an. Kopieren Sie alle Updates in dieses Verzeichnis, und benennen Sie jedes so um, dass nur noch die ID im Namen bestehen bleibt (zum Beispiel KB828035.EXE). Nun entpacken Sie alle Updates mit folgendem Befehl in das neu angelegte <Zielordner2>:

for %i in (KB*.EXE) do %i /X:<Zielordner2>

Aus <Zielordner2> kopieren Sie dann alle Dateien in das I386-Installationsverzeichnis. Die Unterordner in <Zielordner2> kopieren Sie ebenfalls nach 386 mit Ausnahme von Symbols und SP<n>. Die "Symbols“ sind irrelevant; für die Ordner "SP<n>“ gilt: Kopieren Sie nach I386 genau den kompletten Inhalt des Ordners mit der Nummer, die um 1 höher ist als das aktuellste zu installierende SP.

Ein Beispiel: Kommt SP2 auf die CD, dann benötigen Sie nur den Inhalt der Ordner SP3. Sollte Windows beim Kopieren Dubletten melden, bestätigen Sie das Überschreiben nur bei jüngerem Speicherdatum.

4. Katalogdateien ergänzen:

Kopieren Sie aus allen Ordnern "Update“ unter I386 die Katalogdateien mit der Endung CAT nach I386Svcpack.

5. Dubletten aufräumen:

Im I386-Ordner liegen nun neue Dateien, möglicherweise auch neue Ordner. Sortieren Sie die Dateien in I386 und allen Unterordnern in der Detailansicht nach Namen. Löschen Sie alle Dateien mit einem Unterstrich am Ende der Extension ("_“), sofern eine Namensdublette ohne Unterstrich existiert.

6. DOSNET.INF anpassen:

Editieren Sie die DOSNET.INF im I386-Ordner. Falls nicht bereits vorhanden, fügen Sie die Zeilen

[OptionalSrcDirs]
 
svcpack

am Ende hinzu, darunter die Namen der aufgrund der Updates neu erstellten Unterordner von I386.

7. SVCPACK.INF anlegen:

Löschen Sie die gepackte SVCPACK.IN_ aus dem I386-Ordner, und legen Sie eine neue nach einem Vorbild in der pcwSvcpack.ZIP an. Geben Sie statt KB<xxxxxx>.CAT die Namen der Katalogdateien an. Benennen Sie die IN_-Datei in SVCPACK.INF um.

8. Boot-CD brennen:

Nun brennen Sie Ihr Archiv auf eine bootfähige CD. In Nero beispielsweise wählen Sie als neue Zusammenstellung eine "CD-ROM (Boot)“. Als Bootimage verwenden Sie die pcwBoot.BIN (siehe: Downloads zum Thema).

Geben Sie in den Experteneinstellungen "Keine Emulation“ an, bei der Anzahl zu ladender Sektoren "4“. Unter "ISO“ aktivieren Sie "ISOLevel2“, "Mode 1“, "ISO 9660“, "Joliet“ sowie alle Optionen unter "ISO Restriktionen lockern“. Dann ziehen Sie den Inhalt des Installationsordners ins linke Fenster und starten den Brennvorgang.

Related Downloads

|| File | Beschreibung
[http://www.pcwelt.de/public/pcwSvcpack.z.exe|pcwSvcpack.z.exe] | Das Archiv enthält Vorlagen zur SVCPACK.INF für Windows 2000, XP und Server 2003. In der SVCPACK.INF werden alle Hotfix- und Update-Pakete eingetragen, die während der Installation von Windows zusätzlich ausgeführt werden sollen. Dabei müssen sowohl die Katalogdateien mit der Endung CAT in die Rubrik "ProductCatalogsToInstall", als auch die Setup-Dateien mit der Endung EXE in die Rubrik "SetupHotfixesToRun" eingetragen werden. Vergessen Sie nicht, die Vorlage nach der Bearbeitung in SVCPACK.INF umzubenennen.
[http://www.pcwelt.de/public/pcwBoot.z.exe|pcwBoot.BIN] | Bootimage zum Anlegen einer bootfähigen CD für Windows 2000, XP und 2003 Server. Wählen Sie im Brennprogramm Nero "CD-ROM (Boot)". Tragen Sie als "Bootimage" die PCWBOOT.BIN ein. Geben in den Experteneinstellungen als Art der Emulation "Keine Emulation" und bei der Anzahl zu ladender Sektoren "4" an. Auf dem Register "ISO" aktivieren Sie ISO-Level2, Mode 1, ISO 9660, Joliet und alle Optionen unter "ISO Restriktionen lockern".
||

Windows 2000-XP Profil verschieben

Unter Windows gibt es sehr viele Einstellungen, die man besser auf einer anderen Partition hätte, als wie standardmässig im Windows Verzeichnis, bzw. der Windows Partition. -Denn z.B. könnte man so nach einer neu Installation des Systems sich den Aufwand erheblich erleichtern! -Bei einigen Einstellungen ist das einfacher (z.B. "Eigene Dateien"), bei andern, wie den Benutzer Profilen aber eher komplizierter… -Nach diesem HowTo weisst du, was man wirklich alles mit ein wenig Aufwand auslagern kann.

Welche Versionen / Anforderungen

Dieses How-To bezieht sich auf Windows 2000! -Es ist möglich, das einiges auch in Win9x/ME machbar ist, doch könnte dabei auch Windows kaputt gehen! -Ich hab leider keine Möglichkeit, das noch auf den unzähligen anderen Windosen zu probieren!
-Selbstverständlich solltest du alle Daten -besonders die Windows-registrierung (registry)- gebackupt haben!
-Für einige Einstellungen benutze ich das kostenlose TweakUI von Microsoft.

Warum überhaupt auslagern?

"Warum soll ich mir sone mühe machen, es reicht doch wenn ich eine Festplatte C: habe und dort Ordner mache?"
Auf den ersten Blick sieht dies zwar sehr komfortabel und bequem aus, auf den zweiten aber bringt das einige Nachteile mit sich:

  • Wenn du Windows Neu-Installieren (formatieren) musst, verlierst du alle deine Dokumente, Bilder und andere Daten
  • Du musst nach jeder Neuinstallation wieder sämtliche Programme nachinstallieren und konfigurieren
  • Vieles hin- und her kopieren von Daten fragmentiert die Festplatte, d.h. sie wird mit der Zeit immer langsamer
  • Wenn du eine neue (zweite) Festplatte einbauen willst weil du mehr platz brauchst musst du Windows und alle Programme Neuinstallieren und konfigurieren, deine Daten sichern, wieder zurückspielen, usw.

Das alles könnte vermieden werden, wenn man alle Daten, Programme und Einstellungen auf andere Festplatten, bzw. Partitionen auslagert. Bei einer neuinstallation des Systems müsste man nur wieder einige Pfade anpassen und alles würde wieder reibungslos laufen.

Dieses Tutorial beschäftigt sich damit, wie man seine Daten und Einstellungen möglichst von der Systempartition fernhällt und bei einer Neuinstallation möglichst schnell den alten zustand wieder erreicht.

Sinnvolle Partitionierung

Partitionieren kann man entweder über ein Zusatztool, oder bei der Windows Neuinstallation, wobei zweiteres die sichere Variante ist.

[stextbox id=“note“ caption=“Hinweis“]Vor dem Partitionieren müssen alle Daten gesichert werden, da das Partitionieren die komplette Festplatte löscht![/stextbox]

Nachfolgend ein Beispiel, wie man seine Festplatte mindestens aufteilen sollte:

  • C: WINDOWS (ca. 2GB) -Systempartition-
  • D: DATEN (nach Bedarf) -Briefe, Bilder, usw.
  • E: PROGRAMME (nach bedarf) -alle Programme
  • F: SWAP (ca. 200 MB) -Auslagerungsdatei

Wer noch spezielle Bedürfnisse hat, beispielsweise MP3 Archive, Videobearbeitung, Privater Webserver, usw. sollte noch für jedes dieser Gebiete eine Partition anlegen, z.B.

  • SYSTEM2 -wenn man mehr als 1 Betriebssystem laufen lassen will
  • MEDIA -Wenn man Videobearbeitung betreibt sehr nützlich, da mit der Videobearbeitung die Festplatte sehr schnell Fragmentiert wird; sinnvoll wäre hier eine eigene Platte, statt nur einer Partition
  • FILES -Für grosse Daten und Downloads, z.B. Videos, MP3s, usw.
  • INSTALL -Um CDs/DVDs draufzukopieren, damit man diese nicht immer einlegen muss
  • BACKUP -Hier kann man regelmässig seine Datensicherungen ablegen; seperate Platte ist hier einer Partition vorzuziehen
  • SHARE -Hier könnte man in einem Netzwerk Dateien für alle ablegen und das Laufwerk freigeben

Hat man die Festplatte mal entsprechend Partitioniert, ist natürlich darauf zu achten die Ordnung sehr konsequent durchzuziehen und z.B. Daten auschliesslich im Datenlaufwerk abzulgen, oder keine Programme in die Windowspartition zu installieren.

Laufwerksbuchstaben fixieren

Durcheinander fliegende Laufwerksbuchstaben sorgen beispielsweise nach einer Neuinstallation für eine Menge Ärger. Angenommen, du hast einen Teil deiner Programme aus Platzgründen auf E: installiert, D: steht für das CD-ROM oder DVD-Laufwerk. Wenn du nun deine Installation auf ein anderes System verfrachtest, das zusätzlich einen Brenner enthält – oder wenn du nachträglich einen einbaust -, bekommt dieser den Buchstaben E: und deine zweite Festplatte F: zugewiesen. Alle Bezüge in der Registry und in den Verknüpfungen sind nun falsch, weil sie weiterhin von E: ausgehen. Du willst deshalb vorbeugend die Laufwerksbuchstaben möglichst unverrückbar einstellen – oder die Zuordnungen nach einer solchen Aktion reparieren.

CD/DVD-Laufwerke, Brenner und Festplatten können unter Windows mit einem beliebigen freien Laufwerksbuchstaben versehen werden. Am besten verwendet man dazu einen der letzten verfügbaren Laufwerksbuchstaben.

Um diese zu ändern muss man unter Win2000/XP unter: "Start, Ausführen, diskmgmt.msc" die Datenträgerverwaltung aufrufen. Jetzt das das gewünschte CD-Laufwerk mit der rechten Maustaste anklicken, im Kontextmenü die Option "Laufwerksbuchstabe und -pfad ändern" auswählen. In der nächsten Dialogbox auf "Ändern" gehen und unter "Laufwerksbuchstaben zuordnen" den gewünschten Buchstaben festlegen. Nach einem Klick auf "OK" die Aktion abschließend mit "Ja" bestätigen.

[stextbox id=“note“ caption=“Hinweis“]Windows weist anschliessend darauf hin, dass Programme nach einer solchen Änderung eventuell nicht mehr laufen könnten. Dieser Hinweis trifft bei installierten Programmen durchaus zu, also sollte man diese Aktion möglichst nach einem frisch installiertem System machen und die Systempartition (C:) generell in ruhe lassen.[/stextbox]

Ausserdem sollte man darauf achten, dass während der ganzen Aktion keine Dateien auf dem Wechseldatenträger geöffnet sind, dann übernehmen Windows 2000 und XP solche Änderungen sofort und ohne Neustart.

Hat man diese Schritte einmal gemacht, so kann man z.B. jederzeit sicher sein dass sich die Daten unter D: befinden, die Programme unter P:, usw.
Diesen schritt muss man nach jeder Neuinstallation wiederholen, da ansonsten wieder die alte zuordnung gilt. CD/DVD-Laufwerken sollte man die Buchstaben von hinten her verteilen, beispielsweise: Z: fürs CD-ROM, Y: für den Brenner, usw.

Festplatten Partitionen permanent fixieren

Vor allem bei automatisierten Installationen kann es sehr mühsam sein, wenn nach einer Neuinstallation die Laufwerksbezeichnungen wieder geändert werden.

Es gibt die Möglichkeit, diese permanent zu fixieren über das Umwandeln der Festplatte in einen "Dynamischen Datenträger":
[stextbox id=“warning“ caption=“Achtung“]Nach diesem Schritt lässt sich die ganze Festplatte nur noch von Windows Systemen ab 2000 lesen! Rückgängig kann man das nur über das löschen der ganzen Festplatte machen![/stextbox]

  • unter: "Start, Ausführen, diskmgmt.msc" die Datenträgerverwaltung aufrufen.
  • Rechtsklick auf die gewünschte Festplatte und den Punkt: "In dynamischen Datenträger umwandeln" wählen

Ab nun bleiben die geänderten Laufwerksbuchstaben auch bei einer Neuinstallation bestehen.

Was verschoben werden kann

Eigene Dateien

Fangen wir mit dem einfachstem an: Den eigenen Dateien; hierzu genügt ein rechtsklick auf "Eigene Dateien" auf dem Desktop; unter Zeilordner kannst du nun einen neuen Pfad angeben, besipielsweise: "D:Daten"

Spezielle Benutzerordner

(Eigene Dateien, Desktop, StartmenuProgrammeAutostart, Vorlagen, Senden an, Favoriten, Cookies, Verlauf)

Windows sieht für viele Benutzerdaten und -einstellungen feste Speicherorte vor – beispielweise auch für die Links aus dem Start-Menü und den Inhalt des Desktops. Jeden dieser Ordner kann man verschieben, ohne dass dessen Funktionalität dabei leidet:

Die Pfade aller dieser Ordner sind in der Registry (Start-Ausführen-"regedit") in zwei Schlüsseln untergebracht. In den Schlüsseln „Hkey_Current_ UserSoftwareMicrosoftWindowsCur rentVersionExplorerShell Folders“ und „Hkey_Current_UserSoftwareMicrosoft WindowsCurrentVersionExplorerUser Shell Folders“ liegt für jeden Ordner jeweils eine Zeichenfolge mit dem Pfad zum Ordner als Wert. Der Schlüssel „Shell Folders“ ist allerdings nur ein Abbild der übergeordneten „User Shell Folders“. Werden die Pfade in den „User Shell Folders“ angepasst, legt man den Standard-Speicherort an eine andere Stelle. Der Verweis auf den Ordner, zum Beispiel durch Anwendungen, bleibt jedoch unverändert, da der neue Wert stets frisch aus der Registry ausgelesen wird. Man sollte also darauf achten stets beide Werte zu ändern.

Insbesondere die Ordner Desktop, Favoriten und Startmenu sind hier interessant, da man diese nicht mehr vor jeder neuinstallation des systems umständlich sichern und zurückspielen muss, wenn sie erstmal nichtmehr auf der Systempartition liegen.

Tipp: Mit dem TweakUI kann man den Vorgang automatisieren, ausserdem hat die Zeitschrifgt PC-Welt mit pcwSysFolds ein Script geschrieben, mit dem man den Vorgang ohne manueles registry hantieren ändern kann.

Mails (Nur bei Outlook Express)

Die Mails kann man in Outlook Express ganz einfach unter: "Extras"->"Optionen"->Wartung und dann mit dem button "Speicherordner" verschieben.
->Dies hat natürlich den Vorteil, das man nach einer neuinstallation sofort wieder alle mails hat.

[stextbox id=“warning“ caption=“Achtung“]Wenn der neue Ort der Mails auf einem Netzlaufwerk liegt und dieses mal nicht zur verfügung stehen sollte, setzt Outlook Express den Speicherordner automatisch wieder auf den Standard zurück, was ein chaos geben kann wenn dann gerade mails in diesen leeren Standardordner kommen. -Verhindern kann man dies effektiv, indem man dem Verzeichniss: "%userprofile%Lokale EinstellungenAnwendungsdatenIdentities{IDENTITTÄT}MicrosoftOutlook Express" die Schreibberechtigung entzieht: Rechtsklick auf den ‚Outlook Express‘ Ordner, dann unter "Eigenschaften-Sicherheit" "jeder" auswählen und ein häckchen bei schreiben, verbieten.[/stextbox]

->Alle anderen Einstellungen von Outlook Express kann man übrigens mit dem tool Express Assist ganz einfach backupen…

Mail-Einstellungen (Nur bei Outlook Express)

Die gesammten Maileinstellunmgen für Outlook Express finden sich im registry-schlüssel: HKEY_USERS<NUMMER>Identities{<IDENTITTÄT>}SoftwareMicrosoftOutlook Express5.0

Diese kann man zwar nicht verschieben, man sollte sie aber zumindest vor einer Neuinstallation backupen. Express Assist macht das auch automatisch.

Windows-Adressbuch

Das Windows Adressbuch, das benutzt wird um etwa die Mailkontakte in Outlook Express zu verwalten lässt sich durch verschieben des folgenden registry Eintrages ändern:

HKEY_USERS<NUMMER>SoftwareMicrosoftWABWAB4Wab File Name

Windows-Installationsdateien

Windows stellt während der eigenen Installation fest, wo sich die Installationsquelle befindet, und notiert das in der Registry. Sollte zum Beispiel Windows vom CD-Laufwerk installiert worden sein, so wird Windows jedes Mal nach der CD rufen, wenn es eine Installationsdatei braucht.

Falls man im Nachhinein den Inhalt der Installations-CD auf die Festplatte kopiert (Tipp: Es reicht hier nur den Ordner I386 von der CD zu kopieren!), wäre es natürlich bequemer, diese neue Quelle in das System einzubinden. Noch dringender wird die Umstellung der Installationsquelle, wenn sich der Laufwerksbuchstabe verschoben hat.

Wieder mal befindet sich des Rätsels Lösung in der Registry, die man durch Start-Ausführen-regedit erreicht.

Öffne den Schlüssel „Hkey_Local_Machine SoftwareMicrosoftWindows NTCurrent Version“, suche Im rechten Fenster die Zeichenfolge „SourcePath“. Der zugehörige Wert bestimmt den Speicherort der Installationsdateien. Geben Sie hier den neuen Pfad ein, und starten Sie das System neu, damit die Änderungen wirksam werden.

Programme und Gemeinsame Dateien

Dies ist der einzige Ordner, der nicht, oder nur mit äusserster Vorsicht verschoben werden sollte, da sich sehr systemnahme Dateien wie beispiuelsweise der Internetexplorer, Mediaplayer, usw. darin befinden. Auch muss man nach einer Neuinstallation die Daten wieder einzeln von Hand aktualisieren.

Wer es trotzdem tun möchte, muss das System entweder im abgesicherten Modus- oder von einer Zweitinstallation starten, da sich der Programme/Gemeinsame Dateien- Order nicht so einfach bei laufendem Windows verschieben lässt und jedes installierte Programm den Pfad in "seinem eigenen" regitry schlüssel speichert und ständig darauf zugreift.

Danach muss man in der Registry über "Bearbeiten-Suchen" sollange nach dem alten Pfad (Standard: "C:Programme"; "C:ProgrammeGemeinsame Dateien") suchen und ändern, bis nichts mehr gefunden wird.

[stextbox id=“note“ caption=“Hinweis“]Achte beim verschieben darauf den Programme Ordner zuerst nur zu kopieren und nicht zu verschieben! Wenn man diesen verschiebt, bevor die registry Einträge geändert sind, läuft Windows nicht mehr richtig![/stextbox]

Tipp: Etwas einfacher geht das verschieben mittels eines von PC-Welt erstellten tools pcwProgramRemap dass die Schritte weitgehend automatisiert.

DLL-Cache

Ebenfalls relativ unnötig und nur für erfahrene und expermimentierfreudige Anwender ist das verschiebven des DLL-Caches, dass hier nur der Vollständikeitshlaber aufgezeigt wird:

Windows 2000 und XP schützen die Systemdateien, indem sie jede wichtige Datei als Kopie in einem Systemordner behalten und bei Veränderung der Originaldatei sofort dieses Backup zurückschreiben. Die gedoppelten Dateien befinden sich allesamt im versteckten Verzeichnis %Windir%System32Dllcache. Microsoft verrät jedoch nicht, wie dieser mehrere Hundert MB grosse Backup-Ordner bei Bedarf verschoben werden kann.

Die Vorgehensweise unterscheidet sich je nach Windows-Version.

Windows 2000 bis Service Pack 1: Hier lässt sich der Ordner noch recht leicht über einen Registry- Eintrag umlenken. Starte regedit, und öffne den Schlüssel „Hkey_ Local_MachineSoftwareMicrosoftWindows NTCurrentVersionWinlogon“. Lege im rechten Wertefenster eine erweiterte Zeichenfolge „SFCDllCacheDir“ an, und gib als Wert den Pfad des neuen DLL-Backups an.

{IMG(fileId="51",thumb="y",rel="box[g]",imalign="left",align="left")}{IMG} Windows 2000 ab Service Pack 2, Windows XP: Der Parameter SFCDllCacheDir ist in der Registry standardmäßig deaktiviert und muss über einen Patch der Datei SFC.DLL (2000) oder SFC_OS.DLL (XP) im Verzeichnis System32 wieder aktiviert werden. Öffne je nach Windows-Version die passende Datei mit einem Hex-Editor, und wechsel an die jeweilige Offset-Adresse, so wie sie in der Tabelle „Patch-Adressen für SFC“ auf dieser Seite steht. Ersetze die Bytes „8B C6“ durch „90 90“. Speichere die geänderte Datei als SFC.PAT (2000) respektive SFC_OS.PAT (XP) jeweils in %Windir%WindowsSystem32 und %Windir%WindowsSystem32Dllcache, und starte die Wiederherstellungskonsole. Benenne unter Windows 2000 die Dateien in den jeweiligen Ordnern mit folgenden Befehlen um:

ren sfc.dll sfc.old
ren sfc.pat sfc.dll

Analog gilt für Windows XP:

ren sfc_os.dll sfc_os.old
ren sfc_os.pat sfc_os.dll

Beim Neustart achte darauf, dass keine Windows-CD im Laufwerk ist und keine Netzwerkverbindung zu den Windows-Installationsdateien besteht. Nun kannst du wie oben beschrieben den Registry-Eintrag anpassen.

Nach einem weiteren Neustart wird der neue Systemdateien-Sicherungsordner festgelegt. Um die erfolgreiche Umlenkung zu überprüfen, lege die Windows-Installations-CD ein. Rufe dann folgenden Befehl auf, um den Sicherungsordner neu zu erstellen:

sfc /scannow

Das alte Dllcache-Verzeichnis kann danach getrost gelöscht werden.

Natürlich kannst man den Systemdateien-Schutz auch ganz deaktivieren. Dazu trägt man – gegebenenfalls nach dem erfolgreichen Patch – in der Registry unter dem oben genannten Schlüssel einen neuen DWORD-Eintrag mit dem Namen „SFCDisable“ ein und gibt ihm den hexadezimalen Wert „FFFFFF9D“.

Wichtig: Das Umlenken des Dllcache-Ordners setzt den Patch zurück. Wenn der Schutz in einem späteren Schritt abgeschaltet werden soll, muss die Prozedur zum Abschalten des Schutzes noch einmal durchlaufen werden.

Temporäre Dateien

Der Temp- beziehungsweise TMP-Ordner ist ein Zwischenlager für Dateien, die Windows während der Installation von Programmen zeitweilig benötigt. Auch zahlreiche Anwendungen legen hier Daten ab.

Je nach Windows-Version werden diese temporären Dateien an anderer Stelle gespeichert. Windows 98 und ME nehmen mit einem einzigen Verzeichnis unter %Windir%Temp vorlieb. Die NT-Systeme 2000 und XP legen zwei temporäre Ordner an: ein Verzeichnis für Systemprozesse unter %Windir%Temp und ein weiteres für Benutzerdaten unter %Userprofile%Lokale Einstellungen Temp.

Hier wird gezeigt, wie man den Pfad für Windows 2000 ändert:

Zuerst muss man ein neues Temp Verzeichnis anlagen, da wo man dieses haben möchte.
Danach in der Systemsteuerung auf „System-Erweitert-Umgebungsvariablen“ gehen; hier kann man die "Variablen" TEMP und TMP ändern.

Temporäre Internet Dateien

Der Internet Explorer besitzt sein eigenes Zwischenlager, in dem Daten aus dem Browser landen. Besuchte Web-Seiten, Grafiken, Flash-Filme und Cookies beispielsweise speichert der IE in diesem Verzeichnis. Dieser IE-Cache lässt sich an einen anderen Ort verschieben.

Das Temp-Verzeichnis des Internet Explorers ändert man wie folgt: Internet Explorer Starten-Extras-Internetoptionen…-Allgemein-Einstellungen-Ordner verschieben anwählen; hier kann man dann den neuen Pfad angeben.

Offline Dateien

Die Offline-Dateien werden im "C:WINDOWSCSC" Verzeichnis gespeichert (Client-Side-Caching) und dieses wird so schnell mehrere GB gross.

Auf ein anderes Verzeichnis kann man den mittels des Programms "cachmov.exe" aus dem "Windows 2000 Resource Kit" legen; allerdings funktioniert dies nur bei der Englischsprachigen Version. Für lokalisierte Versionen muss man zuerst die Gruppe "Administratoren" in "Administrators" umbenennen.

Falls man das Offline-Dateien Feature noch nicht benutzt hat (z.B. nach einer Windows-Neuinstallation) gehts auch einfacher:

regedit starten und den folgenden Schlüssel anlegen:

HKLMSoftwareMicrosoftWindowsCurrentVersionNetCache

Value: DatabaseLocation
Type: REG_SZ
Data: Path to CSC working directory

Weitere Infos finden sich in der <A HREF="http://support.microsoft.com/default.aspx?scid=kb;en-us;303256" TARGET="_blank">Microsoft Knowledge Base</A>

Tweak UI

Als letztes installieren wir das Tweak UI und starten es auf.
Unter dem Tab "My Computer" können wir unter "Special Folders" nacheinander alle Ordner ändern bei denen noch der Standardpfad steht. Vorsicht ist bei den Pfaden "Program Files" und "Common Program Files" geboten; in einzelfällen ist es bei diesen Pfaden schon zu Problemen gekommen. Will man diese trotzdem verschieben, unbedingt vorher das komplette Verzeichniss rüberkopieren und darauf achten keine Fehlermedlungen während des Kopiervorgangs zu erhalten. -Achja, unter "Instalation Path" empfiehlt es sich, die W2K CD auf festplatte zu kopieren und dort dieses verzeichnis anzugeben.
Danach must du dich kurz aus und wieder ein loggen, damit die einstellungen wirksam werden.
Hinweis: Die Einstellungen gelten in vielen fällen nur für den gerade einbgeloggten user, d.h. man muss den Schritt für jeden User im System wiederholen.

Office Einstellungen

Ein oft vergessener Punkt: Auch die Einstellungen von MS Office lassen sich auslagern um nach einer Neuinstallation wieder nutzen zu können. Die Beschreibung hier bezieht sich auf Office 2000, lässt sich aber warscheinlich auch auf spätere Versionen Anwenden.

Word

Die Einstellungen der Menuleitse, Ansicht, usw. speichert Word in einer Word Vorlage "normal.dot". Diese befindet sich im angegebenen Pfad unter: "Extras-Option-Speicherort für Dateien". Hier kann man auch gleich den Pfad des Vorlagen-Verzeichnisses ändern ("Benutzervorlagen") und die normal.dot von dort rüberkopieren. -So bruahct man nach einer Neuinstallation nur diese Einstellung zu ändern und hat wieder das gewohnte interface und die selbst erstellten Vorlagen zur Hand.

Der Pfad für die Benutzerwörterbücher lässt sich wie folgt ändern: Unter "Extras-Optionen" in der Registerkarte „Rechtschreibung und Grammatik“ wählt man zuerst bei allen Wörterbüchern "entfernen" und dann erstellt man diese wieder mittels "Neu…".

Autokorrektur-Einträge speichert Word in ACL-Dateien.
Word 2000, XP und 2003 legen die ACL-Datei im Ordner „Anwendungsdaten MicrosoftOffice“ im Windows-Verzeichnis oder im Benutzerprofil ab. Der Name hängt von der Sprachversion ab. Bei einem deutschsprachigen Word lautet er MSO1031.ACL.
[stextbox id=“note“ caption=“Hinweis“]Dieser Pfad lässt sich zwar nicht ändern, aber sichern. ;-)[/stextbox]

Excel

Excel speichert Makros standardmäßig immer in der gerade geöffneten XLS-Datei. Sie stehen dann auch nur in dieser Datei zur Verfügung. Global zugängliche Makros haben ihren Platz in der Datei PERSONL.XLS im Ordner „Xlstart“.

Wo sich dieser Ordner bei Ihrer Windows-Version befindet, findet man am besten mit der Windows-Suchfunktion heraus. Für eine Neuinstallation muss man alle XLS-Dateien aus Ihrem Arbeitsverzeichnis und aus dem Ordner „Xlstart“ sichern.

Um die Vorlagen zu behalten, muss man nur alle vorhandenen XLT-Dateien kopieren.

Außerdem sollte man die veränderten Standardvorlagen für neue Arbeitsmappen und Tabellenblätter nicht vergessen. Diese finden sich unter dem Namen MAPPE.XLT oder TABELLE.XLT im Verzeichnis „Xlstart“ oder in dem alternativen Startordner, falls er unter "Extras-Optionen" auf der Registerkarte "Allgemein" festgelegt ist.

Die Symbolleisten speichert Excel in einer XLB-Datei. Je nach Version heißt diese Datei EXCEL11.XLB oder EXCEL10. XLB, EXCEL.XLB – unter Umständen auch beispielsweise <USERNAME>8.XLB.

Office Allgmein

Die individuellen Voreinstellungen des gerade angemeldeten Benutzers befinden sich in der Registry unter „Hkey_ Current_UserSoftwareMicrosoftOffice <Version>“. Der Platzhalter <Version> steht für die Office-Versionsnummer, etwa „10.0“ für Office XP.

Diese kann man über "Datei-Exportieren" in eine REG-Datei exportieren um diese zu sichern. Nach einer Neuinstallation genügt ein Doppelklick auf die REG-Datei, und die bisherigen Einstellungen sind wieder aktiv.

[stextbox id=“note“ caption=“Hinweis“]Dieses Verfahren funktioniert jedoch nur reibungslos, wenn Office nach einer Neuinstallation im gleichen Pfad installiert wurde. Andernfalls muss man nach dem Import per regedit alle Office- Schlüssel durchsuchen und die Pfadangaben anpassen.[/stextbox]

Outlook

Die lokalen Ordner speichert Outlook in einer PST-Datei (Personal Store). Wenn bereits die Auto-Archivierung verwendet wurde, existiert neben der Datei für „Persönliche Ordner“ namens OUTLOOK. PST die Archivdatei ARCHIVE.PST.

Wo die PST-Dateien sich befinden, kann man in Outlook unter "Datei- Datendateiverwaltung" nachschauen. Über die Schaltfläche "Ordner öffnen" gelangt man zum entsprechenden Ordner im Windows- Explorer und kann dann eine Sicherungskopie der Dateien erstellen.

Outlook-Einstellungen

Anpassungen an den Symbolleisten sind in der Datei OUTCMD.DAT gespeichert. Da der Speicherort der Datei vom Betriebssystem auf dem Rechner abhängt, verwendet man am besten die Suchfunktion von Windows.

Die Einstellungen der Leiste mit den Outlook-Ordnern findet man in einer Datei mit der Endung FAV. Die Datei heißt OUTLOOK.FAV, wenn man keine Benutzerprofile für Outlook eingerichtet hat. Verwendet man Benutzerprofile, gibt Outlook den Dateien den Namen des Benutzerprofils, also etwa HANS.FAV. Setzte daher die Windows-Suchfunktion beispielsweise auf „*.FAV“ an.

Falls man mit Signaturen arbeitet, sollte man die entsprechenden Dateien ebenfalls sichern. Diese Dateien tragen die Endung HTM, RTF oder TXT, je nachdem, welches Nachrichtenformat in Outlook unter „Extras, Optionen“ auf der Registerkarte "E-Mail-Format" eingestellt ist. Nach einem Klick auf die Schaltfläche "Signaturen" auf derselben Registerkarte findet sich einen Überblick über die Namen der Signaturen, die gleichzeitig die Dateinamen sind.

Wenn also etwa eine Signatur mit dem Namen Hans verwendet wird und das Nur-Text-Format benutzt wird, heißt die Signaturdatei HANS.TXT. Die Signaturdateien befinden sich alle im Ordner „Signatures“, dessen Speicherort vom Betriebssystem abhängt. Man kann ihn aber mit der Windows- Suchfunktion aufspüren. Wenn zum Verwalten eingehender Mails Regeln festgelegt sind und diese Regeln gesichert werden sollen, kann man sie in eine RWZ-Datei exportieren. Unter "Extras" den Regel-Assistenten öffnen, und auf die Schaltfläche „Optionen“ klicken. Die Schaltfläche "Regeln exportieren" wählen, und einen Dateinamen angeben. Diese Datei lässt sich dann auf demselben Weg mit der Schaltfläche "Regeln importieren" in Outlook wieder einlesen.

Zusätzliches

In diesem Kapitel werden zusätzliche Tipps zur Datenorganisation gegeben.

Laufwerk als Verzeichnis "mounten"

Für Verzeichnisse, die man oft braucht lohnt es sich vieleicht, diese wie unter Unix/Linux als Laufwerk zu mappen ("mounten") und sie so wie eine zusätzliche Festplatte aussehen zu lassen…

Dies geht mit dem befehl "subst".

Tippt man also in der eingabeaufforderung:

subst u: "c:windowsdateieneigene dateien"

ein, so erscheint nun U: als neues Laufwerk mit dem inhalt von eigene dateien.

Da Windows subst befehle nach einem neustart vergessen hat und man das laufwewrk dauerhaft nutzen möchte, kopiert man obige linie am besten in eine bachdatei (z.B. subst.bat) und llegt diese in den Autostart Ordner.

Automatisierte Installation

Windows 2000/XP bietet auch die Möglichkeit einer vollautomatisierten Installation. Bei dieser lassen sich fast alle der obigen Parameter angeben, so dass z.B. die Profile schon während der Installation in ein anderes Laufwerk/Verzeichnis geschrieben werden und man sich das mühsame umändern ersparen kann. Da es sich hier um ein sehr breites Thema handelt, habe ich diesem unter Automatisierte Windows Installation einen eigenen Beitrag gewidmet.

Related Links

|| Link | Beschreibung
[http://ajsystems.com/|Express Assist] | Backup von OE Daten
[http://www.pcwelt.de/know-how/software/40128/index.html|PC-Welt Beitrag: Virtuelle Umzüge] | Dieser Beitrag gibt Tips zur Datenorganisation
[http://www.pcwelt.de/know-how/software/103809/index.html|PC-Welt Beitrag: Windows individuell] | Ebenfals viele Tipps um die Daten umzuorganisieren und Windows/Office individuell zu gestalten
[http://www.wintotal.de/Tipps/Eintrag.php?RBID=2&TID=555&URBID=11|WinTotal: Ordner "Dokumente und Einstellungen" verschieben] | Dieser Beitrag zeigt auf, wie man den ganzen Ordner Dokumente und Einstellungen verschieben kann
[http://www.pcwelt.de/know-how/software/103918/|PC-Welt Beitrag: Office zieht um] | Artikel über das Verschieben der Konfigurationsdaten von MS Office
[http://home.arcor.de/jterlinden/iekonfig.htm|Sicherung der Einstellungen vom Internet Explorer 6] | Diese Seite beschreibt im Detail welche Registryschlüssel man sichern muss um nach einer Neuinstallation den IE komplett wiederherstellen zu können
||

Related Downloads

|| File | Beschreibung
[http://www.microsoft.com/ntworkstation/downloads/powertoys/networking/nttweakui.asp|TweakUI] | Tool der MS Entwickler um verschiedene Windows Eisntellung komfortabel vorzunehmen, das sonst u.U. nur durch bearbeiten der Registry möglich wäre.
[http://www.pcwelt.de/downloads/tools_utilities/system-utilities/38286/|pcwSysFolds] | Mit diesem Script lassen sich zwölf spezielle Benutzerordner bequem in andere Verzeichnisse verschieben, ohne dass deren Funktionalität dabei verloren geht
[http://www.pcwelt.de/downloads/tools_utilities/desktop-tools/38285/|pcwProgramRemap] | Hilft beim verschieben des Programme-Ordners
||