httpsで保護されたWebサイトを作成する方法


87

会社がビジネスデータを維持するために小さなウェブアプリを作成する必要があります...社内のユーザーのみが使用しますが、従業員がさまざまな場所からアプリに接続できるように、パブリックドメインでホストする予定です。 。(これまで、内部でのみホストされるWebアプリを構築しました)

安全な接続(https)を使用する必要があるのか​​、それともフォーム認証だけで十分なのか疑問に思っています。

あなたがhttpsと言うなら、私はいくつかの質問があります:

  1. https用に自分のWebサイトを準備するにはどうすればよいですか。(コード/構成を変更する必要がありますか)
  2. SSLとhttpsは同じですか...
  3. ライセンスなどを取得するために誰かに申請する必要がありますか?
  4. すべてのページを保護する必要がありますか、それともログインページのみにする必要がありますか...

インターネットで答えを探していましたが、これらすべてのポイントを得ることができませんでした...ホワイトペーパーやその他の参考資料も役に立ちます...

さらに詳しい情報が必要な場合は、お気軽にお問い合わせください。

ありがとう

  • ラジャ

みなさん、こんにちは...みんなありがとう...あなたの答えはすべて非常に役に立ちました...ここで1つの答えを選択するのは不公平でしょう...(SOはそのような場所の準備が必要です)。したがって、私は1つの回答を選択し、他の回答に賛成しました...選択した回答は他の回答と同じくらい重要です...
キング

3
情報の機密性(たとえば、個人情報は連邦法の対象となる場合があります)や、会社との関係や契約によっては、さらに注意が必要です。責任があるかどうかを検討する必要があります。誰かがサイトをハッキングします。
huynhjl 2010

サーバーに証明書をインストールしたら、IISでWebサイトにhttpsを追加するには、サイトに移動して[バインディングの編集]を選択し、httpsを選択して、証明書を選択するだけです。
bgmCoder 2018

回答:


49

https用に自分のWebサイトを準備するにはどうすればよいですか。(コード/構成を変更する必要がありますか)

安全なコーディングのベストプラクティスを念頭に置く必要があります(ここに良いイントロがあります:http//www.owasp.org/index.php/Secure_Coding_Principles)。そうでない場合、必要なのはSSL証明書を正しく設定することだけです。

SSLとhttpsは同じですか。

はい、ほとんどです。

ライセンスなどを取得するために誰かに申請する必要がありますか?

認証局からSSL証明書を購入するか、自己署名証明書を使用できます。あなたが購入できるものは価格が大きく異なります-年間10ドルから数百ドルまで。たとえば、オンラインショップを開設する場合は、そのうちの1つが必要になります。自己署名証明書は、内部アプリケーションの実行可能なオプションです。それらの1つを開発に使用することもできます。IISの自己署名証明書を設定する方法に関する優れたチュートリアルは次のとおりです。自己署名証明書を使用してIIS7.0でSSLを有効にする

すべてのページを保護する必要がありますか、それともログインページのみにする必要がありますか。

最初のユーザーログインだけでなく、すべてにHTTPSを使用します。オーバーヘッドが大きくなることはなく、リモートでホストされているアプリケーションからユーザーが送受信するデータが傍受された場合、外部から読み取ることができないことを意味します。GmailでさえデフォルトでHTTPSをオンにするようになりました。


1
あなたはまた、から無料TLS証明書、すなわちを得ることができレッツ・暗号化
1615903

8

どんなビジネスデータ?営業秘密や、人々に見せたくないものだけですが、それが出たとしても、大したことではないでしょうか。営業秘密、財務情報、顧客情報など、一般的に機密情報について話している場合。それなら、そのルートをたどらないでください。

安全な接続(https)を使用する必要があるのか​​、それともフォーム認証だけで十分なのか疑問に思っています。

ずっと安全な接続を使用してください。

コード/構成を変更する必要がありますか

はい。そうではないかもしれません。あなたは専門家にあなたのためにこれをしてもらいたいかもしれません。

SSLとhttpsは同じですか...

ほとんどはい。人々は通常、それらを同じものと呼びます。

ライセンスなどを取得するために誰かに申請する必要がありますか?

おそらく、認証局によって証明書に署名してもらいたいと思うでしょう。それはあなたやあなたのクライアントに少しのお金がかかります。

すべてのページを保護する必要がありますか、それともログインページのみにする必要がありますか...

全体でhttpsを使用します。サイトが内部ユーザーを対象としている場合、通常、パフォーマンスは問題になりません。

インターネットで答えを探していましたが、これらすべてのポイントを得ることができませんでした...ホワイトペーパーやその他の参考資料も役に立ちます...

いくつかの指針については、ここから始めてくださいhttp://www.owasp.org/index.php/Category:OWASP_Guide_Project

SSLは、インターネットからアクセスできるようになると、Webサイトを安全にするためのごくわずかな部分であることに注意してください。ほとんどの種類のハッキングを防ぐことはできません。


情報が非常に機密であるかどうかを尋ね、オンラインにしないことを推奨することにより、完全に保護し、災害を防ぐことについての適切なアドバイスのための+1
BlueTrin 2010

7

あなたはあなたのサイトの認証とSSLと混同していると思います。

サイトをSSLに移行する必要がある場合は、SSL証明書をWebサーバーにインストールする必要があります。証明書は、Symantecなどのいずれかの場所から自分で購入できます。証明書には、公開鍵と秘密鍵のペア、およびその他のものが含まれます。

ソースコードで何もする必要はなく、サイトでフォーム認証(またはその他)を引き続き使用できます。それだけで、Webサーバーとクライアント間で行われるデータ通信はすべて、証明書を使用して暗号化および署名されます。人々はあなたのサイトにアクセスするためにsecure-HTTP(https://)を使用するでしょう。

詳細についてはこちらをご覧ください-> http://en.wikipedia.org/wiki/Transport_Layer_Security


3

ビジネスデータの場合、データがプライベートの場合はセキュリティで保護された接続を使用します。それ以外の場合はフォーム認証で十分です。

安全な接続を使用することにした場合、私はWebサイトを保護した経験がないことに注意してください。私は、私自身の個人的な経験の間に遭遇したことを単に撤回しています。とにかく間違っていたら、遠慮なく訂正してください。

https用に自分のWebサイトを準備するにはどうすればよいですか。(コード/構成を変更する必要がありますか)

WebサイトでSSL(Secure Sockets Layer)を有効にするには、証明書を設定する必要があります。コードや構成は変更されません。

私が使用して、内部のウェブサーバーのSSLを有効にしているのOpenSSLのActivePerlをからこのオンラインチュートリアル。これがより多くの聴衆(私の聴衆は10人未満でした)に使用され、パブリックドメインにある場合は、専門的な代替手段を探すことをお勧めします。

SSLとhttpsは同じですか...

正確ではありませんが、それらは密接に関連しています。SSLは、Webサイトの表示中にデータが暗号化および復号化されることを保証します。これはhttps、安全なWebサイトにアクセスするために必要なURIです。アクセスしようとするhttp://secure.mydomain.comと、エラーメッセージが表示されます。

ライセンスなどを取得するために誰かに申請する必要がありますか?

ライセンスを取得する必要はなく、証明書を取得する必要があります。例として、VeriSignなどのセキュリティで保護されたWebサイトでプロフェッショナルサービスを提供している企業を調べることができます。

すべてのページを保護する必要がありますか、それともログインページのみにする必要がありますか...

証明書が有効になるとmydomain.com、該当するすべてのページ*.mydomain.comが保護されます。


1

4.すべてのページを保護する必要がありますか、それともログインページのみにする必要がありますか...

ログインページをhttpsの下に置いてください

これにより、他のページを閲覧するときにオーバーヘッドが発生しなくなります。条件は、Web構成で正しい認証設定を提供する必要があることです。これは、ログインしていないユーザーが認証が必要なページを閲覧できないようにするためです。


3
TLSでサイトの一部のみを提供することは安全ではありません。アクティブな攻撃者はSSLStripを使用して、保護されていると思われるページにアクセスできます。
東武

1

@balalakshmiは、正しい認証設定について言及しました。認証は問題の半分に過ぎず、残りの半分は承認です。

フォーム認証と標準コントロールを使用している場合<asp:Login>は、認証されたユーザーのみがセキュリティで保護されたページにアクセスできるようにするために、いくつかのことを行う必要があります。

ではweb.config<system.web>セクションの下で、デフォルトで匿名アクセスを無効にする必要があります。

<authorization>
 <deny users="?" />
</authorization>

匿名でアクセスされるページ(Login.aspxページ自体など)には、匿名アクセスを再度許可するオーバーライドが必要です。これは、必要<location>要素とに配置されなければならない<configuration>(レベルの外に<system.web>このようなセクション):

<!-- Anonymous files -->
<location path="Login.aspx">
 <system.web>
  <authorization>
   <allow users="*" />
  </authorization>
 </system.web>
</location>

匿名ページで使用されるスタイルシートまたはスクリプトへの匿名アクセスも許可する必要があることに注意してください。

<!-- Anonymous folders -->
<location path="styles">
 <system.web>
  <authorization>
   <allow users="*" />
  </authorization>
 </system.web>
</location>

他のほとんどのパスタイプの構成属性とは異なり、場所のpath属性はweb.configフォルダーを基準にしており、~/プレフィックスを付けることはできないことに注意してください。


-2

次のように、PHPでブートディレクトリを作成してみてください

<?PHP
$ip = $_SERVER['REMOTE_ADDR'];
$privacy = ['BOOTSTRAP_CONFIG'];
$shell   = ['BOOTSTRAP_OUTPUT'];
enter code here
if $ip == $privacy {
function $privacy int $ip = "https://";
} endif {
echo $shell
}
?>

それは主にそれです!


3
それは実際には実際には質問に答えていません
アンドレアス
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.