Подробный гайд по настройке Samba в Astra Linux

Пошаговая настройка Samba на Astra Linux: установка, конфигурация общих папок, пользователи, безопасность, брандмауэр. Для Common и Special Edition.

2026.05.09                  


Подробный гайд по настройке Samba в Astra LinuxПодробный гайд по настройке Samba в Astra Linux

Примечание:

Astra Linux имеет две основные редакции: Common Edition (CE, "Орёл") и Special Edition (SE, "Смоленск"). В SE включён мандатный контроль доступа (Parsec/MAC), который может блокировать работу Samba. В гайде учтены особенности обеих редакций.


1. Подготовка системы

1. Обновите списки пакетов и систему:
sudo apt update && sudo apt upgrade -y
2. Убедитесь, что система использует актуальные репозитории Astra Linux. Для проверки:
cat /etc/apt/sources.list

(Официальные инструкции: docs.astralinux.ru)

3. Определите редакцию ОС:
cat /etc/astra_version
  • Если Special Edition → обратите внимание на раздел 6. Особенности безопасности Astra Linux.
  • Если Common Edition → дополнительные меры безопасности не требуются.

2. Установка Samba

sudo apt install samba samba-common-bin -y

Пакеты:

  • samba – серверные демоны smbd, nmbd, winbind
  • samba-common-bin – утилиты testparm, smbpasswd, net

3. Базовая настройка smb.conf

Создайте резервную копию оригинального конфига:
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
Откройте конфиг:
sudo nano /etc/samba/smb.conf

Минимальная безопасная конфигурация

Замените содержимое секции [global] на следующее:

[global]
   workgroup = WORKGROUP
   server string = Astra Linux Samba Server
   security = user
   map to guest = bad user
   server min protocol = SMB2_10
   server max protocol = SMB3_11
   log file = /var/log/samba/log.%m
   max log size = 1000
   dns proxy = no
   hosts allow = 127.0.0.1 192.168.1.0/24
   hosts deny = 0.0.0.0/0

SMB1 отключён принудительно. Это критично для безопасности.


4. Создание общих ресурсов (шар)

Добавьте в конец smb.conf нужные секции:

Публичная шара (без пароля)

[public]
   path = /srv/samba/public
   browsable = yes
   writable = yes
   guest ok = yes
   guest account = nobody
   force user = nobody
   force group = nogroup
   create mask = 0664
   directory mask = 0775

Аутентифицированная шара

[secure]
   path = /srv/samba/secure
   browsable = yes
   writable = yes
   valid users = @smbusers
   force group = smbusers
   create mask = 0660
   directory mask = 0770

Домашние директории (по умолчанию закомментированы)

Раскомментируйте секцию [homes], если нужно расшаривать домашние каталоги пользователей.


5. Управление пользователями Samba

Samba использует отдельную базу паролей. Системные пользователи должны быть добавлены в неё явно.

1. Создайте группу для администраторов шары:
sudo groupadd smbusers
2. Создайте системного пользователя (если нет):
sudo adduser --no-create-home --shell /usr/sbin/nologin smbuser1
3. Добавьте пользователя в Samba и задайте пароль:
sudo smbpasswd -a smbuser1
sudo smbpasswd -e smbuser1
sudo usermod -aG smbusers smbuser1

smbpasswd -a добавляет, -e активирует, -d отключает, -x удаляет.


6. Особенности безопасности Astra Linux

Common Edition ("Орёл")

Мандатный контроль отключён по умолчанию. Достаточно стандартных прав Linux.

Special Edition ("Смоленск")

В SE работает Parsec/MAC, который может блокировать доступ к каталогам шар даже при корректных chmod/chown.

Решение:

1. Проверьте блокировки:
sudo dmesg | grep -i parsec
sudo journalctl -u smbd | grep -i denied
2. Назначьте корректные метки безопасности (если используется pdpl-file):
sudo chcon -t samba_share_t /srv/samba/public
sudo chcon -t samba_share_t /srv/samba/secure
Если команда chcon недоступна, используйте утилиту astra-mac или временно отключите контроль для каталога:
sudo pdpl-file /srv/samba/public 0 0 0 0 0 0

В production-средах SE рекомендуется создавать политику безопасности через astra-policy или обращаться к администратору ИБ.


7. Права на каталоги

Создайте директории и назначьте права:
sudo mkdir -p /srv/samba/public /srv/samba/secure
sudo chown -R nobody:nogroup /srv/samba/public
sudo chmod -R 0775 /srv/samba/public

sudo chown -R root:smbusers /srv/samba/secure
sudo chmod -R 0770 /srv/samba/secure

8. Запуск и автозагрузка служб

sudo systemctl enable smbd nmbd
sudo systemctl start smbd nmbd
sudo systemctl status smbd

nmbd отвечает за NetBIOS-разрешение имён.

В современных сетях (Active Directory, mDNS) он часто не нужен и может быть отключён:

sudo systemctl disable nmbd

9. Настройка брандмауэра

Astra Linux по умолчанию использует iptables или ufw.

Выберите один способ:

Через ufw (если установлен):

sudo ufw allow samba
sudo ufw reload

Через iptables (стандарт для Astra):

sudo iptables -A INPUT -p tcp -m multiport --dports 139,445 -j ACCEPT
sudo iptables -A INPUT -p udp -m multiport --dports 137,138 -j ACCEPT
sudo netfilter-persistent save

Проверьте открытые порты: sudo ss -tulnp | grep -E '139|445|137|138'


10. Тестирование

1. Проверьте синтаксис конфига:
testparm

Должно вывести Loaded services file OK. и предупреждения только о закомментированных опциях.

2. Тест подключения локально:
smbclient -L //localhost -U smbuser1
3. Подключение с Windows:
\\IP_АСТРА\public
\\IP_АСТРА\secure

Логин: smbuser1, пароль: заданный в smbpasswd.

4. Подключение с Linux:
smbclient //IP_АСТРА/secure -U smbuser1

11. Диагностика проблем

Симптом Решение
NT_STATUS_ACCESS_DENIED Проверьте права каталога, valid users, метки SE
NT_STATUS_CONNECTION_REFUSED Служба не запущена или брандмауэр блокирует порты
Медленная работа Добавьте name resolve order = lmhosts host wins bcast в [global]
Ошибка аутентификации в Windows Включите NTLMv2: ntlm auth = yes в [global]
Логи Samba /var/log/samba/log.%m и /var/log/samba/log.smbd

12. Рекомендации по безопасности

  1. Никогда не включайте SMB1 – уязвим к WannaCry, NotPetya.
  2. Используйте server min protocol = SMB2_10 или SMB3_11.
  3. Ограничьте доступ по IP (hosts allow).
  4. Регулярно обновляйте: sudo apt update && sudo apt upgrade samba*.
  5. В Special Edition ведите аудит через auditd и astra-logs.
  6. Для доменной интеграции используйте winbind + realmd/sssd.