Update file Samba
This commit is contained in:
parent
055bb6d06f
commit
8233d68413
309
Security/Samba
309
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 <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)
|
||||
Пример для шары `[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
|
||||
Loading…
Reference in New Issue
Block a user