Membuat drive jaringan tersedia melalui internet?

19

Saya baru-baru ini membangun mesin server kecil, menggunakan Ubuntu Server dan Samba, untuk bertindak sebagai server file (antara lain) sehingga seluruh keluarga saya dapat mengakses file tertentu melalui jaringan dari mesin Windows. Namun, saya akan senang untuk mengambil langkah ini lebih jauh dan memiliki saham dapat diakses melalui internet, jauh dari rumah. Bagaimana saya melakukan ini? Saya tahu sedikit tentang cara kerja sistem berbagi jaringan Windows, jadi saya tidak tahu harus mulai dari mana.

Sasha Chedygov
sumber
Anda benar-benar harus menggunakan SCP.
kzh
@ kzh: Itu agak terlalu rumit untuk beberapa anggota keluarga saya.
Sasha Chedygov
1
Bukan masalah pribadi tentang jawaban yang diterima, tetapi sementara itu mungkin secara teknis menjawab pertanyaan Anda, saya TIDAK PERNAH melakukan ini. Anda benar-benar mengekspos diri Anda sendiri, terutama jika Anda memiliki sesuatu yang sensitif pada jaringan Anda. Saya akan mengatakan cara yang benar adalah dengan mengatur PPTP VPN sederhana untuk keluarga Anda untuk terhubung, dan kemudian membiarkan mereka memiliki akses.
KCotreau
1
@KCotreau: Ada banyak lagi pertanyaan ini yang saya tinggalkan demi kesederhanaan. Anggap saja bahwa data yang akan kita ungkapkan tidak sensitif sama sekali. Saya memahami dan menerima risiko keamanan - Saya hanya ingin jawaban sederhana untuk pertanyaan spesifik saya.
Sasha Chedygov
1
@musicfreak Kekhawatiran saya adalah bahwa itu adalah titik serangan ke area lain dari komputer, atau bahkan jaringan secara keseluruhan. Jelas, Anda bebas untuk melakukan apa pun yang Anda inginkan, tetapi saya masih tidak merekomendasikannya kecuali tidak ada apa pun di komputer, setidaknya, tidak hanya bagiannya. Buku yang sangat keren adalah "Hacking Exposed". Ini menunjukkan seberapa banyak peretas menyerang protokol ini.
KCotreau

Jawaban:

13

Dengan Samba, Anda harus mengekspos port 139 / tcp dan 445 / tcp ke luar - biasanya ini melibatkan mengkonfigurasi "port forwarding" di router Anda. Selain itu, Anda harus memastikan bahwa alamat IP eksternal Anda dapat di-ping-ping dari luar.

Setelah ini, Anda akan dapat mengakses share dengan memasukkan \\youraddressdi address bar Explorer atau di Start-Run . (Di sini alamat Anda adalah alamat IP eksternal atau nama DNS Anda, jika ada.)

Perhatikan, bagaimanapun, bahwa protokol CIFS dan SMBv2 yang digunakan oleh file sharing Windows tidak menyediakan enkripsi data (sehingga siapa pun dengan packet sniffer dapat memonitor transfer file Anda), dan autentikasi juga tidak terlalu kuat. Hanya SMBv3 yang memperoleh dukungan enkripsi.

Juga, jangan lupa bahwa layanan SMB Windows di masa lalu adalah target infeksi yang sangat sering. Walaupun sebagian besar eksploit Windows tidak memengaruhi Samba dengan cara apa pun, ini masih layak diingat (dan sering kali berarti bahwa port SMB diblokir di tingkat ISP).

Perhatikan juga bahwa mesin Windows secara default mengingat kredensial login untuk seluruh sesi lokal. Kecuali jika Anda terhubung ke Samba sebagai "Tamu", Anda harus berhati-hati pada mesin publik: selalu gunakan net use \\addresssebelum membuka di Explorer / net use \\address /deluntuk memutuskan sambungan. (Ini tidak diperlukan di komputer pribadi.)

Untuk keamanan tambahan, tambahkan berikut ini ke bagian umum di smb.conf:

LANMAN auth = no
NTLM auth = no
invalid users = root
grawity
sumber
Huh, saya pikir itu akan jauh lebih kompleks dari itu. Terima kasih atas sarannya!
Sasha Chedygov
2
Di samping catatan, apakah Anda memiliki rekomendasi untuk membuat kurangnya enkripsi data kurang menjadi masalah? Saya percaya semua jaringan yang saya hubungkan, tetapi saya mungkin ingin, misalnya, membuat akun untuk pacar saya (yang mungkin berada di jaringan yang tidak dapat dipercaya), sehingga dia dapat mengakses musik / foto / dll. Saya selalu bisa memberinya akun read-only dan menyebutnya baik, tetapi saya hanya ingin tahu apakah Anda memiliki saran yang lebih spesifik. Terima kasih lagi!
Sasha Chedygov
Untuk akses hanya baca, Anda dapat mengatur server HTTPS (StartSSL / CAcert). Untuk mengunggah file, ini dapat diperluas ke WebDAV ... tetapi Windows tidak akan menggunakan WebDAV jika CIFS tersedia, dan sebagian besar versi Windows memiliki beberapa masalah dengan WebDAV yang diamankan oleh SSL. Solusi lain memerlukan perangkat lunak eksternal (SFTP menggunakan WinSCP) atau bahkan konfigurasi VPN.
grawity
Yah saya berencana menyiapkan sistem cadangan berbasis versi (seperti Time Machine di Mac OS X), sehingga bahkan jika seseorang mendapatkan akses ke share dan menghapus semuanya, itu masih akan aman. Apakah Anda pikir ini cukup? Tentu saja saya lebih suka mencegah hal seperti ini terjadi.
Sasha Chedygov
2
Hanya catatan: dengan ISP Kanada, port SMB diblokir kecuali Anda memiliki akun bisnis. Pastikan ISP Anda membuka blokir port jika Anda menggunakan JUST SMB
Luke Kanada REINSTATE MONICA
8

Jika keluarga Anda dapat menangani menggunakan WinSCP maka:

  • instal dan atur SSH
  • berikan anggota lokal Anda akun lokal di server Anda
  • symlink penyimpanan file Anda ke direktori ini. Misalnya, jika Anda mengekspos /srv/samba_filesmelalui Samba, Anda ingin melakukan ln -s /home/{user}/files /srv/samba_filesatau serupa untuk setiap akun. Jika Anda harus melakukan ini untuk banyak akun, Anda dapat menulis skrip untuk melakukannya.
  • instal WinSCP di komputer keluarga Anda

Anda kemudian akan memiliki metode transfer file yang sangat aman yang tidak terlalu sulit untuk digunakan.

Namun, jika Anda benar-benar menginginkan integrasi "drive jaringan" dengan Windows, saya akan belajar tentang OpenVPN dan kemudian menyiapkan bridged tunnel ke jaringan rumah Anda. Saya telah berhasil membuat fileshares Windows untuk bekerja di terowongan seperti itu.

Anda juga dapat menggunakan PoPToP (pptpd) untuk memungkinkan sistem Windows untuk terhubung kembali ke kotak Ubuntu Anda melalui vpn PPTP. (Terowongan IPSec / L2TP akan memberikan keamanan yang lebih baik tetapi sulit untuk diatur).

LawrenceC
sumber
Mengapa tidak langsung membuat filesshare yang menunjuk /srv/samba_fileslangsung?
grawity
Samba share hanya akan terlihat di sisi LAN. Di sisi Internet Anda akan menggunakan WinSCP.
LawrenceC
@LawrenceC Apakah ini metode "openvpn" berbagi kelas berat untuk komputer papan tunggal seperti raspberry pi?
Bhavesh Gangani
OpenVPN mengambil 20% CPU pada sistem ARM 1.3Ghz dan tidak membuat saya rendah RAM 512mb. Ini juga berfungsi sebagai router, DHCP, dan server DNS. Beberapa router SOHO dengan spesifikasi lebih sedikit menjalankannya. Itu harus baik-baik saja tetapi akan menghabiskan beberapa sumber daya.
LawrenceC
1

Itu tergantung pada jenis file apa yang ingin Anda layani. Jika ini adalah dokumen, atau hanya file yang perlu Anda akses dari jarak jauh, jalankan saja server FTP di server Ubuntu Anda. Pastikan Anda mengamankannya dengan baik, dengan kata sandi yang baik, dan akses hanya ke direktori file, dan bukan root.

Namun jika Anda berniat untuk streaming file media (lagu, film), Anda sedang mencari menjalankan server streaming. Ada banyak solusi untuk itu ( ini salah satunya ).

Terakhir, Anda selalu dapat menggunakan solusi drive "cloud" yang ada seperti Dropbox atau SkyDrive, atau Amazon Cloud Player - cukup menyinkronkan file Anda dengan salah satu layanan dan akses internet (yang cepat pada saat itu) dijamin.

Bepergian Tech Guy
sumber