Files
init_scripts/README.MD
T
2025-08-23 23:40:15 +03:00

51 lines
3.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Стартовые скрипты для настройки серверов
Этот репозиторий содержит скрипт `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 <username> --sshkey "<ssh_pubkey>" \
[--ssh-ip <ssh_allowed_ip>] [--monitor-ip <monitor_ip>] \
[--vector <vector_endpoint>] \
[--compose-url <compose_url> --compose-dir <compose_dir>] \
[--netbird-key <key> [--netbird-ip <ip> --netbird-port <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`, по завершении выводится краткая сводка по каждому шагу.
## Примечание
Перед запуском рекомендуется ознакомиться с содержимым скрипта и адаптировать его под свои требования.