การแก้ไขระยะไกลอย่างปลอดภัยของไฟล์ที่เข้าถึงรูทผ่าน SSH


8

ตามแนวทางปฏิบัติด้านความปลอดภัยที่ดีเราไม่ควรอนุญาตให้ล็อกอินรูทผ่าน SSH ด้วยรหัสผ่านหรือกุญแจ ควรใช้ sudo แทน

อย่างไรก็ตามหากต้องการใช้ SSH (SFTP) สำหรับการแก้ไขระยะไกลของไฟล์กำหนดค่าเซิร์ฟเวอร์เช่นไฟล์ที่อยู่ใน / etc (Apache, Cron คุณตั้งชื่อ) วิธีนี้ควรทำอย่างไร?

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

  • ควรกำหนดสิทธิ์การใช้ไฟล์กลุ่มผู้ใช้และวิธีปฏิบัติที่ดีที่สุดด้านความปลอดภัยได้อย่างไร

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

เซิร์ฟเวอร์คือ Ubuntu 12.04


ดังนั้นไคลเอ็นต์ OS ของคุณคืออะไร? โปรดเจาะจงมากขึ้นในคำถามของคุณ!
SPRBRN

ฉันล้มเหลวที่จะดูว่าทำไมการลงชื่อเข้าใช้รูทที่ขึ้นกับคีย์โดยตรงจึงปลอดภัยน้อยกว่า sudo
jpc

คำตอบ:


2

หากต้องการการแก้ไขจากระยะไกลจริง ๆ แล้ววิธีแก้ปัญหาอย่างง่ายอย่างหนึ่งอาจจะเก็บสำเนาของ / etc (หรือบางส่วนของมัน) ไว้ที่ผู้ใช้ภายในรายอื่นและตั้งค่าระบบเพื่อคัดลอกการเปลี่ยนแปลงจากที่นั่นไปยังของจริง / ฯลฯ ยิ่งไปกว่านั้นคือการใช้ git - หรือ svn หรือระบบควบคุมเวอร์ชันอื่น ๆ ที่คุณเลือก - และคุณจะมีบันทึกการเปลี่ยนแปลงเพิ่มเติมด้วย

นอกจากนี้ยังสามารถตั้งค่า chroot บน SFTP และปิดใช้งานการเข้าสู่ระบบปกติสำหรับบัญชีเฉพาะ - หรือ จำกัด การเข้าสู่ระบบให้กับผู้ใช้นั้นจากที่อยู่ IP ที่ระบุเท่านั้น - ด้วยคุณสมบัติเดียวกันของ OpenSSH (Match Group etc) เกี่ยวกับสิ่งนั้นตรวจสอบhttp://www.thegeekstuff.com/2012/03/chroot-sftp-setup/

อย่างไรก็ตามโปรดจำไว้ว่าไฟล์การกำหนดค่าส่วนใหญ่ใน / etc ทำให้สามารถเข้าถึงการเข้าถึงรูทได้เพียงแค่ทำการแก้ไข ฉันเคยเห็นระบบที่กำหนดค่าด้วย svn / git เพื่อตรวจสอบความถูกต้องของไฟล์การกำหนดค่าก่อนที่จะยอมรับการเปลี่ยนแปลงของไฟล์ - ซึ่งสามารถใช้สำหรับการยอมรับรูปแบบการกำหนดค่าที่ปลอดภัยเท่านั้น

อย่างไรก็ตามมีวิธีแก้ไขปัญหาต่าง ๆ มากมาย นี่เป็นวิธีการเดียวเท่านั้น


1

ฉันไม่เห็นสาเหตุที่ไม่สามารถแก้ไขไฟล์เหล่านั้นผ่าน SSH ได้ ฉันทำมันตลอดเวลาเช่น

sudo nano /etc/apache2/sites-available/default

หากคุณต้องการใช้โปรแกรมแก้ไข GUI คุณสามารถใช้ X tunneling คุณต้องอนุญาตในไฟล์ ssh conf ของคุณแล้วใช้-Xตัวเลือกในบรรทัดคำสั่ง ssh ของคุณ

ssh -X server.example.com

จากนั้นคุณสามารถแก้ไขไฟล์ไฟล์เป็นตัวแก้ไข GUI:

sudo gedit /etc/apache2/sites-available/default

นี่คือการแก้ไขจากระยะไกลตามความหมายที่ฉันพูดถึง คุณกำลังเรียกใช้ gedit บนเซิร์ฟเวอร์ไม่ใช่ตัวแก้ไขข้อความในระบบซึ่งแก้ไขไฟล์ผ่าน SSH / SFTP
Mikko Ohtamaa

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