Интеграция веб-интерфейса с приложением. Безопасность?

Обсуждаются как существующие проекты (перевод документации, информационная система и т.п.), так и создание новых.

Модератор: Модераторы

Интеграция веб-интерфейса с приложением. Безопасность?

Сообщение wwswowsogon » 11.11.2021 21:56:17

Всем доброго времени суток!

Некоторое время назад передо мной встала интересная задача. Необходимо сделать на сайте некий функционал, позволяющий пользователю делать запросы к БД клиент-серверного приложения, сделанного на FPC + FB.

В случае, если разработчиком сайта я не являюсь (а так, скорее всего, и будет) то способ решения этого вопроса представляется следующим:

1) запилить некий веб-сервис, с адресом и портом :) например, на Python'е.
2) У этого веб-сервиса будет реализован некий API, через который сайт от пользователя будет передавать данные веб-сервису.
3) А веб-сервис, в свою очередь, будет передавать данные прямо в БД, или, возможно, в некое промежуточное хранилище, из которого потом основной софт будет забирать данные, обрабатывать должным образом и уже сам их писать в БД.

Собственно, вопрос, насколько безопасен данный подход? Я что-то не очень соображаю.

Веб-сервис означает IP-адрес, который будет торчать в интернет, вероятно.

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

Я понимаю, что вопрос, может быть, больше к системным администраторам, но если кто выскажет соображения, буду весьма признателен.
wwswowsogon
постоялец
 
Сообщения: 152
Зарегистрирован: 23.12.2008 20:41:37

Re: Интеграция веб-интерфейса с приложением. Безопасность?

Сообщение Ichthyander » 11.11.2021 23:14:31

Безопаснее и удобнее сделать трехзвенную архитектуру. То есть максимально изолировать базу данных. Доступ к базе данных запретить извне само собой.
Почти как Вы сказали. Про промежуточное хранилище не понял как и зачем.
Запиливаете веб-сервис, с которым через API фронтенд клиенты (в т.ч. ваш сайт), как я понимаю через Ajax?
Кстати, веб-сервис Вы также можете выполнить на FPC. Никаких промежуточных доп. сервисов не потребуется тогда. Просто этот веб-сервис будет и веб-сервером и API шлюзом. То есть на нем будет реализована вся логика и он же будет обращаться к базе данных. Дальше у него может быть несколько интерфейсов. Веб-интерфейс для сайта, API для возможного подключения в будущем, к примеру, мобильных приложений, можно будет также прикрутить телеграм/slack интерфейс и т.д.

Добавлено спустя 1 минуту 27 секунд:
<<Я понимаю, что вопрос, может быть, больше к системным администраторам, но если кто выскажет соображения, буду весьма признателен.>> То есть если говорить о безопасности, нужно чтобы не было доступа к Вашей базе данных снаружи. Только опосредованно через ваш веб-сервис, промежуточное звено
Аватара пользователя
Ichthyander
энтузиаст
 
Сообщения: 686
Зарегистрирован: 04.04.2007 08:32:43
Откуда: Астрахань

Re: Интеграция веб-интерфейса с приложением. Безопасность?

Сообщение Снег Север » 12.11.2021 08:50:17

wwswowsogon, размещая данные удаленно, вы, по определению, "торчите в интернете" и потенциально являетесь объектом атаки. А про стандартный подход вам выше всё правильно написали.
Аватара пользователя
Снег Север
долгожитель
 
Сообщения: 3038
Зарегистрирован: 27.11.2007 16:14:47

Re: Интеграция веб-интерфейса с приложением. Безопасность?

Сообщение Alex2013 » 12.11.2021 12:19:57

По моему наблюдается некий избыток паранойи . Любой комп подключенный к интернету это "IP-адрес, который торчит в интернет". Но (ИМХО) досточно замаскировать внешний вид сервиса (при проверке портов сканером ) под что-то стандартное и "скучное" вероятность "случайного взлома" упадет в разы. "Направленный взлом" тоже можно заметно усложнить например "белым списком контактов" который-бы освежался например при входе на сервис "через почту" ( то бишь автоматически отсылаемым с программы-клиента письмом на внешний ящик ) .
Последний раз редактировалось Alex2013 13.11.2024 13:50:00, всего редактировалось 1 раз.
Alex2013
долгожитель
 
Сообщения: 3049
Зарегистрирован: 03.04.2013 11:59:44

Re: Интеграция веб-интерфейса с приложением. Безопасность?

Сообщение wwswowsogon » 12.11.2021 21:44:12

Всем спасибо за комментарии.

Ichthyander писал(а):Про промежуточное хранилище не понял как и зачем.


Ну, типа, отдельный сервер/общая папка с файлом/файлами, куда пишется инфо веб-сервисом. А потом оттуда забирается сервисом самого приложения и пишется в БД.

Ichthyander писал(а):как я понимаю через Ajax?


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

Ichthyander писал(а):веб-сервис Вы также можете выполнить на FPC.


- подумывал над этим :) Но есть опасения, что это усложнит разработку. К тому же, опять же, я не самый классный программист :)
Если можно, посоветуйте для этого FPCшные библиотеки, желательно кроссплатформенные. Indy?

Ichthyander писал(а):сервис будет и веб-сервером и API шлюзом.
- это хорошо, но в том случае, если, скажем так, "сайт" буду тоже делать я. По нашим условиям предполагается, скорее, что поток данных с сервиса будет неким образом забираться сайтом, сделанным совсем другими людьми, даже понятия не имеющими обо всех этих тонкостях. Так что веб-сервер, думаю, излишен, а вот API необходим, да.

Ichthyander писал(а):То есть если говорить о безопасности, нужно чтобы не было доступа к Вашей базе данных снаружи. Только опосредованно через ваш веб-сервис, промежуточное звено
- да, логично. Но все же посещают параноидальные мысли насчет того, что, если сервис будет взломан. Это маловероятно, конечно.

Alex2013 писал(а):По моему наблюдается некий избыток паранойи
- да, есть немного. Но я пост создал в том числе для того чтобы понять возможный круг угроз/схем реализации, потому что до сих пор не задавался подобными вопросами с точки зрения разработчика.

. Любой комп подключенный к интернету это "IP-адрес, который торчит в интернет". Но (ИМХО) досточно замаскировать внешний вид сервиса (при проверке портов сканером ) под что-то стандартное и "скучное" вероятность "случайного взлом" упадет в разы.
Alex2013 писал(а):можно заметно усложнить например "белым списком контактов"
- эт чё такое?
wwswowsogon
постоялец
 
Сообщения: 152
Зарегистрирован: 23.12.2008 20:41:37

Re: Интеграция веб-интерфейса с приложением. Безопасность?

Сообщение Alex2013 » 12.11.2021 22:06:48

"Белый список контактов" это когда соединение по определенному протоколу возможно только для определенных IP .
(все остальные вообще этот протокол или порт не замечают )
Alex2013
долгожитель
 
Сообщения: 3049
Зарегистрирован: 03.04.2013 11:59:44

Re: Интеграция веб-интерфейса с приложением. Безопасность?

Сообщение wwswowsogon » 12.11.2021 22:31:48

Ясно, спасибо :)
wwswowsogon
постоялец
 
Сообщения: 152
Зарегистрирован: 23.12.2008 20:41:37

Re: Интеграция веб-интерфейса с приложением. Безопасность?

Сообщение Ichthyander » 12.11.2021 22:34:50

wwswowsogon писал(а):- подумывал над этим :) Но есть опасения, что это усложнит разработку. К тому же, опять же, я не самый классный программист :)
Если можно, посоветуйте для этого FPCшные библиотеки, желательно кроссплатформенные. Indy?

Инди/синапс это скорее просто обертка над сетевыми протоколами. Если делать сайт/API, то предполагается веб-фреймворк как минимум. Есть нативный fcl-web, а есть brookframework. Его я рекомендую. Есть еще Мормот, но его не юзал
Аватара пользователя
Ichthyander
энтузиаст
 
Сообщения: 686
Зарегистрирован: 04.04.2007 08:32:43
Откуда: Астрахань


Вернуться в Разное

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 42

Рейтинг@Mail.ru
cron