Как мне развернуть мою веб-форму в производственной среде?

391
CVE-2017-5754

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

Я собираюсь начать с текущей настройки разработки: у меня есть локальный веб-сервер apache, управляемый с помощью XAMPP, и на моем персональном компьютере не настроена SSL / сертификация. У меня есть небольшая база данных MySQL в фоновом режиме.

Сайт должен предоставлять сотрудникам простую форму для ввода данных смены (время начала, время окончания, количество обработанных ящиков и т. Д.). Эти данные затем отправляются и хранятся в базе данных MySQL.

Я считаю, что окружающая среда является относительно низким риском. Я не верю, что кто-либо, работающий с сайтом, попытается каким-либо серьезным образом повлиять на безопасность, поэтому базовой безопасности, требуемой европейским законодательством (GDPR), должно быть достаточно. Я знаю, что моя текущая установка не для производства, но я также чрезвычайно новичок в такого рода проектах, и поэтому я хочу поделиться с вами некоторыми идеями о том, как это настроить.

Мои вопросы, но не ограничиваются:

  • Должны ли сервер и база данных работать локально (дома) или в облаке (с лазурью или чем-то в этом роде)?
  • Если он работает локально, как сотрудники компании могут подключаться к локальному серверу (возможно, через VPN?)?
  • Как я могу гарантировать доступность при локальном запуске?
  • Какие есть альтернативы XAMPP (для производства, а не для разработки)?
  • Что еще я должен принять во внимание?

Заранее большое спасибо!!

1
Это тоже не по теме, так как оно слишком широкое. Вопросы здесь должны быть о конкретных проблемах. confetti 5 лет назад 0
Есть ли место, где я могу задать этот вопрос? CVE-2017-5754 5 лет назад 0
У вас потенциально есть куча разных вопросов, которые, возможно, придется задать в разных областях. Сервер @ домой? Лучше всего, если он запускается локально внутри компании, чтобы избежать проблем с доступом, в противном случае он может работать круглосуточно. Возможно, вам следует использовать PHP-фреймворк, чтобы решить некоторые проблемы для вас. Структура и кодирование - ** stackoverflow **, безопасность - ** Информационная безопасность **. Существует также ** Администраторы базы данных ** для вопросов MySQL / базы данных. cybernard 5 лет назад 0
** Как я могу гарантировать доступность, когда я запускаю его локально? ** Определите, насколько строго должно быть ваше время безотказной работы? В большинстве случаев приличный ИБП с кабельным модемом, компьютером и сетевым коммутатором подключен, если у вас есть отдельный маршрутизатор / коммутатор. Полная потеря мощности, установка генератора. Возможно, вам понадобится 2 или более интернет-провайдера, чтобы гарантировать, что ваш интернет будет работать. Что касается защиты от землетрясений, наводнений, пожаров и т. Д., То становится все сложнее и дороже. Вот почему облачные вычисления имеют больше смысла, они обработаны для вас. cybernard 5 лет назад 0
Большое спасибо за ваши обширные ответы. Проблема в том, что необходимо охватить несколько географических мест. Вот почему я хочу запустить его дома. Это не совсем профессионально, я просто делаю это для своего отца как хобби-проект. Я постараюсь разделить свой вопрос и найти подходящие сообщества. CVE-2017-5754 5 лет назад 0

2 ответа на вопрос

0
harrymc

Должны ли сервер и база данных работать локально (дома) или в облаке (с лазурью или чем-то в этом роде)?

Возможны оба варианта, каждый со своими достоинствами и недостатками. Наиболее важным фактором является доступность.

Если он работает локально, как сотрудники компании могут подключаться к локальному серверу (возможно, через VPN?)?

Вам нужно будет перенаправить порт на вашем маршрутизаторе (лучше не 80) на порт 80 сервера. Вам также понадобится DNS-имя для вашей компании. Если у вас его нет, посмотрите 5 лучших провайдеров динамического DNS, которые вы можете найти бесплатно сегодня . Сотрудники будут приняты через https://yourDNS:yourPort. Вам не нужен VPN.

Как я могу гарантировать доступность при локальном запуске?

Ты не можешь Также нет гарантии при работе в облаке, хотя проценты лучше.

Какие есть альтернативы XAMPP (для производства, а не для разработки)?

Есть и другие веб-серверы, на Linux и Windows. В Windows в основном используется IIS. Ищите их.

Что еще я должен принять во внимание?

Много. Обратите особое внимание на безопасность и избегая уязвимостей SQL-инъекций .

Большое спасибо за ответ. Имеет ли смысл не открывать сервер до Интернета и хранить его в локальной сети, чтобы сотрудники могли подключиться к нему через VPN? Мне было интересно, если это повышает безопасность, так как никто в Интернете не может взаимодействовать с сервером таким образом? CVE-2017-5754 5 лет назад 0
С точки зрения безопасности это имеет большой смысл. Зачем вам нужен VPN внутри вашей локальной сети? harrymc 5 лет назад 0
Сервер находится внутри моей локальной сети, но сотрудникам каким-то образом необходимо подключиться к этой сети, чтобы иметь возможность использовать форму и делать это, не используя только Интернет. Я подумал, что вам нужно подключение vpn к сети. Они не в том же месте, что и сервер. CVE-2017-5754 5 лет назад 0
VPN на самом деле не нужен - достаточно HTTPS. harrymc 5 лет назад 0
Даже с HTTP все в порядке во внутренней сети. harrymc 5 лет назад 0
Но для подключения от компании к серверу мне нужен VPN, верно? Поскольку сервер не открыт для Интернета, и сотрудник может получить к нему доступ, только если он находится в той же сети. CVE-2017-5754 5 лет назад 0
Во-вторых, HTTPS сегодня обязателен, иначе браузеры могут отказаться от подключения. В любом случае вам действительно не нужен VPN, если только данные не настолько секретны, что HTTPS недостаточно (например, HTTPS мне достаточно для подключения к моему банку). Возможно ли путаница с [Перенаправление портов] (https://en.wikipedia.org/wiki/Port_forwarding)? harrymc 5 лет назад 0
Я знаю, как работает переадресация портов, но я мог неправильно понять использование vpn. Надеюсь, чтобы прояснить ситуацию, я знаю, что VPN может использоваться для безопасной передачи данных. В моем случае, когда сервер доступен только из моей локальной сети, а не из Интернета, сотрудник не может просто получить доступ к веб-странице откуда-то еще в Германии. Теперь я подумал, что вам нужно vpn к моему домашнему маршрутизатору, чтобы сотрудники могли подключиться к локальной сети и затем получить к ней доступ. CVE-2017-5754 5 лет назад 0
HTTPS также является ограниченной формой VPN. Разница в том, что HTTPS будет шифровать только трафик между вашим браузером и конкретным веб-сайтом, а VPN будет шифровать * весь трафик * между вашим компьютером и Интернетом. Поскольку сотрудникам не требуется * вся их коммуникация *, проходящая через ваш сервер, следует избегать VPN, поскольку ваш сервер не годится в качестве шлюза в Интернет для всей компании. harrymc 5 лет назад 0
0
GeraldDC

С точки зрения инфраструктуры, я бы посоветовал не запускать и не поддерживать какую-либо инфраструктуру, такую ​​как LAMP - локально или в облаке - для такой задачи, а использовать подход «песочницы».

В начале у него была небольшая кривая обучения, но мы успешно использовали Google App Engine с PHP - см. Https://cloud.google.com/appengine/docs/php/ - для более мелких инструментов, таких как ваш, кажется,

Для приложений с низким трафиком (и ваше, похоже, одно) это в основном бесплатно, и вы можете легко добавить базу данных MySQL с помощью Google Cloud SQL.

Также устраняет многие аспекты безопасности, связанные с инфраструктурой, из вашей таблицы, однако о безопасности приложений, такой как инъекции SQL, все еще нужно заботиться