2

当社の Web サイトは、ColdFusion の大きなメイン サイトに加えて、すべて同じサーバー上にある複数の .NET プロジェクトで構成されています。コードの重複を減らすために、これらのプロジェクトが基本的な機能を呼び出すことができる Web サービスを作成しました。たとえば、ユーザー ID を指定すると、ユーザーに関する情報 (パスワードではなくアドレスなど) が返されるサービスがあります。私が懸念しているのは、誰かが電子鼻を突っ込んで、知りたくない情報を盗んでしまうことです。これは有効な懸念事項ですか、それとも Web サービスとそれを呼び出すプロジェクトが同じサーバー上にあるため、Web サービスからの情報は内部にとどまりますか?

したがって、私たちの Web サービスはすべて www.companyname.com/webservices/webserviceuser.asmx のようになり、.NET Web プロジェクトはすべて www.companyname.com/admin/project1/ または www.companyname.com/edituser/ のようになります。同じドメイン名の場合、一般のインターネットに情報が流出することはありますか?

また、Web サービスにセキュリティを追加して、呼び出し元が内部アプリケーションであることを確認することは可能ですか (呼び出し元のページの URL をテストしているだけでも)。

前もって感謝します。

4

2 に答える 2

1

マシンのパブリック IP/名前情報を使用していない場合、インターネットを介して取得することはできません。

ローカル リクエストを確認する方法のサンプル コードを次に示します。

        //check if remote access is allowed by app configuration (optional)...
        if (!Services.ConfigObjectsManager.ApplicationGeneral.AllowRemoteAdministration)
        {
            string retaiveUrl = HttpContext.Current.Request.Url.AbsolutePath.Remove(0, appUrl.Length - 1);
            //here I check even for specific page location...
            if (retaiveUrl.ToLower().StartsWith("/adminpages"))
            {
                //check if request is from local machine...
                if (!Request.IsLocal)
                {
                    throw new Exception("Remote administration is not allowed for request '" + 
                        HttpContext.Current.Request.Url.AbsolutePath + "'. Request came from " +
                        Request.ServerVariables["REMOTE_ADDR"]);
                }
            }
        }

このチェックは、すべてのサービス コールで実行できます。

于 2012-09-26T21:00:16.353 に答える
1

ドメイン名 www.companyname.com は実際にはサーバーに属していないようですが、ロード バランサー、ファイアウォール、または何らかの種類のプロキシに属しています。ネットワーク呼び出しは、サーバーから名前を所有するボックスに送信され、再び戻ってきます。ホストファイルを変更することで、サーバーが実際にドメイン名を所有していると信じ込ませることができますが、それは他のものを壊す可能性があります.

ドメイン名を所有するボックスとサーバーが同じネットワーク上にある場合、通話はそのネットワークを離れることはありません。やむを得ない場合を除き、「一般のインターネットに出ること」はありません。www.companyname に到達する前に、ネットワーク パッケージをプロキシ サーバー経由で別の場所に送信するルーティング テーブルをサーバー上に設定することは可能ですが、ネットワーク トポロジが非常に特殊でない限り、これはありそうにありません。

于 2012-09-26T21:53:51.503 に答える