L'administrateur du serveur peut-il voir ce que je copie via SCP?

31

Supposons que je me connecte à un serveur via SCP et que je copie certains fichiers du serveur distant sur mon ordinateur personnel. Les administrateurs du serveur peuvent-ils dire que j'ai copié quelque chose, voir ce qui a été copié ou savoir qui l'a copié?

Kironide
la source
2
utiliser sftp. Il peut être enregistré, mais il n'est pas clairement visible comme le titre du processus scp.
Jakuje
2
Probablement juste une question de modification du niveau de journalisation sur le serveur? N'a pas vérifié.
jcaron
14
Je suppose toujours que tout est étroitement surveillé et enregistré si vous ne contrôlez pas le serveur.
axk
3
Les administrateurs de serveur peuvent voir tout ce que vous faites sur leur serveur; c'est un peu sous-entendu par le terme "admin". La seule question est de savoir s'ils prêtent réellement attention ou attention.
Ajedi32

Réponses:

31

Une question ServerFault est presque identique à celle-ci. J'espère que vous avez vérifié avant de poster votre question, mais la vôtre est un peu différente, je vais donc répondre ici.

La réponse courte est que si N'IMPORTE QUI a un accès et des autorisations à un point de terminaison (le système à scppartir duquel vous vous scpdirigez), il peut voir ce qui se passe. S'ils n'ont accès à aucun des points de terminaison, ils n'auront probablement pas accès à ou ne pourront pas déchiffrer ce que vous faites (à part connaître potentiellement l'application par les numéros de protocole).

La réponse est finalement très dépendante de votre infrastructure. Cependant, tant qu'il n'y a pas de surveillance intense et que SCP n'est pas considéré comme menacé dans l'entreprise (ce qui déclenchera des drapeaux rouges), votre trafic passera inaperçu. Cela est particulièrement vrai pour les petites entreprises.

Comme l'a mentionné @SimonRichter : si quelqu'un peut exécuter une commande sur votre système (c'est-à-dire admin ou autres), il peut vérifier votre liste de processus et voir la ligne de commande scp -args /filepath/. Cependant, cela nécessite qu'ils enregistrent toutes les activités de processus ou les vérifient au moment du transfert. De plus, si vous le faites de votre propre système au travail vers un autre système (par exemple à la maison ou ailleurs), ils n'auront pas nécessairement cette visibilité.

De plus, comme l'a mentionné @ alex.forencich: Il est également possible de consigner tous les appels système (y compris les appels de fichiers ouverts et lus), donc même si votre programme de copie (scp, sftp, etc.) ne consigne ni ne fuit quoi que ce soit (arguments de ligne de commande ), il est toujours possible de déterminer quels fichiers ont été lus ou écrits. Voir le système d'audit Linux. -

Abraxas
la source
Il est également possible de consigner tous les appels système (y compris les appels de fichiers ouverts et de lecture), donc même si votre programme de copie (scp, sftp, etc.) ne consigne ni ne fuit rien (arguments de la ligne de commande), il est toujours possible de comprendre quels fichiers ont été lus ou écrits. Voir le système d'audit Linux.
alex.forencich
Merci @ alex.forencich, j'ajoute votre commentaire à la réponse!
Abraxas
33

Pas seulement l'administrateur.

Pour les tests, je viens de copier /binde mon serveur vers un répertoire temporaire sur mon ordinateur portable. pssur le serveur montre

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

Ces informations sont généralement accessibles à tous les utilisateurs.

Simon Richter
la source
6
Pour le noyau> = 3.2, le (re) montage /procavec option hidepid=2désactive cela ..
heemayl
"Ces informations sont généralement accessibles à tous les utilisateurs." Huh, vraiment? Tous les utilisateurs peuvent voir ce que font tous les autres utilisateurs? Je ne l'ai pas essayé mais cela me semble peu probable. Même sous Windows, vous ne pouvez voir que vos propres processus (sauf si vous êtes administrateur et cliquez sur un bouton administrateur spécial).
Courses de légèreté avec Monica
@PreferenceBean, oui, mais c'est le paramètre par défaut. Selon la façon dont l'administrateur a configuré le paramètre umask , les répertoires personnels d'autres personnes peuvent également être lisibles par défaut.
Simon Richter
Afficher des informations comme celle-ci sur un autre utilisateur comme celui-ci ressemble à un défaut extrêmement stupide.
CodesInChaos
@CodesInChaos, c'est une vieille décision, prise à une époque où les gens devaient partager l'ordinateur en coopération, il était donc préférable que vous puissiez facilement dire qui monopolise le processeur et pourquoi, afin de pouvoir leur parler. De nos jours, personne ne dérange généralement, car très peu de personnes se connectent réellement aux ordinateurs partagés.
Simon Richter
12

scpfonctionne à l'aide de code exécuté sur le serveur ( sshd, et scplui - même). Ce code serveur est en théorie entièrement sous le contrôle de l'administrateur du serveur, et la version de l' scpexécution sur le serveur pour écrire le fichier vers le bas de la connexion pour vous, est distincte de la version descp exécution sur votre machine pour émettre la demande.

Un administrateur du serveur pourrait, juste pour un exemple, remplacer scpsur le serveur une version qui enregistre toutes les demandes, un peu comme un serveur Web peut écrire des journaux. Ensuite, ils pouvaient voir dans ces journaux exactement ce que vous aviez copié.

Qu'ils aient l'expertise et la motivation pour le faire est moins certain, mais s'ils le veulent, en principe, rien ne les y empêche.

Je pense que ces questions sont complémentaires aux vôtres: 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

Bien que je ne connaisse pas tous les détails, il semble que tout de suite scpet sshd ne dispose pas d'options pour enregistrer ce que vous demandez. Il faut donc peut-être plus que la simple configuration, mais vous ne pouvez pas vous éloigner du fait que les administrateurs contrôlent le serveur.

Steve Jessop
la source
10

Tout ce qui passe non crypté dans la mémoire d'un ordinateur peut être lu ou modifié par un utilisateur suffisamment privilégié sur cette machine.

Les noms des processus en cours d'exécution et la ligne de commande utilisée pour les démarrer sont accessibles à tout utilisateur connecté sous Linux. (Ce n'est pas le cas sous Windows, pour les curieux.) Par conséquent, l'administrateur ou toute autre personne qui se trouve peut voir quels fichiers vous avez copiés. De plus, il est tout à fait possible pour l'administrateur d'avoir configuré une sorte de journalisation de l'accès aux fichiers ou d'avoir remplacé / modifié le scpprogramme à une extrémité pour effectuer une journalisation supplémentaire.

scpvous protège simplement des renifleurs réseau. De toute évidence, les deux extrémités doivent connaître les données déchiffrées, il y a donc la possibilité pour un administrateur sophistiqué sur l'un ou l'autre des points d'extrémité d'extraire les données de scpla mémoire de. D'autres solutions, même celles qui n'impliquent pas de lignes de commande, sont également ouvertes à cela: les deux extrémités de sftpsavoir ce qui se passe, il est donc possible de déterminer via l'inspection de la mémoire ce qui sftpest pensé / transféré.

Ben N
la source
6

En règle générale, une personne avec un accès root peut tout savoir (si elle peut être gênée de vérifier). La seule chose qui est hors limites est probablement un système de fichiers chiffré par certificat.

pendant l'acte, le scpouvre un processus sur le côté distant, qui peut être vu par n'importe qui juste en invoquant ps. Si vous parvenez à masquer la ligne de commande qui apparaît dans la liste des processus,lsof (liste des fichiers ouverts) peut montrer quels fichiers sont touchés. C'est si facile, je fais cela pour observer à quel point un processus de copie que j'ai commencé est, si j'ai démarré le processus sur un terminal que je ne peux pas voir pour le moment (où la liste des fichiers est en cours de sortie).

après l'acte, une analyse rapide avec findpeut trouver les fichiers les plus récents (si les horodatages n'ont pas été conservés lors de la copie). Si les fichiers ont été consultés ou touchés de quelque manière que ce soit au cours d'une sshsession, votre.bash_history montre ce que vous faisiez (mais vous pouvez le supprimer si vous le souhaitez).

Si la sécurité est censée être très stricte, vous pouvez toujours configurer une surveillance supplémentaire: vous pouvez écouter toutes les modifications de fichiers avec un simple démon et tout enregistrer sur les transactions du système de fichiers, locales et distantes, peu importe. Il ne serait pas surprenant de consigner tous les processus générés par les utilisateurs . Si des sauvegardes sont en cours, les fichiers peuvent toujours être stockés quelque part après leur suppression.

orion
la source
Quand vous avez écrit file, vouliez-vous dire find?
un CVn le
1

Les administrateurs de serveur peuvent surveiller tout le trafic entrant ou sortant de leur serveur, afin qu'ils puissent facilement surveiller le trafic SCP s'ils le souhaitent, et voir que vous avez copié des fichiers et quels fichiers vous avez copiés.

Micheal Johnson
la source
"que vous avez copié des fichiers" est très différent de "ce que je copie" comme indiqué par l'OP.
un CVn du
ils peuvent le voir aussi
Micheal Johnson