Authentifizierung

Pentest stellt Authentifizierungsverfahren auf die Probe

Inhalt

Mittels Authentifizierung kann ein Benutzer seine Identität gegenüber einem System nachweisen. Hierzu legt der Benutzer dem System einen Nachweis vor, der für das System verifizierbar ist. Das heißt, das System muss, über die nötigen Informationen verfügen, um die Identität zweifelsfrei bestätigen zu können.

Die gängigste Methode zur Authentifizierung stellt die Kombination aus Benutzernamen und Passwort dar, die der Benutzer eingeben muss und die vom System auf ihre Richtigkeit überprüft werden. System wie Benutzer haben so ein gemeinsames Geheimnis.

Authentifizierungsverfahren stellen sicher, dass nur berechtigte Personen bzw. Systeme auf die entsprechenden Daten und Funktionen zugreifen können. Gelingt es einem Hacker, die Authentifizierung auszuhebeln, kann er daher häufig großen Schaden anrichten. Nicht selten wird es Hackern aber sehr einfach gemacht, da geeignete Authentifizierungsverfahren vollständig fehlen oder schlecht konfiguriert sind. In der Folge liegen sensible Daten für jeden erreichbar auf Servern. So geschehen mit Millionen von Patientendaten von Patienten unter anderem aus Deutschland und den USA, wie 2019 aufgedeckt wurde.

In der Discovery-Phase des automatisierten Penetrationstest von Enginsight werden die eingesetzten Authentifizierungsverfahren geprüft. Dabei werden die Services FTP, MySQL, MongoDB und telnet unter die Lupe genommen. Was genau die Pentest-Komponente Hacktor dabei einem Checking unterzieht, erfahren Sie im Folgenden.

FTP

Das File Transfer Protocol (FTP) ist ein Protokoll zur Übertragung von Dateien über IP-Netzwerke. Mit ihm können Dateien vom Client zu Server, vom Server zum Client oder clientgesteuert zwischen zwei FTP-Servern übertragen werden. Es können Verzeichnisse angelegt, ausgelesen und Dateien wie Verzeichnisse umbenannt oder gelöscht werden.

FTP erlaubt es einen Anonymous-Zugang einzurichten, der es allen Benutzern, auch ganz ohne Authentifizierung, ermöglicht, auf den FTP-Server zuzugreifen. Ob Anonymous FTP Sessions erlaubt werden sollten, hängt von den auf dem Server gelagerten Daten ab. Viele Universitäten setzen beispielsweise auf anonyme FTP-Server, um Daten, etwa freie Software, zum Download anzubieten. Ein anonymer Zugang zu FTP-Netzen kann also gewollt sein. Diese Entscheidung sollte aber stets bewusst gefällt werden. Zudem muss ein besonderes Augenmerk auf die Ausführungs- und Zugriffsrechte gelegt werden.

Hacktor prüft daher, ob ein Anonymous-Zugang möglich ist:

ftpAnonymous FTP SessionAnonymous FTP erlaubt einen freien Zugriff für alle Besucher auf die FTP-Verzeichnisse. Prüfen Sie, ob das notwendig ist und die Lese- und Schreibrechte korrekt konfiguriert sind.

MongoDB

MongoDB ist die am weitesten verbreitete NoSQL-Datenbank. Sie ist auf hohe Leistung, große Datenmengen, hohe Flexibilität sowie einfache Skalierbarkeit ausgelegt. Möglich wird dies, da (im Gegensatz zu beispielsweise MySQL) die Dokumente über kein festes Schema verfügen und auf die Abfragesprache SQL verzichtet wird.

Bei der Installation von MongoDB wird häufig auf die Etablierung von Authentifizierungs-Verfahren verzichtet. Deshalb sind viele Mongo-Datenbanken im Einsatz, die einen anonymen Zugriff erlauben. Besonders kritisch ist dies, da der Benutzer über alle Privilegien verfügt.

Hackor prüft MongoDB deshalb auf einen anonymen Login:

mongodbAllows anonymous loginWenn eine MongoDB erstellt wird, sind keine Authentifizierungs-Mechanismen aktiv und der Nutzer hat alle Privilegien. Um die Sicherheit der mongodb zu erhöhen, sollte ein anonymer Zugang deaktiviert sein.

MySQL

MySQL ist eines meistgenutzten relationalen Datenbankverwaltungssysteme und findet insbesondere bei dynamischen Webseiten Verwendung. Auch große Webangebote wie YouTube, Facebook oder Twitter setzen auf MySQL, um ihre großen Datenmengen zu speichern.

In MySQL-Datenbanken liegen häufig wertvolle Daten und ihr reibungsloser Betrieb ist Voraussetzung dafür, dass die Webseiten funktionieren. Es sollte daher gründlich darauf geachtet werden, dass Unbefugte keinen Zugriff auf die Datenbank besitzen.

Es lassen sich bei MySQL anonyme Benutzer zulassen sowie Nutzer anlegen, die über kein Passwort verfügen. Diese Funktionen können zwar hilfreich für Tests oder das Einrichten der Datenbank sein, sollten in produktiven Umgebungen aber tunlichst vermieden werden. Auch ein öffentlicher Remote-Zugriff sollte nur eingeschränkt möglich sein.

Hacktor unterzieht MySQL-Datenbanken mehreren Checks:

mysqlAnonymous connection from root userEine nicht passwortgeschützte Verbindung als Administrator (mit Root-Rechten) ist möglich. Vergeben Sie ein Passwort.
mysqlAnonymous User foundMit einem anonymen Benutzer kann sich jeder in MySQL einloggen, ohne dass für ihn ein Benutzerkonto angelegt werden muss. Ein solcher Benutzer wird manchmal standardmäßig für Testzwecke bei der Installation angelegt und sollte entfernt werden, sobald Sie die Datenbank produktiv einsetzen.
mysqlUser found without passwordFür jeden Benutzer der MySQL-Datenbank sollte ein sicheres Passwort festgelegt werden.
mysqlUser found with remote access from any hostStandardmäßig ist ein öffentlicher Remote-Zugriff auf MySQL aus Sicherheitsgründen deaktiviert. Falls nötig, können Sie einen Remote-Zugriff einrichten. Dieser sollte jedoch auf bestimmte IP-Adressen eingeschränkt sein.

Telnet

Telnet war lange Zeit der Standard, um einen Remote-Zugriff auf entfernte Server oder Clients zu ermöglichen. Da telnet über keine verschlüsselte Verbindung nutzt, wird es heute dafür kaum noch eingesetzt. Eine sichere Alternative stellt SSH dar. Sollte telnet dennoch verwendet werden, muss zumindest ein Verfahren zur Authentifizierung eingesetzt werden:

telnetNo Authentication RequiredTelnet ist aufgrund seiner nicht fehlender Verschlüsselung nicht mehr zeitgemäß und sollte möglichst nicht mehr verwendet werden. Sollten Sie dennoch Telnet einsetzen, muss in jedem Fall eine Authenfizierungs-Methode genutzt werden.

Ein umfangreicher Härtetest für Ihre gesamte IT

Der Funktionsumfang des automatisierten Pentests von Enginsight geht weit über den Test von Systemprivilegien hinaus. Er beinhaltet Bruteforce-Attacken (bspw. auf FTP, MySQL, Mongo DB…) und einen netzwerkseitigen Schwachstellenscan nach CVEs. Außerdem prüft er verschlüsselte Verbindungen, falsche Privilegien-Zuordnungen, geöffnete Ports und vieles mehr.

Worauf warten Sie noch? Legen Sie sich einen kostenlosen Account an und sehen Sie, ob Ihre IT einem Hackerangriff standhält.

Eine komplette Auflistung aller Funktionen des Pentest von Enginsight erhalten Sie in der Dokumentation.

Verwandte Beiträge:

Klicke den Bearbeitungs-Button um diesen Text zu verändern. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.

jQuery(window).load(function() { jQuery.each( elementorFrontend.documentsManager.documents, ( id, document ) => { if ( document.getModal && id == 4611) { // It's a popup document document.getModal().on( 'show', () => { console.log( 'src="https://cdn.pipedriveassets.com/web-form-assets/webforms.min.js' ); } ); } }); });

100% Eigenentwicklung, Made in Germany.