mirror of
https://github.com/deadcxap/init_scripts.git
synced 2026-07-02 13:53:40 +03:00
51 lines
3.8 KiB
Markdown
51 lines
3.8 KiB
Markdown
# Стартовые скрипты для настройки серверов
|
||
|
||
Этот репозиторий содержит скрипт `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`, по завершении выводится краткая сводка по каждому шагу.
|
||
|
||
## Примечание
|
||
Перед запуском рекомендуется ознакомиться с содержимым скрипта и адаптировать его под свои требования.
|