Добавить cockpit/README.md

This commit is contained in:
2026-04-12 13:12:56 +00:00
parent a68c6d4d7f
commit 189f03609c

83
cockpit/README.md Normal file
View File

@@ -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 <port>`: порт Cockpit (по умолчанию `12345`).
- `--user <username>`: имя пользователя (по умолчанию `user`).
- `--password <password>`: пароль пользователя (по умолчанию генерируется автоматически).
- `--timezone <tz>`: часовой пояс (по умолчанию `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://<SERVER_IP>:<PORT>`
- Создан/обновлен пользователь с `sudo`.
- Пароль сохранен во временный файл:
- `/root/<user>_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/<user>_password.txt
```
- Рекомендуется ограничить доступ к порту Cockpit по IP (через firewall/cloud security group).
## Обновление сертификата
Скрипт создает:
- `/usr/local/bin/selfcert-renew.sh`
- `/etc/cron.d/selfcert-renew`
Cron запускает обновление ежедневно в `03:00`.