Загальнодоступна файлова система Інтернету (CIFS) – це мережевий протокол, який забезпечує доступ до файлів, принтерів та послідовних портів між різними комп’ютерами в мережі.
Завдяки цьому протоколу користувачі можуть відкривати, переглядати та редагувати спільні файли, які автоматично зберігаються на їхніх локальних комп’ютерах.
Користувачі також мають можливість використовувати служби міжпроцесної взаємодії та керувати чергою друку.
Протокол CIFS був розроблений на початку 1980-х років компанією IBM.
Принцип роботи CIFS
CIFS функціонує за моделлю клієнт-сервер. У цьому процесі задіяні три основні компоненти: клієнт, додаток та сервер.
- Клієнт ініціює протокол, з якого надходить більшість запитів.
- Сервер реалізує протокол і надає основні функціональні можливості (послуги).
- Додаток може бути частиною програмного забезпечення, відповідального за графічний інтерфейс користувача, керування файлами або обробку тексту.
Розглянемо, як відбувається робота CIFS:
- Між клієнтом і сервером встановлюється сесія NetBIOS для доступу до спільних ресурсів.
- Під час узгодження клієнт і сервер визначають діалект, який буде використовуватись.
- Клієнт надсилає на сервер облікові дані для аутентифікації, зазвичай ім’я користувача та пароль, через унікальний ідентифікатор.
- Процес аутентифікації в основному обробляється службою Active Directory. Однак, CIFS не займається аутентифікацією напряму.
- Якщо аутентифікація успішна, сервер повертає унікальний ідентифікатор.
- Сервер перевіряє, чи має клієнт необхідні дозволи та чи є ім’я спільного доступу дійсним. Якщо все гаразд, клієнт отримує доступ до спільних ресурсів, таких як файли та папки.
Особливості протоколу CIFS
Незалежність від транспорту
Протокол CIFS не нав’язує вимог до транспортного протоколу, який використовується для передачі повідомлень SMB між сервером і клієнтом. CIFS просто передається через протокол з орієнтацією на з’єднання.
Доступ до файлів
Клієнт/користувач може відкривати, читати, змінювати та закривати файли на цільовому сервері. Сервер відповідає за обмін файлами, що дозволяє кільком клієнтам відкривати і читати один і той самий файл одночасно на різних пристроях.
Атрибути файлів, каталогів та томів
Протокол CIFS може відправляти запити, а також, з деякими обмеженнями, встановлювати атрибути каталогів, файлів та томів. Також CIFS підтримує списки контролю доступу (ACL).
Розширені підпротоколи
Протокол CIFS підтримує різні підпротоколи, що надають прямий доступ до розширених функцій сервера.
Підтримка міжпроцесної взаємодії через іменовані канали
Клієнт може відкривати, записувати, читати та закривати іменовані канали на певному сервері. Іменовані канали забезпечують шлях зв’язку між сервером і клієнтськими службами.
Гнучке підключення
Клієнт може підключатися до декількох серверів. Такий клієнт також може встановлювати одне або кілька підключень до одного сервера.
Підтримка узгодження функцій
Набір підтримуваних функцій і діалект протоколу обговорюються для кожного підключення.
Блокування файлів і записів та безпечне кешування
Протокол CIFS підтримує блокування файлів і записів. Цей же протокол дозволяє блокувати файли, надаючи клієнтам можливість кешувати дані для підвищення продуктивності.
Сповіщення про зміни в каталогах та файлах
Клієнти протоколу CIFS можуть відправляти запити на отримання сповіщень про зміни, які відбуваються в ресурсах, наприклад, у файлі в каталозі або в самому каталозі на певному сервері.
Підтримка розподіленої файлової системи (DFS)
DFS створює глобальний простір імен, який містить ресурси на кількох серверах.
Підтримка кількох контекстів безпеки
Клієнт може використовувати та створювати один або кілька контекстів безпеки через певне з’єднання.
Передумови використання CIFS
Для CIFS потрібен базовий мережевий транспорт (зазвичай з орієнтацією на з’єднання). Хоча, в деяких ситуаціях, повідомлення CIFS можуть передаватися через транспорт без з’єднання з невеликими змінами.
Перш ніж повідомлення CIFS можуть передаватися через транспорт з орієнтацією на з’єднання, має бути встановлено з’єднання.
Для обміну повідомленнями через таку мережу CIFS вимагає наявність одного або кількох з наведених ресурсів:
- Локальна черга друку, яка відправляє завдання друку на принтер для надання послуг друку.
- Локальна файлова система або база даних, що представлена як файлова система для спільного доступу до файлів. У цьому випадку ресурс називається сховищем об’єктів.
- Відповідна емуляція, вбудована в сервер CIFS або файлову систему, яка підтримує іменовані канали, необхідна для міжпроцесної взаємодії через абстракцію іменованого каналу.
Сервер також має мати або надавати доступ до бази даних паролів для аутентифікації.
База даних паролів зберігає хеші паролів NT LAN Manager (NTLM) та LAN Manager (LM) для підтримки аутентифікації викликів або відповідей.
Налаштування CIFS для Windows
Більшість користувачів не використовують CIFS, тому ця функція за замовчуванням вимкнена в Windows 10 та 11.
Щоб її увімкнути, виконайте наступні кроки:
- Відкрийте панель керування і натисніть «Програми та функції». Зліва виберіть «Увімкнення або вимкнення компонентів Windows».
- Прокрутіть вниз до опції «Підтримка спільного доступу до файлів SMB 1.0/CIFS» та поставте галочку. Натисніть значок +, щоб переглянути всі позначені параметри.
Виконання цих дій дозволить увімкнути CIFS. Проте, для роботи CIFS, потрібно також налаштувати мережу. Ось як це зробити:
2. Натисніть «Центр мереж і спільного доступу». Зліва натисніть «Змінити додаткові параметри спільного доступу».
3. Натисніть «Змінити додаткові параметри спільного доступу». Увімкніть виявлення мережі та спільний доступ до файлів і принтерів. Натисніть «зберегти зміни».
Налаштування CIFS для папки
Для прикладу, ми створимо папку під назвою “Приклад” на диску E.
2. Натисніть “Поділитися”.
Зауважте, що користувачі, які тут перелічені, це лише ті, які налаштовані на вашому комп’ютері Windows.
Інші користувачі також повинні налаштувати все на своєму боці, щоб мати доступ до надісланих документів.
CIFS vs SMB: Відмінності
Перш ніж розглядати відмінності, варто з’ясувати, що таке Server Message Block (SMB).
Протокол Server Message Block призначений для того, щоб клієнт міг читати, записувати та редагувати файли на сервері. У цьому контексті сервером є локальна мережа (LAN).
SMB протягом багатьох років
- SMB 1.0. Перша версія SMB, що є еквівалентом CIFS. Цей варіант був розроблений для Windows NT 4.0, і зв’язок здійснювався через інтерфейс NetBIOS.
- SMB 2.0. Цю версію Microsoft представила в 2006 році з операційною системою Windows Vista. Вона відрізнялась покращеною масштабованістю, підтримкою символьних посилань та удосконаленим підписом повідомлень.
- SMB 2.1. Ця версія вийшла одночасно з Windows 7 у 2007 році. Версія 2.1 запропонувала кращу оптимізацію продуктивності та нові механізми блокування.
- SMB 3.0. Ця версія з’явилася з виходом Windows 8 у 2012 році. SMB 3.0 спочатку називали SMB 2.2, але потім перейменували. Ця версія запровадила можливість віддаленого доступу до пам’яті через Remote Direct Memory Access (RDMA).
- SMB 3.1.1. На момент написання статті, це остання версія. SMB 3.1.1 була розроблена для Windows 10 у 2015 році та впровадила перевірку цілісності перед аутентифікацією. У цій версії також використовується шифрування за допомогою режиму Galois/Counter Mode (GCM).
Багато людей плутають CIFS та SMB. Варто зазначити, що SMB з’явився раніше за CIFS.
У 1990-х роках Microsoft удосконалила SMB, створивши CIFS, що робить CIFS діалектом SMB. Проте, Microsoft продовжує вдосконалювати CIFS, і поточна версія – SMB 3.1.1.
Ось основні відмінності між CIFS та SMB 3.1.1:
SMB 3.1.1 | CIFS | |
Рік створення | Створено Microsoft у 2015 році як розвиток SMB. | Створено IBM на початку 1980-х років. |
Продуктивність | SMB 3.1.1 створено для вирішення більшості проблем CIFS та попередніх версій SMB. Має перевірки попередньої аутентифікації, що допомагають захистити файли на сервері. | Під час створення CIFS виникало багато проблем з передачею файлів, безпекою, тощо. |
Аутентифікація | SMB 3.1.1 використовує AES аутентифікацію для безпеки файлів, спільних на сервері. Користувач повинен вказати ім’я та пароль для доступу до файлу. | У CIFS немає аутентифікації. Таким чином, файли не є захищеними в мережі. |
Зберігання даних | SMB 3.1.1 використовує 32 або 64-розрядні поля зберігання даних, що дозволяє зберігати великі файли. Використовує протоколи IP/TCP, подібні до HTTP і FTP. | Працює як протокол зв’язку клієнт-сервер для спільного використання ресурсів в мережі. Клієнт/користувач запитує файл на сервері, що розташований на іншій комп’ютерній системі в тій самій мережі. |
Які недоліки CIFS?
- Відсутність автентифікації. Одним з головних недоліків CIFS є відсутність аутентифікації, на відміну від останніх версій SMB.
- Обмеження в розмірі файлів. CIFS може не підходити для передачі дуже великих файлів, що може спричинити затримки і навіть збої.
Висновок
Хоча хмарні сервіси обміну файлами стають все популярнішими, традиційні протоколи, такі як CIFS, все ще є актуальними. Підтримка прямих з’єднань через TCP-порт 445 була однією з найбільших переваг CIFS. Незважаючи на те, що Microsoft зараз зосереджується на розвитку SMB, не варто забувати про CIFS, оскільки це один з діалектів SMB.
Ви також можете дізнатися, як запустити перевірку системних файлів у Windows 11/10.