自作ってキーワードに惹かれて記事を見た、オライリーの書籍O'Reilly Japan - ポートスキャナ自作ではじめるペネトレーションテストについて紹介されており 書籍に出てくる自作ポートスキャナをGolangに書き換えてみたっていう内容のよう。まずもって、ポートスキャナって何?という状態。
用語から、サーバーに何のポートが空いているのか調べるためのツールかな?と思う。 steamのハッカーシミュレーションゲームで攻撃するときに何のポート空いてるか調べるツールがあった
※85%OFFらしい(笑)(2023/11/10時点)
ポートスキャナ調べてみた
ポートスキャナとは - 意味をわかりやすく - IT用語辞典 e-Words
IT用語辞典によると、各ポートにアクセスし、応答があるかどうか・なんのソフトウェアが応答するかを調べて確認できるツールのよう。
ポートスキャンで開放ポートを知られないようにする手段
- 特定のポートに対するスキャン
- sshポートを隠す場合、別のポートに変更することでポート「22」でポートスキャンされた場合は隠せる
- https://b.tehepero-ron.com/entry/bastion-port-hiding
- フルスキャンの対策
- AWSなどのクラウド環境であれば、セキュリティグループを使って必要なポートのみ外部からアクセスできるように簡単に制限できる
- https://dev.classmethod.jp/articles/security-for-infra/
- IPSの導入
スキャンの種類
- TCPスキャン
- 一番一般的なスキャン方法、TCPコネクションの確立が成功すれば、ポートが開いていると判断する
- SYNスキャン
- FINスキャン
- ACKスキャン
- ターゲットのポートがフィルタリングされているか確認するためのスキャン
- TCPパケットのACKフラグだけを立てたパケットを送信することで確認する
- UDPスキャン
理解できていない用語/概念
終わりに
ネットワークも、サーバーもどう動いているのか把握しているつもりだったけど、ほとんど理解できていないことが分かった。 ポートスキャナの自作で学べること多そうだし、本買ってみようかな。。。 知らないことを調べるのは疲れるけど、面白い。