Kann der Serveradministrator sehen, was ich über SCP kopiere?

31

Angenommen, ich verbinde mich über SCP mit einem Server und kopiere einige Dateien vom Remote-Server auf meinen Heimcomputer. Können die Serveradministratoren feststellen, dass ich etwas kopiert habe, sehen, was kopiert wurde, oder wissen, wer es kopiert hat?

Kironide
quelle
2
verwenden sftp. Möglicherweise wird es protokolliert, es ist jedoch nicht eindeutig als Prozesstitel von sichtbar scp.
Jakuje
2
Vermutlich nur eine Frage der Änderung der Protokollebene auf dem Server? Hab nicht nachgesehen.
Jcaron
14
Ich würde immer annehmen, dass alles genau beobachtet und protokolliert wird, wenn Sie nicht die Kontrolle über den Server haben.
Axk
3
Serveradministratoren können alles sehen, was Sie auf ihrem Server tun. Das ist ein bisschen impliziert durch den Begriff "admin". Die Frage ist nur, ob sie tatsächlich aufpassen oder aufpassen.
Ajedi32

Antworten:

31

Eine ServerFault-Frage ist damit fast identisch. Hoffentlich hast du es überprüft, bevor du deine Frage postest, aber deine ist etwas anders, also werde ich hier antworten.

Die kurze Antwort lautet: Wenn JEMAND Zugriff auf einen Endpunkt (das System, von dem aus Sie sich befinden scpoder scpzu dem Sie sich befinden) und über die entsprechenden Berechtigungen verfügt , kann er sehen, was passiert. Wenn sie keinen Zugriff auf einen der Endpunkte haben, haben sie wahrscheinlich keinen Zugriff auf das, was Sie tun, oder können es nicht entschlüsseln (abgesehen davon, dass sie die Anwendung möglicherweise anhand der Protokollnummern kennen).

Die Antwort hängt letztendlich stark von Ihrer Infrastruktur ab. Am wahrscheinlichsten ist es jedoch, dass Ihr Datenverkehr unbemerkt bleibt, solange keine intensive Überwachung stattfindet und SCP nicht als Bedrohung im Unternehmen eingestuft wird (was rote Fahnen auslöst). Dies gilt insbesondere für kleinere Unternehmen.

Wie @SimonRichter bereits erwähnt hat : Wenn jemand einen Befehl auf Ihrem System ausführen kann (z. B. admin oder andere), kann er Ihre Prozessliste überprüfen und die Befehlszeile anzeigen scp -args /filepath/. Dies setzt jedoch voraus, dass sie entweder alle Prozessaktivitäten protokollieren oder sie zum Zeitpunkt der Übertragung überprüfen. Wenn Sie es von Ihrem eigenen System bei der Arbeit auf ein anderes System übertragen (z. B. zu Hause oder anderswo), haben sie diese Sichtbarkeit nicht unbedingt.

Zusätzlich, wie @ alex.forencich erwähnt: Es ist auch möglich, alle Systemaufrufe (einschließlich der Aufrufe zum Öffnen und Lesen von Dateien) zu protokollieren, selbst wenn Ihr Kopierprogramm (scp, sftp usw.) keine Protokolle oder Datenverluste (Befehlszeilenargumente) aufweist ) ist es immer noch möglich herauszufinden, welche Dateien gelesen oder geschrieben wurden. Siehe das Linux-Audit-System. -

Abraxas
quelle
Es ist auch möglich, alle Systemaufrufe (einschließlich der Aufrufe zum Öffnen und Lesen von Dateien) zu protokollieren. Selbst wenn Ihr Kopierprogramm (scp, sftp usw.) keine Protokolle erstellt oder Daten verliert (Befehlszeilenargumente), ist es dennoch möglich, dies herauszufinden welche Dateien wurden gelesen oder geschrieben. Siehe das Linux-Audit-System.
alex.forencich
Danke @ alex.forencich, ich füge deinen Kommentar zur Antwort hinzu!
Abraxas
33

Nicht nur der Administrator.

Zum Testen habe ich gerade /binvon meinem Server in ein temporäres Verzeichnis auf meinem Laptop kopiert . psauf dem Server zeigt

$ ps 24096
  PID TTY      STAT   TIME COMMAND
24096 ?        Ss     0:00 scp -r -f /bin

Diese Informationen sind im Allgemeinen für alle Benutzer zugänglich.

Simon Richter
quelle
6
Für Kernel> = 3.2 deaktiviert (erneutes) Mounten /procmit Option hidepid=2diese Option .
heemayl
"Diese Informationen sind im Allgemeinen für alle Benutzer zugänglich." Huh, wirklich? Alle Benutzer können sehen, was alle anderen Benutzer tun? Ich habe es nicht ausprobiert, aber das erscheint mir unwahrscheinlich. Selbst unter Windows können Sie nur Ihre eigenen Prozesse sehen (es sei denn, Sie sind Administrator und klicken auf eine spezielle Schaltfläche für Administratoren).
Leichtigkeit Rennen mit Monica
@PreferenceBean, ja, aber das ist die Standardeinstellung. Abhängig davon, wie der Administrator die umask- Einstellung eingerichtet hat, können standardmäßig auch die privaten Verzeichnisse anderer Personen gelesen werden.
Simon Richter
Informationen wie diese über einen anderen Benutzer zu zeigen, klingt nach einer höchst dummen Voreinstellung.
CodesInChaos
@CodesInChaos, das ist eine alte Entscheidung, die für eine Zeit getroffen wurde, in der Menschen den Computer gemeinsam nutzen mussten. Es ist also am besten, wenn Sie leicht erkennen können, wer die CPU überlastet und warum, damit Sie mit ihnen sprechen können. Heutzutage stört im Allgemeinen niemand mehr, da sich nur sehr wenige Benutzer bei freigegebenen Computern anmelden.
Simon Richter
12

scpfunktioniert mit Hilfe von Code, der auf dem Server ( sshdund auf sich scpselbst) ausgeführt wird. Dieser Server-Code liegt theoretisch vollständig in der Kontrolle des Server-Administrators, und die Version, scpdie auf dem Server ausgeführt wird, um die Datei über die Verbindung zu Ihnen aufzuschreiben, unterscheidet sich von der Version, scpdie auf Ihrem Computer ausgeführt wird, um die Anforderung auszustellen.

Ein Administrator des Servers kann beispielsweise scpden Server durch eine Version ersetzen, in der alle Anforderungen protokolliert werden, so wie ein Webserver Protokolle schreiben kann. Dann konnten sie in diesen Protokollen genau sehen, was Sie kopiert haben.

Ob sie das Fachwissen und die Motivation haben, dies tatsächlich zu tun, ist weniger sicher, aber wenn sie es wollen, dann gibt es im Prinzip nichts, was sie daran hindert.

Ich denke, diese Fragen sind Begleiter für Sie: https://security.stackexchange.com/questions/14782/is-there-an-easy-way-to-see-a-log-of-scp-activity-on-a -server-ala-var-log-secu , https://askubuntu.com/questions/659896/where-would-you-find-scp-logs

Obwohl ich alle die Details nicht kennen, scheint es , dass gerade aus der Box scpund sshd nicht Optionen müssen sich anmelden , was Sie sind zu fragen. Vielleicht ist mehr erforderlich als eine einfache Konfiguration, aber Sie können nicht davon loskommen, dass Administratoren den Server steuern.

Steve Jessop
quelle
10

Alles, was unverschlüsselt durch den Speicher eines Computers gelangt, kann von einem ausreichend privilegierten Benutzer auf diesem Computer gelesen oder geändert werden.

Auf die Namen der ausgeführten Prozesse und die Befehlszeile, mit der sie gestartet werden, kann jeder angemeldete Benutzer unter Linux zugreifen. (Für Neugierige ist dies unter Windows nicht der Fall.) Daher kann der Administrator oder jeder andere, der gerade in der Nähe ist, sehen, welche Dateien Sie kopiert haben. Darüber hinaus ist es dem Administrator durchaus möglich, eine Art Dateizugriffsprotokoll einzurichten oder das scpProgramm an einem Ende zu ersetzen / zu wackeln , um eine zusätzliche Protokollierung durchzuführen .

scpschützt Sie nur vor Netzwerkschnüfflern. Offensichtlich müssen beide Seiten die entschlüsselten Daten kennen, so dass ein erfahrener Administrator an einem der beiden Endpunkte die Möglichkeit hat, die Daten aus scpdem Speicher zu entfernen. Andere Lösungen, auch solche, die keine Befehlszeilen beinhalten, sind ebenfalls offen: Beide Seiten sftpwissen, was vor sich geht, sodass über die Speicherinspektion bestimmt werden kann, was sftpgerade gedacht / übertragen wird.

Ben N
quelle
6

Als Faustregel gilt, dass eine Person mit Root-Zugriff alles wissen kann (wenn sie sich die Mühe macht, dies zu überprüfen). Wahrscheinlich ist das Einzige, was verboten ist, ein zertifikatsverschlüsseltes Dateisystem.

Während des scpVorgangs wird auf der Remote-Seite ein Prozess geöffnet, der von jedem durch einfaches Aufrufen gesehen werden kannps . Wenn Sie es schaffen, die in der Prozessliste angezeigte Befehlszeile auszublenden, kann lsof(Liste der geöffneten Dateien) angezeigt werden, welche Dateien gerade berührt werden. Es ist so einfach, ich mache das tatsächlich, um zu beobachten, wie weit ein Kopierprozess ist, den ich gestartet habe, wenn ich den Prozess auf einem Terminal gestartet habe, das ich momentan nicht sehen kann (wo die Dateiliste ausgegeben wird).

Nach dem Vorgang kann ein schneller Scan mit finddie neuesten Dateien finden (wenn die Zeitstempel beim Kopieren nicht beibehalten wurden). Wenn in einer sshSitzung auf die Dateien zugegriffen oder diese berührt wurden , .bash_historyzeigt Ihr , was Sie getan haben (aber Sie können das löschen, wenn Sie möchten).

Wenn die Sicherheit sehr streng sein soll, können Sie jederzeit eine zusätzliche Überwachung einrichten: Sie können alle Dateiänderungen mit einem einfachen Daemon abhören und alles über lokale und entfernte Dateisystemtransaktionen protokollieren, was keine Rolle spielt. Es wäre keine Überraschung, alle vom Benutzer erzeugten Prozesse zu protokollieren . Wenn Sicherungen durchgeführt werden, werden die Dateien möglicherweise noch irgendwo gespeichert, nachdem Sie sie gelöscht haben.

orion
quelle
Als du geschrieben hast file, hast du gemeint find?
einen Lebenslauf vom
1

Die Serveradministratoren können jeden Datenverkehr überwachen, der auf ihren Server gelangt oder von ihrem Server abreist, sodass sie bei Bedarf problemlos den SCP-Datenverkehr überwachen und feststellen können, ob und welche Dateien Sie kopiert haben.

Micheal Johnson
quelle
"dass Sie Dateien kopiert haben" unterscheidet sich sehr von "was ich kopiere", wie vom OP angezeigt.
einen Lebenslauf vom
sie können das auch sehen
Micheal Johnson