Replace Samba.md
This commit is contained in:
parent
e077001be2
commit
683fd0c6e0
@ -1,103 +1,96 @@
|
|||||||
# 🔒 Samba Security Hardening
|
# 🔒 Samba Security Hardening
|
||||||
|
|
||||||
**Дата завершения:** 19 марта 2026
|
📚 **Полная документация по безопасной настройке Samba в домашней инфраструктуре**
|
||||||
**Инфраструктура:** Proxmox (LXC + Docker)
|
|
||||||
**Домен:** zailon.ru
|
|
||||||
**Админ:** Zailon (ноутбук BunkerZ)
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 🎯 Цели работы
|
## 📑 Содержание
|
||||||
|
|
||||||
1. Настройка безопасного доступа к Samba-шарам на серверах `media` и `games`.
|
- [🎯 Цели](#-цели)
|
||||||
2. Настройка прав на уровне файловой системы.
|
- [📂 Шары](#-шары)
|
||||||
3. Обеспечение корректного подключения Windows и torrent-клиентов.
|
- [📁 Права файловой системы](#-права-файловой-системы)
|
||||||
4. Возможность отката гостевого доступа при необходимости.
|
- [🖥️ Клиенты](#️-клиенты)
|
||||||
|
- [✅ Проверка](#-проверка)
|
||||||
|
- [🔄 Откат](#-откат)
|
||||||
|
- [📊 Статистика](#-статистика)
|
||||||
|
- [🔜 Дальше](#-дальше)
|
||||||
|
- [📞 Контакты](#-контакты)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 📂 Настройки шаров (шаблон)
|
## 🎯 Цели
|
||||||
|
|
||||||
Пример для шары `[Films]`:
|
- 🔐 Убрать гостевой доступ
|
||||||
|
- 👤 Ввести авторизацию пользователей
|
||||||
|
- 📁 Настроить права Linux
|
||||||
|
- 💻 Обеспечить работу Windows + Docker (qBittorrent)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📂 Шары
|
||||||
|
|
||||||
|
### 📺 Media сервер (`192.168.1.203`)
|
||||||
|
|
||||||
```ini
|
```ini
|
||||||
[Films]
|
[Films]
|
||||||
comment = Films
|
comment = Films Library
|
||||||
path = /mnt/video/films
|
path = /mnt/video/films
|
||||||
browseable = yes
|
browseable = yes
|
||||||
read only = no
|
read only = yes
|
||||||
guest ok = no
|
valid users = @mediaread
|
||||||
valid users = zailon, zevs, qb
|
write list = zailon qb
|
||||||
write list = zailon, qb
|
force group = mediaread
|
||||||
create mask = 0644
|
create mask = 0644
|
||||||
directory mask = 0755
|
directory mask = 0755
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 🗂️ Список всех шаров
|
### 🎮 Games сервер (`192.168.1.207`)
|
||||||
|
|
||||||
| Сервер | Шара | Путь | Назначение |
|
```ini
|
||||||
|--------|------------|---------------------|----------------|
|
[Games]
|
||||||
| media (192.168.1.203) | Films | /mnt/video/films | Фильмы |
|
comment = Games Library
|
||||||
| media (192.168.1.203) | Mult | /mnt/video/mult | Мультфильмы |
|
path = /mnt/games/
|
||||||
| media (192.168.1.203) | Anime | /mnt/video/anime | Аниме |
|
browseable = yes
|
||||||
| media (192.168.1.203) | Serial | /mnt/video/serial | Сериалы |
|
read only = yes
|
||||||
| media (192.168.1.203) | Mserials | /mnt/video/mserials| Мини-сериалы |
|
valid users = @mediaread
|
||||||
| media (192.168.1.203) | Doc | /mnt/video/doc | Документы |
|
write list = zailon qb
|
||||||
| media (192.168.1.203) | xxx | /mnt/video/xxx | 18+ контент |
|
force group = mediaread
|
||||||
| media (192.168.1.203) | Ztube | /mnt/video/ztube | YouTube архив |
|
create mask = 0644
|
||||||
| media (192.168.1.203) | Show | /mnt/video/show | Шоу |
|
directory mask = 0755
|
||||||
| 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`:
|
### Media
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo chown -R zailon:qb /mnt/video/
|
# Владелец и группа
|
||||||
sudo chown -R zailon:qb /mnt/audio/
|
sudo chown -R zailon:mediaread /mnt/video/ /mnt/audio/ /mnt/books/ /mnt/abooks/
|
||||||
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 d -exec chmod 775 {} \;
|
||||||
|
|
||||||
|
# Файлы
|
||||||
sudo find /mnt/video/ /mnt/audio/ /mnt/books/ /mnt/abooks/ -type f -exec chmod 664 {} \;
|
sudo find /mnt/video/ /mnt/audio/ /mnt/books/ /mnt/abooks/ -type f -exec chmod 664 {} \;
|
||||||
```
|
```
|
||||||
|
|
||||||
### На `games`:
|
### Games
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo chown -R zailon:qb /mnt/games/
|
sudo chown -R zailon:mediaread /mnt/games/
|
||||||
sudo chmod -R 775 /mnt/games/
|
sudo find /mnt/games/ -type d -exec chmod 775 {} \;
|
||||||
sudo find /mnt/games/ -type f -exec chmod 664 {} \;
|
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)
|
### 🧲 Torrent (`192.168.1.211`)
|
||||||
|
|
||||||
**Файл учётных данных** (`/etc/smb-creds/qb`):
|
|
||||||
|
|
||||||
```bash
|
|
||||||
username=qb
|
|
||||||
password=Z@p1sk@
|
|
||||||
```
|
|
||||||
|
|
||||||
Создание и защита:
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo mkdir -p /etc/smb-creds
|
sudo mkdir -p /etc/smb-creds
|
||||||
@ -105,11 +98,11 @@ sudo nano /etc/smb-creds/qb
|
|||||||
sudo chmod 600 /etc/smb-creds/qb
|
sudo chmod 600 /etc/smb-creds/qb
|
||||||
```
|
```
|
||||||
|
|
||||||
Монтирование в `/etc/fstab`:
|
#### `/etc/fstab`
|
||||||
|
|
||||||
```ini
|
```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.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,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,credentials=/etc/smb-creds/qb,uid=1000,gid=1003,file_mode=0644,dir_mode=0755,vers=3.0 0 0
|
||||||
```
|
```
|
||||||
|
|
||||||
Применение:
|
Применение:
|
||||||
@ -118,15 +111,16 @@ sudo chmod 600 /etc/smb-creds/qb
|
|||||||
sudo mount -a
|
sudo mount -a
|
||||||
```
|
```
|
||||||
|
|
||||||
### Windows (BunkerZ и другие ПК)
|
---
|
||||||
|
|
||||||
|
### 🪟 Windows
|
||||||
|
|
||||||
```cmd
|
```cmd
|
||||||
net use \\192.168.1.203\Films /user:zailon
|
net use \\\\192.168.1.203\\Films /user:zailon
|
||||||
|
net use \\\\192.168.1.207\\Games /user:zailon
|
||||||
```
|
```
|
||||||
Или через проводник: `\\192.168.1.203\Films`
|
|
||||||
Логин: `zailon`, пароль: ваш пароль, ✅ запомнить учётные данные
|
|
||||||
|
|
||||||
Очистка кэша:
|
Очистка:
|
||||||
|
|
||||||
```cmd
|
```cmd
|
||||||
net use * /delete /yes
|
net use * /delete /yes
|
||||||
@ -136,108 +130,90 @@ net start workstation
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## ✅ Проверочные команды
|
## ✅ Проверка
|
||||||
|
|
||||||
### На серверах:
|
### Серверы
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
pdbedit -L
|
pdbedit -L
|
||||||
testparm
|
testparm
|
||||||
systemctl status smbd --no-pager | head -10
|
getent group mediaread
|
||||||
```
|
```
|
||||||
|
|
||||||
### На torrent:
|
### Torrent
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
mount | grep cifs
|
mount | grep cifs
|
||||||
cat /etc/smb-creds/qb
|
cat /etc/smb-creds/qb
|
||||||
ls -la /etc/smb-creds/qb
|
|
||||||
touch /mnt/video/films/test.txt && rm /mnt/video/films/test.txt
|
|
||||||
```
|
```
|
||||||
|
|
||||||
### На Windows:
|
### Docker test
|
||||||
|
|
||||||
```cmd
|
```bash
|
||||||
net use
|
docker exec qbittorrent touch /mnt/video/films/test.txt
|
||||||
dir \\192.168.1.203\Films
|
docker exec qbittorrent rm /mnt/video/films/test.txt
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 🔄 Откат изменений
|
## 🔄 Откат
|
||||||
|
|
||||||
На серверах (`media`, `games`):
|
⚠️ **Не рекомендуется**
|
||||||
|
|
||||||
```bash
|
|
||||||
sudo nano /etc/samba/smb.conf
|
|
||||||
```
|
|
||||||
|
|
||||||
В `[global]`:
|
|
||||||
|
|
||||||
```ini
|
|
||||||
map to guest = bad user
|
|
||||||
usershare allow guests = yes
|
|
||||||
```
|
|
||||||
|
|
||||||
В каждой шаре:
|
|
||||||
|
|
||||||
```ini
|
```ini
|
||||||
guest ok = yes
|
guest ok = yes
|
||||||
valid users = (удалить)
|
|
||||||
write list = (удалить)
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Перезапуск:
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo testparm
|
|
||||||
sudo systemctl restart smbd nmbd
|
sudo systemctl restart smbd nmbd
|
||||||
```
|
```
|
||||||
|
|
||||||
На torrent (`/etc/fstab`):
|
|
||||||
|
|
||||||
```bash
|
|
||||||
sudo mount -a
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 📊 Итоговая статистика
|
## 📊 Статистика
|
||||||
|
|
||||||
| Параметр | Значение |
|
| Параметр | Значение |
|
||||||
|-----------|----------|
|
|----------|----------|
|
||||||
| Серверов настроено | 2 (media, games) |
|
| Серверов | 2 |
|
||||||
| Шаров защищено | 13 |
|
| Шаров | 13 |
|
||||||
| Пользователей создано | 3 (zailon, zevs, qb) |
|
| Пользователей | 3 |
|
||||||
| Точек монтирования на torrent | 14 |
|
| Групп | 1 (`mediaread`) |
|
||||||
| Гостевой доступ | ❌ Запрещён |
|
| Гостевой доступ | ❌ |
|
||||||
| Запись без авторизации | ❌ Невозможна |
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🔜 Дальше
|
||||||
|
|
||||||
|
- 🔴 Firewall
|
||||||
|
- 🔴 SSH hardening
|
||||||
|
- 🟡 Reverse proxy
|
||||||
|
- 🟢 VLAN
|
||||||
|
- 🟢 Backups
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## 📞 Контакты
|
## 📞 Контакты
|
||||||
|
|
||||||
| Ресурс | Значение |
|
| Параметр | Значение |
|
||||||
|--------|----------|
|
|----------|----------|
|
||||||
| Домен | zailon.ru |
|
| Домен | zailon.ru |
|
||||||
| Админ-ноутбук | BunkerZ |
|
|
||||||
| Пользователь | zailon |
|
|
||||||
| Сеть | 192.168.1.0/24 |
|
| Сеть | 192.168.1.0/24 |
|
||||||
| Сервер media | 192.168.1.203 |
|
| VPN | 192.168.45.0/24 |
|
||||||
| Сервер games | 192.168.1.207 |
|
| Media | 192.168.1.203 |
|
||||||
| Сервер torrent | 192.168.1.211 |
|
| Games | 192.168.1.207 |
|
||||||
|
| Torrent | 192.168.1.211 |
|
||||||
**Документ создан:** 19 марта 2026
|
|
||||||
**Статус:** ✅ Завершено
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 🎉 Результат
|
## 🎉 Результат
|
||||||
|
|
||||||
Samba полностью защищена:
|
✅ Гостевой доступ отключён
|
||||||
|
✅ Доступ только по пользователям
|
||||||
✅ Пользователи созданы
|
✅ Права корректны
|
||||||
✅ Гостевой доступ закрыт
|
✅ Docker пишет в шару
|
||||||
✅ Запись только для авторизованных
|
|
||||||
✅ Windows подключается
|
✅ Windows подключается
|
||||||
✅ qBittorrent пишет в шары
|
|
||||||
✅ Права настроены
|
---
|
||||||
|
|
||||||
|
> 💡 README оптимизирован под GitHub: есть якоря, навигация и чистая структура
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user