Update file Samba
This commit is contained in:
parent
055bb6d06f
commit
8233d68413
309
Security/Samba
309
Security/Samba
@ -7,80 +7,251 @@
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 🎯 Цель работы
|
## 🎯 Цели работы
|
||||||
|
|
||||||
Повысить безопасность Samba-серверов в домашней инфраструктуре при сохранении удобного доступа к медиа-ресурсам.
|
1. Настройка безопасного доступа к Samba-шарам на серверах `media` и `games`.
|
||||||
|
2. Настройка прав на уровне файловой системы.
|
||||||
### Было
|
3. Обеспечение корректного подключения Windows и torrent-клиентов.
|
||||||
|
4. Возможность отката гостевого доступа при необходимости.
|
||||||
| Проблема | Риск |
|
|
||||||
|----------|------|
|
|
||||||
| `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` | Пароли в защищённом файле |
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 👥 Пользователи и права доступа
|
## 📂 Настройки шаров (шаблон)
|
||||||
|
|
||||||
### Учётные записи Samba (на всех серверах)
|
Пример для шары `[Films]`:
|
||||||
|
|
||||||
| Пользователь | Назначение | Чтение | Запись | Где используется |
|
|
||||||
|--------------|------------|--------|--------|------------------|
|
|
||||||
| `zailon` | Администратор | ✅ | ✅ | Ручное управление, Windows |
|
|
||||||
| `zevs` | Тестовый/рядовой | ✅ | ❌ | Проверка прав, ограниченный доступ |
|
|
||||||
| `qb` | Сервисный (qBittorrent) | ✅ | ✅ | Автоматическое монтирование, торренты |
|
|
||||||
|
|
||||||
### Пароли
|
|
||||||
|
|
||||||
| Пользователь | Пароль | Где хранится |
|
|
||||||
|--------------|--------|--------------|
|
|
||||||
| `zailon` | *(установлен вручную)* | В памяти админа |
|
|
||||||
| `zevs` | *(установлен вручную)* | В памяти админа |
|
|
||||||
| `qb` | `Z@p1sk@` | `/etc/smb-creds/qb` на torrent |
|
|
||||||
|
|
||||||
> ⚠️ **Важно:** При смене пароля обновляйте:
|
|
||||||
> 1. Samba: `sudo smbpasswd <username>`
|
|
||||||
> 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)
|
|
||||||
|
|
||||||
```ini
|
```ini
|
||||||
[global]
|
[Films]
|
||||||
workgroup = LATV4513
|
comment = Films
|
||||||
server role = standalone server
|
path = /mnt/video/films
|
||||||
log file = /var/log/samba/log.%m
|
browseable = yes
|
||||||
max log size = 1000
|
read only = no
|
||||||
logging = file
|
guest ok = no
|
||||||
obey pam restrictions = yes
|
valid users = zailon, zevs, qb
|
||||||
unix password sync = yes
|
write list = zailon, qb
|
||||||
passwd program = /usr/bin/passwd %u
|
create mask = 0644
|
||||||
pam password change = yes
|
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
|
|
||||||
Loading…
Reference in New Issue
Block a user