# Стартовые скрипты для настройки серверов Этот репозиторий содержит скрипт `core.sh` для базовой подготовки Ubuntu/Debian сервера. Скрипт автоматизирует установку полезных пакетов, создание пользователя, настройку сетевой безопасности и журналирования. ## Возможности `core.sh` - обновление пакетов и установка базового софта; - создание нового пользователя с `sudo` без пароля; - настройка SSH‑доступа только по указанному ключу; - настройка межсетевого экрана UFW; - установка Docker и разрешение работы без `root`; - установка и настройка Fail2Ban для защиты SSH; - включение автоматических обновлений `unattended-upgrades`; - установка часового пояса Europe/Moscow; - ротация логов и их отправка через Vector, включая логи Docker; - установка и запуск Netbird по ключу с добавлением правила UFW для центрального сервера. - проверки запуска UFW, Docker, Vector, Netbird и конфигурации SSH. ## Требования - Скрипт должен запускаться от `root`. - Требуется подключение к интернету для установки пакетов. ## Использование Запуск осуществляется одной командой: ```bash curl -fsSL https://raw.githubusercontent.com/deadcxap/init_scripts/main/core.sh | \ sudo bash -s -- --user --sshkey "" \ [--ssh-ip ] [--monitor-ip ] \ [--vector ] \ [--compose-url --compose-dir ] \ [--netbird-key [--netbird-ip --netbird-port ]] ``` Параметры: - `-u, --user` — имя создаваемого пользователя; - `-k, --sshkey` — строка публичного SSH‑ключа (например `"ssh-rsa AAAA..."`); - `-s, --ssh-ip` — IP‑адрес, с которого разрешён SSH‑доступ (если не указан — порт открыт всем); - `-m, --monitor-ip` — IP‑адрес сервера мониторинга для порта 45876/tcp (если не указан — порт не открывается); - `-v, --vector` — URL приёмника логов Vector (если не указан — Vector не устанавливается); - `-c, --compose-url` — ссылка на `docker-compose.yml` (например с GitHub); - `-d, --compose-dir` — каталог, куда сохранить и запустить композ (указывается вместе с `--compose-url`). - `-n, --netbird-key` — ключ настройки Netbird; - `-i, --netbird-ip` — IP центрального сервера Netbird (если указан вместе с портом, добавляется правило UFW); - `-p, --netbird-port` — порт центрального сервера Netbird (используется вместе с IP). Логи выполнения сохраняются в `/var/log/core_setup.log`, по завершении выводится краткая сводка по каждому шагу. ## Примечание Перед запуском рекомендуется ознакомиться с содержимым скрипта и адаптировать его под свои требования.