Bisakah admin server melihat apa yang saya salin melalui SCP?

31

Katakanlah saya terhubung ke server melalui SCP dan menyalin beberapa file dari server jauh ke komputer di rumah saya. Dapatkah admin server memberi tahu bahwa saya telah menyalin sesuatu, melihat apa yang disalin, atau tahu siapa yang menyalinnya?

Kironide
sumber
2
gunakan sftp. Mungkin login, tetapi tidak jelas terlihat sebagai judul proses scp.
Jakuje
2
Mungkin hanya masalah mengubah level log di server? Tidak memeriksa.
jcaron
14
Saya selalu menganggap semuanya diawasi dan dicatat dengan cermat jika Anda tidak mengendalikan server.
kapak
3
Admin server dapat melihat semua yang Anda lakukan di server mereka; itu agak tersirat dengan istilah "admin". Satu-satunya pertanyaan adalah apakah mereka benar-benar memperhatikan atau peduli.
Ajedi32

Jawaban:

31

Pertanyaan ServerFault hampir identik dengan ini. Semoga Anda memeriksa sebelum memposting pertanyaan Anda, tetapi pertanyaan Anda sedikit berbeda jadi saya akan jawab di sini.

Jawaban singkatnya adalah bahwa jika SIAPAPUN memiliki akses dan izin ke titik akhir (sistem yang Anda gunakan scpatau scpmasuki), mereka dapat melihat apa yang terjadi. Jika mereka tidak memiliki akses ke titik akhir, mereka kemungkinan tidak akan memiliki akses ke atau dapat menguraikan apa yang Anda lakukan (terlepas dari kemungkinan mengetahui aplikasi dengan nomor protokol).

Jawabannya pada akhirnya sangat tergantung pada infrastruktur Anda. Kemungkinan besar, selama tidak ada pemantauan intensif dan SCP tidak dianggap sebagai ancaman di perusahaan (yang akan memunculkan tanda bahaya), lalu lintas Anda akan berlalu tanpa diketahui. Ini terutama berlaku untuk perusahaan kecil.

Seperti @SimonRichter sebutkan : jika seseorang dapat menjalankan perintah pada sistem Anda (mis. Admin atau yang lain), mereka dapat memeriksa daftar proses Anda dan melihat baris perintah scp -args /filepath/. Namun ini mengharuskan mereka untuk mencatat semua aktivitas proses atau memeriksanya pada saat Anda mentransfer. Selain itu, jika Anda melakukannya dari sistem Anda sendiri di tempat kerja ke sistem lain (misalnya di rumah atau di tempat lain), mereka tidak akan selalu memiliki visibilitas itu.

Selain itu, seperti yang disebutkan @ alex.forencich: Dimungkinkan juga untuk mencatat semua panggilan sistem (termasuk panggilan file terbuka dan baca) sehingga meskipun program penyalinan Anda (scp, sftp, dll.) Tidak mencatat atau membocorkan apa pun (argumen baris perintah) ), masih mungkin untuk mencari tahu file apa yang dibaca atau ditulis. Lihat sistem audit linux. -

Abraxas
sumber
Dimungkinkan juga untuk mencatat semua panggilan sistem (termasuk panggilan file terbuka dan baca) sehingga meskipun program penyalinan Anda (scp, sftp, dll.) Tidak mencatat atau membocorkan apa pun (argumen baris perintah), masih mungkin untuk mencari tahu file apa yang dibaca atau ditulis. Lihat sistem audit linux.
alex.forencich
Terima kasih @ alex.forencich, saya menambahkan komentar Anda untuk jawabannya!
Abraxas
33

Bukan hanya admin.

Untuk pengujian, saya hanya menyalin /bindari server saya ke direktori sementara di laptop saya. psdi server menunjukkan

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

Informasi ini umumnya dapat diakses oleh semua pengguna.

Simon Richter
sumber
6
Untuk kernel> = 3,2, (kembali) pemasangan /procdengan opsi hidepid=2menonaktifkan ini ..
heemayl
"Informasi ini umumnya dapat diakses oleh semua pengguna." Hah, benarkah? Semua pengguna dapat melihat apa yang dilakukan semua pengguna lain? Saya belum mencobanya tetapi sepertinya tidak mungkin bagi saya. Bahkan di Windows Anda hanya dapat melihat proses Anda sendiri (kecuali jika Anda seorang admin dan klik tombol admin khusus).
Lightness Races dengan Monica
@ PreferensiBean, ya, tapi itu adalah pengaturan default. Bergantung pada bagaimana admin telah mengatur pengaturan umask , direktori home orang lain mungkin dapat dibaca juga secara default.
Simon Richter
Menampilkan informasi seperti itu tentang pengguna lain seperti ini kedengarannya seperti standar yang sangat bodoh.
CodeInChaos
@CodesInChaos, itu adalah keputusan lama, dibuat untuk saat di mana orang harus berbagi komputer secara kooperatif, jadi yang terbaik adalah jika Anda dapat dengan mudah mengetahui siapa yang memonopoli CPU dan mengapa, sehingga Anda dapat berbicara dengan mereka. Saat ini, tidak ada yang mengganggu pada umumnya, karena sangat sedikit orang yang benar-benar masuk ke komputer bersama.
Simon Richter
12

scpbekerja dengan bantuan kode yang berjalan di server ( sshd, dan scpitu sendiri). Sever code itu secara teori sepenuhnya berada dalam kendali admin server, dan versi scpmenjalankan di server untuk menulis file koneksi, terpisah dari versi scpmenjalankan pada mesin Anda untuk mengeluarkan permintaan.

Administrator server dapat, hanya sebagai contoh, mengganti scppada server dengan versi yang mencatat semua permintaan, lebih seperti server web yang dapat menulis log. Kemudian mereka dapat melihat dari log-log itu persis apa yang Anda salin.

Apakah mereka memiliki keahlian dan motivasi untuk benar-benar melakukan ini kurang pasti, tetapi jika mereka ingin pada prinsipnya tidak ada yang menghentikan mereka.

Saya pikir pertanyaan-pertanyaan ini adalah teman Anda: 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

Meskipun saya tidak tahu semua detailnya, sepertinya langsung keluar dari kotak scpdansshd tidak memiliki opsi untuk mencatat apa yang Anda tanyakan. Jadi mungkin lebih banyak diperlukan daripada konfigurasi sederhana, tetapi Anda tidak dapat melepaskan diri dari kenyataan bahwa admin mengendalikan server.

Steve Jessop
sumber
10

Apa pun yang melewati tidak terenkripsi melalui memori komputer dapat dibaca atau diubah oleh pengguna yang cukup istimewa di mesin itu.

Nama-nama proses yang berjalan dan baris perintah yang digunakan untuk memulainya dapat diakses oleh setiap pengguna yang masuk di Linux. (Ini tidak terjadi pada Windows, untuk yang penasaran.) Oleh karena itu, admin atau siapa pun yang kebetulan ada dapat melihat file mana yang Anda salin. Selain itu, sangat mungkin bagi administrator untuk mengatur semacam akses logging file, atau telah mengganti / jiggledscp program di satu sisi untuk melakukan logging tambahan.

scphanya melindungi Anda dari sniffer jaringan. Jelas, kedua ujungnya harus mengetahui data yang didekripsi, jadi ada peluang bagi admin canggih di salah satu titik akhir untuk menyedot data dari scpmemori. Solusi lain, bahkan yang tidak melibatkan baris perintah, juga terbuka untuk itu: kedua ujung sftptahu apa yang terjadi, sehingga dimungkinkan untuk menentukan melalui inspeksi memori apa sftpyang dipikirkan / ditransfer.

Ben N
sumber
6

Aturan praktisnya adalah, seseorang dengan akses root dapat mengetahui segalanya (jika dia dapat repot untuk memeriksa). Mungkin satu-satunya hal yang terlarang adalah sistem file terenkripsi-sertifikat.

selama akting, scpmembuka proses di sisi remote, yang dapat dilihat oleh siapa saja hanya dengan memohon ps. Jika Anda berhasil menyembunyikan baris perintah yang muncul di daftar proses, makalsof (daftar file yang terbuka) dapat menunjukkan file mana yang sedang disentuh. Sangat mudah, saya benar-benar melakukan itu untuk mengamati seberapa jauh beberapa proses penyalinan yang saya mulai, jika saya memulai proses pada terminal saya tidak dapat melihat saat ini (di mana daftar file sedang di-output).

setelah bertindak, pemindaian cepat dengan finddapat menemukan file terbaru (jika stempel waktu tidak disimpan selama penyalinan). Jika file diakses atau disentuh dengan cara apa pun melalui sshsesi, Anda.bash_history menunjukkan apa yang Anda lakukan (tetapi Anda dapat menghapusnya jika Anda mau).

Jika keamanan dimaksudkan sangat ketat, Anda selalu dapat mengatur pemantauan tambahan: Anda dapat mendengarkan semua modifikasi file dengan daemon sederhana, dan mencatat segala sesuatu tentang transaksi sistem file, lokal dan jarak jauh, tidak masalah. Tidaklah mengejutkan untuk mencatat semua proses yang dibuat pengguna . Jika pencadangan sedang dilakukan, file mungkin masih disimpan di suatu tempat setelah Anda menghapusnya.

orion
sumber
Ketika Anda menulis file, maksud Anda find?
CVn
1

Admin server dapat memantau lalu lintas apa pun yang bergerak masuk atau keluar dari server mereka, sehingga mereka dapat dengan mudah memantau lalu lintas SCP jika mereka mau, dan melihat bahwa Anda telah menyalin file dan file apa yang telah Anda salin.

Micheal Johnson
sumber
"bahwa Anda telah menyalin file" sangat berbeda dari "apa yang saya salin" seperti yang ditunjukkan oleh OP.
CVn
mereka dapat melihatnya juga
Micheal Johnson