2

ローカルで実行される Python スクリプトを作成しています。これらの python スクリプトの 1 つを使用してオンラインでサービスを提供したいと思います。Web ホスティングを通じて、cgi-bin で python を実行できます。

Python スクリプトは、ユーザーが入力した HTML フォームから入力を取得し、資格情報を取得してローカル データベースに接続し、Python ライブラリを使用して計算を行い、結果を HTML として送信して表示します。

私が知りたいのは、どのようなセキュリティ対策を講じるべきかということです。ここに私の心配があります:

  • Web 経由で呼び出されるスクリプトの適切なファイル アクセス許可は何ですか? 755?
  • ユーザー入力を受け付けています。サニタイズされていることをどのように保証しますか?
  • スクリプトにデータベースのユーザー/パスがあります。スクリプトがダウンロードされてコードが表示されないようにするにはどうすればよいですか?
  • ファイルの隣に他のライブラリをインストールできますか? これらのセキュリティについても心配する必要がありますか? パーミッションを 700 に設定しますか? 744?
  • 私が認識していない他の脆弱性はありますか?
4

3 に答える 3

5

owasp.org をチェックしてください。あなたは今、Web アプリケーションを作成していて、Web アプリケーションが心配する必要があるすべてのことを心配する必要があります。リストは長すぎて複雑なので、ここに記載することはできませんが、owasp は良い出発点です。

于 2010-09-13T19:32:17.883 に答える
2
  • ファイルのパーミッション - 755 が妥当です。
  • ユーザー入力をサニタイズします。それが消毒されていることを保証する方法です。この質問を参照してください。
  • スクリプトのコードをダウンロードさせないでください。ユーザー名/パスワードを、Web 経由でアクセスできないディレクトリ (サービス可能なディレクトリの外など) に置くこともできます。
  • 他のライブラリをインストールするのに最適な場所は PYTHONPATH 内ですが、Apache がサービスを提供するために使用するパスの外にあります。
  • 脆弱性はたくさんあります。XSSの問題につながるため、ユーザーが入力したものを表示することに注意してください。
于 2010-09-13T19:34:01.203 に答える
2

Web 経由で呼び出されるスクリプトの適切なファイル アクセス許可は何ですか? 755?

mod_wsgi を使用して、スクリプトがスクリプトとしてではなく、WSGI アプリケーションの関数として実行されるようにします。

ユーザー入力を受け付けています。サニタイズされていることをどのように保証しますか?

Django などのフレームワークを使用します。

スクリプトにデータベースのユーザー/パスがあります。スクリプトがダウンロードされてコードが表示されないようにするにはどうすればよいですか?

Django などのフレームワークを使用します。

ファイルの隣に他のライブラリをインストールできますか?

はい。

これらのセキュリティについても心配する必要がありますか?

はい。

パーミッションを 700 に設定しますか? 744?

それらは読み取り可能でなければなりません。それで全部です。ただし、mod_wsgi を使用すると、作業がより簡単になります。フレームワークを使用すると、さらに簡単になります。

私が認識していない他の脆弱性はありますか?

トン。http://www.owasp.orgサイトを参照してください。

また、フレームワークを使用してください。すべてを自分で再発明しないでください。人々はすでにこれらの問題をすべて解決しています。

于 2010-09-13T19:47:53.423 に答える