From 189f03609c546e3d1ead3adb6e8d2dd7c8a74a79 Mon Sep 17 00:00:00 2001 From: CREATIVE_tg1 Date: Sun, 12 Apr 2026 13:12:56 +0000 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D1=82?= =?UTF-8?q?=D1=8C=20cockpit/README.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cockpit/README.md | 83 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 cockpit/README.md diff --git a/cockpit/README.md b/cockpit/README.md new file mode 100644 index 0000000..ca3299b --- /dev/null +++ b/cockpit/README.md @@ -0,0 +1,83 @@ +# Cockpit Installer + +Скрипт `cockpit-installer.sh` автоматически подготавливает сервер Debian/Ubuntu и устанавливает Cockpit с базовыми настройками безопасности. + +## Что делает скрипт + +1. Проверяет, что запуск выполнен от `root` и доступен `apt`. +2. Валидирует и настраивает порт Cockpit. +3. Настраивает системный часовой пояс. +4. Обновляет систему (`apt update && apt upgrade -y`). +5. Устанавливает и включает `ufw`. +6. Открывает `22/tcp` (SSH) и выбранный порт Cockpit. +7. Устанавливает и настраивает `fail2ban` (SSH + Cockpit). +8. Создает (или обновляет) пользователя с правами `sudo`. +9. Устанавливает Cockpit и переводит его на указанный порт. +10. Создает самоподписанный TLS-сертификат. +11. Добавляет ежедневное обновление сертификата через cron. +12. Пишет лог установки в `/var/log/setup.log`. + +## Требования + +- Debian/Ubuntu (или совместимая система с `apt`). +- Запуск от `root`. +- Доступ в интернет для установки пакетов. + +## Использование + +```bash +chmod +x cockpit-installer.sh +sudo ./cockpit-installer.sh [options] +``` + +## Опции + +- `--port `: порт Cockpit (по умолчанию `12345`). +- `--user `: имя пользователя (по умолчанию `user`). +- `--password `: пароль пользователя (по умолчанию генерируется автоматически). +- `--timezone `: часовой пояс (по умолчанию `UTC`, пример: `Europe/Moscow`). +- `--help`: показать справку. + +## Примеры + +```bash +sudo ./cockpit-installer.sh +sudo ./cockpit-installer.sh --port 12345 +sudo ./cockpit-installer.sh --port 12345 --user admin +sudo ./cockpit-installer.sh --port 12345 --user admin --password MySecret123! +sudo ./cockpit-installer.sh --port 12345 --timezone Europe/Moscow +``` + +## Результат после установки + +- Cockpit доступен по адресу: + - `https://:` +- Создан/обновлен пользователь с `sudo`. +- Пароль сохранен во временный файл: + - `/root/_password.txt` +- Сертификаты: + - `/etc/ssl/selfcert/cert.pem` + - `/etc/ssl/selfcert/key.pem` +- Логи: + - `/var/log/setup.log` + - `/var/log/selfcert-renew.log` + +## Важно по безопасности + +- Скрипт использует самоподписанный сертификат, браузер покажет предупреждение. +- После входа сохраните пароль в надежном месте и удалите файл: + +```bash +rm -f /root/_password.txt +``` + +- Рекомендуется ограничить доступ к порту Cockpit по IP (через firewall/cloud security group). + +## Обновление сертификата + +Скрипт создает: + +- `/usr/local/bin/selfcert-renew.sh` +- `/etc/cron.d/selfcert-renew` + +Cron запускает обновление ежедневно в `03:00`.