Search
Write a publication
Pull to refresh

Comments 7

Подскажите пожалуйст какие данные пользоватей вы храните, по причине которых вы выбрали хостинг в РФ?
По закону, насколько я знаю, вы обязаны хранить все персональные данные пользователей на серверах в РФ. К ним относятся псевдонимы, почта и т.д. В общем любая информация с помощью которой можно идентифицировать конкретного человека.
Логин указываем root

Ни в коем случае, возможность логиниться в root нужно вообще полностью отключать в настройках SSH-сервера в целях безопасности. Только su/sudo


установить модули node.js командой «npm i»

Правильно я понимаю, что вебпак-бандлы собираются каждый раз прямо на сервере? По-моему это лишняя нагрузка


Выбираем второй способ проверки

Можно было бы сразу написать команду со всеми опциями, чтобы никаких вопросов пользователю не задавалось


Бот сам настроит cron-задачу

В современных убунтах вместо cron используется systemd-таймер




Запускать потенциально баганутое nodejs-приложение от имени root — чудовищно плохая идея, потому что малейший баг в коде может привести к появлению у злоумышленника полного доступа к серверу


А ещё я что-то не нашёл ничего про автозапуск после перезагрузки сервера

Ни в коем случае, возможность логиниться в root нужно вообще полностью отключать в настройках SSH-сервера в целях безопасности. Только su/sudo

Подскажите, а в чём разница если я залогинюсь не рутом и буду просто использовать sudo для тех же целей?

Правильно я понимаю, что вебпак-бандлы собираются каждый раз прямо на сервере? По-моему это лишняя нагрузка

Просто каждый раз при перекомпиляции (добавили вы новый div в код) git будет выкатывать целое полотно изменений в бандле, которые нам не нужны. Изменения самого же компонента реакт будут также видны. Тут бы сделать так, чтобы гит не отслеживал изменения файла, но переносил его всё равно каждый раз, но вот не знаю, возможно ли это и стоит ли усилий, если можно просто скопилировать на хостинге, всё же это не часто будет происходить.
Выбираем второй способ проверки

Пока не постиг подобные сокращения, но буду иметь ввиду, спасибо :)
В современных убунтах вместо cron используется systemd-таймер

У certbota написано что будет крон-задача:
The Certbot packages on your system come with a cron job that will renew your certificates automatically before they expire.

Запускать потенциально баганутое nodejs-приложение от имени root — чудовищно плохая идея, потому что малейший баг в коде может привести к появлению у злоумышленника полного доступа к серверу

Можете привести пример? Очень интересно.

А ещё я что-то не нашёл ничего про автозапуск после перезагрузки сервера

После перезагрузки ubuntu запускается pm2, который запускает приложение. Если же само приложение крашится, то pm2 его также перезапустит. Ну и в коде критические ошибки стоит отлавливать чтобы ничего не падало, как минимум вот этим:
process.on('unhandledRejection', (reason, promise) => {
log.error({ reason, promise }, 'серверный процесс unhandledRejection')
})
process.on('uncaughtException', err => {
log.error({ err }, 'серверный процесс uncaughtException')
})
Подскажите, а в чём разница если я залогинюсь не рутом и буду просто использовать sudo для тех же целей?

Во-первых, sudo знает и пишет в логи, какой конкретно пользователь его пользует, что будет важно в многопользовательском окружении, в то время как root это просто root и неизвестно кто. Во-вторых, пользователь root известен всем, и китайские боты будут пытаться подбирать к нему пароль (при его наличии), в то время как ваш не-root логим им не будет известен и подобрать пароль к нему они не смогут (впрочем, при аутентификации только по ssh-ключу эта проблема не столь остра). В-третьих, это хотя бы просто ещё один слой «защиты от дурака»


git будет выкатывать целое полотно изменений в бандле

Вы потихоньку начинаете понимать, почему использовать git для развёртывания — не самая хорошая идея ;) Про это уже где-то были статьи на Хабре вроде


У certbota написано что будет крон-задача:

Или документация устарела, или неполная, или просто врут. Достаточно посмотреть те файлы конфигурации, которые certbot создаёт после своей работы, чтобы понять, что это не соответствует действительности. Впрочем, это так, мелкая придирка


Можете привести пример?

Гуглите абсолютно любую RCE-уязвимость, они постоянно пачками находятся и эксплуатируются


После перезагрузки ubuntu запускается pm2

Кем запускается? Этого я и не обнаружил в посте

Спасибо, а что по вашему лучше использовать для развёртывания тогда?

Возможно упустил, командой pm2 startup systemd настраивается его автозагрузка. Вот тут подробнее.
а что по вашему лучше использовать для развёртывания тогда?

Ключевые слова для гуглинга — Continuous Delivery / Continuous Deployment, в контексте GitHub — ещё Travis CI. (Сам я заливаю всё своё на серверы Ansible-плейбуком прямо с домашнего компа вообще без git, так с меня тут так себе советчик)

Sign up to leave a comment.

Articles