2015-12-14 6 views
1

Мы разрабатываем серверное приложение, которое будет прослушивать все соединения (TCPListener) с внешних устройств 24/7 и хранить эти сообщения в нашей базе данных.Как сделать порт безопасным

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

Любые идеи?

+2

Конфигурация в маршрутизаторе/брандмауэре, чтобы заблокировать этот запрос, вы не можете остановить запрос, но вы можете это отрицать. Заблокируйте его от определенных IP-адресов, если вы злоупотребляете – Theunis

+0

Если вам известен конкретный IP-диапазон, который будет использоваться для доступа к серверу. (Например, если вы используете vpn), вы можете указать битовую маску при привязке сокета. Это позволило бы только соединения для определенного ip-диапазона – MrPaulch

ответ

0

Если дано Ваше определение «безопасный»:

кто-то не сможет сканировать порты, а также подключить и отправлять тысячи запросов на этот конкретный порт

Тогда правильно настроенный брандмауэр.

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

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

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

+0

. Верно, по крайней мере, если эти устройства имеют фиксированные IP-адреса, тогда мы можем настроить брандмауэр таким образом, чтобы он просто принимал подключения от этих IP-адресов (= устройств). Однако, если у этих устройств нет фиксированных IP-адресов, я думаю, будет довольно сложно отфильтровать соответствующие соединения (у нас есть возможность определить шаблон сообщений, отправленных этими устройствами, и мы можем посмотреть, будет ли шаблон входящего сообщение соответствует нашим стандартам. Однако нам все равно нужно получать эти сообщения и оценивать, что делает наш сервер еще занятым). – Guven

+0

А также какой порт мы должны использовать? Я полагаю, что чем выше, тем лучше, чтобы другие приложения использовали его. – Guven

3

Использовать firewall.

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

Смежные вопросы