Bei ordnungsgemäßer Ausführung kann dies eine nützliche Ergänzung Ihres Sicherheitsprotokolls sein. Ich würde jedoch sehr zögern, es zu verwenden, um einen bereits vorhandenen Faktor in Ihrer Authentifizierung zu ersetzen, da IP-Adressen keine geheimen Informationen sind (Sie geben sie an jede Website weiter, die Sie besuchen) und abhängig davon, wie / wo Sie die IP abrufen Adresse von, könnte trivial zu fälschen sein. Wenn Sie jedoch die IP-Adresse einer TCP-Verbindung in Verbindung mit beispielsweise einem gespeicherten sicheren Nur-http-Cookie verwenden, können Sie eine gewisse Sicherheit hinzufügen. Insbesondere würden Sie das Cookie ungültig machen, wenn sich die IP-Adresse ändert (was sich aus harmlosen Gründen ändern kann, z. B. wenn Ihr ISP Ihre IP neu zuweist) sowie aus böswilligen Gründen (der Angreifer hat Ihr Cookie erhalten).
As Ladadadada sagte, IP-Adressen in TCP-Verbindungen seien nicht mehr leicht zu fälschen. TCP erfordert ein Handshake-Verfahren, um eine zufällige 32-Bit-Sequenznummer vom Server abzurufen, bevor Sie Informationen austauschen können. Wenn Sie beim Starten des Handshake-Vorgangs eine völlig falsche zufällige IP-Adresse fälschen, werden die Pakete nicht über das Internet an Ihren Computer weitergeleitet, sodass Sie den Handshake nicht abschließen können. Es sei denn, Sie steuern Zwischenrouter beim ISP oder einen Computer in einem der gleichen lokalen Netzwerke, die die an eine andere Stelle gerouteten Pakete erfassen könnten. In diesem Fall könnten Sie zufällige IP-Adressen fälschen.
Wenn jedoch Wenn Sie eine Web-App entwerfen und die IP-Adresse aufzeichnen, müssen Sie vorsichtig sein. Angenommen, Sie haben eine Web-App mit zwei Webservern (z. B. einem für dynamischen Inhalt und einem für statischen) hinter einem Load Balancer oder einem anderen Proxy. Sie können durch Ausprobieren feststellen, dass die IP-Adresse des Clients nur im HTTP-Header X-Forwarded-For
vorhanden ist. Dieses Feld ist jedoch leicht zu ändern. Beispiel: telnet www.whatismyip.org 80
und geben Sie Folgendes mit / ohne X-Forwarded-For
für die Zeile ein (denken Sie daran, nach der letzten Zeile zweimal die Eingabetaste zu drücken, um dies anzuzeigen das Ende Ihrer HTTP-Anfrage).
GET / HTTP / 1.1
Host: www.whatismyip.orgX-Forwarded-For: 1.2.3.4
und Sie werden sehen, dass diese Web-App denkt, Ihre IP-Adresse hat sich in 1.2.3.4 geändert Code>. Testen Sie also gründlich. Insgesamt denke ich, dass dies mehr Arbeit ist als es wert ist, zumal es Benutzer frustrieren kann, deren IP-Adressen sich ziemlich häufig ändern.
BEARBEITEN: Nachdem ich dies geschrieben habe, wurde mir klar, dass ich die Titelfrage beantwortet habe (' Kann die IP-Adresse eine Komponente der 2-Faktor-Authentifizierung sein? "), aber nicht der spezifische Teil, der sich auf die SSH-Verwaltung bezieht. Ich würde sagen, der durch die SSH-Passphrase geschützte Schlüssel ist im Wesentlichen eine Zwei-Faktor-Authentifizierung: etwas, das Sie haben (der SSH-Schlüssel), und etwas Sie wissen (der Schlüssel der Passphrase).