ทำให้ไดรฟ์เครือข่ายพร้อมใช้งานผ่านอินเทอร์เน็ตหรือไม่


19

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


คุณควรใช้ SCP จริงๆ
kzh

@kzh: มันซับซ้อนเกินไปสำหรับสมาชิกบางคนในครอบครัวของฉัน
Sasha Chedygov

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

1
@KCotreau: มีคำถามอีกมากที่ฉันออกไปเพื่อความเรียบง่าย สมมติว่าข้อมูลที่เราจะเปิดเผยนั้นไม่ได้มีความละเอียดอ่อน แต่อย่างใด ฉันเข้าใจและยอมรับความเสี่ยงด้านความปลอดภัย - ฉันแค่ต้องการคำตอบง่ายๆสำหรับคำถามเฉพาะของฉัน
Sasha Chedygov

1
@musicfreak ความกังวลของฉันคือมันเป็นจุดโจมตีของคอมพิวเตอร์ส่วนอื่นหรือแม้แต่เครือข่ายโดยรวม เห็นได้ชัดว่าคุณมีอิสระที่จะทำตามที่คุณต้องการ แต่ฉันก็ยังไม่แนะนำเว้นแต่ว่าจะไม่มีอะไรในคอมพิวเตอร์อย่างน้อยก็ไม่ใช่แค่การแชร์ หนังสือที่ยอดเยี่ยมมากคือ "Hacking Exposed" มันแสดงให้เห็นว่าแฮ็กเกอร์โจมตีโปรโตคอลเหล่านี้มากแค่ไหน
KCotreau

คำตอบ:


13

ด้วย Samba คุณจะต้องเปิดเผยพอร์ต139 / tcpและ445 / tcpไปสู่ภายนอก - โดยปกติจะเกี่ยวข้องกับการกำหนดค่า "การส่งต่อพอร์ต" ในเราเตอร์ของคุณ นอกจากนี้คุณต้องตรวจสอบให้แน่ใจว่าที่อยู่ IP ภายนอกของคุณสามารถ Ping ได้จากภายนอก

หลังจากนี้คุณจะสามารถเข้าถึงหุ้นโดยการป้อน\\youraddressในExplorer ในแถบที่อยู่ 'หรือในStart - Run (นี่youraddressเป็นทั้งของคุณอยู่ IP ภายนอกหรือชื่อ DNS ของคุณถ้าคุณมีหนึ่ง.)

อย่างไรก็ตามโปรดทราบว่าโปรโตคอล CIFS และ SMBv2 ที่ใช้โดยการแชร์ไฟล์ Windows ไม่ได้ให้การเข้ารหัสข้อมูล (ดังนั้นใครก็ตามที่มีแพ็คเก็ตดมกลิ่นสามารถตรวจสอบการถ่ายโอนไฟล์ของคุณ) และการรับรองความถูกต้องก็ไม่แข็งแรงเช่นกัน สนับสนุนเฉพาะการเข้ารหัส SMBv3

นอกจากนี้อย่าลืมว่าบริการ SMB ของ Windows ในอดีตเป็นเป้าหมายของการติดเชื้อบ่อยครั้งมาก ในขณะที่การหาประโยชน์จาก Windows ส่วนใหญ่จะไม่ส่งผลกระทบต่อ Samba แต่อย่างใดนี่เป็นสิ่งที่ควรค่าแก่การจดจำ (และมักจะหมายความว่าพอร์ต SMB ถูกบล็อกในระดับ ISP)

โปรดทราบว่าเครื่อง Windows โดยค่าเริ่มต้นจะจดจำข้อมูลการเข้าสู่ระบบสำหรับเซสชันท้องถิ่นทั้งหมด นอกจากว่าคุณกำลังเชื่อมต่อกับ Samba ในฐานะ "แขก" คุณจะต้องระมัดระวังเป็นพิเศษสำหรับเครื่องสาธารณะ: ใช้เสมอnet use \\addressก่อนที่จะเปิดใน Explorer / net use \\address /delเพื่อยกเลิกการเชื่อมต่อ (ไม่จำเป็นสำหรับคอมพิวเตอร์ส่วนบุคคล)

เพื่อความปลอดภัยเพิ่มเติมให้เพิ่มหัวข้อต่อไปนี้ในsmb.conf:

LANMAN auth = no
NTLM auth = no
invalid users = root

ฉันคิดว่ามันซับซ้อนกว่านั้นมาก ขอบคุณสำหรับคำแนะนำ!
Sasha Chedygov

2
ในหมายเหตุด้านข้างคุณมีคำแนะนำสำหรับการขาดการเข้ารหัสข้อมูลน้อยกว่าปัญหาหรือไม่? ฉันเชื่อใจทุกเครือข่ายที่ฉันเชื่อมต่อด้วย แต่ฉันอาจต้องการสร้างบัญชีสำหรับแฟนของฉัน (ซึ่งอาจอยู่ในเครือข่ายที่ไม่น่าเชื่อถือ) เพื่อให้เธอสามารถเข้าถึงเพลง / ภาพถ่าย / ฯลฯ ฉันสามารถให้บัญชีผู้ใช้แบบอ่านอย่างเดียวและโทรได้ดีเสมอ แต่ฉันแค่สงสัยว่าคุณอาจมีคำแนะนำเฉพาะเจาะจงมากกว่านี้หรือไม่ ขอบคุณอีกครั้ง!
Sasha Chedygov

สำหรับการเข้าถึงแบบอ่านอย่างเดียวคุณสามารถตั้งค่าเซิร์ฟเวอร์ HTTPS (StartSSL / CAcert) หากต้องการอัปโหลดไฟล์สิ่งนี้อาจขยายไปยัง WebDAV ... แต่ Windows จะไม่ใช้ WebDAV หากมี CIFS และ Windows เวอร์ชันส่วนใหญ่มีปัญหากับ WebDAV ที่ปลอดภัย SSL โซลูชันอื่น ๆ ต้องการซอฟต์แวร์ภายนอก (SFTP ที่ใช้ WinSCP) หรือแม้แต่การกำหนดค่า VPN
grawity

ฉันวางแผนที่จะตั้งค่าระบบสำรองข้อมูลตามเวอร์ชัน (เช่น Time Machine บน Mac OS X) ดังนั้นแม้ว่าจะมีใครบางคนเข้าถึงการแชร์และเช็ดทุกอย่างมันก็ยังปลอดภัย คุณคิดว่านี่เพียงพอหรือไม่ แน่นอนว่าฉันชอบที่จะป้องกันไม่ให้สิ่งนี้เกิดขึ้นตั้งแต่แรก
Sasha Chedygov

2
เพียงหมายเหตุ: ด้วย ISP ของแคนาดาพอร์ต SMB จะถูกบล็อกเว้นแต่คุณจะมีบัญชีธุรกิจ ตรวจสอบให้แน่ใจว่า ISP ของคุณ
ยกเลิกการปิดกั้น

8

หากครอบครัวของคุณสามารถใช้ WinSCP ได้:

  • ติดตั้งและตั้งค่า SSH
  • ให้บัญชีสมาชิกในครอบครัวของคุณบนเซิร์ฟเวอร์ของคุณ
  • symlink ที่เก็บไฟล์ของคุณลงในไดเรกทอรีเหล่านี้ ตัวอย่างเช่นหากคุณกำลังเปิดเผย/srv/samba_filesผ่าน Samba คุณต้องการทำln -s /home/{user}/files /srv/samba_filesหรือคล้ายกันสำหรับแต่ละบัญชี หากคุณต้องทำสิ่งนี้กับหลาย ๆ บัญชีคุณสามารถเขียนสคริปต์เพื่อทำมันได้
  • ติดตั้ง WinSCP บนคอมพิวเตอร์ของครอบครัวคุณ

จากนั้นคุณจะมีวิธีการถ่ายโอนไฟล์ที่ปลอดภัยมากซึ่งไม่ยากเกินไปที่จะใช้

อย่างไรก็ตามหากคุณต้องการบูรณาการ "ไดรฟ์เครือข่าย" กับ Windows ฉันจะเรียนรู้เกี่ยวกับ OpenVPN แล้วตั้งค่าบริดจ์ bridged กับเครือข่ายในบ้านของคุณ ฉันประสบความสำเร็จในการแชร์ไฟล์ Windows เพื่อทำงานในอุโมงค์ดังกล่าว

คุณยังสามารถใช้ PoPToP (pptpd) เพื่ออนุญาตให้ระบบ Windows เชื่อมต่อกลับไปที่กล่อง Ubuntu ผ่าน PPTP vpn (อุโมงค์ IPSec / L2TP จะให้ความปลอดภัยที่ดีขึ้น แต่ยากต่อการติดตั้ง)


ทำไมไม่เพียงสร้างการfilesแชร์ที่ชี้ไปยัง/srv/samba_filesโดยตรง
grawity

การแบ่งปันแซมบ้าจะปรากฏที่ด้าน LAN เท่านั้น ในด้านอินเทอร์เน็ตคุณจะต้องใช้ WinSCP
LawrenceC

@ LawrenceC นี่เป็นวิธีการ "openvpn" ที่ใช้ร่วมกับเฮฟวี่เวทสำหรับคอมพิวเตอร์บอร์ดเดี่ยวอย่าง raspberry pi หรือไม่?
Bhavesh Gangani

OpenVPN ใช้ซีพียู 20% ในระบบ ARM 1.3Ghz และไม่ได้ทำให้ฉันต่ำ 512MB RAM สิ่งนี้ก็ทำหน้าที่เป็นเราเตอร์ DHCP และเซิร์ฟเวอร์ DNS เราเตอร์ SOHO บางตัวที่มีสเปคน้อยกว่าให้เรียกใช้ ควรจะดี แต่จะใช้ทรัพยากรบางอย่าง
LawrenceC

1

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

หากคุณตั้งใจจะสตรีมไฟล์มีเดีย (เพลงภาพยนตร์) คุณกำลังมองหาเซิร์ฟเวอร์สตรีมมิ่งอยู่ มีวิธีแก้ไขมากมายสำหรับสิ่งนั้น ( นี่คือข้อเสนอหนึ่ง )

ในที่สุดคุณสามารถใช้โซลูชันไดรฟ์ "คลาวด์" ที่มีอยู่เช่น Dropbox หรือ SkyDrive หรือ Amazon Cloud Player - เพียงแค่ซิงโครไนซ์ไฟล์ของคุณกับหนึ่งในบริการเหล่านั้นและการเข้าถึงอินเทอร์เน็ต

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