Что лучше, веб-приложение или клиент-сервер? - PullRequest
1 голос
/ 29 июня 2011

Я разрабатываю интерфейс администратора для CRUD на конфиденциальных данных через удаленный сервер через Интернет, которые нуждаются в наилучшей защите. У меня на руках 2 варианта, но я не мог понять, какой из них лучше.

  1. Создание веб-приложения с использованием LAMP + SSL и управление доступом с использованием таких методов, как IP-фильтр, пароль и т. Д.

  2. Создание собственного серверного / клиентского приложения и обмен данными с использованием сокета TCP с SSL-подобным шифрованием и контроль доступа с использованием пароля.

Я полностью осознаю, что после размещения в сети нет ничего безопасного, и я рассмотрел вариант туннелирования на сервер и запуска в качестве локального приложения.

Тем не менее, это было бы довольно сложно использовать с точки зрения пользователя, ИМХО, так что кроме этого есть какие-либо лучшие варианты, которые удобны для пользователя?

Не очень хорошо знаком с вопросами безопасности, поэтому любые советы будут вам полезны. Спасибо.

Ответы [ 3 ]

0 голосов
/ 29 июня 2011

Ни один из указанных вами подходов не является более безопасным, чем другой. Если вы используете TCP-сокет, тогда опасность состоит в том, что кто-то замечает, что сервер прослушивает TCP-соединения, подключается к нему и разрабатывает ваш протокол обмена данными. Если вы используете подход веб-приложения, то существует опасность, что кто-то обнаружит URL-адрес веб-сайта, пройдет его фильтрацию и сможет установить (или перехватить) аутентифицированный сеанс.

Любой из них требует, чтобы злоумышленник выполнил те же основные действия (обнаружение, что служба существует, подключение / доступ к службе, убедить службу в том, что у них есть права на выполнение защищенных операций). Любой из них также требует, чтобы вы либо знали, что делаете, либо тщательно выполняли домашнюю работу, чтобы создать действительно защищенную систему.

Так что в этом смысле я бы предложил использовать тот подход, который вам более знаком. Конечно, стоит учесть, что, если вы пойдете по пути веб-приложения, вам, вероятно, придется выбирать из более широкого набора готовых библиотек и инструментов безопасности. Например, существует, вероятно, ряд реализаций Java Filter, которые могут позволить вам указывать параметры черного и белого списков на основе IP, и многие серверы будут включать в себя встроенную инфраструктуру для обработки аутентификации пользователей и т. Д.

0 голосов
/ 29 июня 2011

Самое сильное шифрование в мире не имеет значения, если ваши пользователи имеют «12345» в качестве пароля.Если вы беспокоитесь о безопасности, не используйте пароли.

0 голосов
/ 29 июня 2011

Что касается сокета tcp и https, то здесь, вероятно, мало различий в безопасности. Поскольку сокет менее «стандартный», он может иметь немного большую защиту, потому что простой готовый браузер + стандартные http [s] могут не работать. Тем не менее, это действительно больше мрака, чем безопасности.

Вы должны подумать о 2 вещах: Конфиденциальность: обеспечение того, чтобы другие не могли видеть данные в транспорте. что-то вроде SSL должно охватывать это. Аутентификация: сервер, доверяющий тому, кто это говорит. Это сложная проблема. Если вам нужен какой-то «пароль», это помогает, но, конечно, вам нужно управлять паролем и т. Д. Это большая тема сама по себе.

...