Я обсуждал с другом идею «единого сервера, скомпилированного приложением», в котором сервер компилируется вместе только с его зависимостями в один исполняемый файл. На сервере больше ничего нет. Там нет раковины и больше ничего нет.

Идея заключается в том, что если нет ничего, кроме встроенного исполняемого файла, который включает в себя биты ОС и необходимые драйверы, а также веб-сервер и код приложения, то это будет гораздо более безопасным, чем сервер, на который можно войти.

Имеет ли это смысл, возможно ли это, будет ли он более безопасным?

1 ответ1

0

Ну, вы не можете свернуть все в один исполняемый файл, но с Linux вы можете:

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

  • создайте свой собственный init который будет только порождать ваш веб-сервер и поддерживать его работу, если он умрет. Это трудно.

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

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

Достигнуть вышесказанного сложно, но не невозможно. С минимальной установкой Debian и установкой только необходимого вам программного обеспечения вы можете подойти довольно близко и воспользоваться преимуществами регулярных обновлений и простой системы управления пакетами, если вы передумаете. Вы также можете скомпилировать свое собственное ядро, как описано выше, и Debian предоставит инструменты для этого.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .