ネットワークの安全性をチェックする方法|基本の診断コマンドとセキュリティ確認|UNIX Cafe

当ページのリンクには広告が含まれています。
第41回|UNIX Café「ネットワークの安全チェック」

UNIX Cafe | 第41回

目次

ネットワークの安全チェックへようこそ

ミナちゃん

先生、ポートやファイアウォールのことが少しわかってきたんですが…
“今、自分のネットワークは安全なのかな?” って確かめることってできるんですか?

ユニ先生

できるよ。今日はね、ポートの状態をやさしくチェックする方法を見てみよう。

まずは“いま開いているポート”を調べてみよう

Mac / Linux で LISTEN を確認する

ミナちゃん

ユニ先生、“LISTEN”って、入口を開けて待ってるって意味でしたよね?

ユニ先生

そうだよ、ミナちゃん。コンピュータの世界では“どの入口(ポート)が今開いているのか”を見るのはとても大切なんだ。

ミナちゃん

入口が開いていると……外から入ってこられるってことですか?

ユニ先生

うん。でもね、Mac や Linux では“内部用だけ”の入口もあるし、
外からは見えない入口もある
んだ。それが安全かどうかを見るために “LISTEN” を調べるんだよ。

bash
$ sudo lsof -i -P | grep LISTEN
ミナちゃん

このコマンド、見た目が難しそう……。
何をしてるんですか?

コマンドを3つに分解して説明

ユニ先生

実は、このコマンドは 3つの動きをまとめたものなんだ。

lsof -i -P

ユニ先生

まず lsof は、
“いま使われている通信の一覧” を全部見るコマンドなんだ。

ミナちゃん

通信の一覧……つまり、入口が使われているかどうかもここで分かるんですね!

|(パイプ)

ユニ先生

次にこの |(パイプ)は、
左側の結果を右側のコマンドに“流す”道具なんだ。

ミナちゃん

水道みたいに、トントン…って流れていくんですね!

grep LISTEN

ユニ先生

最後の grep LISTEN は、大量にある通信の中から “LISTEN と書かれた行だけ” を選び出すフィルターなんだ。

ミナちゃん

つまり、“入口を開けて待ってるところだけを抜き出す”ってことですか?

ユニ先生

その通り! ミナちゃん、よく分かったね。

実行結果

bash
ControlCenter 618 noi   8u  TCP *:7000 (LISTEN)
ミナちゃん

わっ!
“LISTEN” って、本当に書いてありますね。
これが開いている入口なんだ!

ユニ先生

この表示を見ることで「どのポートが開いているか」
「どのアプリがそれを開いているか」がすぐに分かるんだ。

ミナちゃん

なるほど〜!
lsof で全部の通信を見て、grep LISTEN で開いている入口だけを見つける…これなら初心者でも分かりやすいです!

nmap を使ってポートを“外から”診断する方法

nmap を使えるようにするには?

ユニ先生

最初に nmap をインストールしよう。

macOS の場合、Homebrew でかんたんにインストールできます。

bash
$ brew install nmap

nmap の基本(ローカルの安全チェック)

bash
$ nmap localhost
ミナちゃん

これって、自分のパソコンの入口がどう見えるか調べてるんですね!

ユニ先生

その通り。
外側から見て“どのドアが開いているか”を知ることで、安全確認ができるんだ。

特定のポートだけ調べたい時

bash
$ nmap -p 22,80,443 localhost
ユニ先生

必要なポートだけをピンポイントで確認することもできるよ。

nmap(22,80,443) の結果

シェリ

結果は全て closed になっています。

bash
$ PORT    STATE  SERVICE
  22/tcp  closed ssh
  80/tcp  closed http
  443/tcp closed https

22番(SSH)

closed → 外部から Mac に SSH で入ることはできません。

80番(HTTP)

closed → ローカル Web サーバーは動いていません。

443番(HTTPS)

closed → HTTPS で待ち受けているサービスはありません。

危険な“開きっぱなしポート”を見つけるポイント

初心者が覚えておきたい3つの判断基準

  • 見覚えのないサービスが LISTEN していないか
  • 本来使っていないポートが開いていないか
  • 22番(SSH)が外部に公開されていないか
ミナちゃん

知らないドアが開いていないか、ちゃんと点検するんですね!

ファイアウォールで守られているか確認してみよう

Linux(UFW)の状態を見てみる

bash
$ sudo ufw status

Macのファイアウォール確認

bash
$ sudo /usr/libexec/ApplicationFirewall/socketfilterfw --getglobalstate
ユニ先生

“許可したいものだけ通す”という状態になっていれば安心だよ。

安全チェックは“怖いもの探し”じゃないよ

ユニ先生

安全チェックというと難しく聞こえるけれど、本当は“今どんなドアが開いているかな?” と軽く点検するだけでも十分なんだ。

ミナちゃん

毎日少しずつ、部屋を片づけるみたいな感覚なんですね!

まとめ

  • LISTEN は「入口が開いて待っている状態」
  • nmap で“外から見た姿”をチェックできる
  • 不要なポートは閉じる=安全につながる
  • ファイアウォールは最終ガード
  • 定期的に「どこが開いているか」を見るだけで安心度UP
ユニ先生

見えているポートのほとんどはね、Macが“自分の中だけ”で使っているものなんだ。外から入られないように ‘入口は閉じて’ いるから安心していいよ。

ミナちゃん

なるほど〜! 開いているように見えても、外からアクセスできないから安全なんですね!

次回予告

ユニ先生

次は「SSHの世界へ」遠くのコンピュータと、安全にやりとりする仕組みをやさしく紹介していくよ。リモートの世界が、もっと身近に感じられるはずなんだ。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次