外部装置と通信するプロセスが動作する情報処理装置であって、前記プロセスを識別する識別情報を取得する第1取得手段と、前記プロセスが前記外部装置と通信するために使用する通信ポートの特性を示すポート情報を取得する第2取得手段と、前記ポート情報と、前記識別情報とを対応付けて記憶手段に記憶させる制御手段とを備えており、前記第2取得手段は、前記プロセスが前記通信ポートを使用するために用いるドライバソフトウェアの入力または出力をフィルタリングすることにより、前記プロセスと前記通信ポートにアクセスするために使用するアプリケーションプログラミングインタフェースとの間の通信を監視することにより、或いは、ポート監視インターフェースにより、前記ポート情報を取得することを特徴とする情報処理装置。前記プロセスと前記外部装置との間で通信される通信データのログ情報を記録する記録手段を更に備え、前記記録手段は、前記記憶手段に記憶された前記ポート情報及び前記識別情報に関連づけて、前記ログ情報を記録することを特徴とする請求項1に記載の情報処理装置。前記情報処理装置のユーザを識別する情報を入力する入力手段を更に備え、前記記録手段は、前記ユーザを識別する情報に関連づけて前記ログ情報を記録することを特徴とする請求項2に記載の情報処理装置。前記記録手段が記録したログ情報を予め定められた管理装置へ送信する送信手段を更に備えることを特徴とする請求項2又は3に記載の情報処理装置。前記情報処理装置のユーザを識別する情報を入力する入力手段と、前記ユーザを識別する情報と、前記プロセスを識別する識別情報との少なくともいずれかに基づいて、該プロセスが予め定められた外部装置へアクセスすることを禁止する禁止手段とを更に備えることを特徴とする請求項1から4のいずれか1項に記載の情報処理装置。前記情報処理装置に対してネットワークを介して他の情報処理装置から間接的にログインすることを特徴とする請求項1から5のいずれか1項に記載の情報処理装置。前記情報処理装置は複数のユーザが同時に使用可能なことを特徴とする請求項1から6のいずれか1項に記載の情報処理装置。前記通信ポートの特性を示すポート情報は、ポートの種類を含むことを特徴とする請求項1から7のいずれか1項に記載の情報処理装置。外部装置と通信するプロセスが動作する情報処理装置であって、前記プロセスを識別する識別情報を取得する第1取得手段と、前記プロセスが前記外部装置と通信するために使用する通信ポートの特性を示すポート情報を取得する第2取得手段と、前記ポート情報と、前記識別情報とを対応付けて記憶手段に記憶させる制御手段とを備えており、前記通信ポートの特性を示すポート情報は、ポートの種類を含むことを特徴とする情報処理装置。外部装置と通信するプロセスが動作する情報処理装置の制御方法であって、第1取得手段が、前記プロセスを識別する識別情報を取得する第1取得工程と、第2取得手段が、前記プロセスが前記外部装置と通信するために使用する通信ポートの特性を示すポート情報を取得する第2取得工程と、制御手段が、前記ポート情報と、前記識別情報とを対応付けて記憶手段に記憶させる制御工程と、を有し、前記ポート情報は、前記プロセスが前記通信ポートを使用するために用いるドライバソフトウェアの入出力をフィルタリングすることにより、或いは、前記プロセスと前記通信ポートを作成及び破棄するために使用するアプリケーションプログラミングインタフェースとの間の通信を監視することにより、或いは、ポート監視インターフェースにより、取得されることを特徴とする情報処理装置の制御方法。外部装置と通信するプロセスが動作する情報処理装置の制御方法であって、第1取得手段が、前記プロセスを識別する識別情報を取得する第1取得工程と、第2取得手段が、前記プロセスが前記外部装置と通信するために使用する通信ポートの特性を示すポート情報を取得する第2取得工程と、制御手段が、前記ポート情報と、前記識別情報とを対応付けて記憶手段に記憶させる制御工程と、を有し、前記通信ポートの特性を示すポート情報は、ポートの種類を含むことを特徴とする情報処理装置の制御方法。コンピュータ可読媒体に記憶されたコンピュータプログラムであって、コンピュータを請求項1から9のいずれか1項に記載の情報処理装置として機能させるためのコンピュータプログラム。しかし、特許文献1の構成では、コンピュータがどのウェブサイトにアクセスしたのかを把握することはできるが、どのような経緯でそのアクセスが行われたのかを把握することができない。すなわち、ブラウザを利用してユーザがアクセスしたのか、所定のアプリケーションの自動アップデートによりアクセスしたのか、あるいはウィルス感染によるユーザの意図しないアクセスなのか等を把握することができない。また、例えば、ウェブブラウザを利用してユーザがアクセスしたログは記録に残したいが、自動アップデートによりアクセスしたログは記録に残したくない等、ログ取得の選択をすることができず、ユーザの利便性が悪い。また、例えば、ウェブサイトの閲覧は禁止したいが、自動アップデートは許可したい等、ユーザの環境に適したウェブアクセスの制御を行うことができない。本発明は上記課題に鑑みなされたものであり、外部装置へのアクセスをプロセス毎に把握管理することを可能にする情報処理装置及びその制御方法を提供するものである。本発明の一側面によると、外部装置と通信するプロセスが動作する情報処理装置であって、前記プロセスを識別する識別情報を取得する第1取得手段と、前記プロセスが前記外部装置と通信するために使用する通信ポートの特性を示すポート情報を取得する第2取得手段と、前記ポート情報と、前記識別情報とを対応付けて記憶手段に記憶させる制御手段とを備えており、前記第2取得手段は、前記プロセスが前記通信ポートを使用するために用いるドライバソフトウェアの入力または出力をフィルタリングすることにより、前記プロセスと前記通信ポートにアクセスするために使用するアプリケーションプログラミングインタフェースとの間の通信を監視することにより、或いは、ポート監視インターフェースにより、前記ポート情報を取得することを特徴とする。本発明の一側面によると、外部装置と通信するプロセスが動作する情報処理装置であって、前記プロセスを識別する識別情報を取得する第1取得手段と、前記プロセスが前記外部装置と通信するために使用する通信ポートの特性を示すポート情報を取得する第2取得手段と、前記ポート情報と、前記識別情報とを対応付けて記憶手段に記憶させる制御手段とを備えており、前記通信ポートの特性を示すポート情報は、ポートの種類を含むことを特徴とする。本発明の一側面によると、外部装置と通信するプロセスが動作する情報処理装置の制御方法であって、第1取得手段が、前記プロセスを識別する識別情報を取得する第1取得工程と、第2取得手段が、前記プロセスが前記外部装置と通信するために使用する通信ポートの特性を示すポート情報を取得する第2取得工程と、制御手段が、前記ポート情報と、前記識別情報とを対応付けて記憶手段に記憶させる制御工程と、を有し、前記ポート情報は、前記プロセスが前記通信ポートを使用するために用いるドライバソフトウェアの入出力をフィルタリングすることにより、或いは、前記プロセスと前記通信ポートを作成及び破棄するために使用するアプリケーションプログラミングインタフェースとの間の通信を監視することにより、或いは、ポート監視インターフェースにより、取得されることを特徴とする。本発明の一側面によると、外部装置と通信するプロセスが動作する情報処理装置の制御方法であって、第1取得手段が、前記プロセスを識別する識別情報を取得する第1取得工程と、第2取得手段が、前記プロセスが前記外部装置と通信するために使用する通信ポートの特性を示すポート情報を取得する第2取得工程と、制御手段が、前記ポート情報と、前記識別情報とを対応付けて記憶手段に記憶させる制御工程と、を有し、前記通信ポートの特性を示すポート情報は、ポートの種類を含むことを特徴とする。本発明によれば、外部装置へのアクセスをプロセス毎に把握管理することができる。以下、添付図面を参照して本発明の実施の形態を詳細に説明する。<第1実施形態>情報処理システム図1は、本発明の一実施形態に係る情報処理システムの構成図である。図1に示すように、情報処理システムは、クライアントとして動作する端末装置以下、クライアント装置と呼ぶ500、サーバとして動作する端末装置以下、サーバ装置と呼ぶ510、及びネットワーク530を有している。各端末装置はパーソナルコンピュータ、携帯情報端末などの情報処理装置であり、本実施形態ではそれぞれパーソナルコンピュータにより実現した場合を説明する。クライアント装置500は、サーバ装置510とネットワーク530を介して接続されている。[クライアント装置]クライアント装置500は、たとえば、CPUCentralProcessingUnit501、ROMReadOnlyMemory502、RAMRandomAccessMemory503、HDD504、入力装置505、表示装置506、インターフェース507、システムバス508を備えている。後述するように、クライアント装置500においては、外部装置と通信するプロセスが動作する。CPU501は、ROM502やHDD504に記憶されているコンピュータプログラムに基づいて各部を制御するプロセッサである。RAM503は書き込み可能メモリであり、ワークエリアとして機能する。ROM502は不揮発性の記憶素子であり、ファームウエアなどを記憶する。HDD504は大容量記憶装置であり、オペレーティングシステム、アプリケーションプログラムなどが記憶されている。なお、セキュリティソフトウェア509などもHDD504に格納される。セキュリティソフトウェア509は、その詳細については後述する様に、クライアント装置500を監視し、外部装置へのアクセスログの取得やアクセスの制御機能を提供する。CPU501と各部は、システムバス508を介して命令やデータの送受信を実行する。インターフェース507は、他の端末装置とネットワーク530を介して通信するための通信回路である。[サーバ装置]サーバ装置510は、たとえば、CPU511、ROM512、RAM513、HDD514、入力装置515、表示装置516、インターフェース517、システムバス518を備えている。サーバ装置510はクライアント装置500の動作を管理する管理装置として動作する。クライアント装置500が有する構成要素と同一名称の構成要素は、上述したクライアント装置500の構成要素と同等の機能を有する。なお、サーバ装置510のHDD514には、ログ情報519、設定情報520なども格納される。ログ情報519には、クライアント装置500から収集したクライアント装置500のアクセスログ情報が記録される。設定情報520には、例えば、ユーザ毎、プロセス毎のログ記録を行うか否かや、外部装置にアクセス可能なプロセスや、その接続先についての情報が格納される。接続先は、例えば、URL、通信ポートのポート番号等のポート情報を含む情報である。例えば、TCPポートドライバやUDPポートドライバをフィルタリングしたり、APIApplicationProgrammingInterfaceフックによりポートにアクセスしたAPIをフックしたり、OS標準のポート監視インターフェースを利用する等により、ポート情報、を収集する。通信ポートの種類を取得することより、同時に複数のプロトコルを監視することができ、より詳細な分析が可能となる。たとえばTCPポートの監視をしているとHTTPプロトコルの監視ができ、UDPポートの監視によりDNSプロトコルの監視を行うことができる。これによって、DNSにより得られたマシン名などとHTTPリクエストを組み合わせて、IPアドレスではなくマシン名を利用したWebアクセス等の詳細分析が可能となる。またプロトコル毎にログ取得制御やアクセス制限をかけることが可能になる。このようにして、ステップS207では、プロセスが外部装置と通信するために使用する通信ポートにアクセスしたことに応じて、当該通信ポートの特性を示すポート情報を取得する第2取得処理を実行する。最後に、S208で、S207で取得したポート情報と、S206で作成したユーザプロセスリストから、被アクセスポート情報を生成して、被アクセスポート情報リスト233を更新する。以下に、被アクセスポート情報を取得する処理の詳細として、TCPUDPポートドライバのフィルタリングと、APIフック、OS標準のポート監視インターフェースそれぞれの具体的手順を説明する。[TCPUDPポートドライバのフィルタリング]図4は、TCPポートドライバとUDPポートドライバをフィルタリングし、プロセスIDと通信ポート情報との対応リストを作成する処理の手順を示すフローチャートである。この処理では、プロセスが通信ポートを使用するために用いるドライバソフトウェアの入出力をフィルタリングすることにより、被アクセスポート情報を取得する。以下の各工程はクライアント装置500が実行する。なお、後述する処理は、TCPポートドライバとUDPポートドライバを用いてフィルタリングを行う処理について説明するが、TCPポートドライバのみ、或いは、UDPポートドライバのみでフィルタリングを行ってもよい。S301でセキュリティソフトウェア509が作成したフィルタドライバをTCPポートドライバとUDPポートドライバにアタッチする。アタッチするタイミングは監視を開始した際などである。フィルタドライバをTCPポートドライバやUDPポートドライバにアタッチするとは、TCPポートやUDPポートを介したデータ伝送のフィルタリングを開始する処理をいう。S302で、任意のプログラムが、外部の装置と通信するためのTCPポートもしくはUDPポートにアクセスする。そして、S303で、セキュリティソフトウェア509において、アタッチしたフィルタドライバにファイルオブジェクトの作成、書き込み、読み込みなどのイベントが通知される。ここで、ファイルオブジェクトとは、ファイル、デバイス、ディレクトリの情報を格納しているオブジェクトをいう。例えば、ファイルパス、ファイル名、ファイルへのアクセス権、デバイス情報などが格納されている。S304で、上記のイベントの情報から、ファイルオブジェクトを作成したプロセスを識別する情報を取得し、S305で、ファイルオブジェクトからポート情報を取得する。この場合のポート情報とはポート種類、IPアドレスやポート番号を指す。S306で、S304、S305で取得したプロセスID、通信ポート情報及びファイルオブジェクトなどから、被アクセスポート情報を作成する。S307で被アクセスポート情報リスト233内に同一の被アクセスポート情報プロセスID、ポート種類、IPアドレス、ポート番号などが同一が存在した場合、リストには追加しない、もしくはリストの情報を上書きし、S309に移行する。なお、リストの情報の上書きとは、既に存在する情報を該情報に更新、既に存在する情報を削除後に該情報をリストに追加、リストに該情報を追加後に既に存在する情報を削除することを含む。リスト内に同一の被アクセスポート情報が存在した場合、時間もしくはシーケンス番号などを付加しリストに追加することで、新しく追加された情報を識別できるようにし、リスト内で検索を行った際は、新しいものを優先して使用するように実装してもよい。S307において、同一の被アクセスポート情報が存在しない場合はS308でリストに格納してS309に移行する。S309で、起動プログラムが、TCPUDPポートを破棄すると、S310でセキュリティソフトウェア509がアタッチしたフィルタドライバに、ファイルオブジェクト破棄イベントが通知される。S311で、ファイルオブジェクト破棄イベントにより削除されるファイルオブジェクトから、削除される被アクセスポート情報を特定して、S312で被アクセスポート情報リスト233から、削除対象として特定した被アクセスポート情報を削除する。複数該当する情報が登録されていた場合は、該当する情報をすべて削除する。またはファイルオブジェクト破棄イベントでなく、一定間隔で被アクセスポート情報を削除してもよい。これにより、リアルタイムにTCPポートと対応プロセスIDのリストを作成することができる。なお、ここではTCPポートドライバについて記述したが、UDPポートドライバやその他のドライバにおいても、対応リストを作成することができる。上述した形態では、ファイルオブジェクト破棄イベントを監視し、被アクセスポート情報を被アクセスポート情報リスト233から削除していた。しかしながら、図5を用いて説明する様に、ファイルオブジェクト破棄イベントを監視しない形態とすることもできる。なお、図5のS401~S406は、図4のS301~S306の処理と同一であるため、その説明は省略する。S407でプロセスID以外が同一の被アクセスポート情報が存在した場合、S408に移行し、リストにその情報を上書きする。プロセスID以外が同一の被アクセスポート情報が存在した場合、時間もしくはシーケンス番号などを付加しリストに追加することで、新しく追加された情報を識別できるようにして、リスト内で検索を行った際は、新しいものを優先して使用するように実装してもよい。それ以外の場合、S409において、被アクセスポート情報リスト233に被アクセスポート情報を追加して格納する。以上の処理により、ファイルオブジェクト破棄イベントを監視しない構成とすることができる。[APIフック]図6は、APIフックを使用し、プロセスIDと通信ポート情報の対応リストを作成する処理の手順を示すフローチャートである。この処理では、プロセスと、通信ポートにアクセス作成及び破棄するために使用するアプリケーションプログラミングインタフェースと、の間の通信を監視することで、被アクセスポート情報を取得する。S501で、セキュリティソフトウェア509が、ポート作成API、ポート破棄API等をフックする。フックするタイミングはポート監視を開始した際などである。フックするAPIは、具体的には、例えば、WINSockAPIのbindやconnect、closesocketなどである。S502で、任意のプログラムがポートアクセスAPI作成、書き込み、読み込み等を使用し、S503でセキュリティソフトウェア509において、ポートアクセスAPIをフックするイベントを発生させる。ここで、APIをフックするとは、当該APIの呼びだしを別のオブジェクトが横取りすることをいう。APIのフックは、具体的にはAPIを呼び出す際に用いられるアドレスを、特定のアドレスに書き換えることにより実行される。S504で上記のイベントの情報から、APIが使用するプロセスを取得し、S505でAPIの戻り値や入力からポート情報を取得する。この場合のポート情報とは、ポート種類、IPアドレスやポート番号を指す。S506でS504、S505で取得したプロセスIDと、通信ポート情報及びハンドル情報などから被アクセスポート情報を作成する。S507で被アクセスポート情報リスト233内に同一のMポート情報が存在した場合、リストに追加しない、もしくはリストの情報を上書きし、S509に移行する。リスト内に同一の被アクセスポート情報が存在した場合、時間もしくはシーケンス番号などを付加しリストに追加することで、新しく追加された情報を識別できるようにし、リスト内で検索を行った際は、新しいものを優先して使用するように実装してもよい。S507において、同一の被アクセスポート情報が存在しない場合はS508でリストに格納し、S509に移行する。S509で、任意のプログラムは、ポート破棄APIを使用し、S510でセキュリティソフトウェア509に、ポート破棄APIフックイベントを発生させる。S511で、削除されるハンドル情報などから、削除される被アクセスポート情報を特定し、S512で被アクセスポート情報リストから削除対象の被アクセスポート情報を削除する。複数該当する情報が登録されていた場合は、該当する情報をすべて削除する。またはポート破棄APIフックイベントでなく、一定間隔で被アクセスポート情報リストを削除してもよい。これによりリアルタイムに通信ポートと対応プロセスIDのリストを作成することができる。ここでは、WINSockAPIのフックについて記述したが、その他のAPIにおいても被アクセスポート情報リスト233を作成することができる。上述した形態では、ポート破棄APIフックイベントを監視し、被アクセスポート情報を被アクセスポート情報リスト233から削除していた。しかしながら、図7を用いて説明する様に、ポート破棄APIフックイベントを監視しない形態とすることもできる。なお、図7のS601~S606は、図6のS501~S506の処理と同一であるため、その説明は省略する。S607でプロセスID以外が同一の被アクセスポート情報が存在した場合、S608でその情報を上書きする。プロセスID以外が同一の被アクセスポート情報が存在した場合、時間もしくはシーケンス番号などを付加しリストに追加することで、新しく追加された情報を識別できるようにして、リスト内で検索を行った際は、新しいものを優先して使用するように実装してもよい。それ以外の場合、S609において、被アクセスポート情報リスト233に被アクセスポート情報を格納する。以上の処理により、ポート破棄APIフックイベントを監視しない構成とすることができる。[OS標準のポート監視インターフェース]図8は、OS標準のポート監視インターフェースを使用し、被アクセスポート情報リスト233を作成する処理の手順を示すフローチャートである。なおOS標準のポート監視インターフェースとは、WindowsFiltelingPlatform等のポートアクセス作成、接続、破棄、書き込み、読み込み等のイベントを通知するインターフェースのことを指す。S1001で、セキュリティソフトウェア509が、OS標準のポート監視インターフェースにポートアクセスのイベントが発生した際に呼ばれるコールバックを登録する。S1002で、任意のプログラムがポートにアクセスし、S1003でセキュリティソフトウェア509において、ポートアクセスのコールバックが発生する。S1004で上記コールバックの情報から、プロセスIDを、S1005でポート情報を取得する。この場合のポート情報とは、ポート種類、IPアドレスやポート番号を指す。S1006でS1004、S1005で取得したプロセスIDとポート情報から被アクセスポート情報を作成する。S1007で被アクセスポート情報233リスト内に同一の被アクセスポート情報が存在した場合、被アクセスポート情報233リストに追加しない、もしくはリストの情報を上書きし、S1009に移行する。被アクセスポート情報233リスト内に同一の被アクセスポート情報が存在した場合、時間もしくはシーケンス番号などを付加しリストに追加することで、新しく追加された情報を識別できるようにし、リスト内で検索を行った際は、新しいものを優先して使用するように実装してもよい。S1007で、同じ被アクセスポート情報が存在しない場合、S1008で被アクセスポート情報233リストに格納し、S1009に移行する。S1009で、任意のプログラムは、ポート破棄をし、S1010でセキュリティソフトウェア509に、ポート破棄イベントのコールバックが発生する。S1011で、コールバックの情報から、削除される被アクセスポート情報を特定し、S1012で被アクセスポート情報リスト233から削除対象の被アクセスポート情報を削除する。複数該当する情報が登録されていた場合は、該当する情報をすべて削除する。またはポート破棄イベントのコールバックでなく、一定間隔で被アクセスポート情報を削除してもよい。これによりリアルタイムに通信ポートと対応プロセスIDのリストが作成することができる。上述した形態では、ポート破棄イベントのコールバックを監視し、被アクセスポート情報を被アクセスポート情報リスト233から削除していた。しかしながら、図9を用いて説明する様に、ポート破棄イベントのコールバックを監視しない形態とすることもできる。なお、図9のS1101~S1106は、図8のS1001~S1006の処理と同一であるため、その説明は省略する。S1107でプロセスID以外が同一の被アクセスポート情報が存在した場合、S1108でその情報を上書きする。プロセスID以外が同一の被アクセスポート情報が存在した場合、時間もしくはシーケンス番号などを付加しリストに追加することで、新しく追加された情報を識別できるようにし、リスト内で検索を行った際は、新しいものを優先して使用するように実装してもよい。それ以外の場合、S1109において、被アクセスポート情報リスト233に被アクセスポート情報を格納する。以上の処理により、ポート破棄イベントのコールバックを監視しない構成とすることができる。また被アクセスポート情報を取得する処理としては、上記手法でアクセス時にリアルタイムにリスト作成してもいいし、一定時間ごとにポート情報一覧取得APIやファイルオブジェクト情報一覧APIを利用して取得してもよい。一定時間ごとにポート情報取得APIやファイルオブジェクト情報一覧APIを利用して取得することにより、クライアント装置500やネットワークへの負荷を軽減することが可能となる。次にポート情報一覧取得APIを利用したリスト作成方法と、TCP/UDPポートドライバのファイルオブジェクト情報を利用したリスト作成方法についてそれぞれの具体的手順を説明する。[ポート情報一覧取得API]図10は、一定間隔ごとにポート情報一覧取得APIを使用し、被アクセスポート情報リスト233を作成する処理の手順を示すフローチャートである。S1201でセキュリティソフトは、ポート情報一覧取得APIを利用し、被アクセスポート情報一覧を取得する。S1202でプロセスID以外が同一の被アクセスポート情報が存在した場合、S1203でリストの情報を上書きする。リスト内にプロセスID以外が同一の被アクセスポート情報が存在した場合、時間もしくはシーケンス番号などを付加しリストに追加することで、新しく追加された情報を識別できるようにし、リスト内で検索を行った際は、新しいものを優先し、使用するように実装してもよい。S1202で被アクセスポート情報リスト233内にプロセスID以外が同一の被アクセスポート情報存在しない場合、S1204でリストに被アクセスポート情報を格納する。S1205で、取得したすべての被アクセスポート情報に対してS1202~S1204の処理を行っていない場合はS1202に戻り繰り返す。繰り返し終了後、S1206において、APIで取得した情報と等しくない情報が被アクセスポート情報リスト233に存在するか確認する。存在しない場合は終了し、存在する場合はS1207においてAPIで取得した情報と等しくない情報を被アクセスポート情報リスト233から削除する。これにより、通信ポートと対応プロセスIDのリストが作成することができる。[ファイルオブジェクト情報一覧取得API]図11は一定間隔ごとにファイルオブジェクト情報一覧取得APIを使用し、ファイルオブジェクトの一覧を取得し、被アクセスポート情報リスト233を作成する処理の手順を示すフローチャートである。このAPIではすべてのドライバのファイルオブジェクトが取得される。S1301でファイルオブジェクト一覧取得APIを利用し、ファイルオブジェクト一覧を取得する。S1302でファイルオブジェクトがTCP又はUDPドライバに属しているか判断し、いずれにも属していない場合にはS1307に移行する。いずれかのドライバに属している場合はS1303でファイルオブジェクトから被アクセスポート情報を取得する。S1304において、プロセスID以外が同一の被アクセスポート情報が存在した場合、S1305でリストの情報を上書きする。リスト内にプロセスID以外が同一の被アクセスポート情報が存在した場合、時間もしくはシーケンス番号などを付加してリストに追加することで、新しく追加された情報を識別できるようにし、リスト内で検索を行った際は、新しいものを優先して使用するように実装してもよい。S1304で存在しない場合、S1306において、被アクセスポート情報を被アクセスポート情報リスト233に格納する。S1307で取得したすべてのファイルオブジェクトに対してS1302~S1306の処理を行っていない場合には、S1302に戻って処理を繰り返す。繰り返し終了後、S1308において、S1301~S1307で取得した被アクセスポート情報と等しくない情報が被アクセスポート情報リスト233に存在するか確認する。存在しない場合は終了し、存在する場合はS1309で等しくない被アクセスポート情報を被アクセスポート情報リスト233から削除する。これにより、通信ポートと対応プロセスIDのリストが作成することができる。IP通信監視処理図12は、クライアント装置500において実行される、IP通信の監視処理を示すフローチャートである。S701で、任意の起動プログラムがIP通信Webアクセスを行うと、S702でセキュリティソフトウェア509はイベントを検知し、情報を取得する。取得する情報は、IP通信に使用する通信ポート情報や、通信先URLなどである。具体的には、たとえば、IPパケットのフィルタリングを行い、IPパケットのヘッダ部分から通信ポート情報や、IPパケット内のデータを取得し、HTTPプロトコルの解析を行い、通信先URLを取得する。Webアクセスログ取得処理図13は、クライアント装置500において実行される、Webアクセスログ取得の処理を示すフローチャートである。この処理では、プロセスと外部装置との間で通信される通信データのログ情報を、ポート情報及びプロセスの識別情報に関連づけて記録する。ここでは、特に、クライアント装置500のユーザを識別する情報を入力し、当該ユーザを識別する情報に関連づけてログ情報を記録する場合を説明する。S801で、S702で取得した情報と、S208で作成した被アクセスポート情報リスト233から、IP通信を行ったユーザやプロセスを特定する。S802で、特定したユーザのIP通信アクセスログとして、クライアント装置500に記憶する。たとえば、ログファイルとして保存しておいたり、メモリ空間に保持しておいたりしてもよい。S803で、クライアント装置500のユーザがログオフする。S804で、S802において記録したIP通信アクセスログを、サーバ装置500へ送信する。なお、本実施形態では、S802でIP通信アクセスログをクライアント装置500に記録しているが、クライアント装置500への記録を省略して、サーバ装置500に送信してもよい。サーバ装置500では、受け取ったIP通信アクセスログをログ情報519に格納し、アクセスログを閲覧可能な状態にする。以上の構成により、ユーザ毎に、ポート情報とプロセスを関連付けることができる。したがって本実施形態によれば、例えば、Web閲覧ソフトウェアのログ取得は行うが、自動アップデートのログは取得しない等、プロセス毎のログ記録の可否を選択することができ、ユーザの環境にあわせた不要なログの記録を削減することができる。また、上記の処理では、クライアント装置500において記録したログ情報を予め定められた管理装置サーバ装置500へ送信するため、サーバ装置500において各クライアント装置500の動作を一括して管理することができる。Webアクセス制御処理図14は、クライアント装置500において実行される、Webアクセス制御の処理を示すフローチャートである。この処理では、情報処理装置のユーザを識別する情報を入力し、当該ユーザを識別する情報と、プロセスを識別する識別情報との少なくともいずれかに基づいて、該プロセスが予め定められた外部装置へアクセスすることを禁止する。まず、S901で、S702で取得した情報と、S208で作成した被アクセスポート情報リスト233から、アクセスを行ったユーザやプロセスを特定する。S902で、特定したユーザからS204で取得したユーザ設定Webアクセス権限を取得する。S903で、発生した外部装置へのアクセスに対して、アクセス許可が存在するのか確認する。アクセス権限が存在しない場合S903でYESはS904に進み、Webアクセスを禁止する。例えば、アクセスを禁止する場合はパケットを破棄したり、もしくは意味のないデータに書き換えたりする。また、アクセス権限が存在する場合S903でNOは、S905に進み、Webアクセスを許可する。以上、本実施形態によれば、ユーザ毎に、ポート情報とプロセスを関連付けることができる。したがって、例えば、自動アップデートのWebアクセスのみ許可するが、その他のWebアクセスは禁止する等、ユーザの環境にあわせたWebアクセス制御を行うことができる。<第2実施形態>第2実施形態では、上記第一実施形態のセキュリティソフトウェア509をターミナルサービスに利用した構成、動作について説明する。本実施形態では、クライアント装置で動作するプロセスは、外部装置において実行されるアプリケーションを遠隔操作する処理を行う。なお、第2実施形態の動作の大部分は第1実施形態の動作と共通するため、第1実施形態と異なる構成、動作についてのみ説明し、共通の動作については説明を省略する。ターミナルサービスとは、クライアントコンピュータがサーバコンピュータにリモート接続し、サーバコンピュータ上に生成された仮想デスクトップ環境を利用してサーバコンピュータ上でアプリケーションプログラムを実行できるようにするサービスである。図15は、本実施形態に係る複数のユーザが同時に使用可能な情報処理システムターミナルサービスの全体構成図である。本実施形態に係るシステムは、情報処理装置の一例である複数の端末装置設定サーバ装置510、サーバ装置20、クライアント装置210、220を備えており、これらはLANなどのネットワーク230を介して接続されている。サーバ装置20上では、ターミナルサービス提供部201を含むオペレーティングシステムOS202が動作している。また、サーバ装置20には、セキュリティソフトウェア509がインストールされている。セキュリティソフトウェア509は、インターネットアクセス制御機能を提供するプログラムであり、サーバ装置20上で動作している。ターミナルサービス提供部201は、たとえば、ターミナルサーバと呼ばれるプログラムによって実現される。サーバ装置20は、認証情報記憶部203を有している。認証情報記憶部203には、たとえば、クライアント装置210、220の各利用者のログインユーザ情報等ログインユーザ名、セッションID等が格納されている。クライアント装置210、220のそれぞれは、ターミナルサービス提供部201から提供されるターミナルサービスを利用するためのターミナルサービス利用部211、221を備える。クライアント装置210、220のそれぞれは、不図示のキーボード等の入力部や、ディスプレイ装置などの表示部が接続されている。ターミナルサービス利用部211、221は、たとえば、リモートデスクトップ接続RDCと呼ばれるプログラムや、ターミナルサービスクライアントTSCと呼ばれるプログラムによって実現される。ターミナルサービスは、Windows、MacOSおよびLinux登録商標などの一般的なオペレーティングシステムOSであれば一般に備えているサービスであるが、その名称はOSによって異なっている。リモートサービスは、第1のパーソナルコンピュータPCに対して第2のPCからリモートログインして、第1のPCを遠隔操作するサービスである。例えば、第1のPCから情報を取得したり、第1のPCに情報を書き込んだり、第1のPCにインストールされているソフトウェアを第1のPC上で実行したりする。なお、第1のPCの入力部を通じて直接ログインしているユーザをローカルユーザと呼び、第2のPCから第1のPCへリモートログインしているユーザをリモートユーザと呼んで区別することにする。サーバとして機能するサーバ装置20は、クライアントとして機能するクライアント装置210、220に仮想デスクトップ画面を表示するための情報を送信する。クライアント装置210、220は、サーバ装置20から受信した情報に従って仮想デスクトップ画面をディスプレイ装置に表示したり、利用者が仮想デスクトップ画面上で行う操作に従って、コマンドやデータをサーバ装置20に送信したりする。サーバ装置20では、クライアント装置210、220から送信されてきたコマンドやデータに応じてアプリケーションプログラムを実行し、実行結果をクライアント装置210、220へ送信する。クライアント装置210、220では、サーバ装置20から送信されてきた実行結果を仮想デスクトップ画面上に表示する。サーバ装置20は、リモートユーザによって使用される一方で、同時並行的にローカルユーザによっても使用可能である。このように、リモートユーザとローカルユーザとを含む複数のユーザが同時に使用可能な情報処理システムターミナルサービスにおいては、アプリケーションプログラムが、サーバ装置20で実行される。複数のクライアント装置210、220からサーバ装置20に同時に接続してアプリケーションプログラムを実行することも可能である。この場合、リモートユーザ毎にセッションが分けられ、各利用者は別々の仮想デスクトップ環境を利用してアプリケーションプログラムを実行する。ターミナルサービス提供部201は、各セッションを区別するためにセッションIDを発行する。なお、同時に使用可能とは、同じ時間に複数のユーザがログインしている状態を含む。このようなターミナルサービスは一般的な技術であるため、これ以上の説明は省略する。図15において設定サーバ装置510上のログ収集部521では、セキュリティソフトウェア509で使用するユーザ毎の外部装置へのアクセス情報を記録する。設定部522は、ユーザ毎の接続可能なURLのブラックリストやホワイトリスト等、ユーザ毎の設定情報を記録している。セキュリティソフトウェア509は、ユーザが端末20にログイン時、リモートログイン時などのタイミングで端末510と通信し、ユーザ毎の設定情報を取得する。プログラム監視図3のS203で、ログインしたユーザのユーザ情報を取得する。ここでユーザ情報に、セッションIDを含むようにする。従って、S208では、被アクセスポート情報リスト233には、複数のユーザが同時に使用可能な情報処理システムターミナルサービスにおけるユーザ毎のリストが作成される。以上のように、本実施形態によれば、複数のユーザが同時に使用可能な情報処理システムにおいても、Webアクセスについてログインしたユーザ毎のログ取得、ユーザ毎に適したアクセス権限を与えることが可能となる。<その他の実施形態>また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェアプログラムを、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータまたはCPUやMPU等がプログラムを読み出して実行する処理である。