ホームページ > バックエンド開発 > PHPチュートリアル > ウイルス対策ソフトウェア ファイアウォール PHPIDS プロダクション PHP Web サイト サーバー Trinity Aegis セキュリティ

ウイルス対策ソフトウェア ファイアウォール PHPIDS プロダクション PHP Web サイト サーバー Trinity Aegis セキュリティ

WBOY
リリース: 2016-06-13 13:20:29
オリジナル
1618 人が閲覧しました

ウイルス対策ソフトウェアのファイアウォール PHPIDS が PHP ウェブサイト サーバーを作成 Trinity Aegis Security

インストール手順:

1. phpid をダウンロードします。 、バージョン 7 をテストしました。

http://www.open-open.com/news/view/cc55a2

2. phpidsを Web サイトのルート ディレクトリ

に解凍します。

3 ルートディレクトリに解凍できない場合は、mod_rewrite

を使用できます。

リライトエンジンがオン

RewriteCond %{REQUEST_URI} ^/phpids(.*)

RewriteRule ^(.+)$ - [F]

構成の使用法:

1. config/config.ini.php カスタム構成を編集します。メールを設定して送信するだけなのでとても簡単です。

2. ; 死ぬ(); ?>

3.

4.;PHPIDS Config.ini

5.

6. ; 一般的な構成設定

7.

8.

9. [一般]

10、

11. ; PHPIDS が動作するようにカスタマイズします

12. filter_type = xml

13.

14. ;base_path = /full/path/to/IDS/

15. use_base_path = false

16.

17.

フィルターパス=default_filter.xml

18.

tmp_path = tmp

19.

scan_keys = false

20、

21.

; 別の HTMLPurifier ソースを使用する場合は、ここで指定します。 22.

; デフォルトでは、PHPIDS に同梱されているファイルが使用されます。 23.

HTML_Purifier_Path = ベンダー/htmlpurifier/HTMLPurifier.auto.php 24.

HTML_Purifier_Cache = ベンダー/htmlpurifier/HTMLPurifier/DefinitionCache/Serializer 25、

26.

; の前に HTML を含むフィールドを定義します。 27、

; PHPIDS ルールに違反します (PHPIDS 0.5 の新機能) 28.

;html[] = POST.__wysiwyg 29、

30、

; どのフィールドに JSON データが含まれ、そのように扱われるかを定義します 31

32、 ;json[] = POST.__jsondata

33、

34、 ;どのフィールドを監視すべきかを定義します (a[b]=c は a.b 経由で参照される必要があります)

35、 例外[] = GET.__utmz

36、 例外[] = GET.__utmc

37、

38、 ;ワイルドカード例外には正規表現を使用できます - 例: /.*foo/i

39、

40、 ; PHPIDS は PHP 5.1.2 で実行されるはずですが、これはテストされていません - set

41、 ;マイナー バージョンとの互換性を強制するためのこの値

42、 min_php_version = 5.1.6

43、

44、; PHPIDS ロガーを使用する場合は、ここで特定の構成を定義できます

45、

46、 [ロギング]

47、

48、 ;ファイルログ

49、 パス = tmp/phpids_log.txt

50、

51、 ;メールログ

52、

53、 ;セーフモードを有効にすると、スパムの試みを防ぐことができることに注意してください。

54、 ;ドキュメントを参照

55、 受信者[] = test@test.com.invalid

56、 件名 = "PHPIDS が侵入の試みを検出しました!"

57、 ヘッダー = "送信者: info@phpids.org"

58、 封筒 = ""

59、 セーフモード = true

60、 urlencode = true

61、 allowed_rate = 15

62、

63、 ;データベースログ

64、

65、 ラッパー = "mysql:host=localhost;port=3306;dbname=phpids"

66、 user = phpids_user

67、 パスワード = 123456

68、 テーブル = 侵入

69、

70、;ファイル キャッシュ以外の方法を使用したい場合は、e

で設定できます。

71、

72、[キャッシング]

73、

74、 ;キャッシュ: セッション|ファイル|データベース|memcached|なし

75、 キャッシュ = ファイル

76、 有効期限 = 600

77、

78、 ; ファイルキャッシュ

79. パス = tmp/default_filter.cache

80、

81、 ; データベースキャッシュ

82、 ラッパー = "mysql:host=localhost;port=3306;dbname=phpids"

83、 ユーザー = phpids_user

84、 パスワード = 123456

85、 テーブル = キャッシュ

86、

87、 ;

88、

;ホスト = ローカルホスト

89、

;ポート = 11211

90,

;key_prefix = PHPIDS

91. 92、 93、 94、

/**

オリジナルは Zhang Xunlei です。qq への参加を歓迎します-- 158393237 ディスカッション用 95、

*

PHPIDS 96、

*要件:PHP5、

SimpleXML

97、 * 98、 >グループ

(https://phpids.org)

99、

*

100, *このプログラム無料ソフトウェアです;

あなたは

それを再配布

および/または

変更できます。 > 101. GNU一般パブリックライセンス 公開作成者: 102.

*

無料ソフトウェア財団; のバージョン2ライセンス。

103、 *

104、 *このプログラムで配布されています それが役立つことを願っています、

105、 *ただしなし保証; さえも暗黙的保証なしで

106、 *商品性またはフィットネスA 特定の目的。

を参照

107、 *GNU一般パブリックライセンス 詳細詳細。

108、 */

109、

110、 // PHPIDS のインクルード パスを適切に設定します

111、 set_include_path(

112、 get_include_path()

113、 PATH_SEPARATOR

114、 'lib/'

115、 );

116、

117、 if (!session_id()) {

118、 session_start();

119、 }

120、

121、 require_once'IDS/Init.php';

122、

123、 試してみる {

124、

125、 /*

126、 * PHPIDS を実行するのは非常に簡単です

127、 * 1. スキャン対象を定義します

128、 *

129、 * array_merge が何を行うか、またこれがどのように干渉する可能性があるかに留意してください

130、 * 変数_順序設定

131、 */

132、 $request =array(

133、 'リクエスト' =>$_REQUEST,

134、 'GET' =>$_GET,

135、 'POST' =>$_POST,

136、 'COOKIE' =>$_COOKIE

137、 );

138、

139、 $init = IDS_Init::init(ディレクトリ名(__FILE__) 。 '/IDS/Config/Config.ini.php');

140、

141、

/**

142、

*リセットできます全体構成

143、

*配列または内にマージ データ

144、

*

145、

*この使用法上書きされませんすでに存在する

146、

*$config->setConfig(array('General'=>array('filter_type'=>'xml')));

147、

*

148、 *これ(2番目を参照)パラメータ)

149、 *$config->setConfig(array('General'=>array('filter_type'=>'xml')),true);

150、 *

151、 *またはあなたはアクセスできます設定直接のようにここ: 152、

*/ 153、

154、

$init->config['全般'][ 'base_path'] = ディレクトリ名(__FILE__) .'/IDS/' ; 155、

$init->config['全般'][ 'use_base_path'] = true; 156、

$init->config['キャッシュ'][ 'キャッシュ'] = 'なし'; 157、

158、

// 2. PHPIDS を開始し、結果を取得します 159、

$ids =new IDS_Monitor( $request,$init); 160、

$result =$ids->run(); 161、

162、

/* 163、

* これで、結果を分析できるようになります: 164、

* 165、

* 結果オブジェクトには疑わしいものが見つかります

166、 * 追加情報で強化された、渡された配列のフィールド

167、 *

168、 * 注: さらに、

によってこの情報をダンプすることもできます。

169、 * IDS_Report が実装されているため、単に結果オブジェクトをエコーする

170、 * __toString メソッド。

171、 */

172、 if (!$result->isEmpty()) {

173、 echo$result;

174、

175、 /*

176、 * 結果を記録するための次の手順はオプションです

177、 */

178、 require_once'IDS/Log/File.php';

179、 require_once'IDS/Log/Composite.php';

180、

181、 $compositeLog =new IDS_Log_Composite();

182、 $compositeLog->addLogger(IDS_Log_File::getInstance($init));

183、

184、 /*

185、 * 別のロギング機能を使用する場合もあることに注意してください

186、 * IDS_Log_Email または IDS_Log_Database など

187、 *

188、 * ラッパーをテストするには、次の行のコメントを解除するだけです

189、 */

190、 /*

191、 *

192、 require_once 'IDS/Log/Email.php';

193、 require_once 'IDS/Log/Database.php';

194、

195、 $compositeLog->addLogger(

196、 IDS_Log_Email::getInstance($init),

197、 IDS_Log_Database::getInstance($init)

198、 );

199、 */

200、 $compositeLog->execute($result);

201、

202、

203、 } else {

204、 echo'攻撃は検出されませんでした - クリックすると攻撃の例が表示されます';

205、 }

206、 } catch (例外$e) {

207、 /*

208、 * sth はひどく間違っていました - おそらく

209、 * フィルター ルールが見つかりませんでしたか?

210、 */

211、 printf(

212、 'エラーが発生しました: %s',

213、 $e->getMessage()

214、 );

215、 }

2、编辑php.ini、以下の内容を追加します:

auto_prepend_file=”D:MYOAwebrootphpidslibids.php”

張志祥

ウイルス対策ソフトウェアファイアウォール PHPIDSビルドphpWeb サーバー Trinityイージスセキュリティ

外部ネットワークに情報を公開したい限り、侵入や盗聴に遭遇することは避けられず、特に php ではセキュリティインシデントが次々と発生します。 webサーバーの巨大な市場で、セキュリティ システムを構築するにはどうすればよいでしょうか?ウイルス対策ソフトウェア、ファイアウォール、PHPIDS は私が構築する鉄の三角形 php Web サーバー トリニティ Aegis セキュリティ システム、ベテランを選択するレベル ホストを保護するウイルス対策ソフトウェア (Antivirus) とファイアウォール (Firewall) に加えて、ホストを保護する侵入検知もありますシステム ( IDS)、おとり侵入検知システム (Honeypot)、使用状況分析システム、ログ ファイル さまざまな可能性のある情報セキュリティ インシデント (ウイルス、トロイの木馬、DOS 攻撃など) に対抗または検出するためのシステムおよびその他の方法を分析し、現在最も一般的に使用されている検出と防御システム IDS でなければなりません。

最初にウイルス対策ソフトウェアをインストールします: 360 Kingsoft Trends McCaffee

次にファイアウォールをインストールします:サードパーティのファイアウォール 納得 Green Alliance およびその他の検出ツール

最後に IDSをインストールします。

IDS は、不審な送信が見つかった場合にネットワーク トラフィックをリアルタイムで検出するシステムです (例: DOS)。 攻撃)、IDS は直ちにアラートを送信するか、積極的に防御します。ただし、近年の攻撃パターンはアプリケーション層で発生するように徐々に変化しています。 XSS および SQL として インジェクション およびその他の Web 攻撃手法は、従来の IDS では効果的に検出できません。

PHPIDS』は、 PHP 開発環境用の侵入検知のセットです。システムは、事前定義されたルール ファイルを使用してユーザー入力データを項目ごとに比較し、侵入を防止する効果を実現します。インストール方法と試した結果を以下の筆者が解説します。

PHPIDS ダウンロードページ

にアクセスしてください。

ダウンロード:

PHPIDS 0.7 (ZIP)MD5SHA1
PHPIDS 0.7 (tarball、gzip 圧縮)MD5SHA1
PHPIDS 0.7 (tarball、bzip 圧縮)MD5SHA1

PHPIDS 0.6.5 (ZIP)MD5SHA1
PHPIDS 0.6.5 (tarball、gzip 圧縮)MD5SHA1
PHPIDS 0.6.5 (tarball、bzip 圧縮)MD5SHA1

PHPIDS 0.6.4 (ZIP)MD5SHA1
PHPIDS 0.6.4 (tarball、gzip 圧縮)MD5SHA1
PHPIDS 0.6.4 (tarball、bzip 圧縮)MD5SHA1

最新バージョンをダウンロード)、解凍後に 3 つのフォルダーがあります: docslib テスト。その中で、

lib」フォルダーには、カスタム ルール ファイルや ログ一時保存などのコア プログラム コードが保存されます。

docs」フォルダーには、サンプル ファイルを含むドキュメントが保存されます。これを使用するには、lib フォルダーを Web サーバーのディレクトリ

にコピーするだけです。

example.php ファイルを docs/exampleslib フォルダーとして指定すると、ユーザーは example.php のファイル名を変更できます。次に、example.php を開いて、次のプログラム コードを見つけてください:

set_include_path( get_include_path()
.PATH_SEPARATOR
.'lib/'
);

プログラム コードの 4 行目を、lib フォルダーに相対的な場所に変更します (作成者が libexample.php と同じディレクトリに配置されるため、'lib/') に設定し、最後に As Web サイト内のすべての php ファイルが example.php を参照している限り、この監視プラットフォームを使用できます。たとえば、ファイル index.php の最初の行に、 を追加します。

include("example.php");

次の作成者は、XSSSQL インジェクション の 2 つの異なる攻撃タイプを使用して PHPIDS実験用のモニタリング プラットフォーム。

>スクリプト 言語により、他の通常のユーザーが Web ページを表示しているときに、ブラウザが悪意のあるプログラム コードを積極的にダウンロードして実行するか、秘密裏にインポートされます。悪意のある Web サイト、および何らかの影響を受ける可能性がある SQL インジェクション攻撃のターゲットは、データベース自体の問題を悪用したり、オペレーティング システムや Web サイトの脆弱性をターゲットにしたりすることではありません。検証設計を誤って悪用する。

プログラマが Web アプリケーションを作成する場合、ユーザーの入力が適切にフィルタリングおよび処理されないと、プログラムはコンテンツをクエリ命令に結合して、データベース サーバー

。ユーザーが入力したデータにデータベース システムにとって特別な意味を持つ記号やコマンドが含まれている場合、それが使用される可能性があります。攻撃者は命令を発行する機会があります。データベース システムにアクセスし、侵入を引き起こします。 XSS と同様に、ユーザーは Web の入力フィールドを使用して実行します。違いは であることです。 SQL インジェクション はデータベースの損失またはデータの盗難を引き起こします。 攻撃するには、
example.php
を使用してファイルの URL の後に XSS
攻撃:
index.php? 攻撃タイプを

SQL に変更すると、Web ページで [図 1
] のように表示されます。インジェクション

を実行すると、結果は[図

2]のように表示されます。 1 検出

XSS
攻撃結果
2検出

SQL インジェクション攻撃結果
まず、システムは影響を受けるルール条件の数を自動的にカウントします。次に、検出された攻撃タイプのリストを表示します (xss など)。 クロスサイト スクリプティング

攻撃が検出されました。

csrf は、クロスサイトが検出されたことを示します request forgerysqli は、SQL コマンドが検出されたことを示しますなど)、最後に詳細1 つの検出結果。さらに、システムが不快な言葉を含む文字列を検出すると、その文字列は lib/IDS/tmpphpids_log.txt に自動的に保存されます。 システム管理者による監視を容易にするための記録。


3 XSS ルールファイル

PHPIDS ルール ファイルは、次のように「/lib/IDS/default_filter.xml」に配置されます。 [図 3] 正規表現 ( Regular) を使用した、示されているルールの 1 つ Expression) の説明を作成し、すべての説明を XML ファイル形式で保存します。これにより、公式 Web サイトはルール ファイルを随時更新します。 ウェブ 攻撃の新たな波。一方、を使用したくない場合は、 PHPIDS、ここで提供されるルールは、フィルター プログラムの開発者の参考として使用できます。

結論と最適解

PHPIDS は、Web 開発者が参照できる無料のプログラム コードを提供しており、 🎜>Web 攻撃手法を利用し、Web サイト管理者がハッカーによる攻撃を受けていないかどうかを確認するためのリアルタイム監視プラットフォームも提供します。しかし、現時点での最大の欠点は、攻撃を隔離するために、Web サイト内のすべての php プログラム ファイルに example.php を追加する必要があることです。さらに、開発者は、各プログラム ファイルが追加後に Web サイトのパフォーマンスに影響を与えるかどうかを考慮する必要があります。興味のある読者は、Web セックスのセキュリティを強化するために、それをダウンロードしてインストールすることをお勧めします。

最適プラン

Web サイトには何百もの php ファイルがあり、 をインクルードすることは不可能です。 さて、どうしましょうか?

続きを読む-

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート