Если у меня есть сервер linux с правилом FW (iptables) для разрешения входящих соединений на определенный порт, должна ли служба быть запущена и прослушиваться, чтобы принять это соединение, или есть другой способ получить доступ к системе, используя этот порт? Возможно, есть уязвимость в безопасности, которая может использовать этот порт без службы, прослушивающей его на предмет соединений? Этот вопрос возник у меня в голове, когда я заметил, что я не могу подключиться к любому порту через telnet, если служба не прослушивает его, даже если у меня есть правило FW для этого.
Чисто теоретически да. Но это означает, что в ядре должна быть ОГРОМНАЯ ошибка, чтобы принимать и использовать пакеты на каждом порту, и нет способа, как это можно заполнить в восходящем потоке ядра. Итак, ответ на ваш вопрос - нет, порт без обслуживания закрыт и безопасен. Но лучшая практика при настройке брандмауэра - разрешить только указанный список портов и отключить все остальные.
Конечно, если кто-то скомпрометирует ваш сервер через запущенную службу, он / она может запустить новую службу, которая будет прослушивать новый порт.
вам не хватает основных системных понятий, друг мой. Если служба, скажем sshd, не запущена, как вы ожидаете, что система откроет сокет на порту 22?
Когда вы запускаете службу в своей системе, какой бы порт она ни использовала,служба уведомляет систему об открытии сокета на этом порту для этой службы, и тогда вы увидите, что система прослушивает этот порт, потому что ей было сказано это сделать. Не сообщая системе, что делать, я задаюсь вопросом, как система будет обеспечивать соединение с любой входящей службой.
Ваш вопрос вообще не имеет смысла.