セキュリティの基本 ポートとポートスキャンとは?

セキュリティの基本 ポートとポートスキャンとは?

From: リナックスアカデミー 松田航
新宿本校にて、、、

あなたが住む家に戸締りが必要なように、
システムにも戸締りが必要です。

システムのセキュリティには
さまざまな方法がありますが…

今回はセキュリティの基礎、
ポートとポートスキャンについてお話しします。

ポート=ネットワーク通信の為のゲート

飛行場をイメージしてください。

○○発羽田便の飛行機は5番ゲート、
△△発成田便の飛行機は15番ゲートというように
飛行機は着陸するゲートが決められています。

決めておかないと
飛行場は混乱し、事故にも繋がりかねません。

これと同じことが
システムにも当てはまります。

インターネット等のネットワークにおいては、
TCP/IPという通信プロトコルによって通信しますが…

通信時に使用するサービスによって、
使用できるポートが決められています。

代表的なポートとサービスを見てみましょう。

ポート番号表

このように、ポート番号ごとに
使用できるサービスが割り当てられています。

なお、TCP/UDPと言う列がありますが…

TCP(Transmission Control Protocol)とは
データ送受信の際に相手とコネクションを確立した
信頼性の高い通信プロトコルのこと。

UDP(User Datagram Protocol)とは
相手とのコネクションを確立せずに通信する
信頼性を確保しない通信プロトコルのことです。

この図の例で見ると、
21番ポートのFTPではTCP方式のみ使用しますが…

80番ポートのHTTPでは、
TCP方式もUDP方式も使用可能という意味です。

通信方式が少し違うという程度に覚えておいてください。

使用できるポートの数とその種類

コンピュータが使用するポートは
0番~65535番まで存在しており、
番号帯によって既にサービスで予約済のポートや、
自由に使用できるポートなど分かれています。

・0番~1023番:一般的なポート番号
(WELL KNOWN PORT NUMBERS)

一般で使用される主要なポート番号で、
IANA(Internet Assigned Numbers Authority)という
インターネットに関する番号を管理する組織によって
管理されている番号帯。

使用目的が定められたポート番号で、
先ほどの図で出たポートは
全てこのWELL KNOWN PORTにあたります。

・1024番~49151番:登録済ポート番号
(REGISTERED PORT NUMBERS)

IANAが登録を受けて公開しているポート番号帯。

企業が作成した
特定のアプリケーションで使用されるポートが
多く存在します。

・49152番~65535番:動的・プライベートポート番号
(DYNAMIC AND/OR PRIVATE PORTS)

ユーザーが自由に使用できる番号帯。

業務アプリケーションなどで使用する場合や、
一時的なポート使用を行う際に使用されるポートです。

ポートスキャンとは?
悪意あるユーザーが最初に行う行為

最近メディアでも
顧客情報の流出事件や
システムのハッキング・クラッキングという
ニュースが多く見られます。

このような事件は
内部の人間の手引きによる事例もありますが、
外部からの不正な接続により発生する事件も多くあります。

悪意のあるユーザーが
外部からシステムに接続する際、
まず初めに行われるのは「ポートスキャン」です。

このポートスキャンとは
サーバーにどんなサービスが実行されているかを
確認する方法です。

空港の例で言えば…

1番ゲート:閉鎖中
2番ゲート:解放中(警備員なし)
3番ゲート:解放中(警備員あり)

…と言うように、空いている場所を特定し、
2番ゲートのセキュリティが甘ければ、そこから侵入を企てます。

コンピュータの場合も同様で、
悪意あるユーザーは開いているポートが見つかると、
そのポートを通じて接続を試みます。

ユーザーIDとパスワードが
容易に想像できるようなセキュリティの甘さや、
そのサービスのセキュリティホール(不具合やバグ)がある場合、
接続される危険性が高まるのです。

ポートスキャンは特別なソフトではなく、
Linuxであればnmapというコマンドで実行できます。

実行例を見てみましょう。

nmap_example

PORT(ポート番号)、
STATE(状態)、
SERVICE(サービス)の項目があり、
ポートの状態とサービスが一覧表示されます。

STARE(状態)が
openとなっているポートは解放されており、
closedとなっているポートは閉鎖されている状態です。

この例で言えば
23番ポートのTELNETがopen状態なのが危険(図①)。

悪意あるユーザーが
セキュアな接続を行わないTELNETで接続し、
ユーザーIDやパスワードが盗まれると
サーバーが乗っ取られる可能性もあります。

21番ポートのFTPサービスがopenなのも要注意(図②)。

FTPには匿名接続(anonymous FTP)できる機能があり
匿名接続可能なサーバーであれば誰でもファイル転送できるため
ウイルスファイルを送られる可能性もあります。

あと、念のため…

勘違いしないで頂きたいのですが、
nmapはハッキング・クラッキングの為のコマンドではなく、
あくまでシステムのセキュリティチェックを行う管理用ツールです。

それが悪用されるケースもあるということですね。

必要ないポートは「戸締り」しておく事が
基本中の基本!

悪意あるユーザーから
システムを守るための方法はいくつかありますが、
その中でも基本的な事項として…

「必要のないポートは解放しない」

…という事が挙げられます。

先ほどの例で言うと、
SSHというセキュアなリモート接続が可能なのだから
TELNETは不要といったように、
必要のないポートは解放しておく必要がありません。

使用するOSやサービスの
セキュリティホールがあるかどうかを
予め確認しておく必要もあります。

セキュリティホールがある場合は、
最新の修正プログラムを適用するなど、
システムを守るために先手を打った対策が必要。

企業などが行っている
セキュリティ診断サービスを利用するのも効果的。

第三者の視点と分析による
セキュリティ診断を受けることにより
システムにどのような弱点があるのかが判明し、
どのような対策を行う必要があるのかがわかります。

 

システムのセキュリティ対策には
これ以外にも非常に多くの方法があります。

それらは今後、ご紹介してゆきますが…

いずれの方法も、
ユーザーの資産を守るために必要なものであるという事を
忘れないでいてください。

 

リナックスアカデミー
松田

PS

戸締りはきちんとしておかないと
泥棒に入られたらイヤですもんね。

だからといって
全てのドアや窓に3重ロックをかけるとかすると
今度は使い勝手が悪くなってしまいます。

家の戸締りもセキュリティも、
使用に適した方法で行う必要があるのです。

PPS

セキュリティに関しての知識もつく、
ネットワークエンジニア・サーバエンジニアになるならリナックスアカデミー