Skip to content

Скрипт атоматизирует базовую безопасную настройку свежеустановленной Ubuntu/Debian Server.

Notifications You must be signed in to change notification settings

EikeiDev/ubuntu-initial-setup

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 

Repository files navigation

Bash Ubuntu MIT

🛡️ Ubuntu / Debian Server Setup

Настройка и защита нового сервера за 5 минут.
Обновления, SSH-ключи, файрволл, защита от брутфорса, оптимизация сети — всё в одном скрипте.


⚡ Установка

Подключитесь к серверу как root и выполните:

bash <(wget -q -O - https://raw.githubusercontent.com/EikeiDev/ubuntu-initial-setup/refs/heads/main/setup.sh)

Скрипт интерактивный — просто следуйте подсказкам.


🔥 Что вы получите

🔐 Безопасность

  • Новый sudo-пользователь — вход под root отключается
  • SSH-ключи Ed25519 — генерируются автоматически, вход по паролю отключается
  • Нестандартный SSH-порт — защита от массовых ботов
  • UFW файрволл — разрешён только SSH, всё остальное заблокировано
  • Rate-limit на SSH — автоматическая блокировка при множественных подключениях
  • Fail2Ban — бан IP после 5 неудачных попыток входа
  • Ping отключён — сервер не отвечает на ICMP, не виден при сканировании
  • 15 параметров SSH hardeningMaxAuthTries 3, LoginGraceTime 30, AllowUsers и другие

🚀 Производительность

  • TCP BBR — алгоритм Google для ускорения сетевых соединений
  • Swap 2GB — файл подкачки с оптимальными настройками
  • Chrony — точная синхронизация времени
  • Автообновления — security-патчи устанавливаются автоматически

📦 Дополнительно

  • Docker — установка в один клик (опционально)
  • Базовые утилитыhtop, tmux, ncdu, iotop, curl, wget
  • Hostname и часовой пояс — настройка по вашему выбору
  • IPv6 — опциональное отключение

🛠️ Как это работает

1.  Обновление системы
2.  Создание нового пользователя
3.  Генерация SSH-ключей → вам сразу покажут приватный ключ
4.  Выбор SSH-порта
5.  Настройка файрволла и смена порта
6.  Отключение входа по паролю
7.  Настройка Fail2Ban, ICMP, sysctl
8.  Swap, BBR, утилиты, Docker (опционально)
9.  Отключение root
10. Проверка: вы открываете вторую SSH-сессию
11. После подтверждения — ключ удаляется с сервера

Caution

Приватный ключ показывается один раз. Скопируйте его сразу! После подтверждения подключения ключ будет удалён с сервера.


✅ Совместимость

ОС / Платформа Статус
Ubuntu 24.04 / 22.04 / 20.04
Debian 12 / 11
KVM / VMware / Dedicated
LXC / OpenVZ ✅ (sysctl пропускается если недоступен)

💡 Советы

  • Перед запуском — убедитесь, что у вас есть доступ к консоли VPS (на случай потери SSH-доступа)
  • Docker + UFW — Docker обходит файрволл. Используйте 127.0.0.1:PORT:PORT вместо PORT:PORT при запуске контейнеров
  • После скрипта — если было обновлено ядро, выполните sudo reboot
  • Повторный запуск — скрипт идемпотентен, можно запускать повторно

⚠️ Отказ от ответственности

Скрипт предоставляется «как есть». Рекомендуется ознакомиться с кодом перед запуском. Предназначен для свежих установок Ubuntu / Debian.


Made with ❤️ for sysadmins who value their time

About

Скрипт атоматизирует базовую безопасную настройку свежеустановленной Ubuntu/Debian Server.

Topics

Resources

Stars

Watchers

Forks

Languages