Port Knocking: Die beste Sicherheit, die Sie auf Ihrem Computer oder Server haben können (Bereitstellung + Konfiguration) (2024)

Markante Häfen (auf Englisch Port klopfen) ist zweifellos eine Praxis, mit der jeder von uns, der Server verwaltet, vertraut sein sollte. Hier erkläre ich im Detail, was das ist und wie man es implementiert und konfiguriert 😉

Im Moment haben einige von uns, die einen Server verwalten, SSH-Zugriff auf diesen Server Ändern Sie den Standard-SSH-Port und es verwendet Port 22 nicht mehr und andere belassen es einfach so (was nicht empfohlen wird), jedoch ist auf dem Server der SSH-Zugriff über einen Port aktiviert und dies ist bereits eine „Sicherheitslücke“.

Mit Hafenklopfen wir können Folgendes erreichen:

1. Der SSH-Zugriff ist von keinem Port aktiviert. Wenn wir beispielsweise SSH für Port 9191 konfiguriert haben, wird dieser Port (9191) für alle gesperrt.
2. Wenn jemand über SSH auf den Server zugreifen möchte, ist dies natürlich nicht möglich, da Port 9191 geschlossen ist. Wenn wir jedoch eine „magische“ oder geheime Kombination verwenden, wird dieser Port geöffnet, zum Beispiel:

1. Ich telnet an Port 7000 des Servers
2. Ich mache ein weiteres Telnet zum Port 8000 des Servers
3. Ich mache ein weiteres Telnet zum Port 9000 des Servers
4. Der Server erkennt, dass jemand die geheime Kombination durchgeführt hat (in dieser Reihenfolge die Ports 7000, 8000 und 9000 berührt) und öffnet Port 9191 für die SSH-Anmeldeanforderung (er öffnet ihn nur für die IP, von der aus die Portkombination erfolgreich war).
5. Um nun SSH zu schließen, stelle ich einfach eine Telnet-Verbindung zu Port 3500 her
6. Ich werde noch einmal eine Telnet-Verbindung zu Port 4500 herstellen
7. Und zum Schluss noch ein Telnet zu Port 5500
8. Durch diese andere geheime Kombination, die der Server erkennt, wird Port 9191 wieder geschlossen.

Mit anderen Worten: Um es noch einfacher zu erklären ...

Mit HafenklopfenAuf unserem Server sind möglicherweise bestimmte Ports geschlossen, wenn der Server dies jedoch erkennt XIP wurde die richtige Portkombination vorgenommen (Konfiguration, die zuvor in einer Konfigurationsdatei definiert wurde) führt offensichtlich einen bestimmten Befehl auf sich selbst aus (Befehlauch in der Konfigurationsdatei definiert).

Es ist verständlich, nicht wahr? 🙂

Wie installiere ich einen Daemon für Port Knocking?

Ich mache es mit dem Paket gekockt, was es uns auf sehr, sehr einfache und schnelle Weise ermöglichen wird, es zu implementieren und zu konfigurieren Klopfen des Hafens.

Installieren Sie das Paket: knockd

Wie konfiguriere ich Port Knocking mit knockd?

Nach der Installation konfigurieren wir es weiter, dazu bearbeiten wir (als Root) die Datei /etc/knockd.conf:

nano /etc/knockd.conf

Wie Sie in dieser Datei sehen können, gibt es bereits eine Standardkonfiguration:

Die Erklärung der Standardeinstellungen ist wirklich einfach.

- Erste, BenutzeSyslogbedeutet, dass es zur Aufzeichnung der Aktivität (Protokoll) verwendet wird / var / log / syslog.
- Zweitens im Abschnitt [openSSH] Hierhin gehen natürlich die Anweisungen zum Öffnen von SSH. Zuerst haben wir die Reihenfolge der Ports (die geheime Kombination), die standardmäßig konfiguriert ist (Port 7000, Port 8000 und schließlich Port 9000). Natürlich können die Ports geändert werden (ich empfehle es tatsächlich) und es müssen nicht unbedingt 3 sein, es können mehr oder weniger sein, es liegt an Ihnen.
- Dritte, seq_timeout = 5 bedeutet die Zeit, die auf die Durchführung der geheimen Portkombination gewartet werden muss. Standardmäßig ist es auf 5 Sekunden eingestellt. Dies bedeutet, dass wir, sobald wir mit der Durchführung des Port-Knopfens beginnen (d. h. wenn wir eine Telnet-Verbindung zu Port 7000 herstellen), maximal 5 Sekunden Zeit haben, um die korrekte Sequenz abzuschließen. Wenn 5 Sekunden vergehen und wir das Port-Knocking noch nicht abgeschlossen haben, wird es einfach so sein, als ob die Sequenz nicht gültig gewesen wäre.
- ViertensBefehlbedarf keiner großen Erklärung. Dies ist einfach der Befehl, den der Server ausführt, wenn er die zuvor definierte Kombination erkennt. Der standardmäßig eingestellte Befehl besteht darin, Port 22 (ändern Sie diesen Port in Ihren SSH-Port) nur für die IP zu öffnen, die die richtige Portkombination erstellt hat.
- Fünftens tcpflags = synMit dieser Zeile geben wir die Art der Pakete an, die der Server als für Port Knocking gültig erkennt.

Dann gibt es noch den Abschnitt zum Schließen von SSH, dessen Standardkonfiguration nichts weiter ist als die gleiche Reihenfolge von Ports wie oben, jedoch in umgekehrter Reihenfolge.

Hier ist eine Konfiguration mit einigen Änderungen:

Wie starte ich den Knockd-Daemon?

Um es zu starten, müssen wir zunächst (als Root) die Datei ändern /etc/default/knockd:

nano /etc/default/knockd

Dort ändern wir Zeile Nummer 12, die besagt: „START_KNOCKD=0» und ändere diese 0 in eine 1, wir hätten: „START_KNOCKD=1«

Sobald dies erledigt ist, starten wir es einfach:

service knockd start

Und voilà, es ist bereits konfiguriert und funktioniert.

Port Knocking mit Knocked Up und Running!

Wie Sie in der vorherigen Konfiguration sehen können, wird bei einem Port-Knock auf Port 1000, dann auf 2000 und schließlich auf 3000 Port 2222 (mein SSH) geöffnet. Nun, hier ist ein anderer Computer, der den Port-Knock ausführt:

Sobald Sie bei Knock Nr. 1, bei Nr. 2 und schließlich bei Nr. 3 die Eingabetaste drücken, wird der Port geöffnet. Hier ist das Protokoll:

Wie Sie sehen können, wurde beim Klopfen von Port 1000 Stufe 1 registriert, dann wird Stufe 2000 Stufe 2 bei 3 und schließlich Stufe 3000 mit Stufe XNUMX. Dabei wird der Befehl ausgeführt, den ich in der .conf deklariert habe, und das war’s.

Um den Port zu schließen, müsste man dann nur 9000, 8000 und schließlich 7000 drücken, hier ist das Protokoll:

Und hier endet die Erklärung der Verwendung 😀

Wie Sie sehen können, ist Port Knocking wirklich interessant und nützlich, denn obwohl wir nicht einfach einen Port nach einer bestimmten Kombination von Ports öffnen möchten, kann der Befehl oder die Reihenfolge, die der Server ausführt, variieren, dh ... anstatt einen Port zu öffnen, den wir können Erklären Sie, einen Prozess abzubrechen, einen Dienst wie Apache oder MySQL zu stoppen usw. Die Grenze liegt in Ihrer Vorstellungskraft.

Port Knocking funktioniert nur, wenn Sie über einen physischen Server verfügen oder der virtuelle Server über KVM-Technologie verfügt. Wenn Ihr VPS (virtueller Server) OpenVZ ist, glaube ich nicht, dass Port Knocking für Sie funktionieren wird, da Sie iptables nicht direkt manipulieren können

Nun, und hier ist der Artikel ... Ich bin kein Experte auf diesem Gebiet, aber ich wollte diesen sehr interessanten Prozess mit Ihnen teilen.

Grüße 😀


Port Knocking: Die beste Sicherheit, die Sie auf Ihrem Computer oder Server haben können (Bereitstellung + Konfiguration) (2024)

References

Top Articles
Latest Posts
Article information

Author: Eusebia Nader

Last Updated:

Views: 6629

Rating: 5 / 5 (60 voted)

Reviews: 91% of readers found this page helpful

Author information

Name: Eusebia Nader

Birthday: 1994-11-11

Address: Apt. 721 977 Ebert Meadows, Jereville, GA 73618-6603

Phone: +2316203969400

Job: International Farming Consultant

Hobby: Reading, Photography, Shooting, Singing, Magic, Kayaking, Mushroom hunting

Introduction: My name is Eusebia Nader, I am a encouraging, brainy, lively, nice, famous, healthy, clever person who loves writing and wants to share my knowledge and understanding with you.