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

Пошаговая инструкция по установке и настройке Samba в Astra Linux. Разбор конфигов, прав доступа, брандмауэра, мандатного контроля и интеграции с ALD.

2026.04.07                  


Подробный гайд по установке и настройке Samba в Astra LinuxПодробный гайд по установке и настройке Samba в Astra Linux Данный гайд охватывает установку, базовую настройку, безопасность и особенности работы Samba в Astra Linux Common Edition (ОС) и Special Edition (СН). Все команды выполняются от имени пользователя с правами sudo или root.

1. Подготовка и системные требования

  • Astra Linux 1.8 (или новее) / 2.12 (Смоленск)
  • Настроенные репозитории (основные, обновления)
  • Статический IP-адрес (рекомендуется для серверов)
  • Отключённый NetworkManager для серверных интерфейсов (опционально, но рекомендуется)

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

sudo apt update
sudo apt install samba samba-common-bin acl xfsprogs

acl и xfsprogs необходимы для корректной работы расширенных атрибутов и квот, что критично в Astra Linux СН.

Проверка установки:

smbd --version

Ожидается вывод: Version 4.x.x-Debian (или Astra).

3. Конфигурация /etc/samba/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 Samba Server
   netbios name = ASTRA-SRV
   server role = standalone server
   server min protocol = SMB2_02
   server max protocol = SMB3_11
   encrypt passwords = yes
   ntlm auth = no
   lanman auth = no
   client min protocol = SMB2_02
   log file = /var/log/samba/log.%m
   max log size = 5000
   dns proxy = no
   vfs objects = full_audit
   full_audit:prefix = %u|%I|%S
   full_audit:success = mkdir rename rmdir unlink
   full_audit:failure = none
   full_audit:facility = local7
   full_audit:priority = notice

Важно:

  • SMBv1 отключён. В Astra Linux СН это требование безопасности. Параметр vfs objects = full_audit обязателен для соответствия требованиям контроля целостности и аудита.

Примеры шар (в конец файла)

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

[public]
   comment = Public Share
   path = /srv/samba/public
   browseable = yes
   writable = no
   guest ok = yes
   force user = nobody
   force group = nogroup
   create mask = 0644
   directory mask = 0755

Приватная шара (по пользователям, с записью)

[private]
   comment = Private Department Share
   path = /srv/samba/private
   browseable = yes
   writable = yes
   valid users = @smbusers
   force group = smbusers
   create mask = 0664
   directory mask = 0775

4. Создание пользователей и настройка прав

4.1. Создание системных пользователей

Samba использует системных пользователей Linux.

Создайте их заранее:

sudo groupadd smbusers
sudo useradd -M -s /usr/sbin/nologin -G smbusers user1
sudo useradd -M -s /usr/sbin/nologin -G smbusers user2

4.2. Регистрация в базе Samba

sudo smbpasswd -a user1
sudo smbpasswd -a user2

Пароль Samba может отличаться от системного. Пользователь обязан существовать в ОС.

Проверка базы:

sudo pdbedit -L

4.3. Создание директорий и прав

sudo mkdir -p /srv/samba/{public,private}
sudo chown root:smbusers /srv/samba/private
sudo chmod 0770 /srv/samba/private
sudo chmod 0755 /srv/samba/public

5. Брандмауэр и автозапуск служб

5.1. Настройка ufw (по умолчанию в Astra CE)

sudo ufw allow samba
sudo ufw enable

5.2. Если используется iptables (часто в СН)

sudo iptables -A INPUT -p tcp --dport 139 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 445 -j ACCEPT
sudo iptables -A INPUT -p udp --dport 137 -j ACCEPT
sudo iptables -A INPUT -p udp --dport 138 -j ACCEPT
sudo iptables-save | sudo tee /etc/iptables/rules.v4

5.3. Запуск и включение служб

sudo systemctl enable --now smbd nmbd
sudo systemctl status smbd nmbd

Проверка конфигурации:

testparm -s

Ожидается:

  • Loaded services file OK.

6. Проверка работы

С локальной машины:

smbclient -L //127.0.0.1 -U user1

С Windows:

  • Откройте Проводник → \<IP_сервера>\private → введите логин/пароль Samba.

С Linux:

sudo apt install smbclient
smbclient //IP/private -U user1

7. Особенности Astra Linux Special Edition (СН)

В СН действует Мандатный контроль доступа (MCP/Parsec). Без учёта меток безопасности Samba может отказывать в доступе даже при верных правах chmod.

7.1. Назначение совместимой метки

# Просмотр текущей метки
ls -Z /srv/samba/private

# Назначение метки "Конфиденциально:Нет" (пример, зависит от политики)
sudo chcat -R +s0:c0.c1023 /srv/samba/private
# или через утилиту fly-admin-se-linux / mc

В production-средах метки согласовываются с ИБ-офицером. Для тестов используйте домен open или отключите принудительную проверку на время отладки (не рекомендуется).

7.2. Совместимость с MCP

  • Убедитесь, что smbd запущен в домене, совместимом с шарами.
  • При использовании force user/group метка наследуется от процесса smbd.

Для соответствия требованиям ФСТЭК/Минобороны включите аудит:

full_audit:success = all
full_audit:failure = all

Логи пишутся в /var/log/syslog или journalctl -u smbd.

7.3. Интеграция с ALD (Astra Linux Directory)

Если сервер входит в домен ALD:

sudo apt install realmd sssd samba-winbind
sudo realm join --user=admin your.domain

В smb.conf:

security = ADS
realm = YOUR.DOMAIN
workgroup = DOMAIN
idmap config * : backend = tdb
idmap config DOMAIN : backend = ad
idmap config DOMAIN : schema_mode = rfc2307
idmap config DOMAIN : range = 10000-999999

8. Диагностика и устранение неполадок

Симптом Решение
Connection refused Проверьте systemctl status smbd, порты ss -tulpn | grep :445, брандмауэр
Access denied Проверьте valid users, права каталога, метки MCP в СН
SMBv1 required В Windows отключите требование SMBv1, включите SMB2/SMB3 в smb.conf
Логи пусты Проверьте log level = 3 в [global], затем верните 1
testparm ругается на security = user В новых версиях server role = standalone server заменяет security

Просмотр логов:

sudo tail -f /var/log/samba/log.smbd
sudo journalctl -u smbd -n 50

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

  1. Отключите гостевой доступ в приватных шарах: guest ok = no, map to guest = never
  2. Ограничьте подсети: hosts allow = 192.168.1.0/24 10.0.0.0/8
  3. Регулярно обновляйте: sudo apt upgrade samba
  4. Резервное копирование: используйте rsync + smbclient или bacula/bacula-fd
  5. Мониторинг: настройте auditd на /srv/samba/ и алерты в SIEM

Сертификаты TLS (опционально, для SMB3.1.1):

tls enabled = yes
tls keyfile = /etc/ssl/private/samba.key
tls certfile = /etc/ssl/certs/samba.crt
tls cafile = /etc/ssl/certs/ca.pem

Итог

  • Вы развернули безопасный файловый сервер на базе Samba в Astra Linux, отключили устаревшие протоколы, настроили аудит и учли особенности мандатного контроля в Special Edition. При соблюдении политик ИБ и регулярном обновлении решение готово к эксплуатации в корпоративной или госсреде.