Wie kann ich meine IP vor Linux-Who-Befehlen verbergen

Wie kann ich meine IP vor Linux-Who-Befehlen verbergen

Ich bin ein Linux-Systemadministrator und werde mich bei jedem System meines lokalen Netzwerks anmelden. Ich möchte nicht, dass meine IP über den who-Befehl angezeigt wird. Wenn jemand beispielsweise Folgendes eingibt:

$ who

es verrät meine IP. Gibt es eine Möglichkeit, meine IP vor dem Linux-Befehl who zu verbergen?

[BEARBEITEN von chrips]

Dies ist wichtig für alle, die befürchten, dass ihre privaten Server gehackt werden könnten! Natürlich möchten Sie Ihre aktuelle private IP-Adresse vor einem Angreifer verbergen, damit dieser keinen Angriffspunkt auf Sie findet!

Antwort1

Am einfachsten könnte man die utmp-Logdateien nicht-weltweit lesbar machen. Dies wird sogar in derutmp-Manpage:

Im Gegensatz zu verschiedenen anderen Systemen, bei denen die utmp-Protokollierung durch Entfernen der Datei deaktiviert werden kann,utmp muss immer vorhanden seinunter Linux. Wenn Sie who(1) deaktivieren möchten, dannnichtmach UTMP zur Weltlesbar.

so was:

sudo chmod go-r /var/log/wtmp /var/run/utmp
who        # shows nothing, not even an error!
sudo who   # still works for root
rudi     :0           2017-04-18 19:08 (console)

Dadurch würde das whoÜberspringen von IP-Adressen nicht nur vollständig deaktiviert, sondern sogar ganz verhindert.

Eine andere Idee(Vielleicht ein bisschen albern) Um nur die IPs zu verbergen, könnte man den SSH-Server an einem anderen Port (1234) und nur auf dem lokalen Host lauschen lassen. Führen Sie dann einen „Proxy“ (socat, netcat) aus, um von public_ip:22 an localhost:1234 weiterzuleiten:

  1. SSH-Serverkonfiguration ändern, /etc/ssh/sshd_config:

    Hafen 1234

  2. Führen Sie einen Proxy auf dem SSH-Server-Computer aus:

    socat TCP-LISTEN:22,fork TCP:localhost:1234

Jetzt zeigen alle UTMP-Protokolle ( who, last) dieselbe und nutzlose Localhost-IP an.

Notizvielleicht könnten Ihre Benutzer die echten Verbindungen immer noch über sehen netstat. Anstelle des Userspace-Proxys ( socat) könnten Sie auch iptablesNAT- und MASQUERADING-Regeln für den eingehenden SSH-Verkehr einrichten. Oder Sie könnten immer einen zusätzlichen „SSH-Hop“ verwenden, um sich immer von derselben IP-Adresse aus anzumelden. Dies bleibt dem Leser als Übung überlassen. ;)

Antwort2

Das whoDienstprogramm analysiert die Daten in der /var/run/utmpDatenbank. Diese Datenbank wird aktualisiert, loginwenn Sie sich beim System anmelden (und auch von einer Reihe anderer Dienstprogramme, siehe man utmp), und die Daten werden dauerhaft in gespeichert, /var/log/wtmpwenn diese Datei vorhanden ist.

Diese Aufzeichnungen sind hilfreich, um herauszufinden, warum und wann ein System möglicherweise abgestürzt ist oder Fehlfunktionen aufwies, und sollten nicht geändert werden.

Die Antwort lautet also: Sie können dies nicht, ohne das Verhalten von whooder der Programme zu ändern, die in /var/run/utmpund schreiben /var/log/wtmp, oder indem Sie diese (binären) Dateien selbst ändern. Und das sollten Sie auch nicht tun, da dies das System potenziell 1) unsicher und 2) im Falle einer Fehlfunktion schwer diagnostizierbar machen würde.

verwandte Informationen