Настройка защиты серверов Samba на Ubuntu linux

Режимы безопасности Samba

Доступны два уровня безопасности для сетевого протокола CIFS (разделяемая файловая система интернета): уровень пользователя (user-level) и уровень ресурса (share-level). Реализация режима безопасности Samba обеспечивает большую гибкость, предоставляя четыре способа реализации уровня пользователя и один вариант реализации уровня разделяемого ресурса:

  1. security = user: требует от клиента предоставить имя пользователя и пароль для подключения к ресурсу. Учетные записи пользователей Samba отделены от системных учетных записей, но пакет libpam-smbpass синхронизирует системных пользователей и пароли с пользовательской базой Samba.

  2. security = domain: этот режим позволяет серверу Samba представляться клиентам Windows первичным доменным контроллером (PDC), резервным доменным контроллером (BDC) или сервером-членом домена (DMS). Смотрите раздел Samba как контроллер домена для дополнительной информации.

  3. security = ADS: позволяет серверу Samba присоединиться к домену Active Directory как родному. Смотрите раздел Интеграция Samba с Active Directory для уточнения деталей.

  4. security = server: этот режим оставлен с тех времен, когда Samba не мог становиться членом домена и по ряду причин, связанных с безопасностью, не может использоваться. Смотрите раздел Server Security руководства по Samba для уточнения деталей.

  5. security = share: позволяет клиентам подключаться к разделяемому ресурсу без предоставления имени пользователя и пароля.

Режим безопасности, который вы выберете, будет зависеть от вашего окружения и того что вы хотите получить от сервера Samba.

Security = User

В этой секции рассматривается как перенастроить сервера файлов и печати Samba, настроенные в разделах Файловый сервер Samba и Сервер печати Samba, чтобы они требовали аутентификацию.

Сначала установим пакет libpam-smbpass, который будет синхронизировать системных пользователей с базой пользователей Samba:

sudo apt-get install libpam-smbpass

 

Если вы выбирали задачу Samba сервер в процессе установки сервера, то libpam-smbpass уже установлен.

 

Отредактируйте /etc/samba/smb.conf, и измените в секции [share]:

guest ok = no

Наконец перезагрузите Samba, чтобы воспринялась новая конфигурация:

sudo restart smbd
sudo restart nmbd

Теперь при подсоединении к разделяемым каталогам или принтерам у вас будет запрашиваться имя пользователя и пароль.

  Резервное копирование в Ubuntu server , Сценарии Shell

 

Если вы выбираете подсоединение к разделяемому сетевому носителю, то можете установить флажок «Переподключение при входе» («Reconnect at Logon»), который позволит вам вводить имя и пароль один раз, по крайней мере до смены пароля.

 

Безопасность разделяемого ресурса

Существует несколько опций для усиления безопасности по каждому конкретному разделяемому каталогу. На примере [share], эта секция рассматривает наиболее распространенные опции.

Группы

Группы определяют коллекции компьютеров или пользователей, которые имеют общий уровень доступа к определенным сетевым ресурсам, и обеспечивают уровень модульности при управлении доступом к этим ресурсам. Например, если определены группа qa, которая содержит пользователей fredadanika и rob, и другая группа support, которая содержит пользователей danikajeremy и vincent, то некоторый сетевой ресурс, настроенный на доступ группы qa, будет соответственно предоставлять доступ для fredadanika и rob, но не jeremyили vincent. Поскольку пользователь danika относится к обеим группам qa и support, она будет иметь доступ к ресурсам, настроенным на доступ для любой из этих групп, в то время как все остальные — только к ресурсам, настроенным на определенные группы, которым они принадлежат.

По умолчанию Samba ищет локальные системные группы, объявленные в /etc/group, для определения какие пользователи им принадлежат. Для дополнительной информации по добавлению и удалению пользователей в группах смотрите раздел Добавление и удаление пользователей.

При определении групп в файле настроек Samba /etc/samba/smb.conf используется синтаксис распознавания с предшествующим символом «@». Например, если вы собираетесь определить группу с именем sysadmin в определенной секции файла /etc/samba/smb.conf, вы сможете сделать это, указав имя группы как @sysadmin.

Права доступа к файлам

Права доступа определяют явные права компьютера или пользователя на определенный каталог, файл или набор файлов. Такой доступ может быть определен редактированием файла /etc/samba/smb.conf и заданием явных разрешений определенному разделяемому файловому ресурсу.

  Установка и настройка GIMP на Ubuntu , Linux ( работа с графикой )

Например, если вы определили Samba ресурс с названием share и собираетесь дать права только на чтение группе пользователей, известной как qa, но хотите предоставить возможность записи для группы с именем sysadmin и пользователю vincent, то вы можете отредактировать файл /etc/samba/smb.conf, добавив следующие записи в секцию [share]:

read list = @qa
write list = @sysadmin, vincent

Другим возможным разрешением Samba является определение административных привилегий на определенный разделяемый ресурс. Пользователи с административными правами могут читать, записывать или изменять любую информацию, которую содержит ресурс, на который у данного пользователя существуют административные привилегии.

Например, если вы хотите предоставить пользователю melissa административные права доступа к ресурсу share из нашего примера, вам потребуется отредактировать файл /etc/samba/smb.conf и добавить следующую строку в раздел [share]:

admin users = melissa

После изменений /etc/samba/smb.conf перезапустите Samba для применения изменений:

sudo restart smbd
sudo restart nmbd

 

Чтобы опции read list и write list работали, режим безопасности Samba не должен быть установлен в security = share.

 

Теперь, когда Samba настроена на ограничения какие группы имеют доступ к разделяемому каталогу, необходимо обновить права доступа для файловой системы.

Традиционные файловые разрешения Linux не очень хорошо соответствуют управляющим спискам доступа (ACL) Windows NT. К счастью списки ACL POSIX, доступные для Ubuntu серверов, предоставляют улучшенное более детализированное управление. Например, чтобы разрешить ACL для каталога /srv на файловой системе EXT3, отредактируйте /etc/fstab, добавив опцию acl:

UUID=66bcdd2e-8861-4fb0-b7e4-e61c569fe17d /srv  ext3    noatime,relatime,acl 0       1

Далее перемонтируйте раздел:

sudo mount -v -o remount /srv

 

Приведенный пример подразумевает, что /srv смонтирован на отдельный раздел диска. Если /srv (или любой другой каталог, настроенный как разделяемый ресурс) является частью корневого раздела (/), то может потребоваться перезагрузка системы.

 

Чтобы соответствовать приведенной выше конфигурации Samba группе sysadmin требуется предоставить права на чтение, запись и выполнение для каталога /srv/samba/share, группе qaпотребуются права на чтение и запуск программ, а файлы должны принадлежать пользователю melissa. Для этого введите следующее в терминале:

sudo chown -R melissa /srv/samba/share/
sudo chgrp -R sysadmin /srv/samba/share/
sudo setfacl -R -m g:qa:rx /srv/samba/share/

 

Команда выше setfacl предоставляет права на выполнение программ для всех файлов в каталоге /srv/samba/share, что для вас может быть желательным или нежелательным.

 

  Ace stream инструкция по установке на Ubuntu

Теперь из клиента Windows вы можете заметить, что применяются новые права на файлы. Смотрите руководства man по acl и setfacl для более детальной информации по POSIX ACLспискам.

Профиль AppArmor для Samba

Ubuntu поставляется с модулем безопасности  AppArmor , который предоставляет контроль доступа по разрешению. Изначальный профиль AppArmor потребует изменений для приведения в соответствие с вашей конфигурацией. Более детальное описание AppArmor смотрите в разделе AppArmor.

Существуют изначальные профили AppArmor для /usr/sbin/smbd и /usr/sbin/nmbd, программ-сервисов Samba, как часть пакета apparmor-profiles. Чтобы установить пакет введите в строке терминала:

sudo apt-get install apparmor-profiles apparmor-utils

 

Этот пакет содержит профили различных других программ.

 

По умолчанию профили для smbd и nmbd находятся в режиме complain (отслеживания), позволяя Samba работать без изменения профиля, и только фиксируя ошибки. Для перевода профиля smbd в режим enforce (ограничений) и установки работы Samba как положено, профиль требуется изменить для отражения всех каталогов с разделяемым доступом.

Отредактируем /etc/apparmor.d/usr.sbin.smbd, добавив информацию для [share] из примера файлового сервера:

  /srv/samba/share/ r,
  /srv/samba/share/** rwkix,

Теперь переведем профиль в режим ограничений и перезагрузим его:

sudo aa-enforce /usr/sbin/smbd
cat /etc/apparmor.d/usr.sbin.smbd | sudo apparmor_parser -r

Теперь вы можете читать, записывать и выполнять файлы в разделяемом каталоге как обычно, а программа smbd будет предоставлять доступ только к настроенным файлам и каталогам. Убедитесь, что добавили каждый каталог, настроенный как ресурс Samba. Кроме того, все ошибки будут сохраняться в журнале /var/log/syslog

 

материал взят с help.ubuntu.ru

ОСТАВЬТЕ ОТВЕТ

Пожалуйста введите свой комментарий
Пожалуйста, введите свое имя здесь