Как обеспечить прослушивание, отправку и получение сокета Python на открытом порту? - PullRequest
0 голосов
/ 29 июня 2019

Моя настройка:

Я использую python3 и модуль сокета для настройки сокета с использованием ipv4 и tcp, прослушивания и получения данных через открытый порт.У меня есть простой сервер и клиент, где клиент отправляет запрос и сервер отвечает.

Моя проблема:

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

Вопросы:

  1. Как я могу убедиться, что данныеЯ не могу изменить передачу?
  2. Достаточно ли брандмауэра (обычного брандмауэра, встроенного в каждый компьютер) сервера при прослушивании, получении и отправке данных через открытый порт?Если нет, то что я могу сделать, чтобы убедиться, что сервер не может быть взломан каким-либо образом (очевидно, не полностью, но настолько хорошо, насколько это возможно)?
  3. То же, что и вопрос 2. Только для клиента (что касаетсяЯ обеспокоен тем, использует ли открытый порт или, по крайней мере, не как сервер)

PS: Если возможно, с использованием Python.

1 Ответ

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

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

...