diff --git a/Security/Samba.md b/Security/Samba.md index 6a06836..ccfa484 100644 --- a/Security/Samba.md +++ b/Security/Samba.md @@ -1,243 +1,219 @@ -# 🔒 Samba Security Hardening - -**Дата завершения:** 19 марта 2026 -**Инфраструктура:** Proxmox (LXC + Docker) -**Домен:** zailon.ru -**Админ:** Zailon (ноутбук BunkerZ) - ---- - -## 🎯 Цели работы - -1. Настройка безопасного доступа к Samba-шарам на серверах `media` и `games`. -2. Настройка прав на уровне файловой системы. -3. Обеспечение корректного подключения Windows и torrent-клиентов. -4. Возможность отката гостевого доступа при необходимости. - ---- - -## 📂 Настройки шаров (шаблон) - -Пример для шары `[Films]`: - -```ini -[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 | -| Гостевой доступ | ❌ Запрещён | -| Запись без авторизации | ❌ Невозможна | - -## 📞 Контакты - -| Ресурс | Значение | -|--------|----------| -| Домен | 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 пишет в шары -✅ Права настроены - +# 🔒 Samba Security Hardening + +📚 **Полная документация по безопасной настройке Samba в домашней инфраструктуре** + +--- + +## 📑 Содержание + +- [🎯 Цели](#-цели) +- [📂 Шары](#-шары) +- [📁 Права файловой системы](#-права-файловой-системы) +- [🖥️ Клиенты](#️-клиенты) +- [✅ Проверка](#-проверка) +- [🔄 Откат](#-откат) +- [📊 Статистика](#-статистика) +- [🔜 Дальше](#-дальше) +- [📞 Контакты](#-контакты) + +--- + +## 🎯 Цели + +- 🔐 Убрать гостевой доступ +- 👤 Ввести авторизацию пользователей +- 📁 Настроить права Linux +- 💻 Обеспечить работу Windows + Docker (qBittorrent) + +--- + +## 📂 Шары + +### 📺 Media сервер (`192.168.1.203`) + +```ini +[Films] + comment = Films Library + path = /mnt/video/films + browseable = yes + read only = yes + valid users = @mediaread + write list = zailon qb + force group = mediaread + create mask = 0644 + directory mask = 0755 +``` + +--- + +### 🎮 Games сервер (`192.168.1.207`) + +```ini +[Games] + comment = Games Library + path = /mnt/games/ + browseable = yes + read only = yes + valid users = @mediaread + write list = zailon qb + force group = mediaread + create mask = 0644 + directory mask = 0755 +``` + +--- + +## 📁 Права файловой системы + +### Media + +```bash +# Владелец и группа +sudo chown -R zailon:mediaread /mnt/video/ /mnt/audio/ /mnt/books/ /mnt/abooks/ + +# Папки +sudo find /mnt/video/ /mnt/audio/ /mnt/books/ /mnt/abooks/ -type d -exec chmod 775 {} \; + +# Файлы +sudo find /mnt/video/ /mnt/audio/ /mnt/books/ /mnt/abooks/ -type f -exec chmod 664 {} \; +``` + +### Games + +```bash +sudo chown -R zailon:mediaread /mnt/games/ +sudo find /mnt/games/ -type d -exec chmod 775 {} \; +sudo find /mnt/games/ -type f -exec chmod 664 {} \; +``` + +--- + +## 🖥️ Клиенты + +### 🧲 Torrent (`192.168.1.211`) + +```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,credentials=/etc/smb-creds/qb,uid=1000,gid=1003,file_mode=0644,dir_mode=0755,vers=3.0 0 0 +//192.168.1.207/Games /mnt/games cifs rw,credentials=/etc/smb-creds/qb,uid=1000,gid=1003,file_mode=0644,dir_mode=0755,vers=3.0 0 0 +``` + +Применение: + +```bash +sudo mount -a +``` + +--- + +### 🪟 Windows + +```cmd +net use \\\\192.168.1.203\\Films /user:zailon +net use \\\\192.168.1.207\\Games /user:zailon +``` + +Очистка: + +```cmd +net use * /delete /yes +net stop workstation /y +net start workstation +``` + +--- + +## ✅ Проверка + +### Серверы + +```bash +pdbedit -L +testparm +getent group mediaread +``` + +### Torrent + +```bash +mount | grep cifs +cat /etc/smb-creds/qb +``` + +### Docker test + +```bash +docker exec qbittorrent touch /mnt/video/films/test.txt +docker exec qbittorrent rm /mnt/video/films/test.txt +``` + +--- + +## 🔄 Откат + +⚠️ **Не рекомендуется** + +```ini +guest ok = yes +``` + +```bash +sudo systemctl restart smbd nmbd +``` + +--- + +## 📊 Статистика + +| Параметр | Значение | +|----------|----------| +| Серверов | 2 | +| Шаров | 13 | +| Пользователей | 3 | +| Групп | 1 (`mediaread`) | +| Гостевой доступ | ❌ | + +--- + +## 🔜 Дальше + +- 🔴 Firewall +- 🔴 SSH hardening +- 🟡 Reverse proxy +- 🟢 VLAN +- 🟢 Backups + +--- + +## 📞 Контакты + +| Параметр | Значение | +|----------|----------| +| Домен | zailon.ru | +| Сеть | 192.168.1.0/24 | +| VPN | 192.168.45.0/24 | +| Media | 192.168.1.203 | +| Games | 192.168.1.207 | +| Torrent | 192.168.1.211 | + +--- + +## 🎉 Результат + +✅ Гостевой доступ отключён +✅ Доступ только по пользователям +✅ Права корректны +✅ Docker пишет в шару +✅ Windows подключается + +--- + +> 💡 README оптимизирован под GitHub: есть якоря, навигация и чистая структура +