oliver@59
|
1 |
\documentclass[a4paper,10pt]{article}
|
oliver@59
|
2 |
\usepackage[utf8x]{inputenc}
|
oliver@59
|
3 |
\usepackage{a4wide}
|
oliver@59
|
4 |
\usepackage{graphicx}
|
oliver@59
|
5 |
\usepackage{eurosym}
|
oliver@59
|
6 |
\usepackage[T1]{fontenc}
|
oliver@59
|
7 |
\usepackage{latexsym}
|
oliver@59
|
8 |
\usepackage{textcomp}
|
oliver@59
|
9 |
\usepackage{fancybox}
|
oliver@59
|
10 |
\usepackage{microtype}
|
oliver@59
|
11 |
\usepackage{listings}
|
oliver@59
|
12 |
\usepackage{setspace}
|
oliver@59
|
13 |
\usepackage{color}
|
oliver@59
|
14 |
\usepackage{comment}
|
oliver@59
|
15 |
|
oliver@59
|
16 |
\linespread{1.1}
|
oliver@59
|
17 |
\parskip=4pt
|
oliver@59
|
18 |
|
oliver@59
|
19 |
\begin{document}
|
oliver@59
|
20 |
|
oliver@59
|
21 |
\title{OpenSecurity Installer zu Version 1.0 \\
|
oliver@59
|
22 |
\large Howto zum Bau einer OpenSecurity 1.0 Release.
|
oliver@59
|
23 |
}
|
oliver@59
|
24 |
|
oliver@59
|
25 |
\author{Oliver Maurhart\\
|
oliver@59
|
26 |
AIT Austrian Institute of Technology
|
oliver@59
|
27 |
}
|
oliver@59
|
28 |
|
oliver@59
|
29 |
\maketitle
|
oliver@59
|
30 |
|
oliver@59
|
31 |
\section{Werkzeuge}
|
oliver@59
|
32 |
|
oliver@59
|
33 |
OpenSecurity verwendet zum Bau der Setup Installationsdateien den Inno Setup Compiler 5.5.5 (a) von Jordan Russel und Martijn Laan. Dieses Tool kann von der Seite http://www.innosetup.com frei bezogen werden.
|
oliver@59
|
34 |
|
oliver@59
|
35 |
|
oliver@59
|
36 |
\section{Verfahren}
|
oliver@59
|
37 |
|
oliver@59
|
38 |
InnoSetup verwendet eine Konfigurationsdatei, welche durch den Suffix ``.iss'' erkennbar ist. Diese Konfigurationsdatei enthält Anweisungen und Pascal-Code für den Setup Compiler wie bsp.
|
oliver@59
|
39 |
|
oliver@59
|
40 |
\begin{itemize}
|
oliver@59
|
41 |
|
oliver@59
|
42 |
\item welche Verzeichnisse zu erstellen sind.
|
oliver@59
|
43 |
\item welche Dateien wohin zu kopieren sind.
|
oliver@59
|
44 |
\item welche Registry Einträge erstellt werden müssen.
|
oliver@59
|
45 |
\item welche Icons uns Programmpunkte in das Startmenü oder am Desktop aufgenommen müssen.
|
oliver@59
|
46 |
\item sowie welche Programme nach der Installation oder vor der Deinstallation ablaufen müssen.
|
oliver@59
|
47 |
|
oliver@59
|
48 |
\end{itemize}
|
oliver@59
|
49 |
|
oliver@59
|
50 |
OpenSecurity verfügt dabei über eine ``OpenSecurity.iss'' welche das reguläre, öffentlich Setup beschreibt. Eine ``OpenSecurity-IKT.iss'' enthält divergierende Werte, welche speziell auf den Bedarfsträger IKT Linz zugeschnitten wurden.
|
oliver@59
|
51 |
|
oliver@59
|
52 |
Der InnoSetup Compiler wird mit dieser Konfigurationsdatei gestartet und über ein GUI kann anhand dieser Einstellungen ein Setup.exe erzeugt werden.
|
oliver@59
|
53 |
|
oliver@59
|
54 |
Neben den Registryeinträgen, Startmenüänderungen sowie dem Ablaufen einer Reihe von Post-Install Programmen ist der Hauptbestandteil einer Installation
|
oliver@59
|
55 |
|
oliver@59
|
56 |
\begin{enumerate}
|
oliver@59
|
57 |
|
oliver@59
|
58 |
\item Das Kopieren von Dateien an eine bestimmte Stelle im Zielsystem.
|
oliver@59
|
59 |
|
oliver@59
|
60 |
\item Das Ändern der Zugriffs- und Ausführungsrechte der kopierten Dateien im Zielsystem.
|
oliver@59
|
61 |
|
oliver@59
|
62 |
\end{enumerate}
|
oliver@59
|
63 |
|
oliver@59
|
64 |
\subsection{Dateilayout}
|
oliver@59
|
65 |
|
oliver@59
|
66 |
OpenSecurity verwendet dabei relativ zum Pfad der Konfigurationsdatei dieses Dateilayout, welches nahezu 1:1 in das Zielsystem (C:{\textbackslash}Program Files) kopiert wird (Anm.: bei ``bin'', ``cygwin64'' und ``python27'' wird nur die 1 Verzeichnisebene dargestellt):
|
oliver@59
|
67 |
|
oliver@59
|
68 |
\begin{verbatim}
|
oliver@59
|
69 |
OpenSecurity
|
oliver@59
|
70 |
|-- Apache License, Version 2.0.txt
|
oliver@59
|
71 |
|-- bin
|
oliver@59
|
72 |
| |-- ...
|
oliver@59
|
73 |
| `-- vmmanager.pyw
|
oliver@59
|
74 |
|-- cygwin64
|
oliver@59
|
75 |
| |-- bin
|
oliver@59
|
76 |
| |-- ...
|
oliver@59
|
77 |
| `-- var
|
oliver@59
|
78 |
|-- install
|
oliver@59
|
79 |
| |-- fix_cygwin_paths.bat
|
oliver@59
|
80 |
| `-- initial_vm.sh
|
oliver@59
|
81 |
|-- Lizenz.txt
|
oliver@59
|
82 |
|-- log
|
oliver@59
|
83 |
|-- python27
|
oliver@59
|
84 |
| |-- content.txt
|
oliver@59
|
85 |
| |-- DLLs
|
oliver@59
|
86 |
| |-- Lib
|
oliver@59
|
87 |
| |-- libs
|
oliver@59
|
88 |
| |-- python.exe
|
oliver@59
|
89 |
| |-- python27.dll
|
oliver@59
|
90 |
| |-- pythonw.exe
|
oliver@59
|
91 |
| |-- qt.conf
|
oliver@59
|
92 |
| `-- Scripts
|
oliver@59
|
93 |
|-- systemprofile
|
oliver@59
|
94 |
| |-- .VirtualBox
|
oliver@59
|
95 |
| | `-- VirtualBox.xml
|
oliver@59
|
96 |
| `-- VirtualBox VMs
|
oliver@59
|
97 |
| `-- SecurityDVM
|
oliver@59
|
98 |
| |-- SecurityDVM.vbox
|
oliver@59
|
99 |
| `-- SecurityDVM.vmdk
|
oliver@59
|
100 |
`-- systemprofile-IKT
|
oliver@59
|
101 |
|-- .VirtualBox
|
oliver@59
|
102 |
| `-- VirtualBox.xml
|
oliver@59
|
103 |
`-- VirtualBox VMs
|
oliver@59
|
104 |
`-- SecurityDVM
|
oliver@59
|
105 |
|-- SecurityDVM.vbox
|
oliver@59
|
106 |
`-- SecurityDVM.vmdk
|
oliver@59
|
107 |
\end{verbatim}
|
oliver@59
|
108 |
|
oliver@59
|
109 |
Die wesentlichsten Verzeichnisse sind dabei:
|
oliver@59
|
110 |
|
oliver@59
|
111 |
\begin{itemize}
|
oliver@59
|
112 |
|
oliver@59
|
113 |
\item \texttt{bin}: dies beinhaltet den OpenSecurity Core Code.
|
oliver@59
|
114 |
|
oliver@59
|
115 |
\item \texttt{cygwin64}: hier ist die Cygwin64 Installation, welche von OpenSecurity verwendet wird.
|
oliver@59
|
116 |
|
oliver@59
|
117 |
\item \texttt{python27}: das ist die Python 2.7 Installation, welche von OpenSecurity verwendet wird.
|
oliver@59
|
118 |
|
oliver@59
|
119 |
\item Lizenzdateien.
|
oliver@59
|
120 |
|
oliver@59
|
121 |
\item \texttt{systemprofile}: Hier befindet sich das mitgelieferte VirtualBox image. Im Gegensatz zu den restlichen Dateien und Verzeichnissen wird diese Satz an Dateien in das Windows Systemverzeichnis kopiert. Konkret \texttt{C:{\textbackslash}Windows{\textbackslash}System32{\textbackslash}config{\textbackslash}systemprofile}. Dieser Inhalt dieser Verzeichnisse ist aus einer Live-Installation nach einem Update übernommen und angepasst worden. Im Besonderen ist die \texttt{VirtualBox.xml} Datei zu adaptieren und zu bereinigen.
|
oliver@59
|
122 |
|
oliver@59
|
123 |
\end{itemize}
|
oliver@59
|
124 |
|
oliver@59
|
125 |
|
oliver@59
|
126 |
\subsection{Registry}
|
oliver@59
|
127 |
|
oliver@59
|
128 |
OpenSecurity schreibt diese Einträge in die Registry:
|
oliver@59
|
129 |
|
oliver@59
|
130 |
\begin{itemize}
|
oliver@59
|
131 |
|
oliver@59
|
132 |
\item \textbf{HKLM{\textbackslash}SOFTWARE{\textbackslash}Microsoft{\textbackslash}Windows{\textbackslash}CurrentVersion{\textbackslash}Run{\textbackslash}OpenSecurity Tray Icon}: Automatisches Starten des OpenSecurity Tray Icons bei Windows Anmeldung.
|
oliver@59
|
133 |
\item \textbf{HKLM{\textbackslash}SOFTWARE{\textbackslash}OpenSecurity{\textbackslash}LogServerUrl}: HTTP RESTful URL des OpenSecurity LogServer.
|
oliver@59
|
134 |
\item \textbf{HKLM{\textbackslash}SOFTWARE{\textbackslash}OpenSecurity{\textbackslash}Browser}: Vollständiger Pfad und Optionen des Internet Browsers in der VM für Sicheres Surfen.
|
oliver@59
|
135 |
\item \textbf{HKLM{\textbackslash}SOFTWARE{\textbackslash}OpenSecurity{\textbackslash}ImageUrl}: Download-URL für VM-Images zum Importieren/Updaten der VM-Images.
|
oliver@59
|
136 |
\item \textbf{HKLM{\textbackslash}SYSTEM{\textbackslash}CurrentControlSet{\textbackslash}services{\textbackslash}USBSTOR}: Wert ``4'' zum Deaktivieren des Windows USB-Mass-Storage Treibers.
|
oliver@59
|
137 |
|
oliver@59
|
138 |
|
oliver@59
|
139 |
\end{itemize}
|
oliver@59
|
140 |
|
oliver@59
|
141 |
|
oliver@59
|
142 |
|
oliver@59
|
143 |
\subsection{Postinstall}
|
oliver@59
|
144 |
|
oliver@59
|
145 |
Nach der Installation führt das Setup diese Schritte durch:
|
oliver@59
|
146 |
|
oliver@59
|
147 |
\begin{enumerate}
|
oliver@59
|
148 |
|
oliver@59
|
149 |
\item Rebase der Cygwin64 installation. Das stellt die Suchpfade der Cygwin DLLs korrekt.
|
oliver@59
|
150 |
\item Fix der Cygwin Pfad in der /etc/fstab.
|
oliver@59
|
151 |
\item Cygwin Umgebung erzeugen durch einmaliges Ausführen einer Bash.
|
oliver@59
|
152 |
\item Firewall Regeln für OpenSecurity im System eintragen.
|
oliver@59
|
153 |
\item Installation des OpenSecurity Service.
|
oliver@59
|
154 |
\item Starten des OpenSecurity Service.
|
oliver@59
|
155 |
\item Starten des OpenSecurity Tray Icons.
|
oliver@59
|
156 |
|
oliver@59
|
157 |
\end{enumerate}
|
oliver@59
|
158 |
|
oliver@59
|
159 |
|
oliver@59
|
160 |
|
oliver@59
|
161 |
\section{Schlußbemerkung}
|
oliver@59
|
162 |
|
oliver@59
|
163 |
Die genauen Konkret Schritte (bsp. Eintragen des Log Servers) sind jedenfalls in den einzelnen ``.iss''-Dateien zum Nachlesen und können von den hier vorgestellten Inhalten durch Updates abweichen.
|
oliver@59
|
164 |
|
oliver@59
|
165 |
|
oliver@59
|
166 |
\end{document}
|