Рубрики
Uncategorized

Планы на мой веб-сервер

Говоря о предыдущих ошибках и описывая планы на будущее для моего веб-сервера. Теги с DevOps.

В настоящее время я владею маленьким VPS-сервером, размещенным в OVH. Он служит домом для нескольких экспериментов с Linux, некоторые файлы, которые мне нужно было поделиться, и клоун-фиеста по вопросам безопасности и запущенных веб-сервисов, которые я настроил несколько месяцев назад и в конечном итоге забыл.

Хотя я все еще учусь, как работать с Linux и как защитить сервер, я узнал на своих ошибках и разработал новый и улучшенный план.

Старый план

Два года назад я был поражен Sysadmins и как им удалось установить свои серверы. Вдохновленный им и надеясь, что смогу обеспечить некоторую безопасность, я написал несколько ключевых моментов:

  • Только порты 80 (http), 443 (https) и 22 (ssh) открыты
  • У каждого сервиса есть определенная учетная запись Linux
  • Каждая служба слушает на localhost
  • Nginx подвергает эти услуги через обратные прокси
  • NGINX маршруты трафика к услугам с использованием субматочных доменов
  • Давайте шифруем сертификаты для каждого поддона

Все выглядело великолепно, и я был взволнован, но с течением времени этот план быстро ударил меня в спину.

Старые недостатки плана

  • Разрешения стали болью в заднице

    Несколько вещей не работали, потому что рабочий каталог сервиса не был создан с правильной учетной записью и Sudo необходимо использовать каждый раз, когда я хотел опубликовать временный файл; Излишне говорить, что есть некоторые файлы и каталоги с разрешениями, установленными на 777.

  • Рабочий каталог услуг не был централизован

    Общие файлы жили на /var/www/статический приложение Node.js побежало на ~/dev/nodejs/приложение , …

  • Nginx Config файл имеет много повторных блоков

    Поскольку у каждого сервиса/подделки имели два блока — HTTPS обратный прокси и HTTP для перенаправления в HTTPS — множество блоков были идентичны из-за логики одинаковой для всех услуг.

  • Сертификаты для каждого поддона

    В то время, давайте шифрование не поддерживает сертификаты подстановки; Таким образом, сертификат должен был быть обновлен каждый раз, когда я хотел развернуть новый сервис. Это было не так уж плохо, просто то, что теперь можно избежать.

  • Неиспользованные/разбитые услуги

    Услуги перестали использовать, все сломалось, утечки памяти произошли, и я даже не заметил. Это Определенно должен быть улучшен.

Генеральный план

  • Используйте Docker, чтобы изолировать, контролировать и централизовать услуги; Это также позволяет мне проверить новый блестящий JS Frameworks Услуги без загрязнения всей системы с нежелательными пакетами
  • Рисунок Как генерировать файл конфигурации NGINX из упрощенного файла конфигурации
  • Обновите, чтобы позволить сертификаты подстановки зашифрования
  • Переместите редко доступные файлы на некоторые внешние раствора холодного хранения
  • Создайте хорошую личную страницу с деталями обо мне
  • Gost MySQL/Mariadb база данных с полуавтоматическим созданием и удалением учетной записи
  • Разработайте веб-приложение для управления общими файлами

Что вы думаете об этом новом плане? Вы бы сделали что-то по-другому? Предложения ценятся!

Оригинал: «https://dev.to/joaopms/plans-for-my-web-server-3fbm»