diff --git a/Security/Samba b/Security/Samba index bb46d73..7ec82b7 100644 --- a/Security/Samba +++ b/Security/Samba @@ -7,80 +7,251 @@ --- -## 🎯 Цель работы +## 🎯 Цели работы -Повысить безопасность Samba-серверов в домашней инфраструктуре при сохранении удобного доступа к медиа-ресурсам. - -### Было - -| Проблема | Риск | -|----------|------| -| `guest ok = yes` на всех шарах | Любой в сети имеет полный доступ | -| `map to guest = bad user` | Ошибка входа = доступ гостя | -| Права `0777` на файлы и папки | Полный контроль для всех | -| Нет разделения прав на чтение/запись | Любое устройство может удалить данные | -| Монтирование через `guest` в fstab | Пароли не требуются | - -### Стало - -| Решение | Защита | -|---------|--------| -| `map to guest = Never` | Гостевой доступ полностью запрещён | -| `guest ok = no` на всех шарах | Требуется авторизация | -| Права `0644`/`0755` | Запись только владельцу и группе | -| Разделение: `valid users` + `write list` | Чтение у всех, запись у админа | -| Монтирование через `credentials` | Пароли в защищённом файле | +1. Настройка безопасного доступа к Samba-шарам на серверах `media` и `games`. +2. Настройка прав на уровне файловой системы. +3. Обеспечение корректного подключения Windows и torrent-клиентов. +4. Возможность отката гостевого доступа при необходимости. --- -## 👥 Пользователи и права доступа +## 📂 Настройки шаров (шаблон) -### Учётные записи Samba (на всех серверах) - -| Пользователь | Назначение | Чтение | Запись | Где используется | -|--------------|------------|--------|--------|------------------| -| `zailon` | Администратор | ✅ | ✅ | Ручное управление, Windows | -| `zevs` | Тестовый/рядовой | ✅ | ❌ | Проверка прав, ограниченный доступ | -| `qb` | Сервисный (qBittorrent) | ✅ | ✅ | Автоматическое монтирование, торренты | - -### Пароли - -| Пользователь | Пароль | Где хранится | -|--------------|--------|--------------| -| `zailon` | *(установлен вручную)* | В памяти админа | -| `zevs` | *(установлен вручную)* | В памяти админа | -| `qb` | `Z@p1sk@` | `/etc/smb-creds/qb` на torrent | - -> ⚠️ **Важно:** При смене пароля обновляйте: -> 1. Samba: `sudo smbpasswd ` -> 2. Файл credentials: `/etc/smb-creds/qb` -> 3. Перемонтируйте: `sudo mount -a` - ---- - -## ⚙️ Конфигурация Samba - -### 1. Глобальные настройки (`/etc/samba/smb.conf`) - -**Файл:** `/etc/samba/smb.conf` -**Серверы:** `media` (192.168.1.203), `games` (192.168.1.207) +Пример для шары `[Films]`: ```ini -[global] - workgroup = LATV4513 - server role = standalone server - log file = /var/log/samba/log.%m - max log size = 1000 - logging = file - obey pam restrictions = yes - unix password sync = yes - passwd program = /usr/bin/passwd %u - pam password change = yes +[Films] + comment = Films + path = /mnt/video/films + browseable = yes + read only = no + guest ok = no + valid users = zailon, zevs, qb + write list = zailon, qb + create mask = 0644 + directory mask = 0755 +``` + +--- + +## 🗂️ Список всех шаров + +| Сервер | Шара | Путь | Назначение | +|--------|------------|---------------------|----------------| +| media (192.168.1.203) | Films | /mnt/video/films | Фильмы | +| media (192.168.1.203) | Mult | /mnt/video/mult | Мультфильмы | +| media (192.168.1.203) | Anime | /mnt/video/anime | Аниме | +| media (192.168.1.203) | Serial | /mnt/video/serial | Сериалы | +| media (192.168.1.203) | Mserials | /mnt/video/mserials| Мини-сериалы | +| media (192.168.1.203) | Doc | /mnt/video/doc | Документы | +| media (192.168.1.203) | xxx | /mnt/video/xxx | 18+ контент | +| media (192.168.1.203) | Ztube | /mnt/video/ztube | YouTube архив | +| media (192.168.1.203) | Show | /mnt/video/show | Шоу | +| media (192.168.1.203) | Abook | /mnt/abooks | Аудиокниги | +| media (192.168.1.203) | Music | /mnt/audio/music | Музыка | +| media (192.168.1.203) | Books | /mnt/books | Книги | +| games (192.168.1.207) | Games | /mnt/games/ | Игры | + +--- + +## 📁 Права на файловой системе (Linux) + +### На `media`: + +```bash +sudo chown -R zailon:qb /mnt/video/ +sudo chown -R zailon:qb /mnt/audio/ +sudo chown -R zailon:qb /mnt/books/ +sudo chown -R zailon:qb /mnt/abooks/ + +sudo chmod -R 775 /mnt/video/ /mnt/audio/ /mnt/books/ /mnt/abooks/ +sudo find /mnt/video/ /mnt/audio/ /mnt/books/ /mnt/abooks/ -type f -exec chmod 664 {} \; +``` + +### На `games`: + +```bash +sudo chown -R zailon:qb /mnt/games/ +sudo chmod -R 775 /mnt/games/ +sudo find /mnt/games/ -type f -exec chmod 664 {} \; +``` + +### Итоговые права + +| Объект | Владелец | Группа | Права | +|---------|----------|--------|----------------| +| Папки | zailon | qb | drwxrwxr-x 775 | +| Файлы | zailon | qb | -rw-rw-r-- 664 | + +--- + +## 🖥️ Настройка клиентов + +### Сервер torrent (192.168.1.211) + +**Файл учётных данных** (`/etc/smb-creds/qb`): + +```bash +username=qb +password=Z@p1sk@ +``` + +Создание и защита: + +```bash +sudo mkdir -p /etc/smb-creds +sudo nano /etc/smb-creds/qb +sudo chmod 600 /etc/smb-creds/qb +``` + +Монтирование в `/etc/fstab`: + +```ini +//192.168.1.203/Films /mnt/video/films cifs rw,uid=1000,gid=1000,file_mode=0777,dir_mode=0777,iocharset=utf8,vers=3.0,credentials=/etc/smb-creds/qb 0 0 +//192.168.1.207/Games /mnt/games cifs rw,uid=1000,gid=1000,file_mode=0777,dir_mode=0777,iocharset=utf8,vers=3.0,credentials=/etc/smb-creds/qb 0 0 +``` + +Применение: + +```bash +sudo mount -a +``` + +### Windows (BunkerZ и другие ПК) + +```cmd +net use \\192.168.1.203\Films /user:zailon +``` +Или через проводник: `\\192.168.1.203\Films` +Логин: `zailon`, пароль: ваш пароль, ✅ запомнить учётные данные + +Очистка кэша: + +```cmd +net use * /delete /yes +net stop workstation /y +net start workstation +``` + +--- + +## ✅ Проверочные команды + +### На серверах: + +```bash +pdbedit -L +testparm +systemctl status smbd --no-pager | head -10 +``` + +### На torrent: + +```bash +mount | grep cifs +cat /etc/smb-creds/qb +ls -la /etc/smb-creds/qb +touch /mnt/video/films/test.txt && rm /mnt/video/films/test.txt +``` + +### На Windows: + +```cmd +net use +dir \\192.168.1.203\Films +``` + +--- + +## 🔄 Откат изменений + +На серверах (`media`, `games`): + +```bash +sudo nano /etc/samba/smb.conf +``` + +В `[global]`: + +```ini +map to guest = bad user +usershare allow guests = yes +``` + +В каждой шаре: + +```ini +guest ok = yes +valid users = (удалить) +write list = (удалить) +``` + +Перезапуск: + +```bash +sudo testparm +sudo systemctl restart smbd nmbd +``` + +На torrent (`/etc/fstab`): + +```bash +sudo mount -a +``` + +--- + +## 📊 Итоговая статистика + +| Параметр | Значение | +|-----------|----------| +| Серверов настроено | 2 (media, games) | +| Шаров защищено | 13 | +| Пользователей создано | 3 (zailon, zevs, qb) | +| Точек монтирования на torrent | 14 | +| Гостевой доступ | ❌ Запрещён | +| Запись без авторизации | ❌ Невозможна | + +--- + +## 🔜 Следующие шаги + +| Приоритет | Задача | Статус | +|-----------|--------|--------| +| 🔴 1 | Firewall (Proxmox + VM) | ⏳ Ожидает | +| 🔴 2 | SSH (ключи, запрет root) | ⏳ Ожидает | +| 🟡 3 | Доступ извне (reverse proxy) | ⏳ Ожидает | +| 🟢 4 | VLAN (сегментация сети) | ⏳ Ожидает | +| 🟢 5 | Автоматизация бекапов | ⏳ Ожидает | + +--- + +## 📞 Контакты + +| Ресурс | Значение | +|--------|----------| +| Домен | zailon.ru | +| Админ-ноутбук | BunkerZ | +| Пользователь | zailon | +| Сеть | 192.168.1.0/24 | +| Сервер media | 192.168.1.203 | +| Сервер games | 192.168.1.207 | +| Сервер torrent | 192.168.1.211 | + +**Документ создан:** 19 марта 2026 +**Статус:** ✅ Завершено + +--- + +## 🎉 Результат + +Samba полностью защищена: + +✅ Пользователи созданы +✅ Гостевой доступ закрыт +✅ Запись только для авторизованных +✅ Windows подключается +✅ qBittorrent пишет в шары +✅ Права настроены - # === БЕЗОПАСНОСТЬ === - map to guest = Never - usershare allow guests = no - create mask = 0644 - directory mask = 0755 - force create mode = 0644 - force directory mode = 0755 \ No newline at end of file