(57)【要約】動的インターネットプロトコル（ＩＰ）アドレスに基づいてファイアウォールルールを変更するための方法、システム、およびメディアが提供される。いくつかの実施形態によれば、この方法は、データベースサーバから、リモートコンピュータを保護するファイアウォールのファイアウォールルールを変更するリクエストを受信するステップを含み、そのリクエストは、リモートコンピュータへの接続を開始するユーザデバイスのＩＰアドレスを含み、ファイアウォールルールは、リモートコンピュータへの接続を確立することを許可されたデバイスのＩＰアドレスを示す。この方法は、さらに、ユーザデバイスのＩＰアドレスをファイアウォールルールに追加するかどうかを決定するステップ、およびユーザデバイスのＩＰアドレスをファイアウォールルールに追加すべきという決定に応答して、現在のＩＰアドレスをファイアウォールルールに追加するステップを含む。【選択図】図２
2020533908.tif 000002
【特許請求の範囲】
【請求項１】
動的インターネットプロトコル（ＩＰ）アドレスに基づいてファイアウォールルールを変更する方法であって、該方法は、
データベースサーバから、リモートコンピュータを保護するファイアウォールのファイアウォールルールを変更するリクエストを受信するステップであり、前記リクエストは、前記リモートコンピュータへの接続を開始するユーザデバイスのＩＰアドレスを含み、前記ファイアウォールルールは、前記リモートコンピュータへの接続を確立することを許可されたデバイスのＩＰアドレスを示す、ステップと、
前記ユーザデバイスのＩＰアドレスを前記ファイアウォールルールに追加すべきかどうかを決定するステップと、
前記ユーザデバイスのＩＰアドレスを前記ファイアウォールルールに追加すべきという決定に応答して、現在のＩＰアドレスをファイアウォールルールに追加するステップと、を含む、方法。
【請求項２】
前記ユーザデバイスのＩＰアドレスを前記ファイアウォールルールから削除すべきかどうかを決定するステップと、
前記ユーザデバイスのＩＰアドレスを前記ファイアウォールルールから削除すべきという決定に応答して、前記ファイアウォールルールから現在のＩＰアドレスを削除するステップと、をさらに備える、請求項１に記載の方法。
【請求項３】
前記ファイアウォールルールが存在しないことを決定するステップと、
前記ファイアウォールルールが存在しないという決定に応答して、前記ファイアウォールルールを生成するステップと、をさらに備える、請求項１に記載の方法。
【請求項４】
前記リクエストは、前記ファイアウォールルールを示すファイアウォールルール名を含む、請求項１に記載の方法。
【請求項５】
前記リクエストは前記データベースサーバに送信されたクエリに応答して前記データベースサーバから受信される、請求項１に記載の方法。
【請求項６】
動的インターネットプロトコル（ＩＰ）アドレスに基づいてファイアウォールルールを変更するシステムであって、前記システムはハードウェアプロセッサを備え、
前記ハードウェアプロセッサは、データベースサーバから、リモートコンピュータを保護するファイアウォールのファイアウォールルールを変更するリクエストを受信するようにプログラムされ、前記リクエストは前記リモートコンピュータへの接続を開始するユーザデバイスのＩＰアドレスを含み、前記ファイアウォールルールは前記リモートコンピュータへの接続を確立することを許可されたデバイスのＩＰアドレスを示すものであり、
前記ハードウェアプロセッサは、ユーザデバイスのＩＰアドレスをファイアウォールルールに追加するかどうかを決定するようにプログラムされ、且つ
前記ハードウェアプロセッサは、前記ユーザデバイスのＩＰアドレスを前記ファイアウォールルールに追加すべきという決定に応答して、現在のＩＰアドレスを前記ファイアウォールルールに追加するようにプログラムされている、システム。
【請求項７】
前記ハードウェアプロセッサは、さらに、
前記ユーザデバイスのＩＰアドレスを前記ファイアウォールルールから削除すべきかどうかを決定するようにプログラムされ、且つ
前記ユーザデバイスのＩＰアドレスを前記ファイアウォールルールから削除すべきという決定に応答して、前記ファイアウォールルールから現在のＩＰアドレスを削除するように構成されている、請求項６に記載のシステム。
【請求項８】
前記ハードウェアプロセッサは、さらに、
前記ファイアウォールルールが存在しないことを決定するようにプログラムされ、且つ
前記ファイアウォールルールが存在しないという決定に応答して、前記ファイアウォールルールを生成するようにプログラムされている、請求項６に記載のシステム。
【請求項９】
前記リクエストは、前記ファイアウォールルールを示すファイアウォールルール名を含む、請求項６に記載のシステム。
【請求項１０】
前記リクエストは前記データベースサーバに送信されたクエリに応答して前記データベースサーバから受信される、請求項６に記載のシステム。
【請求項１１】
プロセッサによって実行されると、動的ＩＰアドレスに基づいてファイアウォールを変更する方法をプロセッサに実行させるコンピュータ実行可能命令を含む非一時的なコンピュータ可読媒体であって、
前記方法は、データベースサーバから、リモートコンピュータを保護するファイアウォールのファイアウォールルールを変更するリクエストを受信するステップであり、前記リクエストは、前記リモートコンピュータへの接続を開始するユーザデバイスのＩＰアドレスを含み、前記ファイアウォールルールは前記リモートコンピュータへの接続を確立することを許可されたデバイスのＩＰアドレスを示す、ステップと、
前記ユーザデバイスのＩＰアドレスを前記ファイアウォールルールに追加すべきかどうかを決定するステップと、
前記ユーザデバイスのＩＰアドレスを前記ファイアウォールルールに追加すべきという決定に応答して、現在のＩＰアドレスを前記ファイアウォールルールに追加するステップと、を備える、非一時的なコンピュータ可読媒体。
【請求項１２】
前記方法は、さらに、
前記ユーザデバイスのＩＰアドレスを前記ファイアウォールルールから削除すべきかどうかを決定するステップと、
前記ユーザデバイスのＩＰアドレスを前記ファイアウォールルールから削除すべきという決定に応答して、前記ファイアウォールルールから現在のＩＰアドレスを削除するステップと、を備える、請求項１１に記載の非一時的なコンピュータ可読媒体。
【請求項１３】
前記方法は、さらに、
前記ファイアウォールルールが存在しないことを決定するステップと、
前記ファイアウォールルールが存在しないという決定に応答して、前記ファイアウォールルールを生成するステップと、を備える、請求項１１に記載の非一時的なコンピュータ可読媒体。
【請求項１４】
前記リクエストは、前記ファイアウォールルールを示すファイアウォールルール名を含む、請求項１１に記載の非一時的なコンピュータ可読媒体。
【請求項１５】
前記リクエストは、前記データベースサーバに送信されたクエリに応答して前記データベースサーバから受信される、請求項１１に記載の非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【関連出願の相互参照】
【０００１】
この出願は、２０１７年９月１２日に提出された米国特許出願第１５／７０２，３５５号の利益を主張するものであり、その内容は参照することによりすべて本明細書に組み込まれる。
【技術分野】
【０００２】
本開示の主題は、動的ＩＰアドレスに基づいてファイアウォールを変更するための方法、システム、および媒体に関する。
【背景技術】
【０００３】
多くのユーザは、リモートコンピュータへのリモートデスクトップ接続を確立したいと思っている。たとえば、オフィスから離れているユーザは、パブリックネットワーク接続を介してラップトップコンピュータを使用して、仕事用コンピュータへのリモートデスクトップ接続を確立したいと思っている。ただし、場合によっては、ファイアウォールが不明なアドレスがリモートコンピュータにアクセスするのをブロックするため、ユーザはリモートデスクトップ接続を確立できないことがある。さらに、場合によっては、ユーザのＩＰアドレスをそのようなファイアウォールにプログラムできたとしても、ＩＰアドレスはユーザのインターネットサービスプロバイダー（ＩＳＰ）によって動的に割り当てられるため、ユーザのコンピュータのＩＰアドレスは不明なことがある。
【０００４】
したがって、動的ＩＰアドレスに基づいてファイアウォールを変更するための新しい方法、システム、および媒体を提供することが望ましい。
【発明の概要】
【０００５】
動的ＩＰアドレスに基づいてファイアウォールを変更するための方法、システム、および媒体が提供される。本開示の主題のいくつかの実施形態によれば、動的ＩＰアドレスに基づいてファイアウォールを変更する方法が提供され、この方法は、データベースサーバから、リモートコンピュータを保護するファイアウォールのファイアウォールルールを変更するリクエストを受信するステップを含む。ここで、前記リクエストは、前記リモートコンピュータへの接続を開始するユーザデバイスのＩＰアドレスを含み、前記ファイアウォールルールは、前記リモートコンピュータへの接続を確立することを許可されたデバイスのＩＰアドレスを示すものである。この方法は、さらに、前記ユーザデバイスのＩＰアドレスを前記ファイアウォールルールに追加するかどうかを決定するステップ、および前記ユーザデバイスのＩＰアドレスを前記ファイアウォールルールに追加すべきという決定に応答して、現在のＩＰアドレスをファイアウォールルールに追加するステップを含む。
【０００６】
本開示の主題のいくつかの実施形態によれば、動的ＩＰアドレスに基づいてファイアウォールを変更するためのシステムが提供され、このシステムは、ハードウェアプロセッサを備え、前記ハードウェアプロセッサは、データベースサーバから、リモートコンピュータを保護するファイアウォールのファイアウォールルールを変更するリクエストを受信するようにプログラムされる。ここで、前記リクエストは前記リモートコンピュータへの接続を開始するユーザデバイスのＩＰアドレスを含み、前記ファイアウォールルールは前記リモートコンピュータへの接続を確立することを許可されたデバイスのＩＰアドレスを示すものである。このシステムは、さらに、前記ユーザデバイスのＩＰアドレスを前記ファイアウォールルールに追加するかどうかを決定するようにプログラムされ、且つ前記ユーザデバイスのＩＰアドレスを前記ファイアウォールルールに追加すべきという決定に応答して、現在のＩＰアドレスを前記ファイアウォールルールに追加するようプログラムされている。
【０００７】
本開示の主題のいくつかの実施形態によれば、プロセッサによって実行されると、動的ＩＰアドレスに基づいてファイアウォールを変更する方法をプロセッサに実行させるコンピュータ実行可能命令を含む非一時的コンピュータ可読媒体が提供される。この方法は、データベースサーバから、リモートコンピュータを保護するファイアウォールのファイアウォールルールを変更するリクエストを受信するステップを含む。ここで、前記リクエストは、前記リモートコンピュータへの接続を開始するユーザデバイスのＩＰアドレスを含み、前記ファイアウォールルールは前記リモートコンピュータへの接続を確立することを許可されたデバイスのＩＰアドレスを示すものである。この方法は、さらに、前記ユーザデバイスのＩＰアドレスを前記ファイアウォールルールに追加するかどうかを決定するステップ、および前記ユーザデバイスのＩＰアドレスを前記ファイアウォールルールに追加すべきという決定に応答して、現在のＩＰアドレスを前記ファイアウォールルールに追加するステップを含む。
【０００８】
本開示の主題のいくつかの実施形態によれば、動的ＩＰアドレスに基づいてファイアウォールを変更するためのシステムが提供され、このシステムは、データベースサーバから、ファイアウォールのファイアウォールルールを変更するリクエストを受信する手段を備える。ここで、前記リクエストは、前記リモートコンピュータへの接続を開始するユーザデバイスのＩＰアドレスを含み、前記ファイアウォールルールは、前記リモートコンピュータへの接続を確立することを許可されたデバイスのＩＰアドレスを示すものである。このシステムは、さらに、前記ユーザデバイスのＩＰアドレスを前記ファイアウォールルールに追加するかどうかを決定する手段、および前記ユーザデバイスのＩＰアドレスを前記ファイアウォールルールに追加すべきという決定に応答して、現在のＩＰアドレスを前記ファイアウォールルールに追加する手段を備える。
【０００９】
いくつかの実施形態では、このシステムは、さらに、前記ユーザデバイスのＩＰアドレスを前記ファイアウォールルールから削除するかどうかを決定する手段、および前記ユーザデバイスのＩＰアドレスを前記ファイアウォールルールから削除すべきという決定に応答して、前記ファイアウォールルールから現在のＩＰアドレスを削除する手段を備える。
【００１０】
いくつかの実施形態では、このシステムは、前記ファイアウォールルールが存在しないことを決定する手段、および前記ファイアウォールルールが存在しないという決定に応答して、前記ファイアウォールルールを生成する手段をさらに備える。
【００１１】
いくつかの実施形態では、前記リクエストは、前記ファイアウォールルールを示すファイアウォールルール名を含む。
【００１２】
いくつかの実施形態では、前記リクエストは、前記データベースサーバに送信されたクエリに応答して前記データベースサーバから受信される。
【００１３】
本開示の主題の様々な目的、特徴、および利点は、同様の参照番号が同様の要素を識別する以下の図面に関連して本開示の主題の以下の詳細な説明を参照するとより完全に理解することができる。
【図面の簡単な説明】
【００１４】
【図１】本開示の主題のいくつかの実施形態による、ファイアウォールにＩＰアドレスを追加するリクエストを生成するプロセスの一例を示す。
【図２】本開示の主題のいくつかの実施形態による、取得したリクエストに基づいてファイアウォールを変更するプロセスの一例を示す。
【図３】本開示の主題のいくつかの実施形態による、動的ＩＰアドレスに基づいてファイアウォールを変更するのに適した例示的なシステムの概略図を示す。
【図４】本開示の主題のいくつかの実施形態による、図３のサーバおよび／またはユーザデバイスで使用できるハードウェアの詳細な例を示す。
【発明を実施するための形態】
【００１５】
様々な実施形態によれば、動的ＩＰアドレスに基づいてファイアウォールを変更するためのメカニズム（方法、システム、および媒体を含み得る）が提供される。
【００１６】
いくつかの実施形態では、本明細書に記載のメカニズムは、ブロックされていないＩＰアドレスのファイアウォールのリストにＩＰアドレスを動的かつ遠隔的に追加することができるため、例えば、ユーザはファイアウォールにより保護されたリモートコンピュータへのリモートデスクトップ接続を確立することができる。いくつかの実施形態では、ユーザデバイスは、動的インターネットプロトコル（ＩＰ）アドレスを持つことができる。いくつかのそのような実施形態では、ユーザデバイスは、ユーザデバイスに関連する現在のＩＰアドレスと、リモートコンピュータに関連するファイアウォールルールにＩＰアドレスを追加するリクエストとを含むメッセージをデータベースサーバに送信することができる。いくつかの実施形態では、リモートコンピュータはデータベースサーバにクエリを送信して現在のＩＰアドレスを取得し、次にリモートコンピュータに関連するファイアウォールルールを更新して現在のＩＰアドレスを含めることができる。
【００１７】
図１を参照すると、本開示の主題のいくつかの実施形態による、ユーザデバイスに関連するＩＰアドレスをファイアウォールに追加することを要求するプロセスの一例１００が示されている。いくつかの実施形態では、プロセス１００のブロックは、ファイアウォールにより保護されているリモートコンピュータへのアクセス（例えば、リモートコンピュータとのリモートデスクトップ接続の確立）を求める任意の適切なデバイス、例えばユーザデバイスなど、によって実行され得る。より詳細には、いくつかの実施形態では、プロセス１００のブロックは、デバイス上で実行されるプログラム（例えば、ウェブアプリケーション、スタンドアロンアプリケーション、および／または他の適切なプログラム）によって実行され得る。
【００１８】
プロセス１００は、ブロック１０２において、データベースサーバ（例えば、図３に関連して以下に示され説明されるデータベースサーバ３０２）に対してプロセス１００を実行するユーザデバイスを認証することにより開始することができる。例えば、いくつかの実施形態では、ユーザデバイスのユーザは、任意の適切な手法または手法の組み合わせを使用して、データベースサーバに関連するアカウントにログインすることができる。より具体的な例として、いくつかの実施形態では、ユーザは、ユーザインタフェースを介してアカウントに関連するユーザ名とパスワードを入力できる。別のより具体的な例として、いくつかの実施形態では、ユーザは、ユーザに関連する生体認証情報を使用してアカウントに対して認証を行うことができる。いくつかの実施形態では、ユーザデバイスは、他の適切な認証技術を使用してデータベースサーバに対して認証を行うことができる。
【００１９】
プロセス１００は、ブロック１０４において、リモートコンピュータを保護するファイアウォールにＩＰアドレスを追加するリクエストに関連する情報を識別することができる。例えば、いくつかの実施形態では、プロセス１００は、ユーザデバイスが接続されるリモートコンピュータの識別子を決定することができる。いくつかの実施形態では、プロセス１００は、任意の適切な技術を使用してリモートコンピュータの識別子を決定することができる。例えば、いくつかの実施形態では、プロセス１００は、ユーザインタフェースを介してリモートコンピュータを識別する名前の選択を受信することにより、リモートコンピュータの識別子を決定することができる。別の例として、いくつかの実施形態では、プロセス１００は、ユーザデバイスのユーザがリモート接続の確立許可を得ている１つ以上のリモートコンピュータを識別することができる。より具体的な例として、いくつかの実施形態では、プロセス１００は、ユーザの名前に関連する特定のリモートコンピュータを識別することができる。別のより具体的な例として、いくつかの実施形態では、プロセス１００は、ユーザに関連するユーザタイプに基づいて複数のリモートコンピュータを識別することができる（例えば、ユーザは各リモートコンピュータの管理者権限、および／または他の適切なユーザタイプを持っている）。いくつかのそのような実施形態では、プロセス１００は、識別されたリモートコンピュータの指示を、ユーザによる選択のために（例えば、ユーザインタフェースを介して）ユーザに提示することができる。
【００２０】
別の例として、いくつかの実施形態では、プロセス１００は、ユーザデバイスに関連する情報を決定することができる。より具体的な例として、いくつかの実施形態では、プロセス１００は、ユーザデバイスに関連する現在のＩＰアドレスを決定することができる。別のより具体的な例として、いくつかの実施形態では、プロセス１００は、ユーザデバイスの地理的位置（たとえば、ユーザデバイスの現在の位置に関連する緯度および／または経度、ユーザデバイスは現在ユーザのオフィスおよび／または他の適切な地理的場所にないことを示す情報）を決定することができる。
【００２１】
さらに別の例として、いくつかの実施形態では、プロセス１００は、リクエストに関連するアクション、例えば、現在のＩＰアドレスをリモートコンピュータに関連するファイアウォールルールのリストに追加すべきであること、または現在のＩＰアドレスをリモートコンピュータに関連するファイアウォールルールのリストから削除すべきであること、を決定することができる。より具体的な例として、プロセス１００がユーザデバイスはリモートコンピュータへの新しい接続を確立すべきであると決定する場合、プロセス１００は現在のＩＰアドレスをファイアウォールルールのリストに追加することを決定することができる。別のより具体的な例として、プロセス１００が、（たとえば、ユーザデバイスのユーザからの明示的な入力に基づいて、ユーザデバイスのアクティビティなしの経過期間に基づいて、および／または他の適切な情報に基づいて）、リモートコンピュータへの接続を終了すべきであると決定する場合、プロセス１００は、現在のＩＰアドレスをファイアウォール規則のリストから削除することを決定することができる。
【００２２】
いくつかの実施形態では、プロセス１００は、ファイアウォールルールを変更するリクエストに対応する任意の適切な基準を決定することができる。例えば、リクエストがファイアウォールルールのリストにＩＰアドレスを追加する、である場合、プロセス１００は、リクエストに含めるべき適切なタイミング情報を決定することができる。より具体的な例として、いくつかの実施形態では、プロセス１００は、リクエストが有効である期間（例えば、１時間、２時間、１日、１ヶ月、および／または他の適切な期間）、ＩＰアドレスをファイアウォールルールから削除すべき日付および／または時刻、ＩＰアドレスがファイアウォールルールに含まれる適切な時間枠（例えば、特定の日の午後１時から午後３時、特定の曜日、特定の時間帯、および／または他の適切な時間枠）および／または他の適切なタイミング情報を決定することができる。別のより具体的な例として、いくつかの実施形態では、プロセス１００は、リクエストが有効であるユーザデバイスとリモートコンピュータとの間の接続のタイプを決定することができる。特定の例として、いくつかの実施形態では、プロセス１００は、ユーザデバイスが、特定のレベルの暗号化および／または暗号化プロトコルを用いて、特定の認証技術（たとえば、マルチファクタ認証、および／または他の適切な技術）、および／または他の適切な基準を用いて、特定のリモートデスクトップ接続技術を実施している場合には、リクエストは有効であると決定することができる。
【００２３】
ブロック１０６において、プロセス１００は、識別した情報に基づいて、リモートコンピュータを保護するファイアウォールを変更するリクエストを発生することができる。例えば、いくつかの実施形態では、リクエストはリモートコンピュータの識別子を含むことができる。別の例として、いくつかの実施形態では、リクエストは、ユーザデバイスに関連する現在のＩＰアドレスを含むことができる。さらに別の例として、いくつかの実施形態では、リクエストは、リモートコンピュータへの接続を確立することを許可されたデバイスのＩＰアドレスを示すファイアウォールルールのリストに現在のＩＰアドレスを追加すべきか、ファイアルールのリストから削除すべきか、および／またはその他の適切なアクションを示すアクション値パラメーターを含むことがでる。さらに別の例として、いくつかの実施形態では、リクエストは、ユーザデバイスに関連するＩＰアドレスをリモートコンピュータへの接続を確立することを許可されたデバイスのＩＰアドレスを示すファイアウォールルールに含めるべき日付および／または時刻に関連する任意の適切なタイミング情報を含むことができる。より具体的な例として、上記のように、リクエストに含まれるタイミング情報は、ＩＰアドレスがファイアウォールルールに特定の期間中（たとえば、１時間、２時間、１日、１月、および／または他の適切な期間）、特定の日および／または時刻まで、特定の時間範囲内（たとえば、午後１時から午後５時まで、特定の日の午後１時から別の日の午後１時まで、および／または他の適切な時間範囲）、特定の曜日中（たとえば、月曜日、平日、週末、および／または他の適切な日）、特定の時間中（たとえば、午後９時以降、午前９時から午後５時の間、および／またはその他の適切な時間）、および／またはその他の適切なタイミング情報またはタイミング情報の組み合わせの間含まれることを示す。さらに別の特定の例として、上記のように、リクエストには、リモートコンピュータへの接続の確立を許容されたデバイスのＩＰアドレスを示すファイアウォールルールにＩＰアドレスを含める場合に満たすべき基準を含めることができる。より具体的な例として、上記のように、基準には、特定のタイプの接続プロトコル（たとえば、特定のリモートデスクトップ接続技術および／または他の適切なプロトコル）を使用すべきこと、特定のタイプまたはレベルの暗号化を使用すべきこと、特定の種類の認証（たとえば、マルチファクタ認証、および／またはその他の適切な認証）を使用すべきこと、および／またはその他の適切な基準を使用すべきことが含まれる。
【００２４】
いくつかの実施形態では、リクエストはファイアウォールルール名を含むことができる。例えば、いくつかの実施形態では、ファイアウォール名は、リクエストがファイアウォールに関連するインバウンドルールに関連していること、ファイアウォールに関連するアウトバウンドルールに関連していること、および／または他の適切なルールに関連していることを示すことができる。別の例として、いくつかの実施形態では、ファイアウォール名は、リクエストが、リモートコンピュータで特定のアクティビティ、例えばリモートデスクトップ接続の確立、ファイル転送、リモート印刷、および／または他の適切なアクティビティ、を実効することに関連していることを示すことができる。より具体的な例として、いくつかの実施形態では、ファイアウォール名は、リクエストがユーザデバイスとリモートコンピュータの間の接続に関連する特定のポートに関連していることを示すことができまる。
【００２５】
ブロック１０８において、プロセス１００は、データベースサーバによる格納のために、リクエストをデータベースサーバ（例えば、図３に関連して以下に示され説明されるデータベースサーバ３０２）に送信することができる。いくつかの実施形態では、プロセス１００は、任意の適切な技術を使用して、リクエストをデータベースサーバに送信することができる。例えば、いくつかの実施形態では、プロセス１００は、図３に関連して以下でより詳細に示され説明されるように、通信ネットワークを介してデバイスをデータベースサーバに接続するデバイスに接続されたネットワークルータを介してリクエストを送信することができる。
【００２６】
いくつかの実施形態では、プロセス１００は、任意の適切な時点でブロック１０４にループバックすることができる。例えば、いくつかの実施形態では、プロセス１００は、ブロック１０４にループバックし、特定の時間が経過した時点、デバイスに関連するＩＰアドレスが変更された時点、および／または他の適切な時点に、リモートコンピュータに関連するファイアウォールルールを更新するためにリモートコンピュータへのリクエストを生成するための情報を識別することができる。いくつかの実施形態では、ユーザデバイスがリモートコンピュータに接続されている間にプロセス１００がブロック１０４にループバックする場合、プロセス１００は任意の適切な情報のサブセットを決定することができる。例えば、いくつかの実施形態では、プロセス１００はブロック１０４にループバックし、更新されたタイミング情報、更新された接続基準、および／または他の適切な更新された情報を決定することができる。
【００２７】
図２を参照すると、本開示の主題のいくつかの実施形態による、リモートコンピュータを保護するファイアウォールのファイアウォールルールを変更するプロセスの例２００が示されている。いくつかの実施形態では、プロセス２００のブロックは、リモートコンピュータを保護するファイアウォールデバイス（例えば、図３に関連して以下に示され説明されるファイアウォール３１４）および／またはファイアウォールを使用するリモートコンピュータデバイスで実行され得る。
【００２８】
プロセス２００は、ブロック２０２で始まり、データベースサーバ（例えば、図３に関連して以下に示され説明されるデータベースサーバ３０２）に問い合わせて、リモートコンピュータに関連するファイアウォールを変更するリクエストが利用可能かどうかを判定することができる。例えば、いくつかの実施形態では、データベースサーバは、ファイアウォールへの変更のリクエストを受信し保存するデータベースサーバであり得る。より特定の例として、いくつかの実施形態では、データベースサーバは、図１に関連して上述したように、ユーザデバイスから、ユーザデバイスのＩＰアドレスを含むようにファイアウォールルールを変更するリクエストを受信することができる。いくつかの実施形態では、プロセス２００は、データベースサーバへの送信クエリに任意の適切な情報を含めることができる。例えば、いくつかの実施形態では、プロセス２００は、リモートコンピュータの識別子を含むことができ、この識別子をデータベースサーバが使ってリモートコンピュータ宛てのリクエストを識別することができる。
【００２９】
ブロック２０４において、プロセス２００は、リモートコンピュータを保護するファイアウォールを変更するために利用可能なリモートコンピュータ宛てのリクエストがあるかどうかを決定することができる。プロセス２００は、任意の適切な情報に基づいて利用可能なリクエストがあるかどうかを決定することができる。例えば、いくつかの実施形態では、プロセス２００は、データベースサーバから受信したクエリに対するレスポンスに基づいて利用可能なリクエストがあるかどうかを決定することができる。より具体的な例として、いくつかの実施形態では、利用可能なリクエストがない場合、プロセス２００は、リモートコンピュータに対応するリクエストが見つからなかったことを示すレスポンスをデータベースサーバから受信することができる。別のより具体的な例として、いくつかの実施形態では、利用可能なリクエストがある場合、プロセス２００は、データベースサーバから、リクエストに対応する情報を含むレスポンスを受信することができる。
【００３０】
プロセス２００が、特定のユーザデバイスから受信したファイアウォールルールを変更するリクエストが利用可能であることを示すレスポンスをデータベースサーバから受信する場合、レスポンスはリクエストに対応する任意の適切な情報を含むことができる。例えば、いくつかの実施形態では、情報は、ユーザデバイスに関連する現在のＩＰアドレスを含むことができる。別の例として、いくつかの実施形態では、情報は、特定のファイアウォール規則を変更する方法を示すアクション値を含むことができる。より具体的な例として、いくつかの実施形態では、アクション値は、ユーザデバイスに関連するＩＰアドレスが、リモートコンピュータへの接続を確立することを許可されたデバイスのＩＰアドレスを示す特定のファイアウォールルールに追加すべきであることを示すことができる。いくつかのそのような実施形態では、リクエストに含まれるアクション値および／または情報は、図１のブロック１０４および１０６に関連して詳しく述べてように、ＩＰアドレスがファイアウォールルールに含まれる期間を示すタイミング情報をさらに含むことができる。別のより具体的な例として、いくつかの実施形態では、アクション値は、ユーザデバイスに関連するＩＰアドレスが、リモートコンピュータへの接続を確立することを許可されたデバイスのＩＰアドレスを示す特定のファイアウォールルールから削除すべきことを示すことができる。さらに別の例として、いくつかの実施形態では、情報は１つまたは複数のファイアウォールルール名を含むことができる。より具体的な例として、いくつかの実施形態では、ファイアウォールルール名は、リクエストがインバウンドルールおよび／またはアウトバウンドルールに対応することを示すことができる。別のより具体的な例として、いくつかの実施形態では、ファイアウォールルール名は、リクエストがリモートデスクトップ接続の確立、印刷、ファイル転送、および／または他の適切なアクティビティなどの特定のアクティビティに対応することを示すことができる。
【００３１】
いくつかの実施形態では、プロセス２００は、クエリをデータベースサーバに送信することなく、データベースサーバからリクエストに対応する情報を直接受信できることに留意されたい。例えば、いくつかの実施形態では、データベースサーバは、ユーザデバイスから受信したリクエストを、その宛先のリモートコンピュータに、またはユーザデバイスからのリクエストの受信時にリモートコンピュータを保護するファイアウォールに、プッシュすることができる。より具体的な例として、いくつかの実施形態では、データベースサーバは、リモートコンピュータへの接続および／またはリモートコンピュータを保護するファイアウォールへの接続（たとえば、仮想プライベートネットワーク接続、および／または他の適切な接続）を維持することができ、その接続を使用してリクエストに対応する情報を送信することができる。いくつかのそのような実施形態では、ブロック２０２および２０４は省略することができる。
【００３２】
ブロック２０４において、プロセス２００が利用可能なリクエストがないと判定した場合（２０４で「ノー」）、プロセス２００は２１２で終了することができる。
【００３３】
ブロック２０４において、プロセス２００が利用可能なリクエストがあると決定した場合（２０４において「はい」）、プロセス２００はブロック２０６においてリクエストに対応するファイアウォールルール名がすでに存在するかどうかを判定することができる。ファイアウォールルール名は任意の適切な一組のファイアウォールルールに関連する名前、例えばインバウンドルール、アウトバウンドルール、特定のアクティビティに対応するルール、および／または他の適切なルールなど、とすることができる。プロセス２００は、ファイアウォールルール名が適切な方法で存在するかどうかを判定することができる。たとえば、いくつかの実施形態では、プロセス２００は、ファイアウォールルール名がファイアウォールデバイスのメモリおよび／またはリモートコンピュータのメモリ（たとえば、図３および図４に関連して以下に示され説明されるように、ファイアウォールのメモリ３１４および／またはリモートコンピュータ３０４のメモリ４０４）に格納されたファイアウォールルール名のリストに含まれているかどうかを決定できる。リクエストが複数のファイアウォールルール名（たとえば、インバウンドルールに対応する第１のファイアウォールルール、アウトバウンドルールに対応する第２のファイアウォールルール名、および／またはその他の適切なファイアウォールルール名）を含む場合、プロセス２００は複数のファイアウォールルール名の各々が既に存在するかどうかを判定することができる。
【００３４】
ブロック２０６において、プロセス２００が、ファイアウォールルール名がすでに存在すると決定した場合（２０６において「はい」）、プロセス２００はブロック２１０に進むことができる。複数のファイアウォールルール名がリクエストに含まれていた場合、プロセス２００はすべてのファイアウォールルール名がすでに存在するという決定に応答して、ブロック２１０に進む。
【００３５】
ブロック２０６において、プロセス２００はファイアウォールルール名がまだ存在しないと判定した場合（２０６において「いいえ」）、プロセス２００はブロック２０８においてそのファイアウォールルール名に対応するファイアウォールルールを生成することができる。例えば、いくつかの実施形態では、プロセス２００は、そのファイアウォールルール名に対応する新しいリストを生成することができる。
【００３６】
ブロック２１０において、プロセス２００は、リクエストに基づいてファイアウォールルール名に対応するファイアウォールルールを変更することができる。いくつかの実施形態では、プロセス２００は、リクエストに含まれる適切な情報、例えばファイアウォールルールが変更される方法を示すアクションパラメータ値、タイミング情報、基準情報、および／またはその他の適切な情報など、に基づいて、ファイアウォールルールを変更することができる。たとえば、プロセス２００がユーザデバイスのＩＰアドレスをファイアウォールルールから削除すべきと決定した場合、プロセス２００は、リモートコンピュータへの接続を確立することを許可されたユーザデバイスを示すＩＰアドレスのリストからそのＩＰアドレスを削除することができる。いくつかの実施形態では、プロセス２００は、任意の適切な技術または技術の組み合わせを使用して、そのユーザデバイスのＩＰアドレスをファイアウォールルールから削除すべきかどうかを判定することができる。例えば、いくつかの実施形態では、リクエストは、ファイアウォールルールからそのＩＰアドレスを削除するための明確な指示（例えば、アクションパラメータ値に基づく）を含むことができる。別の例として、いくつかの実施形態では、プロセス２００は、リクエストに含まれるタイミング情報または基準情報に基づいて、ユーザデバイスのＩＰアドレスをファイアウォールルールから削除すべきことを決定することができる。より具体的な例として、リクエストが、ＩＰアドレスがファイアウォールルールに含まれるべき時間に対応するタイミング情報を示す場合、プロセス２００は、現在時刻がＩＰアドレスが含まれるべき時間外であるかどうかを判定することができる。特定の例として、特定の日の特定の時刻までＩＰアドレスがファイアウォールルールに含まれることをタイミング情報が示す場合、プロセス２００は現在の時刻が特定の日の特定の時刻の後かどうかを判定することができる。別のより具体的な例として、特定のタイプの接続プロトコル、認証プロトコル、および／または暗号化プロトコルを使用しなければならないことを基準情報が示す場合、プロセス２００は、この基準が現在時点で満たされないという決定に応答して、ユーザデバイスのＩＰアドレスを削除すべきと決定することができる。
【００３７】
別の例として、プロセス２００がファイアウォールルールをユーザデバイスのＩＰアドレスを含むように変更することを決定する場合、プロセス２００はファイアウォールルール名に対応するファイアウォールルールにＩＰアドレスを追加することができる。いくつかの実施形態では、ユーザデバイスのＩＰアドレスをファイアウォールルールに追加する前に、プロセス２００は、適切な基準が満たされているかどうかを判定することができる。例えば、いくつかの実施形態では、プロセス２００は、ＩＰアドレスがファイアウォールルールに含まれる時間を指定するリクエストに含まれるタイミング情報に示される時間範囲内に現在の時刻があるかどうかを判定することができ、現在の時刻がその時間範囲に含まれているという判定に応答して、ファイアウォールルールを、ＩＰアドレスを含むように変更することができる。別の例として、いくつかの実施形態では、プロセス２００は、ユーザデバイスとの接続に関連する基準が満たされるかどうかを判定することができる。より具体的な例として、いくつかの実施形態では、プロセス２００は、ユーザデバイスが特定のタイプまたはレベルの暗号化、特定のタイプまたはレベルの認証、特定のタイプのリモートデスクトッププロトコル、および／または他の適切な基準を使用しているかどうかを判定することができ、その基準が満たされているという判定に応答して、ユーザデバイスのＩＰアドレスをファイアウォールルールに追加することができる。別のより具体的な例として、いくつかの実施形態では、プロセス２００は、ユーザデバイスの位置が特定の地理情報を満たすかどうか（たとえば、ユーザデバイスが現在特定の地理的エリア内に位置しているかどうか、ユーザデバイスが現在特定の地理的エリア内に位置していないかどうか、および／または他の適切な地理情報を満たすかどうか）を判定することができる。特定の例として、いくつかの実施形態では、プロセス２００は、ユーザデバイスの位置を示す地理情報が、ユーザデバイスが現在特定の場所または特定の場所群（たとえば、特定の国群、および／または他の適切な場所群）に位置することを示すという判定に応答して、ユーザデバイスのＩＰアドレスをファイアウォールルールに追加することを決定することができる。
【００３８】
いくつかの実施形態では、ファイアウォールルールを変更する前に適切な基準が満たされているかどうかを判定することをデータベースサーバによって実行することができることに留意されたい。例えば、いくつかの実施形態では、データベースサーバは、タイミング情報、接続情報、地理情報、および／または他の適切な情報に関連する基準が満たされるかどうかを判定し、基準が満たされない場合、データベースサーバはリクエストをファイアウォールデバイスやリモートコンピュータに送信しないで消去する。
【００３９】
プロセス２００はブロック２１２で終了し得る。加えてまたは代りに、いくつかの実施形態では、プロセス２００はブロック２０２にループバックし、ファイアウォールルールを変更する追加のまたは更新されたリクエストを受信したかどうかを決定するためにデータベースサーバに問い合わせることができる。
【００４０】
図３を参照すると、本開示の主題のいくつかの実施形態に従って使用できるファイアウォールルールを変更するためのハードウェアの例３００が示されている。図示のように、ハードウェア３００は、データベースサーバ３０２、リモートコンピュータ３０４、通信ネットワーク３０６、ユーザデバイス３１０および３１２などの１つ以上のユーザデバイス３０８、および／またはファイアウォール３１４を含むことができる。
【００４１】
データベースサーバ３０２は、リモートコンピュータ３０４を保護するファイアウォールを変更するための情報を格納するための任意の適切なサーバとし得る。例えば、いくつかの実施形態では、データベースサーバ３０２は、図１に関連して上述したように、リモートコンピュータ３０４へのリモート接続を確立しようとするユーザデバイス３０８からのリクエストを受信することができる。別の例として、いくつかの実施形態では、データベースサーバ３０２は、図２に関連して上述したように、格納されたリクエストおよび／または格納されたリクエストに対応する情報をリモートコンピュータ３０４に送信することができる。
【００４２】
リモートコンピュータ３０４は、ユーザデバイス３０８からのアクセスリクエストを受信する任意の適切なデバイスとし得る。例えば、いくつかの実施形態では、ユーザデバイス３０８はリモートコンピュータ３０４とのリモートデスクトップ接続を確立することができる。いくつかの実施形態では、リモートコンピュータ３０４は、図２に関連して上述したように、ファイアウォール３１４により保護することができる。
【００４３】
通信ネットワーク３０６は、いくつかの実施形態では、１つまたは複数の有線および／または無線ネットワークの任意の適切な組み合わせとすることができる。例えば、通信ネットワーク３０６は、インターネット、イントラネット、広域ネットワーク（ＷＡＮ）、ローカルエリアネットワーク（ＬＡＮ）、無線ネットワーク、デジタル加入者線（ＤＳＬ）ネットワーク、フレームリレーネットワーク、非同期転送モード（ＡＴＭ）ネットワーク、仮想プライベートネットワーク（ＶＰＮ）、および／またはその他の適切な通信ネットワークのいずれか１つ以上を含むことができる。ユーザデバイス３０８は、１つ以上の通信リンクを介してデータベースサーバ３０２およびリモートコンピュータ３０４にリンクすることができる通信ネットワーク３０６に１つ以上の通信リンクによって接続することができる。通信リンクは、ユーザデバイス３０８、データベースサーバ３０２、およびリモートコンピュータ３０４の間でデータを通信するのに適した任意の通信リンク、例えばネットワークリンク、ダイヤルアップリンク、無線リンク、有線リンク、他の適切な通信リンク、またはそのようなリンクの適切な組み合わせなど、とすることができる。いくつかの実施形態では、通信ネットワーク３０６を介する通信は、任意の適切なタイプの通信プロトコル、例えば伝送制御プロトコル（ＴＣＰ）、ユーザデータグラムプロトコル（ＵＤＰ）、および／または他の適切なプロトコルなど、に対応するネットワークパケットを送信することで行うことができる。
【００４４】
ユーザデバイス３０８は、データベースサーバ３０２および／またはリモートコンピュータ３０４と通信するのに適した任意の１つまたは複数のユーザデバイス（ユーザデバイス３１０および／または３１２など）を含むことができる。例えば、いくつかの実施形態では、ユーザデバイス３０８は、携帯電話、タブレットコンピュータ、ウェアラブルコンピュータ、ラップトップコンピュータ、乗り物（車、ボート、飛行機、またはその他の適切な乗り物）の情報および／またはエンターテイメントシステムなどのモバイルデバイスおよび／または他の適切なモバイルデバイスを含むことができる。別の例として、いくつかの実施形態では、ユーザデバイス３０８は、テレビ、プロジェクタデバイス、ゲームコンソール、デスクトップコンピュータなどの非モバイルデバイス、および／または他の適切な非モバイルデバイスを含むことができる。いくつかの実施形態では、ユーザデバイス３０８は、リモートコンピュータ３０４とリモートデスクトップ接続を確立することができる。
【００４５】
いくつかの実施形態では、ファイアウォール３１４は、リモートコンピュータ３０４を保護するための任意の適切なデバイスとすることができる。例えば、いくつかの実施形態では、ファイアウォール３１４は、リモートコンピュータ３０４との接続の確立を許されたおよび／またはリモートコンピュータ３０４との接続の確立をブロックされたユーザデバイスに関連するＩＰアドレスのリストを格納し維持するデバイスとすることができる。ファイアウォール３１４はリモートコンピュータ３０４とは別個のデバイスとして示されているが、いくつかの実施形態では、ファイアウォール３１４はリモートコンピュータ３０４と組み合わせてよいことに留意されたい。
【００４６】
データベースサーバ３０２およびリモートコンピュータ３０４は２つのデバイスとして示されているが、いくつかの実施形態では、データベースサーバ３０２および／またはリモートコンピュータ３０４によって実行される機能は、任意の適切な数のデバイス（１つのみの場合を含む）を使用して実行することもできる。例えば、いくつかの実施形態では、１つ、３つ、またはそれ以上の数のデバイスを使用して、データベースサーバ３０２および／またはリモートコンピュータ３０４によって実行される機能を実装することもできる。
【００４７】
図３には、図を過度に複雑にすることを避けるために、２つのユーザデバイス３１０および３１２が示されているが、いくつかの実施形態では、任意の適切な数のユーザデバイス（１つのみの場合を含む）、および／または任意の適切なタイプのユーザデバイスを使用することができる。
【００４８】
いくつかの実施形態では、データベースサーバ３０２、リモートコンピュータ３０４、およびユーザデバイス３０８は、任意の適切なハードウェアを使用して実装することができる。例えば、いくつかの実施形態では、デバイス３０２、３０４、および／または３０８は、任意の適切な汎用コンピュータまたは専用コンピュータを使用して実装することができる。たとえば、携帯電話は専用コンピュータを使用して実装することができる。このような汎用コンピュータまたは専用コンピュータには、適切なハードウェアを含めることができる。例えば、図４の例示的なハードウェア４００に示されるように、そのようなハードウェアは、ハードウェアプロセッサ４０２、メモリおよび／またはストレージ４０４、入力デバイスコントローラ４０６、入力デバイス４０８、ディスプレイ／オーディオドライバ４１０、ディスプレイおよびオーディオ出力回路４１２、通信インターフェース４１４、アンテナ４１６、およびバス４１８を含むことができる。
【００４９】
ハードウェアプロセッサ４０２は、いくつかの実施形態では、任意の適切なハードウェアプロセッサ、例えば、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ、専用ロジック、および／または汎用コンピュータまたは専用コンピュータの機能を制御するための他の適切な回路など、を含むことができる。いくつかの実施形態では、ハードウェアプロセッサ４０２は、ユーザデバイス３０８のメモリおよび／またはストレージ４０４に格納されたコンピュータプログラムによって制御され得る。例えば、いくつかの実施形態では、コンピュータプログラムは、ハードウェアプロセッサ４０２に図１に関連して上述したプロセス（またはその一部）を実行させることができる。いくつかの実施形態では、ハードウェアプロセッサ４０２は、ファイアウォール３１４および／またはリモートコンピュータ３０４のメモリおよび／またはストレージ４０４に格納されたコンピュータプログラムによって制御することができる。例えば、いくつかの実施形態では、コンピュータプログラムは、ハードウェアプロセッサ４０２に図２に関連して上述したプロセス（またはその一部）を実行させることができる。
【００５０】
メモリおよび／またはストレージ４０４は、いくつかの実施形態では、プログラム、データ、メディアコンテンツ、および／または任意の他の適切な情報を格納するための任意の適切なメモリおよび／またはストレージとすることができる。例えば、メモリおよび／またはストレージ４０４は、ランダムアクセスメモリ、読み取り専用メモリ、フラッシュメモリ、ハードディスクストレージ、光媒体、および／または他の適切なメモリを含むことができる。
【００５１】
入力デバイスコントローラ４０６は、いくつかの実施形態では、１つ以上の入力デバイス４０８からの入力を制御および受信するための任意の適切な回路とすることができる。例えば、入力デバイスコントローラ４０６は、タッチスクリーンからの、キーボードからの、マウスからの、１つ以上のボタンからの、音声認識回路からの、マイクからの、カメラからの、光センサからの、加速度計からの、温度センサからの、ニアフィールドセンサからの、および／または任意の他の種類の入力デバイスからの入力を受信するための回路とすることができる。
【００５２】
ディスプレイ／オーディオドライバ４１０は、いくつかの実施形態では、１つ以上のディスプレイ／オーディオ出力デバイス４１２への出力を制御および駆動するための任意の適切な回路とすることができる。例えば、ディスプレイ／オーディオドライバ４１０は、タッチスクリーン、フラットパネルディスプレイ、ブラウン管ディスプレイ、プロジェクター、スピーカー、および／または他の任意の適切なディスプレイおよび／または提示デバイスを駆動するための回路とすることができる。
【００５３】
通信インターフェース４１４は、図３に示すネットワーク３０６などの１つまたは複数の通信ネットワークとインターフェースするための任意の適切な回路とすることができる。例えば、インターフェース４１４は、ネットワークインターフェースカード回路、無線通信回路、および／または任意の他の適切なタイプの通信ネットワーク回路を含むことができる。
【００５４】
アンテナ４１６は、いくつかの実施形態では、通信ネットワーク（例えば、通信ネットワーク３０６）と無線で通信するための任意の適切な１つ以上のアンテナとすることができる。いくつかの実施形態では、アンテナ４１６は省略することができる。
【００５５】
バス４１８は、いくつかの実施形態では、２つ以上のコンポーネント４０２、４０４、４０６、４１０、および４１４の間で通信するための任意の適切なメカニズムとすることができる。
【００５６】
いくつかの実施形態によれば、任意の他の適切なコンポーネントをハードウェア４００に含めることができる。
【００５７】
いくつかの実施形態では、図１および図２のプロセスの上記のブロックの少なくともいくつかは、これらの図に関連して示され説明された順序およびシーケンスに限定されず、任意の順序またはシーケンスで実施または実行することができる。また、図１および図２の上記のブロックのいくつかは、待ち時間と処理時間を短縮するために、必要に応じて実質的に同時にまたは並行して実施または実行することができる。加えてまたは代わりに、図１および図２のプロセスの上記のブロックのいくつかは省略することができる。
【００５８】
いくつかの実施形態では、本明細書に記載の機能および／またはプロセスを実行するための命令を格納するために、任意の適切なコンピュータ可読媒体を使用することができる。例えば、いくつかの実施形態では、コンピュータ可読媒体は一時的または非一時的な媒体とすることができる。たとえば、非一時的なコンピュータ可読媒体には、非一時的な形態の磁気媒体（ハードディスク、フロッピーディスク、および／またはその他の適切な磁気媒体など）、非一時的な形態の光媒体（コンパクトディスク、デジタルビデオディスク、ブルーレイディスク、および／またはその他の適切な光媒体）、非一時的な形態の半導体媒体（フラッシュメモリ、電気的にプログラム可能な読み取り専用メモリ（ＥＰＲＯＭ）、電気的に消去可能でプログラム可能な読み取り専用メモリ（ＥＥＰＲＯＭ）、および／または任意の他の適切な半導体媒体、送信中一時的でないまたは永続性に欠けない適切な媒体、および／または適切なタンジブル媒体が含まれる。別の例として、一時的なコンピュータ読み取り可能な媒体は、ネットワーク上、ワイヤー上、コンダクタ上、光ファイバー上、回路上、送信中一時的で永続性に欠ける適切な媒体上、および／または適切なタンジブル媒体上の信号を含むことができる。
【００５９】
したがって、動的ＩＰアドレスに基づいてファイアウォールルールを変更するための方法、システム、およびメディアが提供される。
【００６０】
本発明を上述の例示的な実施形態について説明したが、本開示は一例にすぎず、本発明の実施形態には本発明の精神および範囲内において多くの変更が可能であり、本発明の範囲は特許請求の範囲によってのみ限定されることは理解されよう。開示の実施形態の特徴は、様々に組み合わせ再配置することができる。
【図１】
2020533908.tif 000003
【図２】
2020533908.tif 000004
【図３】
2020533908.tif 000005
【図４】
2020533908.tif 000006
【国際調査報告】
2020533908.tif 000007