ポートスキャンを使用した端末コンプライアンスチェックの例
要約:大規模なオフィスネットワークは、多くの場合、多数の端末を実行します。これらの端末のセキュリティは、ネットワーク管理者の重要な関心事です。ユーザーに対する情報セキュリティ教育の実施方法と、講じる技術的防御策は、多くの記事の内容です。 、しかし、これらの防御策は効果的ですか?従業員は必要に応じて端末を使用していますか?この記事では、ポートスキャンテクノロジを使用して端末アプリケーションの検査の例を示し、ネットワーク管理者が端末のコンプライアンスを確認するためのアイデアを提供します。
キーワード:ポートスキャン; Nmap ;端末コンプライアンス
1.背景
現代の大企業は、多くの場合、独自の社内オフィスネットワークを持っています。会社の事業の規模と分布によっては、特定の地域に集中しているオフィスネットワークもあれば、州を越えて国境を越えているオフィスネットワークもあります。コンピュータネットワークを使用する場合は、セキュリティの問題を考慮する必要があります。これは、コンピュータネットワークの開発以来、長年にわたって誰もが到達したコンセンサスです。多くのホストが存在する同社の大規模ネットワークに直面した場合、セキュリティリスクが隠れているホストをすばやく確認して見つけるにはどうすればよいでしょうか。これは、ネットワーク管理者が回避できない問題です。現在、人々はイントラネットのセキュリティについて広範な研究を行っており、1)従業員の安全意識教育の強化、2)端末のセキュリティ管理レベルの向上、3)端末のセキュリティ保護対策の改善の3つの側面に要約できます。[ 1 ]著者は、正面防御に加えて、検査方法も検討する必要があると考えています。そうしないと、防御方法が有効かどうかを確認できません。完全なVPNテストがすべての企業に適用できるとは限らないことを考慮して、この記事では、端末のコンプライアンスチェックにポートスキャンを使用する方法を提案し、例を示します。ネットワーク管理担当者が少しの紹介と少しの助けを借りて、イントラネットのセキュリティについて考えることができることが望まれます。
2.ポートおよびポートスキャン
ポートはソフトウェアの抽象的な概念であり、通信チャネルを区別するために使用されます。 これは、IPアドレスを使用してネットワーク上のコンピューターを識別し、ポートを使用して1台のコンピューターで使用される特定のアプリケーションを識別する方法と似ています。たとえば、お使いのウェブブラウザがに接続するTCPのポート80でHTTPのURLでデフォルト。安全なHTTPSプロトコルを指定すると、ブラウザはデフォルトでポート443を試行します。
ポートスキャンは、複数のポートをリモートでテストして、それらがどのような状態にあるかを判断する行為です。通常、私たちが最も関心を持っている状態はオープンです。これは、アプリケーションがポートで接続をリッスンして受け入れていることを意味します。 多くのポートスキャナーは、従来、すべてのポートを開状態または閉状態に集中させていましたが、使用するツールであるNmapは、ポートを6つの状態に分割するより洗練されたものです。 これらの状態は、ポート自体の固有の属性ではありませんが、Nmapがそれらをどのように表示するかを説明します。たとえば、ターゲットと同じネットワークからのNmapスキャンでは、ポート135 / tcpが開いていると表示され、インターネットから同じオプションを使用してスキャンすると、ポートがフィルターされたと表示される場合があります。
3.問題
実際の環境では、ネットワークからTCPポートが開いているホストをすばやく見つける必要がある場合があります。[ 2 ]例:Microsoft IISの脆弱性が明らかになった後、ネットワーク上のこれらのホストのどれがTCPポート80を開いていて、サービスがまだ実行されているかを知りたいです。侵害されたホストに***によって残されたバックドアは、ポート31337で実行されます。ネットワークをすばやくスキャンして、他の侵害されたホストなどを見つける必要があります。
4.解決策
上記の問題を解決するための最も直接的な方法は、次のコマンドを実行することです。
#nmap -Pn -p <portnumber> -oG <logfilename.gnmap> <ターゲットネットワーク>
これは、4096 Ge IPのWebサーバー(ポート80が開いている)固有の例の検索です。
#nmap -Pn -p80 -oG logs / pb-port80scan-%D.gnmap 216.163.128.0 / 20
ファイル名"%D"は、デジタルスキャン操作の日付に置き換えられます(たとえば、2007 Nian 9 Yue 1 day "090 107" )。このスキャンコマンドは効果的ですが、一部のオプションを最適化するとスキャン時間が大幅に短縮されます。
#nmap -T4 -Pn -p80 --- max-rtt-timeout 200ms --- initial-rtt-timeout 150ms --- min-hostgroup 512 -oG logs / pb-port80scan-%D.gnmap 216.163.128.0 / 20
ほとんどの時間がDNSの逆解決に費やされていることがわかりました。上記のコマンドラインに-nを追加してDNS解決を禁止することにより、待機時間を大幅に短縮できます。
上記のコマンドは、grepable形式の結果を指定されたファイルに保存します。 次に、単純なegrepコマンドを使用して、ポート80が開いているマシンを見つけます。
egrep '[^ 0-9] 80 / open' logs / pb-port80scan-%D.gnmap
ポートの誤一致を避けるために、egrepパターンの前には[^ 0-9]が付いています(たとえば、3180)。ポート80のみをスキャンするので、もちろんそれは起こり得ませんが、これはマルチポートスキャンを行う場合の良い習慣です。IPアドレス のみが必要な場合は、egrep awk '{print $ 2}'を使用してください。
5.デモンストレーションの例
ストーリーが決定を理解するための最良の方法である場合があります。実際の例でのみ、ソリューションで使用するコマンドラインを決定する方法をよりよく理解できます。例えば、会社では、約ある4096の端末。これらの端子を使用することができるアプリケーションの会社は明確な要件があります。その中でも、そこにある「を提供してはならないユーザ端末のWebサービスを。」しかし、ターミナルのような多数の顔で、ネットワーク管理者が国勢調査を実施することは不可能であり、それぞれを確認したとしても、今後違反がないことを保証することはできません。Webサーバーを実行しているホストは通常TCPポート80を開きます。理論的には、そのようなサーバーは任意のポートでリッスンできますが、ポート80が最も可能性が高いです。したがって、ポート80が開いているネットワーク上の端末を見つけることで、会社の規制に違反している従業員を特定できます。
スキャン効果を最適化するために、最初にネットワーク遅延を測定しました。平均遅延は60ミリ秒です。平均遅延効果を考慮した後、次のオプションを使用します:-max-rtt-timeout 200ms--initial-rtt-timeout150ms。次に、より積極的な時間テンプレート-T4を使用します。
ホスト結果の最初のバッチを返すまでの時間を最小化するのではなく、スキャン全体の完了時間を最小化することに注意を払うため、より大きなスキャングループサイズを指定できます。オプション--min-hostgroup 512は、各並列スキャンを設定します。512ホスト。正確なサブアドレスブロックを使用すると、非効率的なスキャンサブブロックを回避できます。たとえば、この例で4096ホストに-min-hostgroup 500を使用すると、96個のホストスキャンサブブロックが最後に表示されます。
以来pingが自身のスキャンシングルポートと同じ時間がかかり、する必要はありません時間を無駄にし、前にpingを実行する段階は。 したがって、このフェーズを無効にするには、-Pnを指定します。-nパラメーターを使用してDNSの逆解決をスキップすることにより、時間を大幅に節約できます。そうでない場合は、無効のpingスキャンの場合、Nmapがすべて見つけようとします4096 GeのIPを。Webサーバーを探しているので、ポートを80に設定します。もちろん、このような設定では、非標準ポート(81や8080など)で実行されているすべてのHTTPサーバーが失われます。ポート443を使用しているSSLサーバーが見つかりません。オプション-pの後にこれらのポートを追加することもできますが、ポートを1つ追加しても、スキャン時間は2倍になります。これは、スキャンされるポートの数にほぼ比例します。
最後のオプションは-oGで、その後にgrepableの結果を保存するファイルの名前が続きます。Gordonは、コマンドの最後にターゲットネットワークを追加し、Enterキーを押してスキャンを開始します。例6に示すように:
例6: スキャンを開始する
Nmapが約3分ですべてをスキャン4096 GeのIP。 通常の出力には、フィルタリング状態の一連のポートが表示されます。NmapがSYNプローブへの応答を受信しなかったため、これらのIPのほとんどはアクティブホストではない可能性があります(ポートはフィルター処理されたものとしてのみ表示されます)。egrepコマンドを使用して、出力ファイルからWebサーバーのリストを取得します。例7に示すように:
例7:ポート80が開いているホストを照会する egrepコマンド
すべての努力の後、彼はで見つかった4096のGe IPは二つのホストを持つ80個のポートを開きます。上記の例で説明した状況は、多くのネットワーク管理者が遭遇した可能性があります。1つのホストの調査と比較すると、ポートスキャンの使用効率は大幅に高くなっています。もちろん、スキャンの意図的な回避、Webサービスポートの変更、ローカルファイアウォールポリシーの設定などの極端なユーザーがいる場合、現在の方法の効果は大幅に減少しますが、このテクノロジーを使用するユーザー自身が社内にいる必要があります。とても目立ちます。
6.まとめ
ターミナルコンプライアンス検査のトピックの範囲は実際には非常に大きく、アプリケーション検査の側面だけではありません。この記事では、TCPポート80がチェックされている端末を例として取り上げ、この点でのポートスキャンテクノロジのアプリケーションを紹介します。もちろん、端末コンプライアンス検査の問題を解決できる技術だけではありません。また、検査範囲を拡大し、検査効率を向上させ、ネットワーク管理者の負担を軽減するために、他の手段を包括的に使用する必要があります。
参照:
[1]羅Huaping。大規模な企業のイントラネットコンピュータ端末のセキュリティ管理に関する研究[J]。産業技術フォーラム、2020年、19(02):36-38。
[2] Gordon Lyon.Nmap Network Scanning [EB / OL] .https://nmap.org/book/toc.html,2011。