2017-01-03 4 views
0

私が働く会社は、非常に高度にカスタマイズされたWordPressのインストールを利用しています。私はffmpegを使ってビデオ変換とエンコーディングを担当するカスタムプラグインを書いています。プラグインはffmpegをutizilieするためのbashスクリプトを実行し、ビデオを変換して、関連するデータベーステーブルを編集して変更を反映させます。htmlディレクトリ内のbashスクリプトのセキュリティ管理

私は管理とバージョンの追跡の目的で、同じプラグインフォルダに必要なbashスクリプトを保存しましたが、これでセキュリティ上の欠陥があることがわかりました。誰かが手動でURLを入力すると、bashスクリプトを読むことができます。

私は所有権とアクセス権の設定を試してみて、スクリプトを実行してもユーザーはそれらを見ることができないようにしていますが、これを動作させることはできません。デフォルトでは、スクリプトにはapache(デフォルト:defult)と権限設定755による任意のユーザの所有者とグループがあります。他のすべての種類のアクセス権(root:default 751を例として)を試してみました。ユーザーはスクリプトを読むことはできませんが、実行されます。

スクリプトはhtmlホームディレクトリの下に置くことができますが、うまくいくと思いますが、これらはすべてのサイトで管理、更新、デプロイするのがより複雑になります(同じコードベースで約5つですが、来るべき数週間と数ヶ月で多くの人がいるかもしれない)。

アクセス権と所有権を知っている人は誰でも、私はプラグインディレクトリに置くことができます。そこでは正しく実行されますが、読めないでしょうか?誰にもこれをどうやって起こさせるかという別の考えがありますか?

答えて

2

2ソリューション:

  1. .htaccessファイルとスクリプト(別のフォルダに入れ)

    RedirectMatch 404 .* 
    

    は(毎分のように)PHPスクリプトを呼び出すcrontabのエントリを追加します非表示にします。彼らはデータベーステーブルからタスクを取り出し、適切なパラメータでシェルスクリプトを呼び出します。

  2. 呼び出し可能にしたい場合は、それらをサブフォルダに入れ、上記のhtaccessファイルで非表示にします。次に、認証(基本的なHTTP認証のような)を持つPHPファイルを作成します。認証に成功した場合は、取得したパラメータを渡してシェルスクリプトを呼び出します。

関連する問題