Налаштування захисту серверів Samba на Ubuntu linux - Інструкції
Режими безпеки Samba

Доступні два рівні безпеки для мережевого протоколу CIFS (файлова система інтернету, що розділяється): рівень користувача (user-level) і рівень ресурсу (share-level). Реалізація режиму безпеки Samba забезпечує більшу гнучкість, надаючи чотири способи реалізації рівня користувача і один варіант реалізації рівня ресурсу, що розділяється:
security = user : вимагає від клієнта надати ім'я користувача та пароль для підключення до ресурсу. Облікові записи користувачів Samba відокремлені від системних облікових записів, але пакетlibpam-smbpass синхронізує системних користувачів та паролі з базою користувача Samba.
security = domain : цей режим дозволяє серверу Samba представлятися клієнтам Windows первинним доменним контролером (PDC), резервним доменним контролером (BDC) або сервером-членом домену (DMS). Для отримання додаткових відомостей дивіться розділ Samba як контролер домену.
security = ADS : дозволяє серверу Samba приєднатися до домену Active Directory як рідного. Зверніться до розділу Інтеграція Samba з Active Directory для уточнення деталей.
security = server : цей режим залишено з тих часів, коли Samba не міг стати членом домену і не може використовуватися з ряду причин, пов'язаних з безпекою. Зверніться до розділу Server Security посібника з Samba для уточнення деталей.
security = share : дозволяє клієнтам підключатися до ресурсу без надання імені користувача та пароля.
Режим безпеки, який ви оберете, буде залежати від вашого оточення і того, що ви хочете отримати від сервера Samba.
Security = User
У цій секціїрозглядається як переналаштувати сервери файлів та друку Samba, налаштовані в розділах Файловий сервер Samba та Сервер друку Samba, щоб вони вимагали автентифікації.
Спочатку встановимо пакетlibpam-smbpass, який синхронізуватиме системних користувачів з базою користувачів Samba:
Відредагуйте /etc/samba/smb.conf і змініть у розділі [share]:
Нарешті перезавантажте Samba, щоб сприйняли нову конфігурацію:
Тепер при підключенні до каталогів або принтерів, що розділяються, у вас буде запитуватися ім'я користувача і пароль.
Безпека ресурсу, що розділяється
Існує кілька опцій для посилення безпеки по кожному конкретному каталогу, що розділяється. На прикладі[share], ця секція розглядає найпоширеніші опції.
Групи визначають колекції комп'ютерів або користувачів, які мають загальний рівень доступу до певних мережних ресурсів, та забезпечують рівень модульності при керуванні доступом до цих ресурсів. Наприклад, якщо визначено групуqa, яка містить користувачівfreda,danika таrob, та інша групаsupport, яка містить користувачівdanika,jeremy таvincent, то деякий мережевий ресурс, налаштований на доступ групиqa, буде відповідно надавати доступ дляfreda,danika іrob, але неjeremy абоvincent. Оскільки користувачdanika відноситься до обох групqa іsupport, вона матиме доступ до ресурсів, налаштованих на доступ для будь-якої з цих груп, у той час як всі інші — лише ресурсів, налаштованим певні групи, яким вони належать.
За промовчанням Samba шукає локальні системні групи, оголошені /etc/group,для визначення, які користувачі їм належать. Додаткові відомості про додавання та видалення користувачів у групах див. у розділі Додавання та видалення користувачів.
Для визначення груп у файлі налаштувань Samba /etc/samba/smb.conf використовується синтаксис розпізнавання з попереднім символом «@». Наприклад, якщо ви збираєтеся визначити групу з ім'ямsysadmin у певній секції файлу /etc/samba/smb.conf, ви зможете зробити це, вказавши ім'я групи як@sysadmin.
Права доступу до файлів
Права доступу визначають явні права комп'ютера чи користувача певний каталог, файл чи набір файлів. Такий доступ може бути визначений редагуванням файлу /etc/samba/smb.conf і завданням явних дозволів певному файловому ресурсу.
Наприклад, якщо ви визначили Samba ресурс з назвоюshare і збираєтеся дати права лише на читання групі користувачів, відомої якqa, але хочете надати можливість запису для групи з ім'ямsysadmin і користувачевіvincent, ви можете відредагувати файл /etc/samba/smb.conf, додавши наступні записи в секцію[share] :
Наприклад, якщо ви хочете надати користувачевіmelissa адміністративні права доступу до ресурсуshare з нашого прикладу, вам потрібно відредагувати файл /etc/samba/smb.conf і додати наступний рядок до розділу>[share] :
Після змін /etc/samba/smb.conf перезапустіть Samba для застосування змін:
Тепер, коли Samba налаштована на обмеження які групи мають доступ до каталогу, що розділяється, необхідно оновити права доступу для файлової системи.
Далі перемонтуйте розділ:
Щоб відповідати наведеній вище конфігурації Samba групіsysadmin потрібно надати права на читання, запис та виконання для каталогу /srv/samba/share, групіqa потрібні права на читання та запуск програм, а файли повинні належати користувачевіmelissa. Для цього введіть наступне у терміналі:
Тепер з клієнта Windows можна помітити, що застосовуються нові права на файли. Дивіться посібникиman заacl таsetfacl для більш детальної інформації щодо POSIX ACL списків.
Профіль AppArmor для Samba
Ubuntu поставляється з модулем безпекиAppArmor, який надає контроль доступу за роздільною здатністю. Початковий профіль AppArmor потребує змін для приведення у відповідність до вашої конфігурації. Більш детальний опис AppArmor див. у розділі AppArmor.
Існують початкові профілі AppArmor для /usr/sbin/smbd та /usr/sbin/nmbd, програм-сервісів Samba, як частина пакету apparmor-profiles. Щоб встановити пакет, введіть у рядку терміналу:
За промовчанням профілі для smbd та nmbd знаходяться в режиміcomplain (відстеження), дозволяючи Samba працювати без зміни профілю, і лише фіксуючи помилки. Для переведення профілю smbd в режимenforce (обмежень) та встановлення роботи Samba як належить, профіль потрібно змінити для відображення всіх каталогів з доступом, що розділяється.
Відредагуємо /etc/apparmor.d/usr.sbin.smbd, додавши інформацію для[share] з прикладу файлового сервера:
Тепер переведемо профіль у режим обмежень та перезавантажимо його: