In der Welt der IT-Sicherheit gibt es eine Vielzahl von Werkzeugen und Techniken, um sensible Systeme vor unerwünschten Zugriffen zu schützen. Eine weniger bekannte, aber äußerst effektive Methode ist das sogenannte "Port Knocking". Dies ist eine Sicherheitstechnik, bei der eine bestimmte Folge von Netzwerkpaketen an eine Firewall oder ein Netzwerkgerät gesendet wird, um den Zugriff auf bestimmte Ports zu ermöglichen. Diese Sequenz von Paketen fungiert praktisch als "Geheimcode", der es autorisierten Benutzern erlaubt, auf geschützte Dienste zuzugreifen, während unautorisierten Benutzern der Zugriff verwehrt bleibt. Port Knocking stellt eine Kombination aus "Security by Obscurity" und einer Pre-Authentifizierung dar. Im übertragenen Sinne kann man sich das Sicherheitsprinzip von Port Knocking als eine Art Mauer vorstellen, welche eine dahinterliegende Tür verbirgt.
Die Firewall eines Systems, welches Port Knocking verwendet, blockt per Default Policy alle eingehenden Verbindungen. Die grundlegende Funktionsweise von Port Knocking besteht nun darin, dass ein Benutzer oder ein Skript eine definierte Sequenz von Verbindungsanfragen (TCP oder UDP) an das System sendet. Diese Verbindungsanfragen zielen normalerweise auf nicht verwendete Ports ab und erfolgen in einer spezifischen Reihenfolge, die als "Knock-Sequenz" bezeichnet wird. Beim Senden der Knock-Sequenz antwortet der Server aber nicht. Die Ports, an welche die Sequenzen gesendet werden, scheinen alle geschlossen zu sein. Auf dem Server registriert eine spezielle Software aber alle Verbindungsversuche. Sobald das System die richtige Knock-Sequenz erkennt, öffnet es automatisch die zuvor gesperrten Ports für den Benutzer bzw. die anfragende IP-Adresse. In der Regel sind die Ports für den Benutzer dann eine bestimmte Zeit geöffnet, bevor sie nach einer festgelegten Zeit wieder geschlossen werden.
Port Knocking verbirgt die vorhandenen Services, da die Ports standardmäßig geschlossen sind und nur durch die richtige Knock-Sequenz geöffnet werden können. Dadurch wird es für potenzielle Angreifer sehr schwierig, die Dienste zu identifizieren und gezielte Angriffe durchzuführen. Angreifer können so nicht ohne Weiteres die Verfügbarkeit der Services oder deren Sicherheit gefährden. Denial-of-Service-Anfragen erreichen so zwar noch immer das System, werden aber von richtig konfigurierten Systemen ignoriert und beeinträchtigen keine wichtigen Services. Schwachstellen oder Fehlkonfigurationen in den Services sind durch Port Knocking außerdem weit weniger schwerwiegend. Tauchen 0-Day-Exploits für entsprechende Anwendungen auf, können die Schwachstellen, ohne zusätzlich die Knock-Sequenz zu kennen, nicht ausgenutzt werden.
Da SSH ein Service ist, der direkten Zugang zum System ermöglicht, eignet sich dieser Dienst hervorragend für Demonstrationszwecke. Als Serverbetriebssystem wird Linux verwendet. Die Software, welche serverseitig die Verbindungsanfragen auswertet und gegebenenfalls die Ports für den anfragenden Client in der Firewall freigibt, ist unter Linux standardmäßig der Daemon "knockd".
Hat ein Client noch kein Port Knocking initiiert, so erscheint der SSH-Port als geschlossen. Zu sehen ist dies an einem klassischen Nmap-Scan, welcher vom Clientsystem durchgeführt wird.
Nun führt der Benutzer Port Knocking durch. Unter Linux ermöglich dies der "knock"-Client.
Bei einem erneuten Nmap-Scan erscheint der SSH-Port nun als offen.
Eine Anmeldung am SSH-Dienst wäre nun für eine bestimmte Zeit möglich.
Port Knocking präsentiert sich als eine innovative Sicherheitstechnik, die dazu beitragen kann, sicherheitskritische Dienste vor unautorisierten Zugriffen zu schützen. Es ist jedoch wichtig zu betonen, dass Port Knocking keine bahnbrechende Erfindung der jüngsten Zeit ist. Port Knocking hat seinen Ursprung in den frühen 2000er Jahren und wurde von Martin Krzywinski bereits im Jahr 2003 im "SysAdmin"-Magazin vorgestellt. Seitdem hat sich diese Technik als nützliches Werkzeug in den Werkzeugkästen von Netzwerkadministratoren und Sicherheitsexperten etabliert. Die Idee, den Zugriff auf Dienste durch eine verborgene "Geheimcode"-Sequenz zu steuern, hat sich als robuste Sicherheitslösung erwiesen. Wie jedes System hat aber auch Port Knocking seine Schwächen. Wird die Knock-Sequenz von einem Angreifer aufgezeichnet und als solche identifiziert, so kann er diese anschließend selbst verwenden. Es ist wichtig zu beachten, dass Port Knocking nicht als alleinige Sicherheitslösung betrachtet werden sollte, sondern vielmehr als Teil eines umfassenderen Sicherheitsansatzes. Durch die Kombination mehrerer Sicherheitstechniken können Organisationen ein robustes Verteidigungssystem aufbauen, um ihre sensiblen Systeme und Daten zu schützen.
10.09.2024
- 12.09.2024
Hack3: Angriffe auf Windows-basierte Netzwerke
16.09.2024
Secu4: IT-Recht und Datenschutz für IT-Verantwortliche
17.09.2024
- 18.09.2024
SySS auf der IKT in Wien
17.09.2024
- 18.09.2024
Hack6: Mobile Device Hacking
Ihr direkter Kontakt zu SySS +49 (0)7071 - 40 78 56-0 oder anfrage@syss.de | IN DRINGENDEN FÄLLEN AUSSERHALB DER GESCHÄFTSZEITEN +49 (0)7071 - 40 78 56-99
Als Rahmenvertragskunde wählen Sie bitte die bereitgestellte Rufbereitschaftsnummer
Ihr direkter Kontakt zu SySS +49 (0)7071 - 40 78 56-0 oder anfrage@syss.de
IN DRINGENDEN FÄLLEN AUSSERHALB DER GESCHÄFTSZEITEN +49 (0)7071 - 40 78 56-99
Als Rahmenvertragskunde wählen Sie bitte die bereitgestellte Rufbereitschaftsnummer
Direkter Kontakt
+49 (0)7071 - 40 78 56-0 oder anfrage@syss.de
IN DRINGENDEN FÄLLEN AUSSERHALB DER GESCHÄFTSZEITEN
+49 (0)7071 - 40 78 56-99
Als Rahmenvertragskunde wählen Sie bitte die bereitgestellte Rufbereitschaftsnummer