DevOps · Cloudflare · Zero Trust
Zero Trust для homelab: Cloudflare Tunnel и Access вместо открытых дашбордов
Внутренний дашборд был доступен публично через поддомен. Вот как я закрыл его с помощью Cloudflare Tunnel, Cloudflare Access и Tailscale.
Исходная ситуация
В моём homelab (Proxmox VE с LXC-контейнерами) работает дашборд со списком всех сервисов. Он был публично доступен через поддомен — без логина. Это типичная дыра в self-hosting: сервис удобен, но любой, кто угадает или найдёт адрес, видит всю картину.
Решение из четырёх блоков
- Cloudflare Tunnel как единственный вход. Туннель устанавливает исходящее соединение с Cloudflare. Поэтому на роутере не нужен проброс портов, снаружи нет открытых портов.
- Cloudflare Access как слой Zero Trust. Перед дашбордом стоит политика Access: войти может только мой e-mail, вход — по одноразовому PIN-коду.
- Tailscale для всего приватного. Сервисы, которые никогда не должны быть публичными (например, управление фото), доступны только через сеть Tailscale на базе WireGuard.
- Регулярно проверять, что опубликовано. Настоящим поводом стала забытая публикация.
Как я проверяю, что на самом деле публично
Главный вывод: важен не только сам сервис, но и то, что публикуют DNS и туннель. Мой чек-лист:
- В панели Cloudflare, раздел Zero Trust → Tunnels: какие Public Hostnames прописаны?
- В Access → Applications: есть ли политика у каждого публичного хоста?
- В DNS-записях: нет ли старых CNAME-записей на сервисы, которых уже не существует?
cloudflared tunnel list
cloudflared tunnel info <tunnel-name>
Главное правило: Zero Trust — это не «включить инструмент», а осознанно решить для каждого доступа: публично с логином, приватно через Tailscale — или вообще недоступно.
Результат
Дашборд теперь доступен только после логина, на роутере не открыт ни один порт, а приватные сервисы целиком находятся в сети Tailscale. Одним дашбордом, выдающим внутреннюю инфраструктуру, стало меньше.
Читать дальше
Доступ · Безопасность · Бэкап
Безопасный доступ и бэкапы домашнего сервера: Tailscale, Cloudflare Tunnel, vzdump
Домашний сервер хорош ровно настолько, насколько хороши его доступ и бэкапы. Мой принцип: никакого проброса портов, каждый доступ — осознанное решение, бэкап каждый день.
Self-hosting · Homelab · Приватность
Уход из облака: домашний сервер вместо Google, iCloud и других
Дома у меня работает сервер на Proxmox с 15+ сервисами. Здесь — какие облачные сервисы он заменяет, чего это стоит (времени) и где лучше остаться в облаке.
Proxmox · LXC · Homelab
Proxmox и LXC в homelab: какие контейнеры я запускаю и зачем
Четыре контейнера, четыре роли: как устроен мой домашний сервер, какие программы где работают и как я распределил хранилище.
DevOps · CI/CD · Next.js
CI/CD для Next.js 15 на VPS: GitHub Actions, PM2 reload и Caddy
Ручной деплой был медленным и подверженным ошибкам. Сегодня достаточно git push — без простоя и без PaaS.
Ещё из практики
Другие заметки, кейсы и проекты — на главной странице.
Все заметки Кейс MeisterMeld Кейс PflegeOasis Кейс Kernbohr-Expert На главную
Комментарии
Присоединяйтесь к обсуждению: комментарии работают через GitHub Discussions (вход через аккаунт GitHub). Контент GitHub/giscus загружается только после клика. Конфиденциальность