web-dev-qa-db-fra.com

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

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

31
Kironide

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

La réponse courte est que si TOUTE PERSONNE a un accès et des autorisations sur un noeud final (le système à partir duquel vous êtes scp ou scping), elle peut voir ce qui se passe. S'ils n'ont accès à aucun des points de terminaison, ils n'auront probablement pas accès à ce que vous faites ni ne sont en mesure de le déchiffrer (hormis le fait de connaître potentiellement l'application au moyen de numéros de protocole).

La réponse est finalement très dépendante de votre infrastructure. Très probablement cependant, tant qu'il n'y aura pas de surveillance intense et que SCP ne sera pas considéré comme menaçant dans l'entreprise (ce qui produira des signaux d'alarme), votre trafic passera inaperçu. Cela est particulièrement vrai pour les petites entreprises.

Comme @SimonRichter a mentionné : si quelqu'un peut exécuter une commande sur votre système (c'est-à-dire admin ou autres), il peut consulter votre liste de processus et voir la commande. ligne scp -args /filepath/. Toutefois, 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 depuis votre propre système au travail vers un autre système (à 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 d'ouverture de fichier et de lecture), de sorte que même si votre programme de copie (scp, sftp, etc.) n'enregistre ni ne fuit rien (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. -

31
Abraxas

Pas seulement l'administrateur.

Pour tester, je viens de copier /bin de mon serveur dans un répertoire temporaire sur mon ordinateur portable. ps sur 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.

32
Simon Richter

scp fonctionne à l'aide du code exécuté sur le serveur (sshd et scp lui-même). Ce code de serveur est en théorie entièrement sous le contrôle de l'administrateur du serveur et la version de scp exécutée sur le serveur pour écrire le fichier via la connexion, est distincte de la version de scp exécutée sur votre ordinateur pour émettre la demande.

Un administrateur du serveur pourrait, à titre d'exemple, remplacer scp sur le serveur par une version qui enregistre toutes les demandes, comme si un serveur Web pouvait écrire des journaux. Ensuite, ils pourraient voir à partir de ces journaux exactement ce que vous avez copié.

Qu'ils aient l'expertise et la motivation pour le faire est moins bien défini, mais s'ils le souhaitent, en principe, rien ne les en empêche.

Je pense que ces questions sont des compagnons des vôtres: https://security.stackexchange.com/questions/14782/is-there-an-easy-way-to-see-a-log- de-scp-activity-sur-un-serveur-ala-var-log-secu , https://askubuntu.com/questions/659896/ où-voudriez-vous-trouver-scp-logs

Bien que je ne connaisse pas tous les détails, il semble que scp et sshd ne sortent pas de la boîte et ne disposent pas de consignation de ce que vous demandez. Il faut donc peut-être plus que de la simple configuration, mais vous ne pouvez pas oublier que les administrateurs contrôlent le serveur.

12
Steve Jessop

Tout ce qui passe non chiffré dans la mémoire d'un ordinateur peut être lu ou modifié par un utilisateur disposant de suffisamment de privilèges 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 autour pourrait voir quels fichiers vous avez copiés. De plus, il est tout à fait possible que l'administrateur ait configuré une sorte de journalisation de l'accès aux fichiers ou ait remplacé/mutilé le programme scp à une extrémité pour effectuer une journalisation supplémentaire.

scp vous protège simplement des renifleurs de réseau. De toute évidence, les deux extrémités doivent connaître les données déchiffrées. Un administrateur sophistiqué de l'un des points de terminaison peut donc extraire les données de la mémoire de la variable scp. D'autres solutions, même celles qui ne comportent pas de lignes de commande, sont également ouvertes: les deux extrémités de sftp savent ce qui se passe, il est donc possible de déterminer via une inspection de la mémoire ce que sftp pense/transfère.

10
Ben N

En règle générale, une personne ayant un accès root peut tout savoir (s’il est difficile de vérifier). La seule chose qui est interdite est un système de fichiers crypté par certificat.

pendant l'acte , la scp ouvre un processus du côté distant, visible par n'importe qui simplement en invoquant ps. Si vous parvenez à masquer la ligne de commande apparaissant dans la liste des processus, alors lsof (liste des fichiers ouverts) peut indiquer quels fichiers sont touchés. C’est tellement simple que j’observe jusqu’à quel point le processus de copie que j’ai commencé est si j’ai démarré le processus sur un terminal que je ne peux pas visualiser pour le moment (où la liste de fichiers est en cours de sortie).

après l'acte, une analyse rapide avec find permet de trouver les fichiers les plus récents (si les horodatages n'ont pas été préservés lors de la copie). Si les fichiers ont été consultés ou manipulés de quelque manière que ce soit au cours d'une session ssh, votre .bash_history indique ce que vous étiez en train de faire (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 enregistrer tout ce qui concerne les transactions du système de fichiers, locales et distantes, peu importe. n'enregistrez pas tous les processus créés par l'utilisateur . Si des sauvegardes sont en cours, les fichiers peuvent toujours être stockés quelque part après leur suppression.

6
orion

Les administrateurs de serveur sont en mesure de surveiller tout le trafic entrant ou sortant de leur serveur. Ils peuvent ainsi facilement surveiller le trafic SCP s'ils le souhaitent et voir que vous avez copié des fichiers et quels fichiers vous avez copiés.

1
Micheal Johnson