Ich bin vor
drei Monaten auf eine
Diskussion über die Notwendigkeit gestoßen, den SSH-Port zu portieren. Viele Diskussionsteilnehmer sind davon überzeugt, dass der Port nicht auf einen nicht standardmäßigen Port übertragen werden muss.
Es reicht aus, zur Schlüsselautorisierung zu wechseln und Fail2ban zu installieren. Dies ist bereits eine Sicherheitsgarantie. Leider leben wir in einer realen und sich ständig verändernden Welt und die vorgeschlagenen Sicherheitsmaßnahmen reichen nicht mehr immer aus.
Mal sehen - die Schlüsselautorisierung ließ zwei relativ sichere SSH-Schlüssel übrig - RSA-4096 und ED25519, DSA-Schlüssel sind in den neuesten Versionen von OpenSSH nicht mehr enthalten. In diesem Fall muss man das Vorhandensein einiger Zweifel an der Zuverlässigkeit von ED25519, Google, im Internet berücksichtigen, um zu helfen, wenn jemand interessiert ist.
Zusätzlich zu den Schlüsseln wird für Ihre Schlüssel eine ziemlich lange Passphrase aus zufälligen Zeichen empfohlen, zumindest in unterschiedlichen Groß- und Kleinschreibung und Zahlen.
Brute-Force-Angriffe - Lassen Sie uns kurz sehen, was passiert, wenn Ihr Host gezielt angegriffen wird.
Stufe 1 - Sammlung von Hostinformationen, einschließlich offener Ports
Diese Sammlung von Informationen spiegelt sich bei weitem nicht immer in Ihren Protokollen wider. Beispielsweise kann das Scannen von Ports ohne Herstellen einer Verbindung erfolgen. Fail2ban ist hier nutzlos, es funktioniert nur bei Protokolleinträgen. In der ersten Phase können auch installierte Schutzsysteme überwacht werden. Beispielsweise wird die Anzahl der Autorisierungsversuche vor dem Blockieren, die Blockierungszeit bestimmt.
Stufe 2 - Versuche, durch Hacken von SSH auf das System zuzugreifen
Botnets mit Tausenden von Adressen werden zum Hacken verwendet, und beim Scannen werden im einfachen Fall die Standardeinstellungen von Fail2ban von Hunderten und Tausenden von Adressen umgangen, wobei bei einem ernsthaften Scan die Einstellungen des Opferschutzsystems berücksichtigt werden. Fail2Ban ist auch hier nutzlos, insbesondere wenn sich SSH an Port 22 befindet und die Fail2Ban-Einstellungen standardmäßig beibehalten werden.
Auf meinem externen Perimeter eines der Server sind alle Ports geschlossen, aber in ein paar Tagen versuchen bis zu mehreren tausend Hosts, eine Verbindung zu Standardports herzustellen. Darüber hinaus berücksichtigt das Scannen mögliche Schutzmaßnahmen, Pakete von einer Adresse werden in der Regel in einem Intervall von mehreren Minuten gesendet.
Natürlich kann Fail2ban zum Schutz einiger anderer Dienste mit nicht standardmäßigen Einstellungen für Ihre Hosts und Dienste wirksam sein.
Aus irgendeinem Grund scheint es immer so, als ob die zweite Stufe die gefährlichste ist. Tatsächlich sucht die erste Stufe nach möglichen Schwachstellen auf dem Host. Sie können viel gefährlicher sein als eine einfache Brute-Force-SSH. Warum SSH brechen, wenn eine offene Tür mit Sicherheitslücke in der Nähe ist?
Was das Ändern des Standardports
betrifft , gibt es kürzlich eine
BestPractic- Überprüfung
zur SSH-Sicherheit , bei der das Ändern des Standardports 8 Punkte kostet, die Schlüsselautorisierung das erste Element ist und die Installation von Fail2ban oder Analoga 10 Punkte.
Top 20 OpenSSH Server Best Security Practices .
Wenn Sie den SSH-Port auf einen Nicht-Standard-Port umstellen, können Sie Standard-Ports als Trap für die Verfolgung von Scan-Versuchen verwenden und empfangene IP-Adressen für eine lange Zeit blockieren. Für alle Ports sind dies 11 Punkte im BestPractic-Artikel. Natürlich müssen weiße Adressen angegeben werden, um keine zufällige Sperre zu erhalten. Dies sind 7 und 8 Punkte im BestPractic-Artikel.
Dadurch erhöhen wir die Kosten für das Sammeln von Informationen über unser System. Informationen über offene Ports kosten mehrere tausend IP-Adressen oder Monate, um unser System zu scannen. Wenn mein SSH-Port dem potenziellen Angreifer nicht bekannt ist, kann er ihn nicht verwenden, auch wenn eine Sicherheitsanfälligkeit auftritt.