Зробити доступ до мережевого диска через Інтернет?


19

Нещодавно я побудував невелику серверну машину, використовуючи Ubuntu Server та Samba, щоб діяти як файловий сервер (серед іншого), щоб вся моя сім'я могла отримати доступ до певних файлів по мережі з машин Windows. Однак я хотів би зробити це на крок далі, щоб акції були доступні через Інтернет, подалі від дому. Як би я це зробив? Я знаю дуже мало про те, як працює система обміну мережею Windows, тому я не маю уявлення, з чого почати.


Ви дійсно повинні використовувати SCP.
кж

@kzh: Це трохи надто складно для деяких членів моєї родини.
Саша Чедигов

1
Нічого особистого щодо прийнятої відповіді, але, хоча це технічно не відповіло на ваше запитання, я б ніколи цього не робив. Ви справді виставляєте себе, особливо якщо у вас є щось чутливе у вашій мережі. Я б сказав, що правильний спосіб - це встановити простий PPTP VPN для вашої родини для підключення, а потім дозволити їм отримати доступ.
KCotreau

1
@KCotreau: Є багато іншого до цього питання, яке я покинув заради простоти. Скажімо, що дані, які ми будемо викривати, жодним чином не є чутливими. Я розумію і приймаю ризики безпеки - я просто хотів просту відповідь на своє конкретне питання.
Саша Чедігов

1
@musicfreak Моє занепокоєння полягає в тому, що це точка атаки на інші області комп'ютера або навіть мережі в цілому. Очевидно, ви вільні робити це як завгодно, але я все-таки не рекомендую цього, якщо на комп’ютері немає нічого, принаймні, не лише частки. Дуже класна книга - "Злому викрито". Це показує, скільки хакерів атакує ці протоколи.
KCotreau

Відповіді:


13

З Samba вам доведеться виставити порти 139 / tcp і 445 / tcp зовні - зазвичай це передбачає налаштування "переадресації портів" у вашому маршрутизаторі. Крім того, ви повинні переконатися в тому, що ваша зовнішня IP-адреса стоїть назовні.

Після цього ви зможете отримати доступ до спільних ресурсів, ввівши \\youraddressв адресному рядку Провідника або в Пуск - Виконати . (Тут у вас є адреса або ваша зовнішня IP-адреса, або ваше DNS-ім'я, якщо у вас є.)

Однак зауважте, що протокол CIFS та SMBv2, використовуваний для спільного використання файлів Windows, не забезпечує шифрування даних (тому будь-хто із сніфером пакетів може контролювати передачу ваших файлів), і його автентифікація також не є особливо сильною. Лише SMBv3 отримав підтримку шифрування.

Крім того, не забувайте, що служба SMB Windows в минулому була дуже частою метою зараження. Хоча більшість подвигів Windows жодним чином не впливають на Samba, це все-таки варто пам’ятати (а це часто означає, що порти SMB блокуються на рівні провайдера).

Також зауважте, що машини Windows за замовчуванням запам'ятовують облікові дані для входу протягом усього локального сеансу. Якщо ви не підключаєтесь до Samba як "Гість", ви повинні бути особливо обережними на громадських машинах: завжди використовуйте net use \\addressперед відкриттям в Провіднику / net use \\address /delдля відключення. (Це не потрібно на персональних комп’ютерах.)

Щоб отримати додаткову безпеку, додайте наступне до загального розділу в smb.conf:

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

Так, я вважав, що це буде набагато складніше за це. Дякую за пораду!
Саша Чедигов

2
Зі сторони, чи є у вас якісь рекомендації щодо зменшення браку шифрування даних? Я довіряю всім мережам, до яких я підключаюсь, але, можливо, я б хотів, наприклад, зробити обліковий запис для своєї подруги (яка може бути в ненадійній мережі), щоб вона могла отримати доступ до моєї музики / фотографій / тощо. Я завжди міг просто дати їй рахунок лише для читання і назвати це добре, але мені просто цікаво, чи є у вас якась конкретніша порада. Знову дякую!
Саша Чедигов

Для доступу лише для читання можна встановити сервер HTTPS (StartSSL / CAcert). Для завантаження файлів це може бути розширено до WebDAV ... але Windows не використовуватиме WebDAV, якщо доступний CIFS, і більшість версій Windows мають деякі проблеми із захищеною SSL WebDAV. Інші рішення потребують зовнішнього програмного забезпечення (SFTP з використанням WinSCP) або навіть конфігурації VPN.
користувач1686

Добре я планував створити систему резервного копіювання, засновану на версії (на зразок Time Machine на Mac OS X), так що навіть якщо хтось отримає доступ до акцій і витер усе, це все одно буде безпечним. Як ви вважаєте, цього достатньо? Я, звичайно, вважаю за краще не допустити, щоб щось подібне відбувалося в першу чергу.
Саша Чедигов

2
Лише зауваження: з канадськими провайдерами порти SMB блокуються, якщо у вас немає бізнес-акаунта. Переконайтеся, що ваш Інтернет-провайдер розблокує порти, якщо ви використовуєте ПОСЛУГА SMB
канадський Лука REINSTATE MONICA

8

Якщо ваша родина може впоратися з використанням WinSCP, виконайте вказані нижче дії.

  • встановити та встановити SSH
  • надайте членам вашої родини локальні акаунти на вашому сервері
  • символічно пов'язати ваш файл файлів у ці каталоги. Наприклад, якщо ви виставляєте експозицію /srv/samba_filesчерез Samba, ви хочете зробити те ln -s /home/{user}/files /srv/samba_filesчи інше для кожного облікового запису. Якщо це потрібно зробити для багатьох облікових записів, ви можете написати сценарій для цього.
  • встановити WinSCP на комп’ютери вашої родини

Тоді у вас буде дуже безпечний спосіб передачі файлів, який не надто складний у використанні.

Однак якщо ви дійсно хочете інтегрувати "мережевий диск" з Windows, я дізнаюся про OpenVPN, а потім налаштував мостовий тунель до вашої домашньої мережі. Я успішно змусив файлових файлів Windows працювати над такими тунелями.

Ви також можете використовувати PoPToP (pptpd), щоб дозволити системі Windows підключитися назад до вашого вікна Ubuntu через PPTP vpn. (Тунель IPSec / L2TP забезпечив би кращу безпеку, але це важко налаштувати).


Чому б просто не створити filesчастку, вказуючи /srv/samba_filesбезпосередньо?
користувач1686

Акції Samba будуть видні лише на локальній мережі. В Інтернеті ви використовуєте WinSCP.
LawrenceC

@LawrenceC Це метод "openvpn" для важких ваг для одноплатних комп'ютерів, таких як малиновий пі?
Bhavesh Gangani

OpenVPN зайняв 20% процесора в системі ARM 1.3Ghz і не втратив мене на 512 Мб оперативної пам'яті. Це також функціонувало як маршрутизатор, DHCP і DNS-сервер. Деякі маршрутизатори SOHO з меншими характеристиками запускають його. Це повинно бути добре, але буде споживати деякі ресурси.
LawrenceC

1

Це залежить від того, який тип файлів ви маєте намір подавати. Якщо це документи або просто файли, до яких потрібно отримати віддалений доступ, просто запустіть FTP-сервер на сервері Ubuntu. Переконайтеся, що ви добре їх захистили, маючи хороші паролі та доступ до лише файлової директорії, а не кореня.

Якщо ви плануєте передавати медіафайли (пісні, фільми), ви шукаєте запуск потокового сервера. Для цього існує маса рішень ( ось одне ).

Нарешті, ви завжди можете використовувати існуюче "хмарне" рішення накопичувача типу Dropbox або SkyDrive або Amazon Cloud Player - просто синхронізуйте свої файли з однією з цих служб і доступ до Інтернету (швидкий при цьому) гарантований.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.