🐧 Linux 総合学習プラットフォーム
中級 ・ ファイアウォール / ポート / セキュリティ

開いているポートの棚卸しと閉鎖

昔の検証で開けたポートが残っていないか不安になった。実際に待ち受けているポートとファイアウォールの許可設定を突き合わせ、不要な口を閉じたい。

手順

sudo ss -tlnpTCPで待ち受け中のポートと、その主のプロセス名を一覧する。-t=TCP、-l=リッスン中、-n=数字表示、-p=プロセス表示。UDPも見るなら-uを足す。
sudo firewall-cmd --list-allfirewalld側で外向きに許可しているサービス・ポートの一覧を見る。ss(実際に開いている口)とこの一覧(通す設定)の両方が揃って初めて外から届く。Debian系のufw環境ではufw statusで同様の確認。
sudo ss -tlnp | grep 8888許可リストにあるのに用途が思い出せないポートは、まず主のプロセスを特定する。プロセス名とコマンドラインを見れば、大抵は正体が割れる。
sudo systemctl disable --now 【不要なサービス】不要と確定したら、ファイアウォールで塞ぐ前にサービス自体を止める。待ち受けの大元を消すのが根本対策で、塞ぐだけでは再発する。
sudo firewall-cmd --remove-port=8888/tcpファイアウォールの許可も撤去する。まず--permanentを付けずに実行時設定だけ変えると、閉じすぎて障害になっても再起動で戻せる。
sudo firewall-cmd --runtime-to-permanent問題が出ないことを確認してから、現在の実行時設定を恒久設定に昇格させる。「一時変更→観察→恒久化」の二段構え。
注意SSH(22番など管理用の口)を誤って閉じるとサーバに入れなくなる。閉鎖作業は必ず「実行時設定のみ→動作確認→恒久化」の順で行い、恒久化前にもう1本SSH接続を張って締め出しに備えること。

▶ 学習アプリで実務レシピを使う