Сервер Tornado на порте 80/443, какие-либо проблемы?

Я бы хотел запустить приложение на основе веб-сервера Tornado в производственной среде. Требования к производительности низкие.

Поскольку я не Мне нужен балансировщик нагрузки, интересно, можно ли иметь к нему прямой доступ через порты 80 и 443. Это нормально с точки зрения безопасности, и есть ли другие проблемы? Это, конечно, при условии, что я найду способ запустить его как пользователь без полномочий root (authbind недоступен в RHEL).

2
задан 5 April 2016 в 14:37
1 ответ

Прямое раскрытие торнадо по HTTPS означало бы, что шифрование TLS обрабатывается ssl-модулем Python.

Это, вероятно, нормально, если:

  • дистрибутив python достаточно свежий (python <2.7.9 имеет много проблем с SSL. Python> = 2.7.9 или> = 3.4 намного лучше)

  • python и libssl предоставляются через пакеты распространения Linux

  • у вас есть тщательная политика обновления для пакетов распространения

Конечно, если ваше приложение содержит очень конфиденциальную информацию, лучше всего будет запустить прокси (как nginx) с усиленным стеком TLS в перед вашим приложением. Например, запуск nginx на обратном прокси-сервере OpenBSD, который использует LibreSSL.

Для предотвращения отказа в обслуживании, если ваше приложение закодировано в отношении приложений торнадо (никогда не блокируйте ioloop), тогда от асинхронного режима мало пользы. балансировщик нагрузки перед приложением.

И, наконец, большинство проблем безопасности в любом случае в основном коренится в самом приложении ... Аутентификация, контроль доступа, XSRF, XSS ... Балансировщик нагрузки не предотвращает их.

2
ответ дан 3 December 2019 в 11:33

Теги

Похожие вопросы