Безопасно ли использовать большие номера портов? (re: затемнение веб-сервисов)

17903
SofaKng

У меня небольшая домашняя сеть, и я пытаюсь сбалансировать потребность в безопасности и удобство. Самый безопасный способ обезопасить внутренние веб-серверы - это подключаться только с использованием VPN, но это кажется излишним для защиты удаленного веб-интерфейса DVR (например).

В качестве компромисса было бы лучше использовать очень большие номера портов? (например, пять цифр до 65531)

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

Это правда?

Есть ли лучшие способы защиты веб-серверов? (т. е. веб-приложения для приложений)

9
Нет не правда. Современные (даже настольные) многоядерные процессоры с широкополосным доступом могут сканировать все 65535 портов за считанные секунды. И даже если злоумышленник решил разделить их на две секунды, чтобы сорвать ворота DoS, кого это волнует, вы оставляете свою систему включенной более чем на день, верно? Старый принцип гласит, что, как другие уже говорили ниже, «безопасность через мрак» по сути бесполезна в цифровом мире. msanford 14 лет назад 0

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

9
Stefan Lasiewski

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

Многие люди верят в это. Я не.

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

Если бы я был взломщиком, я бы сначала сканировал высокие порты, просто чтобы поймать людей, которые полагаются на этот метод в целях безопасности. Люди, которые полагаются на безопасность через неизвестность, вероятно, плохо понимают безопасность и чаще забывают использовать другие методы безопасности. Следовательно, эти сервисы могут быть более уязвимыми и их легче взломать.

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

Попробуйте сами, используя NMAP . Запустите сканирование nmap для портов 1-10 000, найдите сервер HTTP и сравните его со сканированием, которое сканирует все порты 1-65, xxx. Вы увидите, что разница обычно составляет 3-10 минут. Если я делаю детальное сканирование, используя что-то вроде Nessus, разница иногда составляет 20-60 минут.

Хороший взломщик - терпеливый взломщик. Они будут ждать

Предполагая, что были приняты все другие соответствующие меры безопасности, было бы лучше или хуже скрывать номера портов? Я думаю, что было бы немного лучше, если бы сервер не был специально предназначен. wag2639 14 лет назад 1
+1 "Хороший взломщик - взломщик пациентов. Они будут ждать." msanford 14 лет назад 2
@ wag2639 На самом деле вы ничего не делаете, изменяя номер порта службы, но заставляя сценариста-ребенка найти немного лучший сценарий. Военный набор блока IP-адресов и ТАКЖЕ портов, сканирование каждого отдельного порта тривиально. msanford 14 лет назад 0
3
Antoine Benkemoun

Использование нечетных номеров портов не обеспечивает никакой безопасности, если только вы не заявляете, что это позволяет запускать ваше приложение от имени пользователя без полномочий root.

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

Есть ли альтернативы использованию полноценного VPN? Возможно, какой-то обратный веб-прокси, который имеет дополнительную защиту логина / пароля? (кальмар не делает этого) SofaKng 14 лет назад 0
@sofakng: вас может заинтересовать оболочка SSL, например Stunnel: http: //www.stunnel.org/ Maxwell 14 лет назад 0
3
Sam Halicke

Вы также можете использовать туннель ssh, если вы используете Linux на обоих концах:

ssh -f -N -L 9090:localhost:9090 user@remote-host

Например, это то, что я использую для перенаправления порта 9090 на удаленном хосте на мой локальный порт 9090 cherokee-admin, и я использую аналогичные настройки для других веб-интерфейсов. Вы можете защитить приложения в этом случае, указав в конфигурации приложения, что они работают только на локальном хосте, то есть на 127.0.0.1. Таким образом, они не доступны снаружи, но вы можете переслать их ssh. Проверьте man sshдополнительные параметры, используя переадресацию портов (включая X, которая может полностью решить вашу проблему.)

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

1
Maxwell

Если ваш брандмауэр разрешает это, вы можете сначала выполнить аутентификацию на уровне брандмауэра, если сложность ваших паролей достаточно высока, это должно обеспечить безопасность предоставляемых сервисов. Вы также можете использовать туннелирование SSL, используя, например, stunnel и взаимную аутентификацию.

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

Я использую pfsense, и некоторые из моих веб-сервисов имеют встроенную поддержку SSL (HTTPS). Еще лучше использовать stunnel? Является ли использование stunnel уровнем «аутентификации на брандмауэре»? SofaKng 14 лет назад 0
Как вы делаете «аутентификация на брандмауэре»? wag2639 14 лет назад 1
Я не знаю, имеет ли pfsense такую ​​функциональность, но на маршрутизаторах Junipers вы можете использовать локальных пользователей (даже RADIUS) для предоставления доступа к HTTP-трафику. Что касается Stunnel, вы можете использовать взаимную аутентификацию с сертификатами, stunnel инкапсулирует HTTP-трафик с SSL и обрабатывает аутентификацию. Maxwell 14 лет назад 0

Похожие вопросы