SSH ポートを 22 から 1234 に変更しましたが、nmap を実行するとポート 22 がまだ表示されます。

SSH ポートを 22 から 1234 に変更しましたが、nmap を実行するとポート 22 がまだ表示されます。

Centos 7 ボックスの SSH ポートを変更するために、この記事を使用しました。

参考:

(selinux はインストールされていないため、スキップしました):

しかし、CentOS 7 ボックスを指す別のサーバーで nmap を実行すると、次の結果が出力されます。

Host is up (0.00023s latency).
Not shown: 65533 filtered ports
PORT    STATE  SERVICE
22/tcp  closed ssh
1234/tcp  open   unknown

私は試した

sudo firewall-cmd --permanent --zone=public --remove-port=22/tcp

しかし、それが私に

Warning: NOT_ENABLED: 22:tcp
success

ここで何を誤解しているのでしょうか? ポート22をnmapに表示しないようにするにはどうすればいいでしょうか? またはすべき何らかの理由でまだ表示されますか?

答え1

Centos 7 の firewalld では、ssh はポートではなくサービス名で設定されます。

もしあなたが

firewall-cmd --list-services

「dhcpv6-client ssh」のように、マシン上で開いているサービスが一覧表示されます。

次のコマンドを実行してサービスを削除し、新しいsshポートの永続的なルールを追加し、ファイアウォールルールを再読み込みして、マシンを再度スキャンします。

firewall-cmd --zone=public --permanent --remove-service=ssh
firewall-cmd --zone=public --permanent --add-port=1234/tcp
firewall-cmd --reload

不明な場合は「--permanent」部分を省略できます。設定は再起動後に破棄されます。

関連情報