ผู้ดูแลเซิร์ฟเวอร์สามารถดูสิ่งที่ฉันคัดลอกผ่าน SCP ได้หรือไม่


31

บอกว่าฉันกำลังเชื่อมต่อกับเซิร์ฟเวอร์ผ่าน SCP และคัดลอกไฟล์บางไฟล์จากเซิร์ฟเวอร์ระยะไกลไปยังคอมพิวเตอร์ที่บ้านของฉัน ผู้ดูแลระบบเซิร์ฟเวอร์สามารถบอกได้หรือไม่ว่าฉันได้คัดลอกบางสิ่งบางอย่างดูสิ่งที่ถูกคัดลอกหรือรู้ว่าใครคัดลอกมัน


2
sftpใช้ มันอาจจะถูกบันทึกไว้ แต่ก็ไม่ได้อย่างชัดเจน visble scpเป็นชื่อกระบวนการของ
Jakuje

2
อาจเป็นเพียงเรื่องของการเปลี่ยนระดับการบันทึกบนเซิร์ฟเวอร์หรือไม่? ไม่ได้ตรวจสอบ
jcaron

14
ฉันมักจะคิดว่าทุกอย่างถูกจับตามองและเข้าสู่ระบบอย่างใกล้ชิดหากคุณไม่ได้อยู่ในความควบคุม
axk

3
ผู้ดูแลระบบเซิร์ฟเวอร์สามารถเห็นทุกสิ่งที่คุณทำบนเซิร์ฟเวอร์ นั่นเป็นสิ่งที่บอกเป็นนัยโดยคำว่า "admin" คำถามเดียวก็คือพวกเขาใส่ใจหรือห่วงใยจริงหรือไม่
Ajedi32

คำตอบ:


31

คำถาม ServerFaultเกือบจะเหมือนกันกับคำถามนี้ หวังว่าคุณจะตรวจสอบก่อนที่จะโพสต์คำถามของคุณ แต่คุณจะแตกต่างกันเล็กน้อยดังนั้นฉันจะตอบที่นี่

คำตอบสั้น ๆ คือถ้าทุกคนมีการเข้าถึงและการอนุญาตไปยังจุดปลาย (ระบบที่คุณกำลังเข้าscpหรือออกscpไป) พวกเขาสามารถเห็นสิ่งที่เกิดขึ้น หากพวกเขาไม่สามารถเข้าถึงจุดปลายทั้งสองได้พวกเขาก็อาจจะไม่สามารถเข้าถึงหรือถอดรหัสสิ่งที่คุณกำลังทำอยู่ (นอกเหนือจากการรู้จักแอปพลิเคชันด้วยหมายเลขโปรโตคอล)

คำตอบนั้นขึ้นอยู่กับโครงสร้างพื้นฐานของคุณเป็นอย่างมาก เป็นไปได้ว่าตราบใดที่ไม่มีการเฝ้าระวังอย่างรุนแรงและ SCP ไม่ได้ถูกพิจารณาว่าเป็นภัยคุกคามใน บริษัท นี่คือความจริงโดยเฉพาะอย่างยิ่งสำหรับ บริษัท ขนาดเล็ก

ตามที่ @SimonRichter พูดถึงถ้าคนที่สามารถรันคำสั่งบนระบบของคุณ (. คือผู้ดูแลระบบหรืออื่น ๆ ) 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 คุณสามารถเห็นกระบวนการของคุณเอง (ยกเว้นว่าคุณเป็นผู้ดูแลระบบและคลิกที่ปุ่มผู้ดูแลระบบพิเศษ)
การแข่งขัน Lightness กับโมนิก้า

@PreferenceBean ใช่ แต่นั่นคือการตั้งค่าเริ่มต้น ขึ้นอยู่กับว่าผู้ดูแลระบบได้ตั้งค่าumask ไว้อย่างไรไดเรกทอรีบ้านของคนอื่นอาจอ่านได้โดยค่าเริ่มต้น
Simon Richter

แสดงข้อมูลเช่นนั้นเกี่ยวกับผู้ใช้รายอื่นเช่นนี้ฟังดูเหมือนเป็นค่าเริ่มต้นที่โง่มาก
CodesInChaos

@CodesInChaos นั่นเป็นการตัดสินใจแบบเก่าทำในช่วงเวลาที่ผู้คนต้องแบ่งปันคอมพิวเตอร์อย่างร่วมมือกันดังนั้นจึงเป็นการดีที่สุดถ้าคุณสามารถบอกได้อย่างง่ายดายว่าใครกำลังใช้ซีพียูอยู่และทำไมคุณจึงสามารถคุยกับพวกเขาได้ ทุกวันนี้ไม่มีใครมารบกวนเพราะมีคนน้อยมากที่เข้าสู่ระบบคอมพิวเตอร์ที่ใช้ร่วมกัน
Simon Richter

12

scpทำงานด้วยความช่วยเหลือของรหัสทำงานบนเซิร์ฟเวอร์ ( sshdและscpตัวเอง) ในทางทฤษฎีแล้วรหัส Sever นั้นอยู่ในการควบคุมของผู้ดูแลระบบเซิร์ฟเวอร์และรุ่นที่scpใช้งานบนเซิร์ฟเวอร์เพื่อเขียนไฟล์ลงไปที่การเชื่อมต่อกับคุณแยกจากเวอร์ชั่นที่scpทำงานบนเครื่องของคุณเพื่อออกคำร้องขอ

ผู้ดูแลระบบของเซิร์ฟเวอร์สามารถแทนที่ตัวอย่างscpบนเซิร์ฟเวอร์ด้วยเวอร์ชันที่บันทึกการร้องขอทั้งหมดแทนที่จะเป็นเว็บเซิร์ฟเวอร์สามารถเขียนบันทึกได้ จากนั้นพวกเขาสามารถเห็นได้จากบันทึกเหล่านั้นสิ่งที่คุณคัดลอก

ไม่ว่าพวกเขาจะมีความเชี่ยวชาญและแรงจูงใจในการทำสิ่งนี้จริง ๆ จะมีความชัดเจนน้อยกว่า แต่ถ้าพวกเขาต้องการในหลักการแล้วไม่มีอะไรจะหยุดพวกเขา

ฉันคิดว่าคำถามเหล่านี้เป็นคำตอบสำหรับคุณ: 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

แม้ว่าฉันจะไม่ทราบรายละเอียดทั้งหมด แต่ดูเหมือนว่าจะอยู่นอกกรอบscpและsshd ไม่มีตัวเลือกให้บันทึกสิ่งที่คุณถาม ดังนั้นอาจจำเป็นต้องมีมากกว่าการกำหนดค่าแบบง่าย ๆ แต่คุณไม่สามารถหลีกเลี่ยงความจริงที่ว่าผู้ดูแลระบบควบคุมเซิร์ฟเวอร์


10

ทุกสิ่งที่ผ่านการเข้ารหัสผ่านหน่วยความจำของคอมพิวเตอร์สามารถอ่านหรือเปลี่ยนแปลงได้โดยผู้ใช้ที่ได้รับสิทธิพิเศษอย่างเพียงพอบนเครื่องนั้น

ชื่อของกระบวนการทำงานและบรรทัดคำสั่งที่ใช้ในการเริ่มต้นนั้นสามารถเข้าถึงได้โดยผู้ใช้ที่เข้าสู่ระบบบน Linux (นี่ไม่ใช่กรณีบน Windows สำหรับสิ่งที่อยากรู้อยากเห็น) ดังนั้นผู้ดูแลระบบหรือใครก็ตามที่อยู่ใกล้จะได้เห็นไฟล์ที่คุณคัดลอก นอกจากนี้ผู้ดูแลระบบยังสามารถตั้งค่าการบันทึกการเข้าถึงไฟล์บางประเภทหรือแทนที่ / jiggled scpโปรแกรมที่ปลายด้านหนึ่งเพื่อทำการบันทึกเพิ่มเติม

scpเพียงแค่ปกป้องคุณจากผู้โจมตีเครือข่าย เห็นได้ชัดว่าปลายทั้งสองต้องทราบข้อมูลที่ถอดรหัสดังนั้นจึงมีโอกาสสำหรับผู้ดูแลระบบที่มีความซับซ้อนในจุดปลายทั้งสองเพื่อดูดข้อมูลออกจากscpหน่วยความจำของ วิธีแก้ปัญหาอื่น ๆ แม้แต่ผู้ที่ไม่เกี่ยวข้องกับบรรทัดคำสั่งก็เปิดให้: ปลายทั้งสองsftpรู้ว่าสิ่งที่เกิดขึ้นดังนั้นจึงเป็นไปได้ที่จะกำหนดผ่านการตรวจสอบหน่วยความจำสิ่งที่sftpคิด / ถ่ายโอน


6

กฎง่ายๆคือบุคคลที่มีสิทธิ์เข้าถึงรูทสามารถรู้ทุกอย่าง (ถ้าเขาสามารถตรวจสอบได้) อาจเป็นสิ่งเดียวที่ปิดขีด ​​จำกัด เป็นระบบไฟล์ที่เข้ารหัสใบรับรอง

ในระหว่างการกระทำที่scpจะเปิดกระบวนการในด้านระยะไกลที่สามารถมองเห็นได้โดยทุกคนpsเพียงแค่กล่าวอ้าง หากคุณจัดการเพื่อซ่อน commandline แสดงในรายการกระบวนการจากนั้นlsof(รายการของไฟล์ที่เปิด) สามารถแสดงไฟล์ที่ถูกสัมผัส มันง่ายมากฉันทำอย่างนั้นจริง ๆ เพื่อดูว่ากระบวนการคัดลอกที่ฉันเริ่มต้นอยู่ห่างไกลแค่ไหนถ้าฉันเริ่มต้นกระบวนการบนเทอร์มินัลฉันไม่สามารถดูได้ในขณะนี้

หลังจากดำเนินการสแกนอย่างรวดเร็วด้วยfindสามารถค้นหาไฟล์ใหม่ล่าสุด (หากการประทับเวลาไม่ได้ถูกเก็บไว้ในระหว่างการคัดลอก) หากไฟล์นั้นถูกเข้าถึงหรือสัมผัสด้วยวิธีใดก็ตามsshคุณ.bash_historyจะแสดงสิ่งที่คุณกำลังทำ (แต่คุณสามารถลบได้ถ้าคุณต้องการ)

หากความปลอดภัยนั้นเข้มงวดมากคุณสามารถตั้งค่าการตรวจสอบเพิ่มเติมได้ตลอดเวลา: คุณสามารถฟังการแก้ไขไฟล์ทั้งหมดด้วย daemon ง่าย ๆ และบันทึกทุกอย่างเกี่ยวกับการทำธุรกรรมระบบไฟล์โลคอลและรีโมตไม่สำคัญ มันจะไม่แปลกใจที่จะเข้าสู่กระบวนการใช้กระบอกไม้ไผ่ทั้งหมด หากการสำรองข้อมูลเสร็จสิ้นไฟล์อาจยังคงถูกจัดเก็บไว้ที่ใดที่หนึ่งหลังจากที่คุณลบทิ้ง


เมื่อคุณเขียนfileคุณหมายถึงfindอะไร
CVn

1

ผู้ดูแลระบบเซิร์ฟเวอร์สามารถตรวจสอบปริมาณข้อมูลที่เดินทางเข้าหรือออกจากเซิร์ฟเวอร์ของตนเพื่อให้สามารถตรวจสอบปริมาณการใช้งาน SCP ได้อย่างง่ายดายหากต้องการและดูว่าคุณได้คัดลอกไฟล์และไฟล์ที่คุณคัดลอกแล้ว


"ที่คุณได้คัดลอกไฟล์" นั้นแตกต่างจาก "สิ่งที่ฉันคัดลอก" ตามที่ระบุโดย OP
CVN

พวกเขาสามารถเห็นได้เช่นกัน
Micheal Johnson
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.