Я пытался сначала добавить правило брандмауэра
sudo ufw deny 22
$ sudo ufw status
To Action From
-- ------ ----
22 DENY Anywhere
22 (v6) DENY Anywhere (v6)
но это не сделало работавший, таким образом, я пытался остановить сервисы, соответствующие ему
sudo systemctl stop ssh
это работает временно и когда мы перезагрузим систему, тот же порт будет открыт снова. Как к постоянно близко порту?
Как правило, вы добавляете правило брандмауэра, чтобы запретить весь трафик на конкретном номере порта, например 22 в брандмауэре ufw
, используя:
sudo ufw deny 22
Обратите внимание, что ufw
должно быть включено, чтобы это правило Конечно, может иметь эффект:
sudo ufw enable
Проверьте статус, значения по умолчанию и список всех правил с помощью:
sudo ufw status verbose
Вы также можете установить графический интерфейс брандмауэра gufw
для управления эти правила и значения по умолчанию, если вы предпочитаете это по командной строке.
Таким образом, порт становится недоступным только по сети из вне вашего компьютера . Вы все еще можете получить доступ к порту на localhost
или 127.0.0.1
, поскольку локальный трафик не фильтруется брандмауэром. Служба, прослушивающая этот порт, также может по-прежнему работать и на нее не влияют никакие правила брандмауэра.
Если вы не хотите, чтобы служба systemd автоматически запускалась при загрузке, вы можете отключить ее. Например, чтобы отключить на сервере ssh используйте:
sudo systemctl disable ssh
Эта команда просто отключает автозапуск службы. Он по-прежнему может запускаться автоматически, если это требуется другой службе или цели, или вы также можете запустить его вручную. Он не влияет на порты, используемые службой, просто останавливает службу и прослушивает ее на этом порту, но как только он запускается, он снова слушает.
Если вы вообще не хотите, чтобы на вашем компьютере работал сервер ssh, вы можете просто полностью удалить пакет:
sudo apt remove openssh-server
Это удаляет (и останавливает, конечно) Приложение сервера ssh, но не влияет ни на какие порты и правила брандмауэра.