9

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

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

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

Это правда?

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

4 ответа4

9

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

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

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

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

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

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

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

3

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

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

3

Вы также можете использовать туннель 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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .