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.
 
 

96 lines
4.3 KiB

\documentclass[12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[naustrian]{babel}
\usepackage[T1]{fontenc}
\usepackage[paper=a4paper, left=25mm, right=25mm, top=25mm,
bottom=22mm]{geometry}
\usepackage{fancyhdr}
\usepackage{listings}
\usepackage{eurosym}
\usepackage{multirow}
\usepackage{url}
\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{\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}
Es wurden für diesen Bericht nur öffentlich einsehbare Daten verwendet.
Es wurden keine verschlüsselten oder durch Passwort geschützten Daten kopiert oder verwendet.
\section{Zusammenfassung}
Tests wurden im Zeitraum von 15. Jänner 2020 bis 3. 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.
Dies ist meiner Ansicht nach mit der aktuellen Version der DSGVO nicht vereinbar.
Auch der Admin-login ist unverschlüsselt und kann daher sehr einfach in einem überwachten Netzwerk abgefangen werden.
Eine Verschlüsselung mit TLS1.2 oder höher in Kombination mit einem Zertifikat von Let's Encrypt löst dieses Problem effektiv.
\item Unauthentifiziert einsehbare Log-Datei, die Server-Fehler ausgibt:
\begin{itemize}
\item Nicht gefundene Dateien,
\item Fehlercodes der CGI-Skripte
\item Fehler von anderen Webseiten, die auf diesem Host betrieben werden
\item Fehler des SMTP-Servers auf diesem Host
\end{itemize}
Der unauthentifizierte Zugriff auf diese und weitere Dateien MUSS verhindert werden.
\item CGI Skripts können direkt ausgeführt werden und über die log-Datei können auch weitere Skripte gefunden werden.
Auch hier sollten Maßnahmen getroffen werden, die den Zugriff nur über ausgefüllte Formulare zulassen.
\item Der FTP-Server ist auf dem Standardport verfügbar und es ist mutmaßlich verwundbar auf Bruteforce-Attacken.
Einerseits sollte auch hier der Zugang verschlüsselt werden, etwa mit FTP over SSH\@.
Gegen Bruteforce-Attacken helfen zusätzlich Fail2ban und Public Keys statt Passwörtrn.
Dies müssen die verwendeten Anwendungen aber unterstützen.
\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.
Dazu muss die Webseite selbst angepasst werden, um nicht versehentlich aus dem vorgesehenen Arbeitsverzeichnis rauszufallen bzw.\@ das Laden externer Frames zu verhindern.
\item Die verwendete Software (4D Webstar 2004) ist mittlerweile über 15 Jahre alt.
Es gibt zwar keine bekannten Bugs, jedoch sollte es nicht schwierig sein, mit heutigen Mitteln welche zu finden.
Deshalb wird dringend empfohlen, den werwendeten Software-Stack auf eine gut gewartete, aktuelle Basis zu stellen.
Populäre Lösungen sind dafür ein aktuelles Linux mit Apache oder Nginx und den gewünschten Erweiterungen für Datenbanken und Skripting.
\end{enumerate}
\section{Methodik}
\subsection{Informationsgewinnung}
\subsection{Verwendete Programme}
\section{Erkenntnisse}
\end{document}