服务器管理员可以看到我通过SCP复制的内容吗?


31

假设我正在通过SCP连接到服务器,并将一些文件从远程服务器复制到我的家用计算机。服务器管理员可以告诉我已复制了某些内容,看到了复制的内容或知道是谁复制的吗?


2
使用sftp。它可能已被记录,但是作为的进程标题却不明显scp
雅库耶

2
可能仅仅是更改服务器上的日志级别的问题?没有检查。
jcaron

14
如果您无法控制服务器,我总是假设一切都受到密切监视和记录。
axk

3
服务器管理员可以看到您在服务器上所做的一切;“管理员”一词暗示了这一点。唯一的问题是他们实际上是在关注还是关心。
Ajedi32 '16

Answers:


31

ServerFault问题与此几乎相同。希望您在发布问题之前已经检查过,但是您的问题有所不同,因此我将在此处回答。

简短的回答是,如果任何人有访问和权限到端点(你在该系统scp由荷兰国际集团或scp荷兰国际集团到),他们可以看到发生了什么。如果他们无权访问任何一个端点,则他们可能将无权访问或无法解密您正在做的事情(除了可能通过协议号知道应用程序之外)。

答案最终将非常取决于您的基础架构。不过,最有可能的是,只要不进行严格的监视并且不认为SCP在公司中受到威胁(这会抛出危险信号),您的流量就会被忽略。对于较小的公司尤其如此。

正如@SimonRichter所提到的:如果某人可以在您的系统上执行命令(即admin或其他人),则他们可以检查您的进程列表并查看命令行scp -args /filepath/。但是,这要求他们要么记录所有流程活动,要么在传输时进行检查。另外,如果您是从工作中的自己的系统到另一个系统(例如在家中或其他地方)执行此操作,则它们不一定具有这种可见性。

另外,如@ alex.forencich所述:还可以记录所有系统调用(包括文件打开和读取调用),因此即使您的复制程序(scp,sftp等)不记录或泄漏任何内容(命令行参数) ),仍然可以弄清楚读取或写入了哪些文件。请参阅linux审核系统。–


也可以记录所有系统调用(包括文件打开和读取调用),因此,即使您的复制程序(scp,sftp等)不记录或泄漏任何内容(命令行参数),也仍然可以找出来读取或写入了哪些文件。请参阅linux审核系统。
alex.forencich

谢谢@ alex.forencich,我正在将您的评论添加到答案中!
Abraxas

33

不只是管理员。

为了进行测试,我只是/bin从服务器复制到笔记本电脑上的临时目录。ps在服务器上显示

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

所有用户通常都可以访问此信息。


6
对于内核> = 3.2,(重新)安装/proc与选项hidepid=2禁用此..
heemayl

“通常所有用户都可以访问此信息。” 真的吗?所有用户都可以看到所有其他用户在做什么?我没有尝试过,但是对我来说似乎不太可能。即使在Windows上,您也只能看到自己的进程(除非您是管理员,然后单击特殊的管理员按钮)。
与莫妮卡(Monica)进行的轻度比赛

@PreferenceBean,是的,但这是默认设置。根据管理员设置umask设置的方式,默认情况下也可以读取其他人的主目录。
西蒙·里希特

像这样显示有关其他用户的信息听起来像是一个非常愚蠢的默认设置。
CodesInChaos '16

@CodesInChaos是一个古老的决定,它是在人们必须合作共享计算机的时候做出的,因此,最好是您能轻易分辨出谁在占用CPU以及原因,因此可以与他们交谈。这些天来,通常没有人打扰,因为很少有人实际登录到共享计算机。
西蒙·里希特

12

scp 在服务器上运行的代码的帮助下工作(sshdscp本身)。理论上,该服务器代码完全在服务器管理员的控制之下,并且在服务器上scp运行以将文件写入与您的连接的版本与scp在计算机上发出请求的版本是分开的。

仅作为示例,服务器管理员可以scp用记录所有请求的版本替换服务器上的内容,就像Web服务器可以写入日志一样。然后他们可以从这些日志中准确看到您复制的内容。

他们是否具有专门知识和动机来真正做到这一点还不确定,但是如果他们愿意,那么原则上没有什么可以阻止他们的。

我认为这些问题是您的伴侣: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:

尽管我不了解所有详细信息,但似乎开箱即用scpsshd 也没有选项来记录您的要求。因此,也许比简单的配置还需要更多,但是您无法摆脱管理员控制服务器的事实。


10

任何未经加密通过计算机内存的内容都可以由该计算机上具有足够特权的用户读取或更改。

Linux上的任何登录用户都可以访问正在运行的进程的名称和用于启动它们的命令行。(出于好奇,Windows上不是这种情况。)因此,管理员或碰巧在附近的其他人都可以看到您复制了哪些文件。此外,管理员完全有可能设置某种文件访问日志记录,或者scp在一端替换/更改程序以进行额外的日志记录。

scp只是保护您免受网络嗅探器的侵害。显然,两端都必须知道解密后的数据,因此,这两个端点上的高级管理员都有机会将数据从scp内存中吸出。其他解决方案,甚至是那些不涉及命令行的解决方案,也都可以接受:两端都sftp知道发生了什么,因此可以通过内存检查确定sftp正在思考/传输的内容。


6

经验法则是,具有root用户访问权限的人可以知道一切(如果可以打扰检查)。唯一可能不受限制的是证书加密的文件系统。

表演scp过程中,会在远程端打开一个进程,任何人都可以通过调用来看到它ps。如果您设法隐藏显示在进程列表中的命令行,则lsof(打开文件的列表)可以显示正在触摸的文件。这很容易,我实际上是在观察启动的某个复制过程的距离,如果我在当前无法查看的终端(正在输出文件列表)上启动该复制过程,则该过程很容易。

在执行该操作之后,使用进行快速扫描find可以找到最新的文件(如果在复制过程中未保留时间戳)。如果通过以下方式以任何方式访问或触摸了文件ssh会话,则您将.bash_history显示正在执行的操作(但可以根据需要将其删除)。

如果安全性要求非常严格,那么您始终可以设置其他监视:您可以使用一个简单的守护程序监听所有文件修改,并记录有关本地和远程文件系统事务的所有信息。记录所有用户生成的进程也就不足为奇。如果正在备份,则删除文件后,文件可能仍会存储在某处。


当您写信时file,您的意思是find
CVn

1

服务器管理员能够监视进出服务器的任何流量,因此他们可以轻松监视SCP流量(如果需要),并查看您已复制文件以及复制了哪些文件。


OP指出“已复制文件”与“我复制了什么”有很大不同。
CVn

他们也可以看到
Micheal Johnson
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.