Giả sử tôi đang kết nối với máy chủ qua SCP và sao chép một số tệp từ máy chủ từ xa sang máy tính ở nhà của tôi. Quản trị viên máy chủ có thể nói rằng tôi đã sao chép một cái gì đó, xem những gì đã được sao chép hoặc biết ai đã sao chép nó?
Giả sử tôi đang kết nối với máy chủ qua SCP và sao chép một số tệp từ máy chủ từ xa sang máy tính ở nhà của tôi. Quản trị viên máy chủ có thể nói rằng tôi đã sao chép một cái gì đó, xem những gì đã được sao chép hoặc biết ai đã sao chép nó?
Câu trả lời:
Một câu hỏi ServerFault gần như giống hệt với câu hỏi này. Hy vọng bạn đã kiểm tra trước khi đăng câu hỏi của mình, nhưng câu hỏi của bạn hơi khác một chút nên tôi sẽ trả lời ở đây.
Câu trả lời ngắn gọn là nếu BẤT CỨ AI có quyền truy cập và quyền truy cập vào điểm cuối (hệ thống bạn đang sử dụng scp
hoặc nhập scp
vào), họ có thể thấy điều gì xảy ra. Nếu họ không có quyền truy cập vào một trong hai điểm cuối, họ có thể sẽ không có quyền truy cập hoặc có thể giải mã những gì bạn đang làm (ngoài khả năng biết ứng dụng theo số giao thức).
Câu trả lời cuối cùng là rất phụ thuộc vào cơ sở hạ tầng của bạn. Mặc dù rất có thể, miễn là không có sự giám sát mạnh mẽ và SCP không được coi là mối đe dọa trong công ty (sẽ treo cờ đỏ), lưu lượng truy cập của bạn sẽ không được chú ý. Điều này đặc biệt đúng đối với các công ty nhỏ hơn.
Như @SimonRichter đã đề cập : nếu ai đó có thể thực thi một lệnh trên hệ thống của bạn (tức là quản trị viên hoặc người khác), họ có thể kiểm tra danh sách quy trình của bạn và xem dòng lệnh scp -args /filepath/
. Tuy nhiên, điều này đòi hỏi họ phải ghi nhật ký tất cả hoạt động của quá trình hoặc kiểm tra nó tại thời điểm bạn chuyển. Ngoài ra, nếu bạn đang thực hiện nó từ hệ thống của chính bạn tại nơi làm việc sang hệ thống khác (giả sử ở nhà hoặc ở nơi khác), họ sẽ không nhất thiết phải có tầm nhìn đó.
Ngoài ra, như @ alex.forencich đã đề cập: Cũng có thể ghi nhật ký tất cả các cuộc gọi hệ thống (bao gồm các cuộc gọi mở và đọc tệp) để ngay cả khi chương trình sao chép của bạn (scp, sftp, v.v.) không đăng nhập hoặc rò rỉ bất cứ điều gì (đối số dòng lệnh ), vẫn có thể tìm ra những tập tin đã được đọc hoặc viết. Xem hệ thống kiểm toán linux. -
Không chỉ là quản trị viên.
Để thử nghiệm, tôi chỉ sao chép /bin
từ máy chủ của mình vào một thư mục tạm thời trên máy tính xách tay của mình. ps
trên máy chủ cho thấy
$ ps 24096
PID TTY STAT TIME COMMAND
24096 ? Ss 0:00 scp -r -f /bin
Thông tin này thường có thể truy cập được cho tất cả người dùng.
/proc
với tùy chọn sẽ hidepid=2
vô hiệu hóa điều này ..
scp
hoạt động với sự trợ giúp của mã chạy trên máy chủ ( sshd
và scp
chính nó). Về lý thuyết, mã sever đó hoàn toàn nằm trong sự kiểm soát của quản trị viên máy chủ và phiên bản scp
chạy trên máy chủ để ghi tệp xuống kết nối với bạn, tách biệt với phiên bản scp
chạy trên máy của bạn để đưa ra yêu cầu.
Một quản trị viên của máy chủ có thể, chỉ là một ví dụ, thay thế scp
trên máy chủ bằng một phiên bản ghi lại tất cả các yêu cầu, giống như một máy chủ web có thể viết nhật ký. Sau đó, họ có thể nhìn thấy từ những bản ghi đó chính xác những gì bạn đã sao chép.
Cho dù họ có chuyên môn và động lực để thực sự làm điều này ít rõ ràng hơn, nhưng nếu họ muốn thì về nguyên tắc không có gì ngăn cản họ.
Tôi nghĩ những câu hỏi này là bạn đồng hành của bạn: 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://askubfox.com/questions/659896/where-would-you-find-scp-logs
Mặc dù tôi không biết tất cả các chi tiết, có vẻ như ngay lập tức scp
và sshd
không có tùy chọn để ghi lại những gì bạn đang hỏi về. Vì vậy, có lẽ cần nhiều hơn cấu hình đơn giản, nhưng bạn không thể tránh khỏi thực tế là quản trị viên kiểm soát máy chủ.
Bất cứ điều gì vượt qua không được mã hóa thông qua bộ nhớ của máy tính đều có thể được đọc hoặc thay đổi bởi người dùng có đủ đặc quyền trên máy đó.
Tên của các tiến trình đang chạy và dòng lệnh được sử dụng để khởi động chúng có thể truy cập được đối với bất kỳ người dùng đã đăng nhập nào trên Linux. (Đây không phải là trường hợp trên Windows, vì tò mò.) Do đó, quản trị viên hoặc bất kỳ ai khác ở xung quanh có thể xem tệp bạn đã sao chép. Ngoài ra, quản trị viên hoàn toàn có thể thiết lập một số loại ghi nhật ký truy cập tệp hoặc đã thay thế / lắc lư scp
chương trình ở một đầu để thực hiện ghi nhật ký bổ sung.
scp
chỉ bảo vệ bạn khỏi những kẻ đánh hơi mạng. Rõ ràng, cả hai đầu đều phải biết dữ liệu được giải mã, do đó, có cơ hội cho một quản trị viên tinh vi ở một trong hai điểm cuối để hút dữ liệu ra khỏi scp
bộ nhớ. Các giải pháp khác, ngay cả những giải pháp không liên quan đến các dòng lệnh, cũng mở ra cho điều đó: cả hai đầu đều sftp
biết chuyện gì đang xảy ra, vì vậy có thể xác định thông qua kiểm tra bộ nhớ những gì sftp
đang suy nghĩ / chuyển giao.
Một nguyên tắc nhỏ là, một người có quyền truy cập root có thể biết tất cả mọi thứ (nếu anh ta có thể bị làm phiền để kiểm tra). Có lẽ điều duy nhất vượt quá giới hạn là một hệ thống tập tin được mã hóa chứng chỉ.
trong suốt hành động, scp
mở ra một quá trình ở phía xa, có thể được nhìn thấy bởi bất cứ ai chỉ bằng cách gọi ps
. Nếu bạn quản lý để ẩn dòng lệnh hiển thị trong danh sách quy trình, thì lsof
(danh sách các tệp đang mở) có thể hiển thị những tệp nào đang được chạm vào. Thật dễ dàng, tôi thực sự đang làm điều đó để quan sát quá trình sao chép mà tôi đã bắt đầu là bao xa, nếu tôi bắt đầu quá trình trên thiết bị đầu cuối, tôi không thể xem tại thời điểm này (nơi danh sách tệp đang được xuất).
sau hành động, quét nhanh có find
thể tìm thấy các tệp mới nhất (nếu dấu thời gian không được bảo tồn trong khi sao chép). Nếu các tệp được truy cập hoặc chạm vào theo bất kỳ cách nào thông qua một ssh
phiên, thì tệp của bạn .bash_history
sẽ hiển thị những gì bạn đang làm (nhưng bạn có thể xóa nó nếu bạn muốn).
Nếu bảo mật có nghĩa là rất nghiêm ngặt, bạn luôn có thể thiết lập giám sát bổ sung: bạn có thể nghe tất cả các sửa đổi tệp bằng một trình nền đơn giản và ghi nhật ký mọi thứ về giao dịch hệ thống tệp, cục bộ và từ xa, không thành vấn đề. Sẽ không ngạc nhiên khi đăng nhập tất cả các quy trình do người dùng sinh ra . Nếu sao lưu đang được thực hiện, các tệp có thể vẫn được lưu trữ ở đâu đó sau khi bạn xóa chúng.
file
, ý của bạn là find
gì?
Quản trị viên máy chủ có thể theo dõi bất kỳ lưu lượng truy cập vào hoặc ra khỏi máy chủ của họ, vì vậy họ có thể dễ dàng theo dõi lưu lượng SCP nếu họ muốn và thấy rằng bạn đã sao chép các tệp và những tệp bạn đã sao chép.
sftp
. Nó có thể được ghi lại, nhưng nó không rõ ràng như tiêu đề của quá trìnhscp
.