You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

441 lines
23 KiB

\documentclass[10pt]{scrartcl}
\usepackage{slantsc}
\usepackage[utf8]{inputenc}
\usepackage[naustrian]{babel}
\usepackage[paper=a4paper, left=25mm, right=25mm, top=25mm, bottom=30mm]{geometry}
\usepackage{fancyhdr}
\usepackage{listings}
\usepackage{eurosym}
\usepackage{multirow}
\usepackage{graphicx}
\usepackage{url}
\usepackage{DejaVuSans}
\usepackage{DejaVuSerif}
\usepackage{DejaVuSansMono}
\usepackage[T1]{fontenc}
\usepackage{textcomp}
\usepackage{microtype}
\lstset{
language=, %language, can be changed dynamically
basicstyle=\footnotesize\ttfamily, %common font style
keywordstyle=\bfseries,
commentstyle=\itshape,
stringstyle=\ttfamily,
showstringspaces=false,
xleftmargin=8pt,
numbers=left, %line numbers
numberstyle=\tiny,
numberfirstline=true,
stepnumber=1,
numbersep=5pt,
breaklines=true,
tabsize=2, %size of tabulator
columns=flexible,
upquote=true,
literate= %Umlauts in source files
{Ö}{{\"O}}1
{Ä}{{\"A}}1
{Ü}{{\"U}}1
{ß}{{\ss}}2
{ü}{{\"u}}1
{ä}{{\"a}}1
{ö}{{\"o}}1,
}
\clubpenalty = 10000
\widowpenalty = 10000
\displaywidowpenalty = 10000
\newcommand{\mytitle}{Bericht für \emph{www.sternwarte.at}}
\newcommand{\myfoottitle}{Bericht sternwarte.at}
\newcommand{\mysecondtitle}{}
\newcommand{\mythirdtitle}{}
\newcommand{\mydelivery}{}
\newcommand{\myauthor}{Michael Preisach, SIGFLAG}
\newcommand{\mydate}{\today}
\title{\includegraphics[width=3cm]{resources/logo_flat.png}\\[1ex]\textbf{\mytitle}\\[1ex]\normalsize{\mysecondtitle}}
\author{\textbf{\mythirdtitle}}
\date{\mydate}
\pagestyle{fancy}
\fancypagestyle{plain}
{
\fancyhf{}
\fancyfoot[L]{\scriptsize{\myfoottitle}}
\fancyfoot[C]{\scriptsize{}}
\fancyfoot[R]{\scriptsize{Seite \thepage}}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0.5pt}
}
\fancyhf{}
\fancyfoot[L]{\scriptsize{\myfoottitle}}
\fancyfoot[C]{\scriptsize{}}
\fancyfoot[R]{\scriptsize{Seite \thepage}}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0.5pt}
\setlength{\parindent}{0mm}
\begin{document}
\maketitle
\section*{Disclaimer}
Dieser Bericht stützt sich ausschließlich auf Daten, die frei abrufbar sind.
Es wurden weder Login-Daten mittels Bruteforce ermittelt, noch per Login geschützte Daten kopiert oder verwendet.
\section{Zusammenfassung}
Tests wurden im Zeitraum von 15. Jänner 2020 bis 19. Februar 2020 vorgenommen.
Ziel dieses Tests war die Ermittlung der Angriffsoberfläche von \url{www.sternwarte.at}, der verwendeten Infrastruktur sowie eine Analyse der verwendeten Programme, um schließlich eine Handlungsempfehlung zu formulieren.
Im Rahmen des Test wurden neben dem Server der Sternwarte auch andere Services gefunden.
Sofern sich diese im IP-Adressbereich in unmittelbarer Nähe befunden haben, wurden diese Server ebenfalls analysiert.
Im Folgenden werden die wichtigsten Erkenntnisse kurz dargestellt
\begin{enumerate}
\item Keine TLS-Verschlüsselung der Website obwohl auf der Website Formulare angeboten werden, die vertrauliche Daten abfragen.
Auch der Admin-login ist unverschlüsselt und kann daher sehr einfach in einem überwachten Netzwerk abgefangen werden.
\item Unauthentifiziert einsehbare Log-Datei, die Server-Fehler ausgibt.
\item Der FTP-Server ist auf dem Standardport verfügbar und es ist mutmaßlich verwundbar auf Bruteforce-Attacken.
\item Die Webseite kann durch modifizierte URLs in der Darstellung verändert werden. Die Daten auf dem Server müssen dafür nicht verändert werden.
\item Die verwendete Software (4D Webstar 2004) wird vom Hersteller nicht mehr unterstützt.
Die Tatsache, dass keine dokumentierten Sicherheitslücken existieren ist der mangelhaften Verbreitung und nicht der Qualität der Software zuzuschreiben.
\end{enumerate}
\newpage
\section{Methodik}
In die Untersuchungen waren folgende Personen involviert:
\begin{itemize}
\item Robert Führicht (\url{fuerob@gmail.com})
\item Tobias Höller
\item Michael Preisach (\url{michael@preisach.at})
\end{itemize}
Alle genannten sind bei SIGFLAG (\url{www.sigflag.at}) tätig.
\subsection{Informationsgewinnung}
Ziel dieser Analyse war, Informationen über das System hinter \url{www.sternwarte.at} zu finden.
Für die gefundenen Services sollen möglichst alle frei zugänglichen Daten gefunden und ausgewertet werden.
Daraus ergeben sich dann Handlungsempfehlungen, die im folgenden Teil des Berichts erläutert sind.
\subsection{Verwendete Programme}
\begin{itemize}
\item Firefox 72
\item Nmap 7.80
\item Dirsearch 0.3.9
\item TOR Web Browser (Firefox 68)
\item ftp 1.9.4
\item OpenBSD netcat 1.206 Debian Patchlevel 1
\item DiG 9.14.10
\item testssl.sh 3.0
\end{itemize}
\subsection{3 Kategorien der Informationssicherheit}
Jede Schwachstelle wird in der folgenden Analyse in die drei Kategorien der Informationssicherheit eingeordnet.
Diese Kategorien sind:
\begin{enumerate}
\item Vertraulichkeit/Confidentiality (C) -- Ein Service muss den Zugriff auf Daten auf das notwendige beschränken.
Das bedeutet, dass die Daten dieses Services nur von den autorisierten Benutzern gelesen werden darf.
Ein Service darf seine Daten nur an autorisierte Benutzer weitergeben.
Unautorisierte Dritte müssen zuverlässig vom Zugriff auf diese Daten ferngehalten werden.
Dies gilt auch für die Übertragung zum Benutzer und Speicherung der Daten abseits vom System (z.~B. Für ein Backup)
\item Integrität/Integrity (I) -- Der Service muss sicherstellen, dass die Daten unverändert und vollständig vorgehalten werden.
Es muss also verhindert werden, dass die Daten von nicht autorisierten Benutzen oder durch unerwartetes Verhalten des Services modifiziert werden können.
\item Verfügbarkeit/Availability (A) -- Der Service muss verfügbar sein, wenn dieser benötigt wird.
In diesem Fall sind vor Allem Maßnahmen gegen Denial-of-Service (DoS) Angriffe zu berücksichtigen.
\end{enumerate}
\section{Erkenntnisse}
Über einen einfachen NMap-Scan können folgende Services auf dem Zielhost ermittelt werden:
\lstinputlisting[caption=Ergebnis des Portscans von NMap]{resources/200217-nmap-sternwarte.log}
Daraus ergibt sich folgende Service Liste für \url{sternwarte.at}
\begin{itemize}
\item Port 21 und 8000: FTP Server und Rumpus FTP Webinterface
\item Port 80 und 8080: Webstar 4D Webserver
\end{itemize}
Im Laufe der Untersuchungen wurden noch weitere Services gefunden:
\begin{itemize}
\item Mail-Service für den Zivilschutzverband Oberösterreich (nur Clientverbindungen)
\item Mailserver für \url{sternwarte.at}, der auf 2 anderen Hosts angeboten wird.
\end{itemize}
Im folgenden werden die genannten Services analysiert.
Mit den angegebenen Handlungsempfehlungen ist es möglich die ausgeführten Probleme umfassend zu lösen.
\subsection{Webserver}
Firefox kann in den Developer Tools die Metadaten des Serverantwort analysieren.
Im Server-Tag finden sich die Information des Webservers:
\begin{lstlisting}[numbers=none, caption=HTTP Response Header von \texttt{www.sternwarte.at}]
HTTP/1.1 200 OK
Server: 4D_WebStar_D/2004
Date: Sun, 02 Feb 2020 21:08:44 GMT
Content-Length: 12281
Last-Modified: Sun, 02 Feb 2020 21:08:44 GMT
Connection: Keep-Alive
Content-Type: text/html
\end{lstlisting}
\begin{itemize}
\item Installierter Server: 4D WebStar\_D/2004, vermutlich installiert auf Mac OS X
\end{itemize}
\subsubsection{Kein TLS}
Die Webseite bietet neben statischen Inhalten auch Anmeldeformulare für Events des Vereins an.
Im Sinne der §§24 ff DSGVO müssen geeignete technische Maßnahmen getroffen werden, damit persönliche Daten nicht an eine unbestimmte Zahl dritter Personen zugänglich gemacht werden kann.
Daher muss eine Verschlüsselung der Kommunikation eingeführt werden, um mit diesen Bestimmungen konform zu werden.
Weiters wird die Unterstützung von TLS Versionen vor TLS1.2 noch im Laufe des Jahres 2020 von den Browserherstellern abgeschaltet.
\\[2ex]
\textbf{Informationssicherheit:}
\begin{itemize}
\item Confidentiality: Daten können bei Übertragung in beide Richtungen beliebig eingesehen werden.
\item Integrity: Daten und Inhalte können in beide Richtungen beliebig verändert werden, es findet keine Integritätsprüfung an den Daten statt.
\item Availability: Einem Angreifer ist es möglich ein unverschlüsseltes Passwort beim Login abzufangen und damit den kompletten Webauftritt bzw.\@ den Server zu übernehmen.
\end{itemize}
\textbf{Handlungsempfehlung:} \\
Einführung von TLS1.2 oder höher für zumindest die Formularseiten, aber auch für das restliche Angebot des Vereins.
Da dies aufgrund der veralteten Software nicht direkt unterstützt wird, muss entweder
\begin{itemize}
\item ein TLS-Proxy vorgeschalten werden,
\item ein Reverse-Proxy TLS terminieren oder
\item oder die Website auf einen Server mit aktueller Software umgesiedelt werden.
\end{itemize}
\subsubsection{Beliebige Frames per URL laden}
Die Darstellung der Webseite gliedert sich in 2 Frames, Verzeichnis und Inhaltsframe. \verb|start.html| stellt dabei den Inhalt dar und \verb|default.html| kümmert sich um das Verzeichnis.
Nun ist es aber möglich, die Homepage mit einer beliebigen zusätzlichen URL aufzurufen:
\begin{center}
\url{http://www.sternwarte.at/default.html?https://jku.at}
\end{center}
Das Beispiel lädt die Seite der JKU in den Hauptframe anstelle der vorgesehenen Startseite.
Weiters kann auch die eigene Seite geschachtelt aufgerufen werden:
\begin{center}
\url{http://www.sternwarte.at/?/?/?/}\\
\end{center}
Hier wird vier Mal \verb|default.html| aufgerufen und in den Inhaltsframe des vorherigen Aufrufes dargestellt.
Diese Schwachstelle stellt eine Möglichkeit dar, Drive-By-Exploits an Personen, die dieser Website vertrauen, auszuliefern.
\\[2ex]
\textbf{Informationssicherheit:}
\begin{itemize}
\item Confidentiality: Benutzer könnten auf gefälschten Webseiten vertrauliche Daten weiter geben.
\item Integrity: Die eingegebenen Daten auf den gefälschten Webseiten werden wahrscheinlich nicht den Weg in die korrekte Datenbank finden.
\item Availability: Durch das Laden von Inhalten anderer Seiten kann recht zuverlässig. verhindert werden, dass die vorgesehenen Inhalte tatsächlich angezeigt werden.
\end{itemize}
\textbf{Handlungsempfehlung:} \\
\verb|default.html| darf nur eine definierte Liste an Links entgegennehmen - die der vorhandenen Subseiten (Whitelisting).
\subsubsection{Fehlerhafte Auslieferung spezieller Subseiten}
Es gibt Subseiten, die sich in einem Unterverzeichnis auf dem Server befinden.
Ein aktuelles Beispiel ist:
\begin{center}
\url{http://www.sternwarte.at/planetenweg/}
\end{center}
Damit dieser Aufruf korrekt erfolgt, muss das Arbeitsverzeichnis auf dem Server gewechselt werden.
Es ist aber möglich, dies zu verhindern, indem der letzte / in der URL weggelassen wird:
\begin{center}
\url{http://www.sternwarte.at/planetenweg}
\end{center}
Nun können referenzierte Objekte, wie Bilder und Stylesheets nicht mehr geladen werden.
Zusätzlich wird für jedes nicht gefundene Objekt eine Zeile im error.log erzeugt.
\lstinputlisting[linerange={253-278}, caption=Erzeugte Fehler durch fehlerhaften Seitenaufruf]{resources/200217-error.log}
\textbf{Informationssicherheit:}
\begin{itemize}
\item Confidentiality: Keine Auswirkungen.
\item Integrity: Die Integrität der ausgelieferten Webseite ist nicht gegeben.
\item Availability: Die ausgelieferte Webseite ist unvollständig und daher eingeschränkt bis gar nicht benutzbar.
\end{itemize}
\textbf{Handlungsempfehlung:}
\begin{itemize}
\item Aliasing für diese Endpunkte einführen (wie es auch bei den anderen Webauftritten auf diesem Server der Fall ist).
Damit wird der Browser automatisch auf den richtigen Endpunkt weitergeleitet.
\item absolute Referenzen in der Seite verwenden oder immer aus dem gleichen Arbeitsverzeichnis den Webauftritt ausliefern.
\end{itemize}
\subsubsection{Öffentlich zugängliche Dateien mit Metainformationen}
Dirsearch traversiert die zugänglichen Seiten auf dem Server, indem es die URL errät.
Dazu hat Dirsearch eine Liste von Verzeichnissen aller gängiger Webserver.
Das Ergebnis dieser Suche:
\lstinputlisting[caption=Mittels DirSearch gefundene Endpoints]{resources/dirsearch.log}
Die HTTP Statuscodes zeigen, dass einige URLs mit Code 500 antworten.
Bei Aufruf dieser Seiten ist dieser zuverlässig und immer gleich.
Des Weiteren findet sich in Zeile 15 der Ausgabe \verb|.DS_Store| welches auf dem Mac zum Speichern von Metadaten der in diesem Verzeichnis abgelegten Dateien genutzt wird.
Viel aussagekräftiger ist das \verb|error.log|, das mutmaßlich beim Blacklisting übersehen wurde.
Dieses Log wird wöchentlich in der Nacht von Samstag auf Sonntag gelöscht.
Es werden alle Dateiaufrufe am Server protokolliert, die einen Rückgabewert ungleich 0 haben.
Dieses Log bietet eine Vielzahl an Meta-Informationen, die hier nur beispielhaft aufgezählt sind:
\begin{itemize}
\item Wann sich der Administrator (vermutlich) eingeloggt oder ausgeloggt hat (Rückgabewert > 0)
\item Dazugehöriger Pfad zum Login des Backends (wieder unverschlüsselt!)
\item Welche Dateien geöffnet wurden (aber Rückgabewert = 15)
\item Fehler anderer Webauftritte auf diesem Server \footnote{\url{www.kalendermanufaktur.at}} \footnote{\url{www.baer.co.at}}
\item Fehlerhaft eingegebene URLs auf diesem Server (alte Seiten auf dem Server oder Metainformationen zu den Besuchern)
\item Rückgabewerte der Datenbank und der hinterlegten Skripte - Damit kann der Ordner \verb|/4dcgi| durchsucht, bzw. dessen Inhalt aus dem Log ausgelesen werden.
\item Fehler des Mailservers geben Hinweis auf die Aufgaben des selben. Mehr dazu im Kapitel zu Mailserver
\end{itemize}
Es wurden dank der Dokumentation für 4D WebStar, die noch immer online verfügbar ist\footnote{\url{http://www.island-data.com/downloads/books/4D_Web_Companion.pdf}}, weitere gültige Pfade gefunden:
\begin{itemize}
\item \verb|/4dstats| - Abrufstatistiken
\item \verb|/4dhtmlstats| - Abrufstatistiken
\item \verb|/4dcacheclear| - Leeren des Caches
\item \verb|/4dwebtest| - Informationen über den verbundenen Client
\item \verb|/4dblank| - Leere Seite
\item \verb|/4dmethod| - Kann nicht aufgerufen werden, die URL wird aber erweitert auf beispielsweise \url{http://www.sternwarte.at/4dmethod//%23%231997692744.0}
\item \verb|/4dssi| - Verbotene Anfrage
\end{itemize}
Alle diese Seiten erzeugen keinen Log-Eintrag und sollten nicht direkt aufgerufen werden können.
Zusätzlich lassen sich die Skripts im Ordner \verb|/4dcgi|, die beispielsweise für das Erfassen der Formulardaten genutzt werden, direkt per URL ausführen -- ganz ohne Parameter. Durch das Log können auch per Erraten der Namen weitere Skripte gefunden werden.
\\[2ex]
\textbf{Informationssicherheit:}
\begin{itemize}
\item Confidentiality: Informationen über den Server, dessen Benutzer und anderer Webseiten werden ohne autorisierung frei gegeben.
\item Integrity: Unsicher, da nicht klar ist, ob die CGI-Skripte Datenbanken verändern oder nicht.
\item Availability: Keine Auswirkung.
\end{itemize}
\textbf{Handlungsempfehlung:} \\
Im Arbeitsverzeichnis des Webservers sollten sich nur Dateien befinden, die mit der Auslieferung der Seite direkt zu tun haben.
Für Log-Dateien gibt es eigene Verzeichnisse.
Ist die Trennung von Log-Dateien und den auszuliefernden Webinhalten nicht möglich, muss entweder das Blacklisting um die entsprechenden Endpunkte erweitert werden oder ein vorgeschaltener Webproxy diese Aufgabe übernehmen.
\subsubsection{Sehr alte Version des Servers}
Der zurzeit laufende Webserver scheint zumindest gegen dokumentierte Schwachstellen geschützt zu sein, die letzten bekannten Bugs \emph{CVE-2004-0696} und \emph{CVE-2006-6131} haben keinen Erfolg gezeigt.
Die Software wird aber vom Hersteller nicht mehr unterstützt.
Wenn also neue Bugs auftreten, werden diese nicht mehr repariert.
Daher sollte die Webseite auf einer Version des Produkts (4D) betrieben werden, die von den Entwicklern noch mit Updates versorgt wird.
\\[2ex]
\textbf{Informationssicherheit:}
\begin{itemize}
\item Confidentiality: Die verwendete Software ist nicht mehr in der Lage, die Daten vertraulich zu halten.
\item Integrity: Undokumentierte Schwachstellen können jederzeit Daten kompromittieren.
\item Availability: Die gleichen Schwachstellen können auch die Verfügbarkeit des Servers stören.
\end{itemize}
\textbf{Handlungsempfehlung:}
\begin{itemize}
\item Update der verwendeten Software auf aktuell gewartete Versionen.
\item Regelmäßige bzw. automatische Updates (zumindest bei reinen Sicherheitsupdates)
\end{itemize}
\subsection{FTP-Server}
Port 21 auf dem Server war zum Zeitpunkt der ersten Untersuchung noch erreichbar.
Der Server bot unverschlüsseltes FTP an und verlangte Username und Passwort.
Wie schon beim Webserver kann hier der Login über das Netzwerk abgefangen werden.
Das gleiche Problem hat auch der Rumpus FTP Server, der über
\begin{center}
\url{http://www.sternwarte.at:8000}
\end{center}
erreichbar ist.
Abgesehen von der unverschlüsselten Übermittlung von Login-Daten scheint dieser Service aber aktuell zu sein.
Die dokumentierte Schwachstelle \emph{CVE-2019-19368}\footnote{\url{https://github.com/harshit-shukla/CVE/blob/master/CVE-2019-19368 (Un-authenticated).md}}
ermöglicht Cross-Site-Scripting über die URL.
Die resultierende URL
\begin{center}
\url{http://www.sternwarte.at:8000/Login?!%27%3E%3CsVg/OnLoAD=alert`1`//}
\end{center}
blieb ohne Effekt.
\\[2ex]
\textbf{Informationssicherheit:}
\begin{itemize}
\item Confidentiality: Die übermittlung der Daten zwischen Server und Client sind nicht geschützt. Das gilt für das Rumpus Webinterface als auch für den FTP-Port.
\item Integrity: Die Daten können während der Übertragung beliebig verändert werden.
\item Availability: Wenn der Angreifer das unverschlüsselte Passwort bei der Übertragung abfängt, kann dieser wahrscheinlich den Webauftritt beliebig verändern.
\end{itemize}
\textbf{Handlungsempfehlung:}\\
Es gibt mittlerweile eine große Zahl an Argumenten, FTP nicht mehr zu verwenden.
Der folgende Link fasst die Argumente anschaulich zusammen:
\begin{center}
\url{http://mywiki.wooledge.org/FtpMustDie}
\end{center}
Die moderne Alternative zu FTP ist SFTP, also FTP over SSH.
SFTP kann alle Funktionen von bisherigen FTP übernehmen und sollte daher ersatzlos zum Einsatz kommen.
Folgende Punkte sind zusätzlich zu beachten:
\begin{itemize}
\item Passwort-Authentifizierung durch Key-Based Authentication ersetzen.
FTP over SSH bietet zusätzlich die Möglichkeit, die Authentifizierung über Public/Private Keys zu machen, um Bruteforce-Attacken auf Passwörter zu unterbinden.
\item Fail2Ban aktivieren. Damit können Firewall-Regeln dynamisch angepasst werden, wenn ein Client zu oft versucht, sich mit falschen Login-Daten zu authentifizieren.
\item WebFTP (Rumpus) ausschließlich über TLS anbieten (gleiche Handlungsempfehlung, wie bei Webserver weiter oben).
\end{itemize}
Nachtrag: Zumindest auf dem Server, der \url{www.sternwarte.at} ausliefert, ist eine Firewall aktiviert worden, die Anfragen auf diesen Port droppt (keine Antwort zurückschickt).
Etwas später zeigt NMap wieder, dass der Port 21 zwar offen ist, allerdings antwortet der Server nicht auf Anfragen.
Es ist daher nicht ganz klar, ob hier eine Firewall eigenartige Verbindungszustände hervorruft oder der Service zurzeit nicht ordnungsgemäß läuft.
\subsection{Mail-Server}
Hier sind zwei verschiedene Services entdeckt worden, die im folgenden behandelt werden:
\begin{itemize}
\item Mailserver, die für die Domain \url{sternwarte.at} im DNS eingetragen sind
\item Der SMTP-Server, der direkt auf dem Server läuft
\end{itemize}
\subsubsection{Mailserver, der laut DNS zuständig ist}
\lstinputlisting[caption=Mail Extension DNS Eintrag für \texttt{sternwarte.at}]{resources/dig-mx-sternwarte.log}
Im DNS stehen zwei Server als Mail-Server (MX) zur Verfügung:
\begin{itemize}
\item \url{nihal.mag.eu} (85.126.106.144)
\item \url{mizar.mag.eu} (85.126.106.142)
\end{itemize}
Beide Hosts haben laut NMap-Bericht Port 25 für SMTP offen:
\lstinputlisting[caption=NMap Portscan auf \texttt{nihal.mag.eu}]{resources/200217-nmap-nihal.log}
\lstinputlisting[caption=NMap Portscan auf \texttt{mizar.mag.eu}]{resources/200217-nmap-mizar.log}
Bei der ersten Analyse dieses Services war nur eine unverschlüsselte Verbinudung möglich.
Inzwischen wurde auf diesen Servern STARTTLS aktiviert.
Eine Analyse mit TestSSL zeigt (siehe Anhang), dass der Server SSLv3 anbietet.
Dieses Protokoll wird schon seit längerem als unsicher gesehen.
Für TLS 1.0 und 1.1 gilt das schon beim Webserver Beschriebene.
\\[2ex]
\textbf{Informationssicherheit:}
\begin{itemize}
\item Confidentiality: SSLv3 kann die Vertraulichkeit der Daten bei Übertragung nicht mehr gewährleisten.
Bei den älterene TLS Versionen ist dies auch nur bedingt der Fall.
\item Integrity: Wie bei der unverschlüsselten Übertragung kann auch hier die Integrität der Daten nur mit funktiostüchtiger Kryptogrfie sichergestellt werden.
\item Availability: Die Veränderung der Daten kann auch die Verfügbarkeit des Services beeinträchtigen.
\end{itemize}
\textbf{Handlungsempfehlung:}\\
Wie beim Webserver sollte auch für den SMTP-Service die Verschlüsselung auf den Stand der Technik gebracht werden.
\subsubsection{Mailserver auf \texttt{sternwarte.at}}
Im Errorlog des Webservers ist am 28. Jänner ein Fehler des internen Mailservers aufgetreten:
\lstinputlisting[caption=Fehler des Mailservers auf \texttt{sternwarte.at}, linerange={166-188}]{resources/200131-error.log}
Dies dokumentiert die Funktion des Services für \url{sms.zivilschutz-ooe.at}.
Der DNS-Eintrag für diese Domain zeigt auf 85.126.106.150, was die \emph{benachbarte} IP-Adresse zu \url{sternwarte.at} ist.
Es ist nicht nachvollziehbar, warum diese Fehlermeldung im error.log der Sternwarte-Website auftritt.
Am wahrscheinlichsten ist, dass hinter beiden IPs der selbe Server läuft und es keine Trennung der Services voneinander gibt.
\\[2ex]
\textbf{Informationssicherheit:}
\begin{itemize}
\item Confidentiality: Die Anzeige von Fehlern eines komplett unabhängigen Services darf nicht passieren.
\item Integrity: Schwachstellen fremder Services wirken sich auf die Integrität des Webauftritts der Sternwarte Linz aus.
\item Availability: Die gleichen Schwachstellen können auch die Verfügbarkeit des Webauftritts beeinträchtigen.
\end{itemize}
\textbf{Handlungsempfehlung:}\\
Trennung des Services für die Sternwarte von den anderen, die auf diesem Server zurzeit laufen.
\section{Zusammenassung}
Im Folgenden sind die wichtigsten Handlungspunkte zusammengefasst:
\begin{itemize}
\item Software aktualisieren
\item Webauftritt nur über TLS anbieten und die TLS-Konfiguration auf Stand der Technik bringen
\item FTP-Server durch SFTP ersetzen
\item TLS-Konfiguration am Mailserver auf den Stand der Technik anpassen
\item Trennen der Inhalte der unterschiedlichen Webauftritte.
Alle Inhalte von \url{sternwarte.at} sollten auf einem eigenen System gehostet werden und sich mit anderen Inhalten nicht überschneiden.
\end{itemize}
\appendix
\section{TestSSL Ergebnisse der Mailserver}
\lstinputlisting[caption=TestSSL Ergebnis für \texttt{nihal.mag.eu}]{resources/200219-testssl-nihal.log}
\lstinputlisting[caption=TestSSL Ergebnis für \texttt{mizar.mag.eu}]{resources/200219-testssl-mizar.log}
\end{document}