- 1.序文
- 2.インストール方法
- 3.使用方法
- 4.フロントエンドの管理
- 5.コンフィギュレーション(設定オプション)
- 6.シグネチャ(署名)フォーマット
- 7.適合性問題
- 8.よくある質問(FAQ)
- 9.法律情報
- 10.以前のメジャー・バージョンからのアップグレード
Regarding translations: My native language is English. Because this is a free and open-source hobby project which generates zero income, and translatable content is likely to change as the features and functionality supported by the project changes, it doesn't make sense for me to spend money for translations. Because I'm the sole author/developer/maintainer for the project and I'm not a ployglot, any translations I produce are very likely to contain errors. Sorry, but realistically, that won't ever change. If you find any such errors/typos/mistakes/etc, your assistance to correct them would be very much appreciated. Pull requests are invited and encouraged. Otherwise, if you find these errors too much to handle, just stick with the original English source. If a translation is irredeemably incomprehensible, let me know which, and I can delete it. If you're not sure how to perform pull requests, ask. I can help.
CIDRAM(シドラム、クラスレス・ドメイン間・ルーティング・アクセス・マネージャー 『Classless Inter-Domain Routing Access Manager』)は、PHPスクリプトです。 ウェブサイトを保護するように設計されて、IPアドレス(望ましくないトラフィックのあるソースとみなします)から、発信リクエストをブロックすることによって(ヒト以外のアクセスエンドポイント、クラウドサービス、スパムロボット、スクレーパー、等)。 IPアドレスの可能CIDRを計算することにより、CIDRは、そのシグネチャ・ファイルと比較することができます(これらのシグネチャ・ファイルは不要なIPアドレスに対応するCIDRのリストが含まれています);一致が見つかった場合、リクエストはブロックされます。
CIDRAM著作権2013とGNU一般公衆ライセンスv2を超える権利について:Caleb M (Maikuolan)著。
本スクリプトはフリーウェアです。 フリーソフトウェア財団発行のGNU一般公衆ライセンス・バージョン2(またはそれ以降のバージョン)に従い、再配布ならびに加工が可能です。 配布の目的は、役に立つことを願ってのものですが、『保証はなく、また商品性や特定の目的に適合するのを示唆するものでもありません』。 『LICENSE.txt』にある『GNU General Public License』(一般ライセンス)を参照して下さい。 以下のURLからも閲覧できます:
CIDRAMはここから無料でダウンロードできます:
この文書とそのさまざまな翻訳は、次の場所にあります:
まず、それを操作するためにCIDRAMの新しいコピーが必要になります。 「CIDRAM/CIDRAM」リポジトリから最新バージョンのCIDRAMのアーカイブをダウンロードできます。 具体的には、「vault」ディレクトリの新しいコピーが必要になります(「vault」ディレクトリとその内容以外のアーカイブからのすべては、安全に削除または無視することができます)。
v3より前は、CIDRAMフロントエンドにアクセスできるようにするために、パブリック・ルート内のどこかにCIDRAMをインストールする必要がありました。 ただし、v3以降では、これは必要ありません。 セキュリティを最大化し、CIDRAMとそのファイルへの不正アクセスを防ぐために、代わりにパブリック・ルートの外部にCIDRAMをインストールすることをお勧めします。 PHPでアクセスできる限り、安全である限り、そして満足している限り、どこにでもCIDRAMをインストールできます。 ディレクトリ名を「vault」として保持する必要がなくなったため、好きなように名前を変更できます(ただし、便宜上、ドキュメンテーションでは、引き続き「vault」ディレクトリと呼びます)。
準備ができたら、「vault」ディレクトリを選択した場所にアップロードし、PHPがディレクトリに書き込めるようにするために必要な権限があることを確認します(システムによっては、何もする必要がない場合や、ディレクトリでCHMODを「755」に設定する必要がある場合があります、または、「755」に問題がある場合は、「777」を試すことができますが、安全性が低いため、「777」はお勧めしません)。
次に、CIDRAMがコードベースまたはCMSを保護できるようにするには、「エントリポイント」を作成する必要があります。 このようなエントリポイントは、次の3つで構成されます:
- コードベースまたはCMSの適切なポイントに「loader.php」ファイルを含める。
- 「CIDRAM core」のインスタンシエーション。
- 「protect」メソッドの呼び出し。
簡単な例:
<?php
require_once '/path/to/the/vault/directory/loader.php';
(new \CIDRAM\CIDRAM\Core())->protect();Apacheウェブサーバーを使用していて、php.iniファイルにアクセスできる場合は、PHPリクエストが行われるたびにCIDRAMを実行するために、auto_prepend_fileディレクティブを使用できます。 このような場合、エントリポイントを作成するのに最も適切な場所は独自のファイルであり、auto_prepend_fileディレクティブで引用する必要になります。
例:
auto_prepend_file = "/path/to/your/entrypoint.php"
または、これは.htaccessファイルになります:
php_value auto_prepend_file "/path/to/your/entrypoint.php"
その他の場合、エントリポイントを作成するための最も適切な場所は、コードベースまたはCMS内の可能な限り早いポイントで、誰かがウェブサイト全体の任意のページにアクセスするたびに常にロードされることです。 コードベースが「ブートストラップ」を利用している場合、良い例は「ブートストラップ」ファイルの最初にあります。 コードベースにデータベースへの接続を担当する中央ファイルがある場合、別の良い例はその中央ファイルの最初にあります。
CIDRAMはPackagistに登録されています。 Composerを使い慣れている場合は、Composerを使用してCIDRAMをインストールできます。
composer require cidram/cidram
CIDRAMは、WordPressプラグインデータベースにプラグインとして登録されています。 プラグイン・ダッシュボードからCIDRAMを直接インストールできます。 他のプラグインと同じ方法でインストールでき、追加手順は不要です。
警告:プラグイン・ダッシュボードを介してCIDRAMを更新すると、クリーン・インストールが行われます。 インストールをカスタマイズした場合(あなたの設定を変更した、モジュールをインストールしたなど)、これらのカスタマイズは、プラグイン・ダッシュボードを介して更新すると、失われます! ログ・ファイルも失われます! ログ・ファイルとカスタム化を保持するには、CIDRAMフロントエンド・アップデイト・ページで更新します。
必要に応じて調整できるように、新しいインストールの構成を確認することを強くお勧めします。 追加のモジュール、シグネチャ・ファイルをインストールしたり、補助ルールを作成したり、その他のカスタマイズを実装して、インストールをニーズに最適にすることもできます。 これらのことを行うには、フロントエンドを使用することをお勧めします。
CIDRAMは自動的に望ましくないリクエストをブロックする必要があります;支援が必要とされていません(インストールを除きます)。
あなたの設定ファイルを変更することによって、コンフィギュレーション設定をカスタマイズすることができます。 あなたのシグネチャ・ファイルを変更することによって、CIDRがブロックされて変更することができます。
CIDRAMは、手動で、または、フロントエンド経由で更新できます。 CIDRAMは、もともとそれらの手段を介してインストールされていれば、ComposerまたはWordPress経由で更新することもできます。
フロントエンドは、CIDRAMのインストールを維持、管理、更新するための便利で簡単な方法を提供します。 ログ・ページを使用してログ・ファイルを表示、共有、ダウンロードすることができます、コンフィギュレーションページでコンフィギュレーションを変更できます、アップデートページを使用してコンポーネントをインストールおよびアンインストールできます、そして、ファイル・マネージャーを使用してvault「ボールト」内のファイルをアップロード、ダウンロード、および変更することができます。
以前と同じように、フロントエンドにアクセスするにはエントリポイントを作成する必要があります。 このようなエントリポイントは、次の3つで構成されます:
- コードベースまたはCMSの適切なポイントに「loader.php」ファイルを含める。
- 「CIDRAM front-end」のインスタンシエーション。
- 「view」メソッドの呼び出し。
簡単な例:
<?php
require_once '/path/to/the/vault/directory/loader.php';
(new \CIDRAM\CIDRAM\FrontEnd())->view();「FrontEnd」クラスは「Core」クラスを拡張します。 これは、潜在的に不要なトラフィックがフロントエンドにアクセスするのをブロックするために、「view」メソッドを呼び出す前に「protect」メソッドを呼び出すことができることを意味します。 そうすることは完全にオプションです。
簡単な例:
<?php
require_once '/path/to/the/vault/directory/loader.php';
$CIDRAM = new \CIDRAM\CIDRAM\FrontEnd();
$CIDRAM->protect();
$CIDRAM->view();フロントエンドのエントリポイントを作成するのに最も適切な場所は、専用のファイルです。 以前とは異なり、エントリポイントが存在する特定のファイルを直接要求することによってのみフロントエンド・エントリポイントにアクセス可能にする必要があります。 したがって、あなたはここでauto_prepend_fileまたは.htaccessは使用したくない。
フロントエンド・エントリポイントを作成したら、ブラウザを使用してアクセスします。 ログイン・ページが表示されます。 ログイン・ページで、デフォルトのユーザー名とパスワード(admin/password)を入力し、ログイン・ボタンを押します。
注意:あなたが初めてログインした後、フロントエンドへの不正アクセスを防ぐために、あなたはすぐにユーザー名とパスワードを変更する必要があります! これは非常に重要です、なぜなら、フロントエンドから任意のPHPコードをあなたのウェブサイトにアップロードすることができるからです。
また、最適なセキュリティを実現するには、すべてのフロントエンド・アカウントに対して「二要素認証」を有効にすることを強くお勧めします(下記の手順)。
フロントエンドの各ページには、目的の説明とその使用方法の説明があります。 詳しい説明や特別な支援が必要な場合は、サポートにお問い合わせください。 また、デモを提供するYouTube上で利用可能な動画もあります。
2FA「二要素認証」を有効にすることで、フロントエンドをより安全にすることができます。 2FAを使用するアカウントにログインすると、そのアカウントに関連付けられたEメール・アドレスにEメールが送信されます。 このEメールには「2FAコード」が含まれています。 このアカウントを使用してログインできるように、ユーザーはこの2FAコードとユーザー名とパスワードを入力する必要があります。 つまり、アカウントのパスワードでは、ハッカーや潜在的な攻撃者がそのアカウントにログインするのに十分ではありません。 セッションに関連付けられた2FAコードを受信して利用するには、そのアカウントに関連付けられたEメールアドレスにアクセスする必要があります。
まず、2FAを有効にするには、フロントエンドのアップデイト・ページを使用して、PHPMailerコンポーネントをインストールします。 CIDRAMは、Eメールを送信するために、PHPMailerを利用します。
PHPMailerをインストールしたら、CIDRAMコンフィギュレーション・ページまたはコンフィギュレーション・ファイルを使用して、PHPMailerのコンフィギュレーション・ディレクティブを設定する必要があります。 これらのコンフィギュレーション・ディレクティブの詳細については、このドキュメントのコンフィギュレーション・セクションに記載されています。 PHPMailerコンフィギュレーション・ディレクティブを設定したら、enable_two_factorをtrueに設定します。 2FAが有効にされている。
次に、CIDRAMがそのアカウントでログインするときに2FAコードを送信する場所を知るように、Eメール・アドレスをアカウントに関連付ける必要があります。 これを行うには、Eメール・アドレスをアカウントのユーザー名として使用する(例えば、foo@bar.tld)か、Eメール・アドレスを通常どおりEメールを送信する場合と同じ方法でユーザー名の一部として含めます(例えば、Foo Bar <foo@bar.tld>)。
注意:不正なアクセスからvaultを保護することは特に重要です(例えば、サーバーのセキュリティを強化し、パブリック・アクセス許可を制限する)。 コンフィギュレーション・ファイル(あなたのvaultに保存されています)の不正なアクセスが送信SMTPコンフィギュレーションを公開する可能性があります(SMTPユーザー名とパスワードを含む)。 2FAを有効にする前に、vaultが適切に保護されていることを確認する必要があります。 あなたがこれを行うことができない場合は、少なくとも、この目的のために専用の新しいEメール・アカウントを作成する必要があります(公開されたSMTPコンフィギュレーションに関連するリスクを軽減するため)。
以下はconfig.yml設定ファイルにある変数ならびにその目的と機能のリストです。
コンフィギュレーション (v4)
│
├───general
│ stages [string]
│ fields [string]
│ timezone [string]
│ time_offset [int]
│ time_format [string]
│ ipaddr [string]
│ http_response_header_code [int]
│ silent_mode [string]
│ silent_mode_response_header_code [int]
│ lang [string]
│ lang_override [bool]
│ numbers [string]
│ emailaddr [string]
│ emailaddr_display_style [string]
│ default_dns [string]
│ default_algo [string]
│ statistics [string]
│ statistics_captchas [string]
│ force_hostname_lookup [bool]
│ allow_gethostbyaddr_lookup [bool]
│ disabled_channels [string]
│ request_proxy [string]
│ request_proxyauth [string]
│ default_timeout [int]
│ sensitive [string]
│ email_notification_address [string]
│ email_notification_name [string]
│ email_notification_when [string]
├───components
│ ipv4 [string]
│ ipv6 [string]
│ modules [string]
│ imports [string]
│ events [string]
├───logging
│ standard_log [string]
│ apache_style_log [string]
│ serialised_log [string]
│ error_log [string]
│ outbound_request_log [string]
│ report_log [string]
│ truncate [string]
│ log_rotation_limit [int]
│ log_rotation_action [string]
│ log_banned_ips [bool]
│ log_sanitisation [bool]
├───frontend
│ frontend_log [string]
│ signatures_update_event_log [string]
│ max_login_attempts [int]
│ theme [string]
│ theme_mode [string]
│ magnification [float]
│ custom_header [string]
│ custom_footer [string]
│ remotes [string]
│ enable_two_factor [bool]
├───signatures
│ shorthand [string]
│ default_tracktime [string]
│ infraction_limit [int]
│ tracking_override [bool]
│ conflict_response [int]
├───verification
│ search_engines [string]
│ social_media [string]
│ other [string]
│ adjust [string]
├───captcha
│ usemode [int]
│ nonblocked_status_code [int]
│ api [string]
│ messages [string]
│ lockto [string]
│ hcaptcha_sitekey [string]
│ hcaptcha_secret [string]
│ friendly_sitekey [string]
│ friendly_apikey [string]
│ turnstile_sitekey [string]
│ turnstile_secret [string]
│ expiry [float]
│ signature_limit [int]
│ log [string]
├───legal
│ pseudonymise_ip_addresses [bool]
│ privacy_policy [string]
├───template_data
│ theme [string]
│ theme_mode [string]
│ magnification [float]
│ css_url [string]
│ block_event_title [string]
│ captcha_title [string]
│ custom_header [string]
│ custom_footer [string]
├───rate_limiting
│ max_bandwidth [string]
│ max_requests [int]
│ precision_ipv4 [int]
│ precision_ipv6 [int]
│ allowance_period [string]
│ exceptions [string]
│ segregate [bool]
├───supplementary_cache_options
│ prefix [string]
│ enable_apcu [bool]
│ enable_memcached [bool]
│ enable_redis [bool]
│ enable_pdo [bool]
│ memcached_host [string]
│ memcached_port [int]
│ redis_host [string]
│ redis_port [int]
│ redis_timeout [float]
│ redis_database_number [int]
│ pdo_dsn [string]
│ pdo_username [string]
│ pdo_password [string]
└───bypasses
used [string]
全般的な設定(他のカテゴリに属さないの設定)。
- 実行チェーンの段階のコントロールです (有効かどうか、エラーがログに記録されるかどうか、など)。
stages───[この段階を有効にしますか?]─[この段階で発生したエラーをログに記録しますか?]─[この段階で発生した違反は、IPトラッキングにカウントしますか?]
├─BanCheck ("禁止されているかどうかを確認する")
├─Tests ("シグネチャ・ファイル・テストを実行する")
├─Modules ("モジュールを実行する")
├─SearchEngineVerification ("検索エンジンの検証を実行する")
├─SocialMediaVerification ("ソーシャル・メディア検証を実行する")
├─OtherVerification ("その他の検証を実行する")
├─Aux ("補助ルールを実行する")
├─Tracking ("IPトラッキングを実行する")
├─RL ("レート制限を実行する")
├─CAPTCHA ("キャプチャを展開する(ブロックされたリクエスト)")
├─Reporting ("レポートを実行する")
├─Statistics ("統計をアップデートする")
├─Webhooks ("Webhookを実行する")
├─TriggerNotifications ("Eメール・トリガー通知キューを処理する")
├─PrepareFields ("出力とログ用のフィールドを準備する")
├─Output ("出力を生成する(ブロックされたリクエスト)")
├─WriteLogs ("ログへの書き込み(ブロックされたリクエスト)")
├─Terminate ("リクエストを終了する(ブロックされたリクエスト)")
├─AuxRedirect ("補助ルールに従ってリダイレクトする")
└─NonBlockedCAPTCHA ("キャプチャを展開する(ブロックされていないリクエスト)")
- ブロック・イベント中のために、フィールドのコントロールです (リクエストがブロックされたとき)。
fields───[このフィールドはログ・エントリに表示する必要がありますか?]─[このフィールドは「アクセス拒否」ページに表示する必要がありますか?]─[空のときにこのフィールドを省略しますか?]
├─ID ("ID")
├─ScriptIdent ("スクリプトのバージョン")
├─DateTime ("日/月/年/時刻")
├─IPAddr ("IPアドレス")
├─IPAddrResolved ("IPアドレス(解決済み)")
├─Query ("クエリー")
├─Referrer ("リファラー")
├─UA ("ユーザー・エージェント")
├─UALC ("ユーザー・エージェント(小文字)")
├─SignatureCount ("シグネチャの数")
├─Signatures ("シグネチャリファレンス")
├─WhyReason ("なぜブロックされましたか")
├─ReasonMessage ("なぜブロックされましたか(詳細な)")
├─rURI ("URI再構築された")
├─Infractions ("違反")
├─ASNLookup ("** ASNルックアップ")
├─CCLookup ("** 国コード・ルックアップ")
├─Verified ("確認済みの身元")
├─Expired ("期限切れ")
├─Ignored ("無視された")
├─Request_Method ("リクエスト・メソッド")
├─Protocol ("プロトコル")
├─SEC_CH_UA_PLATFORM ("!! SEC_CH_UA_PLATFORM")
├─SEC_CH_UA_MOBILE ("!! SEC_CH_UA_MOBILE")
├─SEC_CH_UA ("!! SEC_CH_UA")
├─Hostname ("ホスト名")
├─CAPTCHA ("キャプチャ・ステータス")
├─Inspection ("* 条件検査")
└─ClientL10NAccepted ("言語解決")
- 補助ルールのデバッグのみを目的としています。 ブロックされたユーザーには表示されません。
** ASNルックアップ機能が必要です(たとえば、IP-APIモジュールまたはBGPViewモジュールを介して)。
!! これは低エントロピーのクライアント・ヒントです。 クライアント・ヒントは、新しい実験的なウェブ・テクノロジーであり、まだすべてのブラウザや主要なクライアントで広くサポートされているわけではありません。 見る:Sec-CH-UA - HTTP | MDN。 クライアント・ヒントは、フィンガープリンティングに役立ちますが、広くサポートされていないため、リクエストでクライアント・ヒントが存在すると想定したり、それに頼ったりしないでください(つまり、不在を理由にブロックするのは悪い考えだ)。
- 使用するタイムゾーンを指定します(例えば、「Africa/Cairo」、「America/New_York」、「Asia/Tokyo」、「Australia/Perth」、「Europe/Berlin」、「Pacific/Guam」、等)。 「SYSTEM」を指定すると、PHPがこれを自動的に処理します。
timezone
├─SYSTEM ("システムのデフォルトタイムゾーンを使用します。")
├─UTC ("UTC")
└─…その他
- タイムゾーン・オフセット(分)。
- CIDRAMで使用される日付表記形式。 追加のオプションがリクエストに応じて追加される場合があります。
time_format
├─{Day}, {dd} {Mon} {yyyy} {hh}:{ii}:{ss} {tz} ("{Day}, {dd} {Mon} {yyyy} {hh}:{ii}:{ss} {tz}")
├─{Day}, {dd} {Mon} {yyyy} {hh}:{ii}:{ss} ("{Day}, {dd} {Mon} {yyyy} {hh}:{ii}:{ss}")
├─{Day}, {dd} {Mon} {yyyy} ("{Day}, {dd} {Mon} {yyyy}")
├─{yyyy}.{mm}.{dd} {hh}:{ii}:{ss} {tz} ("{yyyy}.{mm}.{dd} {hh}:{ii}:{ss} {tz}")
├─{yyyy}.{mm}.{dd} {hh}:{ii}:{ss} ("{yyyy}.{mm}.{dd} {hh}:{ii}:{ss}")
├─{yyyy}.{mm}.{dd} ("{yyyy}.{mm}.{dd}")
├─{yyyy}-{mm}-{dd} {hh}:{ii}:{ss} {tz} ("{yyyy}-{mm}-{dd} {hh}:{ii}:{ss} {tz}")
├─{yyyy}-{mm}-{dd} {hh}:{ii}:{ss} ("{yyyy}-{mm}-{dd} {hh}:{ii}:{ss}")
├─{yyyy}-{mm}-{dd} ("{yyyy}-{mm}-{dd}")
├─{yyyy}/{mm}/{dd} {hh}:{ii}:{ss} {tz} ("{yyyy}/{mm}/{dd} {hh}:{ii}:{ss} {tz}")
├─{yyyy}/{mm}/{dd} {hh}:{ii}:{ss} ("{yyyy}/{mm}/{dd} {hh}:{ii}:{ss}")
├─{yyyy}/{mm}/{dd} ("{yyyy}/{mm}/{dd}")
├─{dd}.{mm}.{yyyy} {hh}:{ii}:{ss} {tz} ("{dd}.{mm}.{yyyy} {hh}:{ii}:{ss} {tz}")
├─{dd}.{mm}.{yyyy} {hh}:{ii}:{ss} ("{dd}.{mm}.{yyyy} {hh}:{ii}:{ss}")
├─{dd}.{mm}.{yyyy} ("{dd}.{mm}.{yyyy}")
├─{dd}-{mm}-{yyyy} {hh}:{ii}:{ss} {tz} ("{dd}-{mm}-{yyyy} {hh}:{ii}:{ss} {tz}")
├─{dd}-{mm}-{yyyy} {hh}:{ii}:{ss} ("{dd}-{mm}-{yyyy} {hh}:{ii}:{ss}")
├─{dd}-{mm}-{yyyy} ("{dd}-{mm}-{yyyy}")
├─{dd}/{mm}/{yyyy} {hh}:{ii}:{ss} {tz} ("{dd}/{mm}/{yyyy} {hh}:{ii}:{ss} {tz}")
├─{dd}/{mm}/{yyyy} {hh}:{ii}:{ss} ("{dd}/{mm}/{yyyy} {hh}:{ii}:{ss}")
├─{dd}/{mm}/{yyyy} ("{dd}/{mm}/{yyyy}")
├─{mm}.{dd}.{yyyy} {hh}:{ii}:{ss} {tz} ("{mm}.{dd}.{yyyy} {hh}:{ii}:{ss} {tz}")
├─{mm}.{dd}.{yyyy} {hh}:{ii}:{ss} ("{mm}.{dd}.{yyyy} {hh}:{ii}:{ss}")
├─{mm}.{dd}.{yyyy} ("{mm}.{dd}.{yyyy}")
├─{mm}-{dd}-{yyyy} {hh}:{ii}:{ss} {tz} ("{mm}-{dd}-{yyyy} {hh}:{ii}:{ss} {tz}")
├─{mm}-{dd}-{yyyy} {hh}:{ii}:{ss} ("{mm}-{dd}-{yyyy} {hh}:{ii}:{ss}")
├─{mm}-{dd}-{yyyy} ("{mm}-{dd}-{yyyy}")
├─{mm}/{dd}/{yyyy} {hh}:{ii}:{ss} {tz} ("{mm}/{dd}/{yyyy} {hh}:{ii}:{ss} {tz}")
├─{mm}/{dd}/{yyyy} {hh}:{ii}:{ss} ("{mm}/{dd}/{yyyy} {hh}:{ii}:{ss}")
├─{mm}/{dd}/{yyyy} ("{mm}/{dd}/{yyyy}")
├─{yy}.{mm}.{dd} {hh}:{ii}:{ss} {tz} ("{yy}.{mm}.{dd} {hh}:{ii}:{ss} {tz}")
├─{yy}.{mm}.{dd} {hh}:{ii}:{ss} ("{yy}.{mm}.{dd} {hh}:{ii}:{ss}")
├─{yy}.{mm}.{dd} ("{yy}.{mm}.{dd}")
├─{yy}-{mm}-{dd} {hh}:{ii}:{ss} {tz} ("{yy}-{mm}-{dd} {hh}:{ii}:{ss} {tz}")
├─{yy}-{mm}-{dd} {hh}:{ii}:{ss} ("{yy}-{mm}-{dd} {hh}:{ii}:{ss}")
├─{yy}-{mm}-{dd} ("{yy}-{mm}-{dd}")
├─{yy}/{mm}/{dd} {hh}:{ii}:{ss} {tz} ("{yy}/{mm}/{dd} {hh}:{ii}:{ss} {tz}")
├─{yy}/{mm}/{dd} {hh}:{ii}:{ss} ("{yy}/{mm}/{dd} {hh}:{ii}:{ss}")
├─{yy}/{mm}/{dd} ("{yy}/{mm}/{dd}")
├─{dd}.{mm}.{yy} {hh}:{ii}:{ss} {tz} ("{dd}.{mm}.{yy} {hh}:{ii}:{ss} {tz}")
├─{dd}.{mm}.{yy} {hh}:{ii}:{ss} ("{dd}.{mm}.{yy} {hh}:{ii}:{ss}")
├─{dd}.{mm}.{yy} ("{dd}.{mm}.{yy}")
├─{dd}-{mm}-{yy} {hh}:{ii}:{ss} {tz} ("{dd}-{mm}-{yy} {hh}:{ii}:{ss} {tz}")
├─{dd}-{mm}-{yy} {hh}:{ii}:{ss} ("{dd}-{mm}-{yy} {hh}:{ii}:{ss}")
├─{dd}-{mm}-{yy} ("{dd}-{mm}-{yy}")
├─{dd}/{mm}/{yy} {hh}:{ii}:{ss} {tz} ("{dd}/{mm}/{yy} {hh}:{ii}:{ss} {tz}")
├─{dd}/{mm}/{yy} {hh}:{ii}:{ss} ("{dd}/{mm}/{yy} {hh}:{ii}:{ss}")
├─{dd}/{mm}/{yy} ("{dd}/{mm}/{yy}")
├─{mm}.{dd}.{yy} {hh}:{ii}:{ss} {tz} ("{mm}.{dd}.{yy} {hh}:{ii}:{ss} {tz}")
├─{mm}.{dd}.{yy} {hh}:{ii}:{ss} ("{mm}.{dd}.{yy} {hh}:{ii}:{ss}")
├─{mm}.{dd}.{yy} ("{mm}.{dd}.{yy}")
├─{mm}-{dd}-{yy} {hh}:{ii}:{ss} {tz} ("{mm}-{dd}-{yy} {hh}:{ii}:{ss} {tz}")
├─{mm}-{dd}-{yy} {hh}:{ii}:{ss} ("{mm}-{dd}-{yy} {hh}:{ii}:{ss}")
├─{mm}-{dd}-{yy} ("{mm}-{dd}-{yy}")
├─{mm}/{dd}/{yy} {hh}:{ii}:{ss} {tz} ("{mm}/{dd}/{yy} {hh}:{ii}:{ss} {tz}")
├─{mm}/{dd}/{yy} {hh}:{ii}:{ss} ("{mm}/{dd}/{yy} {hh}:{ii}:{ss}")
├─{mm}/{dd}/{yy} ("{mm}/{dd}/{yy}")
├─{yyyy}年{m}月{d}日 {hh}時{ii}分{ss}秒 ("{yyyy}年{m}月{d}日 {hh}時{ii}分{ss}秒")
├─{yyyy}年{m}月{d}日 {hh}:{ii}:{ss} {tz} ("{yyyy}年{m}月{d}日 {hh}:{ii}:{ss} {tz}")
├─{yyyy}年{m}月{d}日 ("{yyyy}年{m}月{d}日")
├─{yy}年{m}月{d}日 {hh}時{ii}分{ss}秒 ("{yy}年{m}月{d}日 {hh}時{ii}分{ss}秒")
├─{yy}年{m}月{d}日 {hh}:{ii}:{ss} {tz} ("{yy}年{m}月{d}日 {hh}:{ii}:{ss} {tz}")
├─{yy}年{m}月{d}日 ("{yy}年{m}月{d}日")
├─{yyyy}년 {m}월 {d}일 {hh}시 {ii}분 {ss}초 ("{yyyy}년 {m}월 {d}일 {hh}시 {ii}분 {ss}초")
├─{yyyy}년 {m}월 {d}일 {hh}:{ii}:{ss} {tz} ("{yyyy}년 {m}월 {d}일 {hh}:{ii}:{ss} {tz}")
├─{yyyy}년 {m}월 {d}일 ("{yyyy}년 {m}월 {d}일")
├─{yy}년 {m}월 {d}일 {hh}시 {ii}분 {ss}초 ("{yy}년 {m}월 {d}일 {hh}시 {ii}분 {ss}초")
├─{yy}년 {m}월 {d}일 {hh}:{ii}:{ss} {tz} ("{yy}년 {m}월 {d}일 {hh}:{ii}:{ss} {tz}")
├─{yy}년 {m}월 {d}일 ("{yy}년 {m}월 {d}일")
├─{yyyy}-{mm}-{dd}T{hh}:{ii}:{ss}{t:z} ("{yyyy}-{mm}-{dd}T{hh}:{ii}:{ss}{t:z}")
├─{d}. {m}. {yyyy} ("{d}. {m}. {yyyy}")
└─…その他
プレースホルダー – 説明 – 例は2024-04-30T18:27:49+08:00に基づいています。
{yyyy} – 年 – 例えば、2024。
{yy} – 短縮年 – 例えば、24。
{Mon} – 月の略称(英語) – 例えば、Apr。
{mm} – 先頭にゼロが付いた月 – 例えば、04。
{m} – 月 – 例えば、4。
{Day} – 曜日の略称(英語) – 例えば、Tue。
{dd} – 先頭にゼロが付いた日 – 例えば、30。
{d} – 日 – 例えば、30。
{hh} – 先頭にゼロが付いた時間(24時間制を使用) – 例えば、18。
{h} – 時間(24時間制を使用) – 例えば、18。
{ii} – 先頭にゼロが付いた分 – 例えば、27。
{i} – 分 – 例えば、27。
{ss} – 先頭にゼロが付いた秒 – 例えば、49。
{s} – 秒 – 例えば、49。
{tz} – タイムゾーン(コロンなし) – 例えば、+0800。
{t:z} – タイムゾーン(コロン付き) – 例えば、+08:00。
- 接続リクエストのIPアドレスをどこで見つけるべきかについて(Cloudflareなどのサービスに役立ちます)。 Default/デフォルルト = REMOTE_ADDR。 注意:あなたが何をしているのか、分からない限り、これを変更しないでください。
ipaddr
├─HTTP_INCAP_CLIENT_IP ("HTTP_INCAP_CLIENT_IP (Incapsula)")
├─HTTP_CF_CONNECTING_IP ("HTTP_CF_CONNECTING_IP (Cloudflare)")
├─CF-Connecting-IP ("CF-Connecting-IP (Cloudflare)")
├─HTTP_X_FORWARDED_FOR ("HTTP_X_FORWARDED_FOR (Cloudbric)")
├─X-Forwarded-For ("X-Forwarded-For (Squid)")
├─Forwarded ("Forwarded")
├─REMOTE_ADDR ("REMOTE_ADDR (デフォルト)")
└─…その他
参照してください:
- リクエストをブロックするときに、CIDRAMが送信するHTTPステータス・メッセージはどれですか?
http_response_header_code───[デフォルト]─[法的]─[禁止された]
├─200 (200 OK (大丈夫です)): それは最小の堅牢が、最もユーザー・フレンドリーです。
│ 自動化されたリクエストは、この応答をリクエストが成功したことを示すものとして解釈する可能性があります。
│ ブロックされていないリクエストに推奨されます。
├─403 (403 Forbidden (禁断)): それはもっと堅牢ですが、少ないユーザー・フレンドリーです。
│ ほとんどの場合に推奨されます。
├─410 (410 Gone (なくなっています)): 一部のブラウザは、ブロックが解除された後でも、このステータス・メッセージをキャッシュし、後続のリクエストを送信しないため、偽陽性を解決するときに問題が発生する可能性があります。
│ 特定の種類のトラフィックでは、状況によっては最も望ましい場合があります。
├─418 (418 I'm a teapot (私はティーポットです)): エイプリル・フールのジョークを参照しています(<a
│ href="https://tools.ietf.org/html/rfc2324" dir="ltr" hreflang="en-US"
│ rel="noopener noreferrer external">RFC 2324</a>)。
│ クライアント、ボット、ブラウザ、などに理解される可能性はほとんどありません。
│ 娯楽と利便性のために提供されていますが、一般的にはお勧めしません。
├─451 (451 Unavailable For Legal Reasons (法的な理由で利用できません)): 主に法的な理由でブロックする場合に推奨されます。
│ 他のコンテキストでは推奨されません。
└─503 (503 Service Unavailable (サービスは利用できません)): それは最も堅牢が、最小のユーザー・フレンドリーです。
攻撃を受けている場合、または非常に永続的な不要なトラフィックを処理する場合に推奨されます。
1. 「サイレント・モード」が有効な場合、general➡silent_mode_response_header_codeで定義されたHTTPステータス・メッセージが使用されます(これは最も優先順位が高い)。
2. 違反制限を超えたためにリクエスト元のエンティティが禁止された場合、「禁止された」のHTTPステータス・メッセージが使用されます。
3. レート制限によりブロックされた場合は、「429」が使用され、リソースの競合によりブロックされた場合は、signatures➡conflict_responseで定義されたHTTPステータス・メッセージが使用されます(この文脈では、レート制限とリソースの競合は同等の優先順位を持つ)。
4. 「HTTPステータス・コード・オーバーライド」を設定する補助ルールによってブロックされた場合、そのHTTPステータス・コード・オーバーライドが使用されます。
5. 法的な理由でブロックされた場合(つまり、「法的」という速記語を使用するカスタム・シグネチャによりブロックされた場合)、「法的」のHTTPステータス・メッセージが使用されます。
6. その他のブロックされたリクエストについては、「デフォルト」のHTTPステータス・メッセージが使用されます(これは最も優先順位が低い)。
- 「アクセス拒否」ページを表示する代わりに、CIDRAMはブロックされたアクセス試行を自動的にリダイレクトする必要がありますか?はいの場合は、リダイレクトの場所を指定します。 いいえの場合は、この変数を空白のままにします。
- ブロックされたアクセス試行をサイレントにリダイレクトする場合、CIDRAMが送信するHTTPステータス・メッセージはどれですか?
silent_mode_response_header_code
├─301 (301 Moved Permanently (永久に移動されました)): リダイレクトが永続的であることをクライアントに指示します。
│ リダイレクトのリクエスト・メソッドと最初のリクエストのリクエスト・メソッドは異なるものであってができます。
├─302 (302 Found (見つかった)): リダイレクトが一時的であることをクライアントに指示します。
│ リダイレクトのリクエスト・メソッドと最初のリクエストのリクエスト・メソッドは異なるものであってができます。
├─307 (307 Temporary Redirect (一時的なリダイレクト)): リダイレクトが一時的であることをクライアントに指示します。
│ リダイレクトのリクエスト・メソッドと最初のリクエストのリクエスト・メソッドは異なるものであってはできません。
└─308 (308 Permanent Redirect (永続的なリダイレクト)): リダイレクトが永続的であることをクライアントに指示します。
リダイレクトのリクエスト・メソッドと最初のリクエストのリクエスト・メソッドは異なるものであってはできません。
私たちがクライアントにどのように指示しても、クライアントが何を選択するかを最終的には制御できず、クライアントが私たちの指示に従うという保証はゼロであることを覚えておくことが重要です。
- CIDRAMのデフォルト言語を設定します。
lang
├─af ("Afrikaans")
├─ar ("العربية")
├─bg ("Български")
├─bn ("বাংলা")
├─bs ("Bosanski")
├─ca ("Català")
├─cs ("Čeština")
├─de ("Deutsch")
├─en ("English (AU/GB/NZ)")
├─en-CA ("English (CA)")
├─en-US ("English (US)")
├─es ("Español")
├─fa ("فارسی")
├─fr ("Français (FR)")
├─fr-CA ("Français (CA)")
├─gl ("Galego")
├─gu ("ગુજરાતી")
├─he ("עברית")
├─hi ("हिंदी")
├─hr ("Hrvatski")
├─id ("Bahasa Indonesia")
├─it ("Italiano")
├─ja ("日本語")
├─ko ("한국어")
├─lv ("Latviešu")
├─ml ("മലയാളം")
├─mr ("मराठी")
├─ms ("Bahasa Melayu")
├─nl ("Nederlandse")
├─no ("Norsk")
├─pa ("ਪੰਜਾਬੀ")
├─pl ("Polski")
├─pt-BR ("Português (Brasil)")
├─pt-PT ("Português (Europeu)")
├─ro ("Română")
├─ru ("Русский")
├─sv ("Svenska")
├─sr ("Српски")
├─ta ("தமிழ்")
├─th ("ภาษาไทย")
├─tr ("Türkçe")
├─uk ("Українська")
├─ur ("اردو")
├─vi ("Tiếng Việt")
├─zh-Hans ("中文(简体)")
└─zh-Hant ("中文(傳統)")
- 可能な限り「HTTP_ACCEPT_LANGUAGE」に従ってローカライズしますか? True = はい(Default/デフォルルト)。 False = いいえ。
- どのように数字を表示するのが好きですか?あなたに一番正しい例を選択してください。
numbers
├─Arabic-1 ("١٢٣٤٥٦٧٫٨٩")
├─Arabic-2 ("١٬٢٣٤٬٥٦٧٫٨٩")
├─Arabic-3 ("۱٬۲۳۴٬۵۶۷٫۸۹")
├─Arabic-4 ("۱۲٬۳۴٬۵۶۷٫۸۹")
├─Armenian ("Ճ̅Ի̅Գ̅ՏՇԿԷ")
├─Base-12 ("4b6547.a8")
├─Base-16 ("12d687.e3")
├─Bengali-1 ("১২,৩৪,৫৬৭.৮৯")
├─Burmese-1 ("၁၂၃၄၅၆၇.၈၉")
├─China-1 ("123,4567.89")
├─Chinese-Simplified ("一百二十三万四千五百六十七点八九")
├─Chinese-Simplified-Financial ("壹佰贰拾叁萬肆仟伍佰陆拾柒点捌玖")
├─Chinese-Traditional ("一百二十三萬四千五百六十七點八九")
├─Chinese-Traditional-Financial ("壹佰貳拾叄萬肆仟伍佰陸拾柒點捌玖")
├─Fullwidth ("1234567.89")
├─Geez ("፻፳፫፼፵፭፻፷፯")
├─Hebrew ("א׳׳ב׳קג׳יד׳ךסז")
├─India-1 ("12,34,567.89")
├─India-2 ("१२,३४,५६७.८९")
├─India-3 ("૧૨,૩૪,૫૬૭.૮૯")
├─India-4 ("੧੨,੩੪,੫੬੭.੮੯")
├─India-5 ("೧೨,೩೪,೫೬೭.೮೯")
├─India-6 ("౧౨,౩౪,౫౬౭.౮౯")
├─Japanese ("百万二十万三万四千五百六十七・八九分")
├─Javanese ("꧑꧒꧓꧔꧕꧖꧗.꧘꧙")
├─Khmer-1 ("១.២៣៤.៥៦៧,៨៩")
├─Lao-1 ("໑໒໓໔໕໖໗.໘໙")
├─Latin-1 ("1,234,567.89")
├─Latin-2 ("1 234 567.89")
├─Latin-3 ("1.234.567,89")
├─Latin-4 ("1 234 567,89")
├─Latin-5 ("1,234,567·89")
├─Mayan ("𝋧𝋮𝋦𝋨𝋧.𝋱𝋰")
├─Mongolian ("᠑᠒᠓᠔᠕᠖᠗.᠘᠙")
├─NoSep-1 ("1234567.89")
├─NoSep-2 ("1234567,89")
├─Odia ("୧୨୩୪୫୬୭.୮୯")
├─Roman ("M̅C̅C̅X̅X̅X̅I̅V̅DLXVII")
├─SDN-Dwiggins ("4E6,547;X8")
├─SDN-Pitman ("4↋6,547;↊8")
├─Tamil ("௲௲௨௱௲௩௰௲௪௲௫௱௬௰௭")
├─Thai-1 ("๑,๒๓๔,๕๖๗.๘๙")
├─Thai-2 ("๑๒๓๔๕๖๗.๘๙")
└─Tibetan ("༡༢༣༤༥༦༧.༨༩")
- ここにEメールアドレスを入力して、ユーザーがブロックされているときにユーザーに送信することができます。 これはサポートと支援に使用できます(誤ってブロックされた場合、等)。 警告:ここに入力されたEメールアドレスは、おそらくスパムロボットによって取得されます。 ここで提供されるEメールアドレスは、すべて使い捨てにすることを強く推奨します(例えば、プライマリ個人アドレスまたはビジネスアドレスを使用しない、等)。
- ユーザーにEメール・アドレスを提示することをどのように希望しますか?
emailaddr_display_style
├─default ("クリック可能なリンク")
└─noclick ("クリックできないテキスト")
- ホスト名検索に使用する、DNS(ドメイン・ネーム・システム)サーバーのリスト。 注意:あなたが何をしているのか、分からない限り、これを変更しないでください。
- 将来のすべてのパスワードとセッションに使用するアルゴリズムを定義します。
default_algo
├─PASSWORD_DEFAULT ("PASSWORD_DEFAULT")
├─PASSWORD_BCRYPT ("PASSWORD_BCRYPT")
├─PASSWORD_ARGON2I ("PASSWORD_ARGON2I")
└─PASSWORD_ARGON2ID ("PASSWORD_ARGON2ID (PHP >= 7.3.0)")
- 追跡する統計情報を制御します。
statistics───[IPv4]─[IPv6]─[その他]
├─Blocked ("ブロックされたリクエスト")
├─Banned ("禁止されたリクエスト")
├─Passed ("許可されたリクエスト")
├─ReportOK ("外部APIに報告されたリクエスト – OK")
└─ReportFailed ("外部APIに報告されたリクエスト – 失敗しました")
注:補助ルールの統計を追跡するかどうかは、補助ルール・ページから制御できます。
- キャプチャで追跡する統計情報を制御します。
statistics_captchas───[失敗しました]─[合格された]─[提供された]
├─HCaptcha ("hCaptcha")
├─FriendlyCaptcha ("Friendly Captcha")
└─CloudflareTurnstile ("Cloudflare Turnstile")
注:補助ルールの統計を追跡するかどうかは、補助ルール・ページから制御できます。
- ホスト名検索を強制しますか? True = はい。 False = いいえ(Default/デフォルルト)。 ホスト名検索は、通常、「必要に応じて」実行されますが、すべてのリクエストに対して強制することができます。 これは、より詳細な情報をログ・ファイルに提供する手段として有用ですが、パフォーマンスに多少の悪影響を及ぼすこともあります。
- UDPが利用できない場合、gethostbyaddrルックアップを許可しますか? True = はい(Default/デフォルルト)。 False = いいえ。
注:一部の32ビットシステムでは、IPv6ルックアップが正しく機能しない場合があります。
- これは、リクエストを送信するときにCIDRAMが特定のチャネルを使用しないようにするために使用できます(例えば、更新時、コンポーネント・メタデータの取得時、など)。
disabled_channels
├─GitHub ("<span class="origin bgHRdBl">US</span> GitHub")
├─BitBucket ("<span class="origin bgHRdBl">US</span> BitBucket")
├─Codeberg ("<span class="origin bgVBkRd fgYlw">DE</span> Codeberg")
└─GoogleDNS ("<span class="origin bgHRdBl">US</span> GoogleDNS")
- 送信リクエストをプロキシ経由で送信したい場合は、ここでそのプロキシを指定します。 そうでない場合は、空白のままにします。
- プロキシ経由で送信リクエストを送信する場合、そのプロキシでユーザー名とパスワードが必要な場合は、ここでユーザー名とパスワードを指定します(例えば、
user:pass)。 そうでない場合は、空白のままにします。
- 外部リクエストに使用するデフォルトのタイムアウト? Default/デフォルルト = 12秒。
- 機密ページとみなすパスのリスト。 各のリストされたパスは、必要に応じて、URI再構築されたに対してチェックされます。 スラッシュで始まるパスはリテラルとして扱われ、リクエストのパス・コンポーネントから照合されます。 英数字以外の文字で始まり、同じ文字(または同じ文字と「i」フラグ)で終わるパスは、正規表現として扱われます。 他の種類のパスはリテラルとして扱われ、URIのどの部分からでも一致できます。 パスが機密ページと見なされるかどうかは、一部のモジュールの動作に影響を与える可能性がありますが、他の影響はありません。
- CIDRAMからEメールで通知を受け取ることを選択した場合、例えば、特定の補助ルールがトリガーされたとき、ここで、これらの通知の受信者アドレスを指定できます。
- CIDRAMからEメールで通知を受け取ることを選択した場合、例えば、特定の補助ルールがトリガーされたとき、ここで、これらの通知の受信者名を指定できます。
- 通知が生成された後に送信するタイミング。
email_notification_when
├─Immediately ("すぐに。")
├─After24Hours ("24時間後、まとめてバンドルされます(または、cronなどによって手動でトリガーされた場合)。")
└─ManuallyOnly ("手動でトリガーされた場合のみ(例:cron経由)。")
CIDRAMによって使用されるコンポーネントをアクティブ化および非アクティブ化するための設定。 通常、アップデート・ページに入力されますが、ここから管理して、より細かく制御したり、アップデート・ページで認識されないカスタム・コンポーネントを管理したりすることもできます。
- IPv4シグネチャ・ファイル。
- IPv6シグネチャ・ファイル。
- モジュール。
- 輸入。 通常、コンポーネントのコンフィギュレーション情報をCIDRAMに提供するために使用されます。
- イベント・ハンドラー。 通常、CIDRAMの内部動作を変更したり、追加機能を提供したりするために使用されます。
ロギングに関連するコンフィギュレーション(他のカテゴリに該当するものを除く)。
- アクセス試行阻止の記録、人間によって読み取り可能。 ファイル名指定するか、無効にしたい場合は空白のままにして下さい。
役に立つヒント:時刻形式のプレースホルダーを使用して、ログ・ファイルの名前に日付/時刻情報を添付できます。 使用可能な時刻形式のプレースホルダーがgeneral➡time_formatに表示されます。
- アクセス試行阻止の記録、Apacheスタイル。 ファイル名指定するか、無効にしたい場合は空白のままにして下さい。
役に立つヒント:時刻形式のプレースホルダーを使用して、ログ・ファイルの名前に日付/時刻情報を添付できます。 使用可能な時刻形式のプレースホルダーがgeneral➡time_formatに表示されます。
- アクセス試行阻止の記録、シリアル化されました。 ファイル名指定するか、無効にしたい場合は空白のままにして下さい。
役に立つヒント:時刻形式のプレースホルダーを使用して、ログ・ファイルの名前に日付/時刻情報を添付できます。 使用可能な時刻形式のプレースホルダーがgeneral➡time_formatに表示されます。
- 検出された致命的でないエラーを記録するためのファイル。 ファイル名指定するか、無効にしたい場合は空白のままにして下さい。
役に立つヒント:時刻形式のプレースホルダーを使用して、ログ・ファイルの名前に日付/時刻情報を添付できます。 使用可能な時刻形式のプレースホルダーがgeneral➡time_formatに表示されます。
- アウトバウンド・リクエストの結果を記録するためのファイル。 ファイル名指定するか、無効にしたい場合は空白のままにして下さい。
役に立つヒント:時刻形式のプレースホルダーを使用して、ログ・ファイルの名前に日付/時刻情報を添付できます。 使用可能な時刻形式のプレースホルダーがgeneral➡time_formatに表示されます。
- 外部APIに送信されたレポートを記録するためのファイル。 ファイル名指定するか、無効にしたい場合は空白のままにして下さい。
役に立つヒント:時刻形式のプレースホルダーを使用して、ログ・ファイルの名前に日付/時刻情報を添付できます。 使用可能な時刻形式のプレースホルダーがgeneral➡time_formatに表示されます。
- ログ・ファイルが一定のサイズに達したら切り詰めますか?値は、ログ・ファイルが切り捨てられる前に大きくなる可能性があるB/KB/MB/GB/TB単位の最大サイズです。 デフォルト値の0KBは切り捨てを無効にします (ログ・ファイルは無期限に拡張できます)。 注:個々のログ・ファイルに適用されます。 ログ・ファイルのサイズは一括して考慮されません。
- ログ・ローテーションは、一度に存在する必要があるログ・ファイルの数を制限します。 新しいログ・ファイルが作成されると、ログ・ファイルの総数が指定された制限を超えると、指定されたアクションが実行されます。 ここで希望の制限を指定することができます。 値「0」は、ログ・ローテーションを無効にします。
- ログ・ローテーションは、一度に存在する必要があるログ・ファイルの数を制限します。 新しいログ・ファイルが作成されると、ログ・ファイルの総数が指定された制限を超えると、指定されたアクションが実行されます。 ここで希望のアクションを指定できます。
log_rotation_action
├─Delete ("最も古いログ・ファイルを削除して、制限を超過しないようにします。")
└─Archive ("最初にアーカイブしてから、最も古いログ・ファイルを削除して、制限を超過しないようにします。")
- 禁止されたIPからブロックされたリクエストをログ・ファイルに含めますか? True = はい(Default/デフォルルト)。 False = いいえ。
- フロントエンドのログページを使用してログデータを表示する場合、XSS攻撃やその他の潜在的な脅威からユーザーを保護する、CIDRAMはログデータを表示前にサニタイズします。 ただし、デフォルトでは、データはロギング中にサニタイズされません。 これは、ログデータが正確に記録されるようにするためです(将来必要になる可能性があるヒューリスティックまたはフォレンジック分析に役立ちます)。 ただし、ユーザーが外部ツールを使用してログデータを読み込もうとした場合、それらの外部ツールが独自のサニティゼーション・プロセスを実行しない場合、ユーザーがXSS攻撃にさらされる可能性があります。 必要に応じて、このコンフィギュレーション・ディレクティブを使ってデフォルトの動作を変更することができます。 True = データを記録するときは、それをサニタイズして(記録データの精度はもっと低いですが、XSSリスクはもっと低いです)。 False = データを記録するときは、それをサニタイズしない(記録データの精度はもっと高いですが、XSSリスクはもっと高いです)。 Default/デフォルルト = False。
フロントエンド・コンフィギュレーション。
- フロントエンド・ログインの試みを記録するためのファイル。 ファイル名指定するか、無効にしたい場合は空白のままにして下さい。
役に立つヒント:時刻形式のプレースホルダーを使用して、ログ・ファイルの名前に日付/時刻情報を添付できます。 使用可能な時刻形式のプレースホルダーがgeneral➡time_formatに表示されます。
- フロントエンドを介してシグネチャ・ファイルが更新されたときにログに記録するためのファイル。 ファイル名指定するか、無効にしたい場合は空白のままにして下さい。
役に立つヒント:時刻形式のプレースホルダーを使用して、ログ・ファイルの名前に日付/時刻情報を添付できます。 使用可能な時刻形式のプレースホルダーがgeneral➡time_formatに表示されます。
- ログイン試行の最大回数(フロントエンド)。 Default/デフォルルト = 5。
- フロントエンドに使用するテーマ。
theme
├─default ("Default")
├─bluemetal ("Blue Metal")
├─fullmoon ("Full Moon")
├─moss ("Moss")
├─primer ("Primer")
├─primerdark ("Primer Dark")
├─rbi ("Red-Blue Inverted")
├─slate ("Slate")
└─…その他
- フロントエンドに使用するテーマのモード。
theme_mode
├─normal ("普通")
└─inverted ("反転")
- フォントの倍率。 Default/デフォルルト = 1。
- すべてのフロントエンド・ページの最初にHTMLとして挿入されます。 ウェブサイトのロゴ、パーソナライズされたヘッダー、スクリプト、などに役立ちます。
- すべてのフロントエンド・ページの最下部にHTMLとして挿入されます。 法的通知、連絡先リンク、ビジネス情報、などに役立ちます。
- アップデーターがコンポーネント・メタデータをフェッチするために使用するアドレスのリスト。 これは、新しいメジャーバージョンにアップグレードするとき、または更新用の新しいソースを取得するときに調整する必要がある場合がありますが、通常の状況ではそのままにしておく必要があります。
- このディレクティブは、フロントエンド・アカウントに2FAを使用するかどうかを決定します。
シグネチャ、シグネチャ・ファイル、モジュール、などのコンフィギュレーション。
- 与えられた速記語を利用するシグネチャに対してポジティブ・マッチがある場合に、リクエストをどう処理するかを制御のためです。
shorthand───[それをブロックします。]─[それをプロファイルします。]─[ブロックされている場合、出力テンプレートを抑制する。]
├─Attacks ("攻撃")
├─Bogon ("⁰ ボゴンIP")
├─Cloud ("クラウド・サービス")
├─Generic ("ジェネリック")
├─Legal ("¹ 法的")
├─Malware ("マルウェア")
├─Proxy ("² プロキシ")
├─Spam ("スパム")
├─Banned ("³ 禁止された")
├─BadIP ("³ 無効なIP")
├─RL ("³ レート制限は達しました")
├─Conflict ("³ 競合")
└─Other ("⁴ その他")
0. ウェブサイトにLANまたはlocalhost「ローカルホスト」経由でアクセスする必要がある場合は、これをブロックしないで。 それ以外の場合は、これをブロックできます。
1. デフォルト・シグネチャ・ファイルはどれもこれを使用していませんが、それでも一部のユーザーにとって役立つ可能性がある場合に備えてサポートされています。
2. ユーザーがプロキシ経由でウェブサイトにアクセスできるようにする必要がある場合は、これをブロックしないで。 それ以外の場合は、これをブロックできます。
3. シグネチャ内直接使用はサポートされていませんが、特定の状況では他の方法で呼び出される場合があります。
4. 速記語をまったく使用されていないか、CIDRAMによって認識されない場合を参照します。
シグネチャごとに一つ。 シグネチャは複数のプロファイルを呼び出すことができますが、速記語を一つだけ使用できます。 複数の速記語が適切な場合もありますが、一つしか使用できないため、常に最適な速記語のみを使用することを目指しています。
優先順位。 選択されたオプションは、選択されていないオプションよりも常に優先されます。 たとえば、複数の速記語が使用されているが、そのうちの一つだけがブロックされるように設定されている場合、リクエストは引き続きブロックされます。
ヒューマン・エンドポイントとクラウド・サービス。 クラウド・サービスは、ウェブホスティング・プロバイダー、サーバー・ファーム、データ・センター、またはその他の多くのものを参照場合があります。 ヒューマン・エンドポイントは、人間がインターネットにアクセスする手段を参照します、たとえば、インターネット・サービス・プロバイダーなどを介して。 ネットワークは通常、どちらか一方のみを提供しますが、両方を提供する場合もあります。 私たちは、潜在的なヒューマン・エンドポイントをクラウド・サービスとして決して識別しないことを目指しています。 したがって、クラウド・サービスの範囲が既知のヒューマン・エンドポイントによって共有されている場合、クラウド・サービスは別のものとして識別される可能性があります。 同様に、既知のヒューマン・エンドポイントと共有される範囲がない場合は、常にクラウド・サービスとして識別しようとします。 したがって、クラウド・サービスとして明示的に識別されたリクエストは、範囲を既知のヒューマン・エンドポイントと共有する可能性が低いです。 同様に、攻撃またはスパム・リスクによって明示的に識別されたリクエストは、範囲を共有する可能性が高いです。 ただし、インターネットは常に流動的であり、ネットワークの目的は時間の経過とともに変化し、範囲は常に売買されているため、偽陽性については意識し、警戒してください。
- IPアドレスを追跡する期間。 Default/デフォルルト = 「7d0°0′0″」 (1週間)。
- IPがIPトラッキングによって禁止される前に発生することが、許される違反の最大数。 Default/デフォルルト = 10。
- モジュールが追跡オプションをオーバーライドできるようにしますか? True = はい(Default/デフォルルト)。 False = いいえ。
- 同じリソースへの同時アクセス試行が多すぎる場合(同じリソースに対して同じマシン上の複数のPHPプロセスへの同時リクエストなど)、それらの試行の一部が失敗する可能性があります。 万が一、これがシグネチャ・ファイルまたはモジュールに影響した場合、CIDRAMはリクエストに関して有効な決定を下すことができなくなる可能性があります。 このような場合、リクエストはブロックされる必要がありますか?また、CIDRAMは、どのHTTPステータス・メッセージを送信する必要がありますか?
conflict_response
├─0 (リクエストをブロックしないでください。): リクエストが悪質であると確信できる場合にのみリクエストをブロックしたい場合、または誤検知に関して慎重を期したい場合(不要なトラフィックが時々通過してしまうという犠牲を払って)、これを選択してください。
│ リクエストが無害かどうか確信が持てない場合にリクエストをブロックしたい場合、または警戒を怠らない場合(時折誤検知が発生する可能性はあるもの)、利用可能な他のオプションのいずれかを選択してください。
├─409 (409 Conflict (競合)): リソースの競合(マージの競合、ファイル・アクセスの競合、など)の場合に推奨されます。
│ 他のコンテキストでは推奨されません。
└─429 (429 Too Many Requests (リクエストが多すぎます)): レート制限、DDoS攻撃に対処する場合、およびフラッド防止に推奨されます。
他のコンテキストでは推奨されません。
リクエストの発信元を確認するためコンフィギュレーション。
- 検索エンジンからのリクエストを検証するためのコントロール。
search_engines───[確認してみますか?]─[陰性をブロックしますか?]─[未確認のリクエストをブロックしますか?]─[シングル・ヒット・バイパスを許可しますか?]─[陽性の追跡をやめますか?]
├─Amazonbot ("Amazonbot")
├─Applebot ("Applebot")
├─Baidu ("* Baiduspider/百度")
├─Bingbot ("* Bingbot")
├─DuckDuckBot ("* DuckDuckBot")
├─Googlebot ("* Googlebot")
├─MojeekBot ("MojeekBot")
├─PetalBot ("* PetalBot")
├─Qwantify ("Qwantify/Bleriot")
├─SeznamBot ("SeznamBot")
├─Sogou ("* Sogou/搜狗")
├─Yahoo ("Yahoo/Slurp")
├─Yandex ("* Yandex/Яндекс")
└─YoudaoBot ("YoudaoBot")
「陽性」と「陰性」とは何ですか? リクエストによって提示されたIDを検証する場合、成功した結果は「陽性」または「陰性」と記述できます。 提示されたIDが真のIDであることが確認された場合、「陽性」と記述されます。 提示されたIDが偽物であることが確認された場合、「陰性」と記述されます。 ただし、失敗した結果(たとえば、検証が失敗した、または提示されたIDの信憑性を判断できない)は、「陽性」または「陰性」とは記述れません。 代わりに、失敗した結果は単に未確認として記述されます。 リクエストによって提示されたIDを検証する試みが行われない場合、リクエストは同様に未検証として記述されます。 この用語は、リクエストによって提示されたIDが認識されるコンテキストでのみ意味があります(したがって、検証が可能な場合)。 提示されたIDが上記のオプションと一致しない場合、またはIDが提示されていない場合、上記のオプションは無関係になります。
「シングル・ヒット・バイパス」とは何ですか? 場合によっては、シグネチャ・ファイル、モジュール、またはリクエストの他の条件の結果として、肯定的に検証されたリクエストがブロックされることがあります、誤検知を回避するためにバイパスが必要になる場合があります。 バイパスが正確に一つの違反を処理することを目的としている場合、そのようなバイパスは「シングル・ヒット・バイパス」として記述できます。
- このオプションには、
bypasses➡usedの下に対応するバイパスがあります。 対応するバイパスのチェックボックスが、このオプションの検証のチェックボックスと同じようにマークされていることを確認することをお勧めします。
- ソーシャル・メディア・プラットフォームからのリクエストを検証するためのコントロール。
social_media───[確認してみますか?]─[陰性をブロックしますか?]─[未確認のリクエストをブロックしますか?]─[シングル・ヒット・バイパスを許可しますか?]─[陽性の追跡をやめますか?]
├─Embedly ("* Embedly")
├─Facebook ("** Facebook")
├─Pinterest ("* Pinterest")
├─Snapchat ("* Snapchat")
└─Twitterbot ("*!! Twitterbot")
「陽性」と「陰性」とは何ですか? リクエストによって提示されたIDを検証する場合、成功した結果は「陽性」または「陰性」と記述できます。 提示されたIDが真のIDであることが確認された場合、「陽性」と記述されます。 提示されたIDが偽物であることが確認された場合、「陰性」と記述されます。 ただし、失敗した結果(たとえば、検証が失敗した、または提示されたIDの信憑性を判断できない)は、「陽性」または「陰性」とは記述れません。 代わりに、失敗した結果は単に未確認として記述されます。 リクエストによって提示されたIDを検証する試みが行われない場合、リクエストは同様に未検証として記述されます。 この用語は、リクエストによって提示されたIDが認識されるコンテキストでのみ意味があります(したがって、検証が可能な場合)。 提示されたIDが上記のオプションと一致しない場合、またはIDが提示されていない場合、上記のオプションは無関係になります。
「シングル・ヒット・バイパス」とは何ですか? 場合によっては、シグネチャ・ファイル、モジュール、またはリクエストの他の条件の結果として、肯定的に検証されたリクエストがブロックされることがあります、誤検知を回避するためにバイパスが必要になる場合があります。 バイパスが正確に一つの違反を処理することを目的としている場合、そのようなバイパスは「シングル・ヒット・バイパス」として記述できます。
- このオプションには、
bypasses➡usedの下に対応するバイパスがあります。 対応するバイパスのチェックボックスが、このオプションの検証のチェックボックスと同じようにマークされていることを確認することをお勧めします。
** ASNルックアップ機能が必要です(たとえば、IP-APIモジュールまたはBGPViewモジュールを介して)。
*!! iMessageによる誤検知の可能性が高い。
- 可能な場合は、他の種類のリクエストを検証するためのコントロール。
other───[確認してみますか?]─[陰性をブロックしますか?]─[未確認のリクエストをブロックしますか?]─[シングル・ヒット・バイパスを許可しますか?]─[陽性の追跡をやめますか?]
├─AdSense ("AdSense")
├─AmazonAdBot ("* AmazonAdBot")
├─ChatGPT-User ("!! ChatGPT-User")
├─GPTBot ("!! GPTBot")
├─OAI-SearchBot ("!! OAI-SearchBot")
└─UptimeRobot ("UptimeRobot")
「陽性」と「陰性」とは何ですか? リクエストによって提示されたIDを検証する場合、成功した結果は「陽性」または「陰性」と記述できます。 提示されたIDが真のIDであることが確認された場合、「陽性」と記述されます。 提示されたIDが偽物であることが確認された場合、「陰性」と記述されます。 ただし、失敗した結果(たとえば、検証が失敗した、または提示されたIDの信憑性を判断できない)は、「陽性」または「陰性」とは記述れません。 代わりに、失敗した結果は単に未確認として記述されます。 リクエストによって提示されたIDを検証する試みが行われない場合、リクエストは同様に未検証として記述されます。 この用語は、リクエストによって提示されたIDが認識されるコンテキストでのみ意味があります(したがって、検証が可能な場合)。 提示されたIDが上記のオプションと一致しない場合、またはIDが提示されていない場合、上記のオプションは無関係になります。
「シングル・ヒット・バイパス」とは何ですか? 場合によっては、シグネチャ・ファイル、モジュール、またはリクエストの他の条件の結果として、肯定的に検証されたリクエストがブロックされることがあります、誤検知を回避するためにバイパスが必要になる場合があります。 バイパスが正確に一つの違反を処理することを目的としている場合、そのようなバイパスは「シングル・ヒット・バイパス」として記述できます。
- このオプションには、
bypasses➡usedの下に対応するバイパスがあります。 対応するバイパスのチェックボックスが、このオプションの検証のチェックボックスと同じようにマークされていることを確認することをお勧めします。
!! ほとんどのユーザーは、本物か偽造かに関係なく、これをブロックすることを望むでしょう。 これは、「確認してみますか」を選択せず、「未確認のリクエストをブロックしますか」を選択することで実現できます。 ただし、一部のユーザーはそのようなリクエストを検証できるようにしたい場合があるため(陽性を許可しながら陰性をブロックするため)、モジュールを介してそのようなリクエストをブロックする代わりに、そのようなリクエストを処理するためのオプションがここで提供されます。
- 検証のコンテキストで他の機能を調整するためのコントロール。
adjust───[HCaptchaを抑制して]─[Friendly Captchaを抑制して]─[Cloudflare Turnstileを抑制して]
├─Negatives ("ブロックされた陰性")
└─NonVerified ("ブロックされた未確認")
キャプチャの設定(ブロックされたときに人間がアクセスを取り戻す方法を提供します)。
- キャプチャはいつ提供されるべきでしょうか?ここで、サポートされている各プロバイダーの優先動作を指定できます。
usemode───[hCaptcha]─[Friendly Captcha]─[Cloudflare Turnstile]
├─0 (決して。)
├─1 (ブロックされ、シグネチャの制限内であり、禁止されていない場合のみ。)
├─2 (ブロックされ、シグネチャの制限内であり、使用するために特別にマークされている、禁止されていない場合のみ。)
├─3 (シグネチャの制限内であり、禁止されていない場合のみ(ブロックされているかどうかに関係なく)。)
├─4 (ブロックされていない場合のみ。)
├─5 (ブロックされていない場合、またはシグネチャの制限内であり、使用するために特別にマークされている場合のみ。)
└─6 (ブロックされていない場合、機密ページのリクエストの場合のみ。)
注: ホワイト・リストされまたは検証済みでブロックされていないリクエストは、キャプチャを完了する必要はありません。
また注意してください: キャプチャは、ボットやさまざまな種類の悪意のある自動化されたリクエストに対する有用な追加の保護レイヤーを提供できますが、悪意のある人間に対する保護は提供しません。
リクエストは、補助ルールによって「使用対象としてマーク」できます。
リクエストが「機密」であるかどうかは、general➡sensitiveによって決まります。
「シグネチャの制限」は、captcha➡signature_limitによって決まります。
- ブロックされていないリクエストにキャプチャを表示する場合、どのステータス・コードを使用する必要がありますか?
nonblocked_status_code───[hCaptcha]─[Friendly Captcha]─[Cloudflare Turnstile]
├─200 (200 OK (大丈夫です)): それは最小の堅牢が、最もユーザー・フレンドリーです。
│ 自動化されたリクエストは、この応答をリクエストが成功したことを示すものとして解釈する可能性があります。
│ ブロックされていないリクエストに推奨されます。
├─403 (403 Forbidden (禁断)): それはもっと堅牢ですが、少ないユーザー・フレンドリーです。
│ ほとんどの場合に推奨されます。
├─418 (418 I'm a teapot (私はティーポットです)): エイプリル・フールのジョークを参照しています(<a
│ href="https://tools.ietf.org/html/rfc2324" dir="ltr" hreflang="en-US"
│ rel="noopener noreferrer external">RFC 2324</a>)。
│ クライアント、ボット、ブラウザ、などに理解される可能性はほとんどありません。
│ 娯楽と利便性のために提供されていますが、一般的にはお勧めしません。
├─429 (429 Too Many Requests (リクエストが多すぎます)): レート制限、DDoS攻撃に対処する場合、およびフラッド防止に推奨されます。
│ 他のコンテキストでは推奨されません。
└─451 (451 Unavailable For Legal Reasons (法的な理由で利用できません)): 主に法的な理由でブロックする場合に推奨されます。
他のコンテキストでは推奨されません。
- どのAPIを使用するのですか?
api───[hCaptcha]─[Friendly Captcha]─[Cloudflare Turnstile]
├─v0 ("v0")
├─v1 ("v1")
├─Invisible ("v1 (インビジブル)")
└─v2 ("v2")
- キャプチャと一緒に表示されるメッセージ。
messages───[hCaptcha]─[Friendly Captcha]─[Cloudflare Turnstile]
├─cookie_warning ("クッキーの警告を表示しますか?): お住まいの国または州のプライバシー法(例えば、EUのGDPR/DSGVO、ブラジルのLGPD、など)に応じて、これが法的に義務付けられている場合があります。"
└─api_message ("APIメッセージを表示しますか?): キャプチャの完了に関して、使用されているAPIに適したユーザーへの指示。"
- キャプチャをロックする対象。
lockto───[hCaptcha]─[Friendly Captcha]─[Cloudflare Turnstile]
├─ip ("キャプチャは、キャプチャを完了したユーザーのIPアドレスにロックしますが、実際のユーザーにはロックされません。): クッキーは、ユーザーを識別するために使用されません。
│ キャプチャが正常に完了してアクセスが回復された場合、同じIPアドレスから接続するすべてのユーザーに適用されます。"
├─user ("キャプチャは、キャプチャを完了したユーザーにロックしますが、IPアドレスにはロックされません。): クッキーは、ユーザーを識別するために使用されます。
│ キャプチャが正常に完了してアクセスが回復された場合、それはキャプチャを完了したユーザーにのみ適用され、クッキーが有効である限り、IPアドレスが変更されても、持続します。"
└─both ("キャプチャは、キャプチャを完了したユーザーとそのIPアドレスにロックします。): クッキーは、ユーザーを識別するために使用されます。
キャプチャが正常に完了してアクセスが回復された場合、それはキャプチャを完了したユーザーにのみ適用されます。
IPアドレスが変更されるとアクセスは継続されなくなります。"
- HCaptcha「Hキャプチャ」を、CIDRAM「シドラム」で使いたいときは、ここに値を入力する必要があります。 使用しない場合は、無視しても大丈夫です。
この値は、キャプチャ・サービスのダッシュボードに表示されます。
参照してください:
- HCaptcha「Hキャプチャ」を、CIDRAM「シドラム」で使いたいときは、ここに値を入力する必要があります。 使用しない場合は、無視しても大丈夫です。
この値は、キャプチャ・サービスのダッシュボードに表示されます。
参照してください:
- Friendly Captcha「フレンドリー・キャプチャ」を、CIDRAM「シドラム」で使いたいときは、ここに値を入力する必要があります。 使用しない場合は、無視しても大丈夫です。
この値は、キャプチャ・サービスのダッシュボードに表示されます。
参照してください:
- Friendly Captcha「フレンドリー・キャプチャ」を、CIDRAM「シドラム」で使いたいときは、ここに値を入力する必要があります。 使用しない場合は、無視しても大丈夫です。
この値は、キャプチャ・サービスのダッシュボードに表示されます。
参照してください:
- Cloudflare Turnstile「クラウドフレア・ターンスタイル」を、CIDRAM「シドラム」で使いたいときは、ここに値を入力する必要があります。 使用しない場合は、無視しても大丈夫です。
この値は、キャプチャ・サービスのダッシュボードに表示されます。
参照してください:
- Cloudflare Turnstile「クラウドフレア・ターンスタイル」を、CIDRAM「シドラム」で使いたいときは、ここに値を入力する必要があります。 使用しない場合は、無視しても大丈夫です。
この値は、キャプチャ・サービスのダッシュボードに表示されます。
参照してください:
- キャプチャ・インスタンスを覚えておく時間数。 Default(デフォルルト) = 720(1ヶ月)。
- キャプチャが取り消される前に許可されるシグネチャの最大数。 Default/デフォルルト = 1。
- キャプチャ試行の記録。 ファイル名指定するか、無効にしたい場合は空白のままにして下さい。
役に立つヒント:時刻形式のプレースホルダーを使用して、ログ・ファイルの名前に日付/時刻情報を添付できます。 使用可能な時刻形式のプレースホルダーがgeneral➡time_formatに表示されます。
法的要件のコンフィギュレーション。
- ログ・ファイルを書き込むときにIPアドレス偽名化するか「プセユードニマイズ」? True = はい(Default/デフォルルト)。 False = いいえ。
参照してください:
- 生成されたページのフッターに表示される関連プライバシー・ポリシーのアドレス。 URLを指定するか、無効にしたい場合は空白のままにして下さい。
テンプレートとテーマの設定。
- ブロック・イベントとキャプチャ・リクエストに使用するテーマ。
theme
├─default ("Default")
├─bluemetal ("Blue Metal")
├─fullmoon ("Full Moon")
├─moss ("Moss")
├─primer ("Primer")
├─primerdark ("Primer Dark")
├─rbi ("Red-Blue Inverted")
├─slate ("Slate")
└─…その他
- ブロック・イベントとキャプチャ・リクエストに使用するテーマのモード。
theme_mode
├─normal ("普通")
└─inverted ("反転")
- フォントの倍率。 Default/デフォルルト = 1。
- カスタムテーマのCSSファイルURL。
- ブロック・イベントに表示するページ・タイトル。
block_event_title
├─CIDRAM ("CIDRAM")
├─denied ("アクセス拒否!")
└─…その他
- キャプチャ・リクエストに表示するページ・タイトル。
captcha_title
├─CIDRAM ("CIDRAM")
└─…その他
- すべての「アクセス拒否」ページの最初にHTMLとして挿入されます。 ウェブサイトのロゴ、パーソナライズされたヘッダー、スクリプト、などに役立ちます。
- すべての「アクセス拒否」ページの最下部にHTMLとして挿入されます。 法的通知、連絡先リンク、ビジネス情報、などに役立ちます。
レート制限の設定(一般的な使用には推奨されません)。
ご注意ください、他のすべてのCIDRAM機能と同様に、CIDRAMのレート制限機能は、CIDRAMが接続されているページとリソースにのみ適用できます。 これは通常、接続されたPHPリソースによって明示的に提供される場合を除き、非PHPリソースはカバーされないことを意味します。 サーバー・モジュール、cPanel、またはその他のネットワーク・ツールを使用してレート制限を強制できる場合は、CIDRAMのレート制限機能の代わりにそれらを使用する方が適切です。 また、やる気と決意のあるユーザーは、IPアドレスをローテーションしたり、CIDRAMがまだ認識していないプロキシやVPNプロバイダーに切り替えたりすることで、レート制限を簡単に回避できます。 また、レート制限は実際のエンド・ユーザーにとって非常に迷惑になる可能性があります。 時には必要になることもありますが、望ましいことはめったにありません。
- 将来のリクエストに対してレート制限を有効にする前の許容期間内に許容される最大帯域幅。 0の値は、このタイプのレート制限を無効にします。 Default/デフォルルト = 0KB。
- 将来のリクエストに対してレート制限を有効にする前に、許容期間内に許可されるリクエストの最大数。 0の値は、このタイプのレート制限を無効にします。 Default/デフォルルト = 0。
- IPv4の使用状況を監視する際の精度。 値はCIDRブロック・サイズを反映します。 最高の精度を得るには32に設定します。 Default/デフォルルト = 32。
- IPv6の使用状況を監視する際の精度。 値はCIDRブロック・サイズを反映します。 最高の精度を得るには128に設定します。 Default/デフォルルト = 128。
- 使用状況を監視する期間。 Default/デフォルルト = 0°0′0″。
- 例外(すなわち、レート制限されるべきではないリクエスト)。 レート制限が有効な場合にのみ効果があります。
exceptions
├─Whitelisted ("ホワイトリストに登録されたリクエスト")
├─Verified ("検証済みの検索エンジンとソーシャル・メディアのリクエスト")
└─FE ("CIDRAMフロントエンドへのリクエスト")
- 異なるドメインおよびホストのクォータを分離または共有する必要がありますか? True = クォータは分離されます。 False = クォータは共有されます(Default/デフォルルト)。
補足キャッシュ・オプション。 注:これらの値を変更すると、ログアウトする可能性があります。
- ここで指定された値は、すべてのキャッシュ・エントリ・キーの前に追加されます。 Default/デフォルルト = 「CIDRAM_」。 同じサーバーに複数のインストールが存在する場合、これはキャッシュを互いに分離しておくのに役立ちます。
- キャッシュに「APCu」を使用するかどうかを指定します。 Default/デフォルルト = True。
- キャッシュに「Memcached」を使用するかどうかを指定します。 Default/デフォルルト = False。
- キャッシュに「Redis」を使用するかどうかを指定します。 Default/デフォルルト = False。
- キャッシュに「PDO」を使用するかどうかを指定します。 Default/デフォルルト = False。
- Memcachedのホスト値。 Default/デフォルルト = localhost。
- Memcachedのポート値。 Default/デフォルルト = 「11211」。
- Redisのホスト値。 Default/デフォルルト = localhost。
- Redisのポート値。 Default/デフォルルト = 「6379」。
- Redisのタイムアウト値。 Default/デフォルルト = 「2.5」。
- Redisのデータベース番号。 Default/デフォルルト = 0。 注:Redis Clusterでは、0 以外の値を使用できません。
- PDOのDSN値。 Default/デフォルルト = 「mysql:dbname=cidram;host=localhost;port=3306」。
FAQ。 「PDO DSN」とは何ですか?CIDRAMでPDOを使用するにはどうすればよいですか?
- PDOのユーザー名。
- PDOのパスワード。
デフォルト・シグネチャ・バイパスのコンフィギュレーション。
- どのバイパスを使用する必要がありますか?
used
├─AbuseIPDB ("AbuseIPDB")
├─AmazonAdBot ("AmazonAdBot")
├─Baidu ("Baiduspider/百度")
├─Bingbot ("Bingbot")
├─DuckDuckBot ("DuckDuckBot")
├─Embedly ("Embedly")
├─Feedbot ("Feedbot")
├─Feedspot ("Feedspot")
├─GoogleFiber ("Google Fiber")
├─Googlebot ("Googlebot")
├─Jetpack ("Jetpack")
├─PetalBot ("PetalBot")
├─Pinterest ("Pinterest")
├─Redditbot ("Redditbot")
├─Snapchat ("Snapchat")
├─Sogou ("Sogou/搜狗")
├─Yandex ("Yandex/Яндекс")
└─iCloud ("iCloud (iPhone Safari Bypass)")
すべてのIPv4シグネチャはこの形式に従います:xxx.xxx.xxx.xxx/yy 「機能」 「パラメータ」
xxx.xxx.xxx.xxxは、CIDRブロックの先頭を表します(ブロックの最初のIPアドレスのオクテット)。yyは、ブロックサイズを表します(1ー32)。「機能」は、スクリプトにシグネチャの処理方法を指示します。「パラメータ」は、「機能」で必要、な追加情報を表します。
すべてのIPv6シグネチャはこの形式に従います:xxxx:xxxx:xxxx:xxxx::xxxx/yy 「機能」 「パラメータ」
xxxx:xxxx:xxxx:xxxx::xxxxは、CIDRブロックの先頭を表します(ブロックの最初のIPアドレスのオクテット)。 完全表記と省略表記の両方が可能です。 彼らはIPv6仕様に準拠する必要があります、1つの例外を除いて:CIDRAMでは、IPv6アドレスは省略で始めることはできません。 例えば:::1/128は0::1/128、そして::0/128は0::/128と表す必要があります。yyは、ブロックサイズを表します(1ー128)。「機能」は、スクリプトにシグネチャの処理方法を指示します。「パラメータ」は、「機能」で必要、な追加情報を表します。
シグネチャ・ファイルの改行はUnix標準を使用すべきです (%0A、\n)。 他の標準も使用できますが、推奨されません (例えば、Windowsの%0D%0A、\r\n、Macの%0D、\r、等)。 非UNIX改行は正規化されます。
正確で正しいCIDR表記が必要です。 スクリプトは、不正確な表記(または、不正確な表記を伴うシグネチャ)を認識しません。 さらに、すべてのCIDRは、均等に割り切れる必要があります(例えば、10.128.0.0から11.127.255.255までのすべてをブロックしたい場合、10.128.0.0/8はスクリプトによって認識されません、しかし、10.128.0.0/9と11.0.0.0/9を組み合わせて使用するとは、スクリプトによって認識されます)。
スクリプトによって認識されないシグネチャ・ファイル内のものは無視されます。 つまり、シグネチャ・ファイルを破損することなく、ほぼすべてのデータをシグネチャ・ファイルに安全に入れることができます。 シグネチャ・ファイルのコメントは受け入れ可能です。 特殊な書式設定は必要ありません。 シェル形式のハッシュが推奨されますが、強制はされません(シェルスタイルのハッシングは、IDEやプレーンテキストエディタに役立ちます)。
「機能」の可能な値:
- Run
- Whitelist
- Greylist
- Deny
「Run」を使用すると、シグネチャがトリガーされると、スクリプトはrequire_onceステートメントによって(「パラメータ」値で指定されます)外部のPHPスクリプトの実行を試みます。 作業ディレクトリは「/vault/」ディレクトリです。
例:127.0.0.0/8 Run example.php
特定のIP/CIDRに対して特定のPHPコードを実行する場合に便利です。
「Whitelist」を使用すると、シグネチャがトリガーされると、スクリプトはすべての検出をリセットします(何かの検出があった場合)、テスト機能を終了します。 「パラメータ」は無視されます。 これは、IPまたはCIDRをホワイトリストに登録するのと同じです。
例:127.0.0.1/32 Whitelist
「Greylist」を使用すると、シグネチャがトリガーされると、スクリプトはすべての検出をリセットします(何かの検出があった場合)、処理を続行するために次のシグネチャ・ファイルにスキップする。 「パラメータ」は無視されます。
例:127.0.0.1/32 Greylist
「Deny」を使用すると、シグネチャがトリガーされると、保護されたページへのアクセスは拒否されます(IP/CIDRがホワイトリストに登録されていない場合)。 「Deny」は、実際にIPアドレスとCIDRの範囲をブロックするために使用するものです。 「Deny」を使用するシグネチャがトリガーされると、「アクセス拒否」ページが生成され、保護されたページへのリクエストが終了します。
「Deny」によって受け入れられた「パラメータ」値は、「アクセス拒否」ページ出力に処理されます、リクエストされたページへのアクセスが拒否された理由として、クライアント/ユーザーに提供されます。 それは短くて簡単な文章にすることができます(なぜそれらをブロックすることを選択したのか説明するために)。 また、略語とすることもできます(事前準備された説明をクライアント/ユーザーに提供する)。
あらかじめ用意された説明にはL10Nのサポートがあり、スクリプトで翻訳することができます。 翻訳は、スクリプト・コンフィギュレーションのlangディレクティブを使用して指定した言語に基づいて行われます。 さらに、これらの短縮形の単語を使用している場合、「パラメータ」値に基づいて 「Deny」シグネチャを無視するようスクリプトに指示できます。 これは、スクリプト設定で指定されたディレクティブを介して行われます(それぞれの省略形に対応するディレクティブがあります)。 ただし、他の「パラメータ」値にはL10Nがサポートされていません(したがって、他の値は翻訳されません、そしてコンフィギュレーションによって制御可能ではない)。
略語:
- Attacks
- Bogon
- Cloud
- Generic
- Legal
- Malware
- Proxy
- Spam
セクション名と「セクション・タグ」を追加することにより、スクリプトに対する個々のセクションを識別することができます(以下の例を参照してください)。
# セクション1。
1.2.3.4/32 Deny Bogon
2.3.4.5/32 Deny Cloud
4.5.6.7/32 Deny Generic
5.6.7.8/32 Deny Spam
6.7.8.9/32 Deny Proxy
Tag: セクション1
セクション・タグを終了し、シグネチャセクションが誤って識別されないようにするには、タグと前のセクションの間に少なくとも2つの改行が連続していることを確認してください。 タグなしシグネチャは、デフォルトで「IPv4」または「IPv6」のいずれかになります(どのタイプのシグネチャがトリガされているかに応じて)。
1.2.3.4/32 Deny Bogon
2.3.4.5/32 Deny Cloud
4.5.6.7/32 Deny Generic
5.6.7.8/32 Deny Spam
Tag: セクション1
上記の例で、1.2.3.4/32と2.3.4.5/32は、「IPv4」でタグ付けされま;す一方、4.5.6.7/32と5.6.7.8/32は、「セクション1」でタグ付けされま。
他のタイプのタグの分離にも同じロジックを適用することができます。
セクション・タグは、偽陽性が発生した場合のデバッグに非常に役立ちます。 彼らが、問題の正確な原因を簡単に見つける方法を提供します。 フロントエンド・ログ・ページからログ・ファイルを表示するときに、ログ・ファイル・エントリをフィルタリングするのに非常に役立ちます(セクション名はフロントエンド・ログ・ページでクリック可能で、フィルタリング基準として使用できます)。 一部の特定のシグネチャで、セクション・タグが省略されている場合、シグネチャがトリガーされると、CIDRAMはシグネチャ・ファイルの名前とブロックされたIPアドレス(IPv4またはIPv6)のタイプをフォールバックとして使用します。 したがって、セクション・タグは完全にオプションです。 しかし、シグネチャ・ファイルの名前が曖昧である場合や、要求をブロックする原因となるシグネチャのソースを明確に特定することが困難な場合など、いくつかのケースで推奨される場合があります。
「期限タグ」を使用して、シグネチャの有効期限を指定することができます。 期限切れのタグがこの形式を使用します:「年年年年.月月.日日」 (以下の例を参照してください)。
# セクション1。
1.2.3.4/32 Deny Generic
2.3.4.5/32 Deny Generic
Expires: 2016.12.31
有効期限が切れたシグネチャは、どのリクエストに対してもトリガされません。
特定シグネチャの原点国を指定する場合は、「原点タグ」を使用してすることができます。 起点タグは、「ISO 3166-1 Alpha-2」コードを受け入れます。 このコードは、該当するシグネチャの原点国に対応しています。 これらのコードは、大文字で書く必要があります(小文字または大文字と小文字が混在すると正しく表示されません)。原点タグが使用されると、関連するブロックされた要求の「なぜブロックされましたか」ログ項目に追加されます。
オプションの「flags CSS」コンポーネントがインストールされている場合、フロントエンド・ログ・ページでログ・ファイルを表示するとき、原点タグによって追加された情報は対応する国旗に置き換えられます。 この情報は、生の形態であろうと国旗であろうと、クリック可能である。 クリックすると、同様のログ・エントリに従ってログ・エントリがフィルタリングされます(これにより、原点国のフィルタリングが可能になります)。
注:技術的には、これは積極的に特定の位置情報を求めていないため、ジオロケーションではありません。 代わりに、これにより、特定シグネチャの原産国を明示することができます。 同じシグネチャ・セクション内で複数の原点タグを使用することができます。
仮説的な例:
1.2.3.4/32 Deny Generic
Origin: CN
2.3.4.5/32 Deny Generic
Origin: FR
4.5.6.7/32 Deny Generic
Origin: DE
6.7.8.9/32 Deny Generic
Origin: US
Tag: Foobar
任意のタグを組み合わせて使用することができ、すべてのタグはオプションです(以下の例を参照してください)。
# 例セクション。
1.2.3.4/32 Deny Generic
Origin: US
Tag: 例セクション
Expires: 2016.12.31
大量のシグネチャ・ファイルがインストールされ、使用されている場合、インストールが非常に複雑になり、重複するシグネチャが存在する可能性があります。 これらの場合、ブロック・イベント中に複数の重複シグネチャがトリガーされるのを防ぐために、延期タグを使用して、特定のシグネチャ・セクションを他のシグネチャ・ファイルのために延期することができる。 これは、一部のシグネチャが他のシグネチャよりも頻繁に更新される場合に役立ちます、頻繁に更新されないシグネチャよりも頻繁に更新されるシグネチャに優先順位を付ける。
延期タグは他のタイプのタグと同様に使用されます。 タグの値は、インストールされた積極的に使用されるシグネチャ・ファイルと一致する必要があります。
例:
1.2.3.4/32 Deny Generic
Origin: AA
2.3.4.5/32 Deny Generic
Origin: BB
Defers to: preferred_signatures.dat
プロファイル・タグは、IPテスト・ページに追加情報を表示する手段を提供し、モジュールおよび補助ルールによって活用して、より複雑な動作と微調整された意思決定を行うことができます。
プロファイルタ・グは、他のタイプのタグと同様に使用されます。 プロファイル・タグの値は、モジュールおよび補助ルールの条件として使用できます。 プロファイル・タグは、それらの値をセミコロンで区切ることにより、複数の値を提供できます。 エンド・ユーザーには、プロファイル・タグの値は表示されません。
例:
1.2.3.4/32 Deny Generic
2.3.4.5/32 Deny Generic
Profile: Example;Just some generic stuff;Foo;Bar
Origin: BB
セクション固有の設定を定義するために、シンプルな形式のYAMLマークアップをシグネチャ・ファイルで使用することができます。 これは、異なるシグネチャセクションに対して異なる設定を行う場合に便利です (例えば:サポートチケットのEメールアドレスを指定したい場合は、しかし特定のセクションのみ;特定のシグネチャでページリダイレクトをトリガーしたい場合は;hCaptchaで使用するためにシグネチャセクションをマークしたい場合は;個々のシグネチャに基づいて、そして/または、シグネチャセクションに基づいて、ブロックされたアクセス試行を別々のファイルに記録したい場合は)。
シグネチャ・ファイルでのYAMLマークアップの使用はオプションです(即ち、あなたが望むならそれを使うことができますが、そうする必要はありません)。 大部分の(しかしすべてではない)コンフィギュレーション・ディレクティブを活用することができます。
注意:CIDRAMにおけるYAMLマークアップの実装は非常に単純化されており、非常に制限されています。 これは、YAMLマークアップに精通した方法で、しかし公式仕様書に従ったり準拠したりすることはない、CIDRAMに固有の要件を満たすことを意図しています(他の実装と同じように動作しない可能性があり、そして他のプロジェクトには適していない可能性があります)。
CIDRAMでは、YAMLマークアップセグメントはスクリプトに対して3つのダッシュで(「---」)識別されます。 YAMLマークアップセグメントは、二重改行によってシグネチャセクションと一緒に終了します。 典型的なセグメントは、CIDRとタグのリストの直後の行に3つのダッシュでコンフィギュレーションされ、続いて2次元のキーと値のペアのリストが続きます。 (1番目のディメンションは、コンフィギュレーション・ディレクティブのカテゴリです;2番目のディメンションは、コンフィギュレーション・ディレクティブです)。 以下の例を参照してください。
# Foobar 1.
1.2.3.4/32 Deny Generic
2.3.4.5/32 Deny Generic
4.5.6.7/32 Deny Generic
Tag: Foobar 1
---
general:
http_response_header_code: 403
emailaddr: username@domain.tld
logging:
standard_log: "logfile.{yyyy}-{mm}-{dd}.txt"
apache_style_log: "access.{yyyy}-{mm}-{dd}.txt"
serialised_log: "serial.{yyyy}-{mm}-{dd}.txt"
template_data:
css_url: "https://domain.tld/cidram.css"
# Foobar 2.
1.2.3.4/32 Deny Generic
2.3.4.5/32 Deny Generic
4.5.6.7/32 Deny Generic
Tag: Foobar 2
---
general:
http_response_header_code: 503
logging:
standard_log: "logfile.Foobar2.{yyyy}-{mm}-{dd}.txt"
apache_style_log: "access.Foobar2.{yyyy}-{mm}-{dd}.txt"
serialised_log: "serial.Foobar2.{yyyy}-{mm}-{dd}.txt"
# Foobar 3.
1.2.3.4/32 Deny Generic
2.3.4.5/32 Deny Generic
4.5.6.7/32 Deny Generic
Tag: Foobar 3
---
general:
http_response_header_code: 403
silent_mode: "http://127.0.0.1/"
さらに、CIDRAMに特定のシグネチャセクションを完全に無視させたい場合、「ignore.dat」ファイルを使用して、無視するセクションを指定することができます。 新しい行にIgnoreと書いてください、次に、スペース、次に、CIDRAMが無視するセクションの名前(以下の例を参照してください)。
Ignore セクション1
これは、CIDRAMフロントエンドの「セクション・リスト」ページで提供されるインターフェイスを使用しても実現できます。
独自のカスタム・シグネチャ・ファイルまたはカスタム・モジュールの作成が複雑すぎると感じる場合は、CIDRAMフロントエンドの「補助ルール」ページで提供されるインターフェイスを使用する方が簡単な方法があります。 適切なオプションを選択し、特定のタイプの要求に関する詳細を指定することにより、CIDRAMに要求に対する応答方法を指示できます。 「補助ルール」は、すべてのシグネチャ・ファイルとモジュールが既に実行を終了した後に実行されます。
CIDRAM v2以前では、「vault」内に次の二つのファイルがあります: ipv4_custom.dat.RenameMe と ipv6_custom.dat.RenameMe。 これらのファイルにカスタム・シグネチャを保存できます。 また、必要に応じて、カスタム・シグネチャ用の新しいファイルを作成し、任意の名前を付けることもできます。 CIDRAM v2以前では、カスタム・シグネチャ・ファイルを「vault」ディレクトリのベースに保存する必要があります。
CIDRAM v3以降では、カスタム・シグネチャ用の事前提供されたファイルはありませんが、カスタム・シグネチャ用の新しいファイルを作成し、任意の名前を付けることができます。 CIDRAM v3 以降では、カスタム・シグネチャ・ファイルは、CIDRAMインストールの準備された「signatures」ディレクトリに保存する必要があります。
カスタム・シグネチャ・ファイルを「アクティブ化」するには、設定ファイルの「ipv4」または「ipv6」コンフィグレーション・ディレクティブでそのファイルを引用する必要があります(カスタム・シグネチャ・ファイルが「IPv4」シグネチャ用か「IPv6」シグネチャ用かによって異なります)。
CIDRAM v2以前では、「ipv4」と「ipv6」は「signatures」コンフィグレーション・カテゴリにあります。
CIDRAM v3以降では、「ipv4」と「ipv6」は「components」コンフィグレーション・カテゴリにあります。
モジュールを使用して、CIDRAMの機能を拡張したり、追加のタスクを実行したり、追加ロジックを処理することができます。
モジュールはPHPファイルとして記述されているため、CIDRAMコードベースを十分に理解している場合は、必要に応じてモジュールとモジュール・シグネチャを構造化できます(PHPで可能なことを理由に)。
注意:PHPコードの操作に慣れていない場合は、独自のモジュールを作成することはお勧めしません。
CIDRAMは、独自のモジュールを簡単かつ簡単に作成できる機能を提供しています。 この機能に関する情報は、以下で説明します。
モジュール・シグネチャは、通常、$this->triggerで記述されます。 ほとんどの場合、このクロージャ(method)はモジュールを書く目的のために何よりも重要になります。
$this->triggerは4つのパラメータを受け取ります:$Condition、$ReasonShort、$ReasonLong(オプショナル)、$DefineOptions(オプショナル)。
$Conditionの真実性が評価されます。 真の場合(true)、シグネチャはトリガーされます。 偽の場合(false)、シグネチャはトリガーされません。 $Conditionには通常、リクエストをブロックする条件を評価するためのPHPコードが含まれています。
シグネチャがトリガーされると、「なぜブロックされましたか」フィールドに$ReasonShortが引用されます。
$ReasonLongは、ユーザー/クライアントがブロックされたときにそれらがブロックされた理由を説明するためにユーザー/クライアントに表示されるオプションのメッセージです。 省略された場合、標準の「アクセス拒否」メッセージを使用します。
$DefineOptionsは、オプショナル・キーと値のペアを含む配列です。 これは、リクエスト・インスタンスに固有の設定オプションを定義するために使用されます。 設定オプションは、シグネチャがトリガーされたときに適用されます。
$this->triggerは、シグネチャがトリガされたときに真(true)を返し、そうでないときに偽(false)を返します。
シグネチャ・バイパスは、通常、$this->bypassで記述されます。
$this->bypassは3つのパラメータを受け取ります:$Condition、$ReasonShort、$DefineOptions(オプショナル)。
$Conditionの真実性が評価されます。 真の場合(true)、バイパスはトリガーされます。 偽の場合(false)、バイパスはトリガーされません。 $Conditionには通常、リクエストをブロックしてはならない条件を評価するPHPコードが含まれています。
バイパスがトリガーされると、「なぜブロックされましたか」フィールドに$ReasonShortが引用されます。
$DefineOptionsは、オプショナル・キーと値のペアを含む配列です。 これは、リクエスト・インスタンスに固有の設定オプションを定義するために使用されます。 設定オプションは、バイパスがトリガーされたときに適用されます。
$this->bypassは、バイパスがトリガされたときに真(true)を返し、そうでないときに偽(false)を返します。
これは、IPアドレスのホスト名を取得するために使用できます。 ホスト名をブロックするモジュールを作成する場合は、このクロージャーが便利です。
例:
<?php
/** Fetch hostname. */
if (empty($this->CIDRAM['Hostname'])) {
$this->CIDRAM['Hostname'] = $this->dnsReverse($this->BlockInfo['IPAddr']);
}
/** Example signature. */
if (strlen($this->CIDRAM['Hostname']) && $this->CIDRAM['Hostname'] !== $this->BlockInfo['IPAddr']) {
$this->trigger($this->CIDRAM['Hostname'] === 'www.foobar.tld', 'Foobar.tld', 'Hostname Foobar.tld is not allowed.');
}モジュールは独自のスコープ内で実行され、モジュールで定義された変数は他のモジュールや親スクリプトにアクセスできません。 $CIDRAM配列に格納されている場合を除いて(この配列は保持されます;モジュールの実行が終了した後はすべてがフラッシュされます)。
あなたのモジュールに役立つ一般的な変数は次のとおりです:
| 変数 | 説明 |
|---|---|
$this->BlockInfo['DateTime'] |
現在の日付と時刻。 |
$this->BlockInfo['IPAddr'] |
現在のリクエストのIPアドレス。 |
$this->BlockInfo['IPAddrResolved'] |
現在のリクエストのIPアドレスが「6to4」、「Teredo」、または「ISATAP」アドレスの場合、そのアドレスは IPv4 の同等のアドレスに解決されます。 そうでない場合は、現在のリクエストのIPアドレスになります。 |
$this->BlockInfo['ScriptIdent'] |
CIDRAMスクリプトのバージョン。 |
$this->BlockInfo['Query'] |
現在のリクエストのクエリ。 |
$this->BlockInfo['Referrer'] |
現在のリクエストのリファラー(存在する場合)。 |
$this->BlockInfo['UA'] |
現在のリクエストのユーザー・エージェント(user agent)。 |
$this->BlockInfo['UALC'] |
現在のリクエストの小文字でユーザー・エージェント(user agent)。 |
$this->BlockInfo['ReasonMessage'] |
現在のリクエストがブロックされている場合、ユーザー/クライアントに表示されるメッセージです。 |
$this->BlockInfo['SignatureCount'] |
現在のリクエストに対してトリガされたシグネチャの数。 |
$this->BlockInfo['Signatures'] |
現在のリクエストに対してトリガーされたシグネチャーの参照情報。 |
$this->BlockInfo['WhyReason'] |
現在のリクエストに対してトリガーされたシグネチャーの参照情報。 |
$this->BlockInfo['Request_Method'] |
現在のリクエストにリクエスト・メソッド。 |
$this->BlockInfo['Protocol'] |
現在のリクエストにプロトコル。 |
次のパッケージと製品は、CIDRAMと互換性がないことが判明しています。
CIDRAMとの互換性を確保するために、以下のパッケージと製品用、モジュールが用意されています。
参照:互換性チャート。
- CIDRAMは国全体をブロックできますか?
- シグネチャはどれくらいの頻度でアップデイトされますか?
- CIDRAMを使用しているときに問題が発生しましたが、何をすべきかわかりません! 助けてください!
- 私はCIDRAMによってウェブサイトからブロックされています! 助けてください!
- 7.2より古いPHPバージョンでCIDRAM v2~v4を使用したいと思います;手伝ってくれますか?
- 複数のドメインを保護するために1つのCIDRAMインストールを使用できますか?
- 私はこれをインストールするか、それが私のウェブサイト上で動作することを保証する時間を費やす、にしたくない;それできますか?私はあなたを雇うことができますか?
- あなたまたはこのプロジェクトの任意の開発者は雇用可能ですか?
- 私は専門家の変更、カスタム化、等が必要です;手伝ってくれますか?
- 私は開発者、ウェブサイトデザイナー、またはプログラマーです。 このプロジェクトに関連する作業を行うことはできますか?
- 私はプロジェクトに貢献したい;これはできますか?
- Cronを使って自動的にアップデートできますか?
- 「違反」とは何ですか?
- CIDRAMはホスト名をブロックできますか?
- 「default_dns」には何が使えますか?
- CIDRAMを使用してウェブサイト以外のもの(メールサーバー、FTP、SSH、IRC、など)を保護することはできますか?
- CDNやキャッシュ・サービスを使用するのと同時にCIDRAMを使用すると問題が発生しますか?
- CIDRAMは、私のウェブサイトをDDoS攻撃から守りますか?
- アップデート・ページでモジュールまたはシグネチャ・ファイルを有効または無効にすると、コンフィギュレーションに英数字でソートされます。 彼らのソート方法を変更することはできますか?
- 「PDO DSN」とは何ですか?CIDRAMでPDOを使用するにはどうすればよいですか?
- CIDRAMはcronjobsをブロックしています。 これを修正する方法は?
はい。 これを行う最も簡単な方法は、BGPViewモジュールまたはIP-APIモジュールをインストールし、必要に応じて構成することです。
アップデイト頻度は、シグネチャ・ファイルによって異なります。 CIDRAMのシグネチャ・ファイルのすべてのメンテナーが頻繁にアップデイトを試みる、しかし、私たちの皆様には、他にもさまざまなコミットメントがあり、私たちはプロジェクトの外で生活しており、と誰も財政的に補償されていない、したがって、正確なアップデイトスケジュールは保証されません。 一般に、十分な時間があればシグネチャがアップデイトされます。 メンテナーは必要性と範囲間の変化の頻度に基づいて優先順位をつけようとする。 あなたが何かを提供できるのであれば、援助は常に高く評価されます。
- あなたは最新のソフトウェアバージョンを使用していますか?あなたは最新のシグネチャ・ファイルバージョンを使用していますか?そうでない場合は、まずすべてをアップデイトしてください。 問題が解決しないかどうかをチェックしてください。 それが続く場合は、読んでください。
- あなたはドキュメンテーションをチェックしましたか?もしそうでなければ、そうしてください。 ドキュメンテーションを使用して問題を解決できない場合は、引き続き読んでください。
- イシュー・ページ をチェックしましたか?問題が以前に言及されているかどうかをチェックしてください。 提案、アイデア、ソリューションが提供されたかどうかをチェックしてください。
- 問題が解決しない場合は、教えてください。 イシュー・ページに関する新しいディスカッションを作成する。
CIDRAMは、ウェブサイト所有者が望ましくないトラフィックをブロックする手段を提供します、しかし、ウェブサイト所有者は、その使用方法を決定する必要があります。 シグネチャ・ファイルに偽陽性がある場合、訂正を行うことができる、しかし、特定のウェブサイトからブロック解除されていることに関して、あなたはウェブサイト所有者に連絡する必要があります。 修正が行われると、更新が必要になります。 それ以外の場合は、問題を解決するのは彼らの責任です。 カスタム化と個人的な選択は、私たちのコントロールを完全に超えています。
いいえ。 PHP≥7.2 は CIDRAM v2~v4 の最小要件です。
参照:互換性チャート。
はい。 CIDRAMのインストールは特定のドメインに限定されていません、したがって、複数のドメインを保護するために使用できます。 一般的に、1つのドメインのみを保護するインストール、私たちは「単一ドメイン・インストール」と呼んでいますで、複数のドメイン/サブドメインを保護するインストール、私たちは「マルチドメイン・インストール」と呼んでいます。 マルチドメインインストールを使用している場合で、異なるドメインに異なるシグネチャ・ファイルセットを使用する必要がある場合や、異なるドメインにCIDRAMを異なる設定する必要があります、これを行うことができます。 コンフィギュレーション・ファイルをロードした後(config.yml)、CIDRAMは、リクエストされたドメインの「コンフィギュレーション・オーバーライド・ファイル」の存在をチェックします (xn--48jua8kwd4hof5er493ch97b.tld.config.yml)、そして見つかった場合、コンフィギュレーション・オーバーライド・ファイルによって定義されたコンフィギュレーション値は、コンフィギュレーション・ファイルによって定義されたコンフィギュレーション値ではなく、実行インスタンスに使用されます。 コンフィギュレーション・オーバーライド・ファイルは、コンフィギュレーション・ファイルと同じです。 お客様の裁量で、CIDRAMで利用可能なすべての設定指示句の全体または必要なサブセクションを含めることができます。 コンフィギュレーション・オーバーライド・ファイルは彼らが意図しているドメインに従って命名されます (そう、例えば、ドメインhttps://www.some-domain.tld/にコンフィギュレーション・オーバーライド・ファイルが必要な場合は、コンフィギュレーション・オーバーライド・ファイルの名前はsome-domain.tld.config.ymlにする必要があります。 通常の設定ファイルと同じ場所に保存する必要があります)。 ドメイン名は HTTP_HOST から来ます。 "www"は無視されます。
多分。 これは、ケースバイケースで検討されています。 あなたのニーズと提供できるものを教えてください。 私たちが助けることができるかどうかを教えてあげます。
上記を参照。
上記を参照。
はい。 私たちのライセンスはこれを禁止していません。
はい。 プロジェクトへの貢献は大歓迎です。 詳細については、「CONTRIBUTING.md」を参照してください。
はい。 外部スクリプトを介してアップデート・ページと対話するためのAPIがフロントエンドに組み込まれています。 別のスクリプト、「Cronable」、が利用可能です。 これは「cron manager (クロン・マネージャー)」や「cron scheduler (クロン・スケジューラ)」がこれと他のサポートされているパッケージを自動的に更新するために使うことができます(このスクリプトは独自のドキュメントを提供しています)。
「シグネチャの数」と「違反」はどちらも、特定のリクエスト中にトリガーされたシグネチャの重大度と数に、シグネチャ・ファイル、モジュール、補助ルール、などの理由に関係なく、関連しています。 ただし、「シグネチャの数」はその特定の要求に対してのみ持続しますが、「違反」はdefault_tracktimeによって決定された数の要求にわたって持続する可能性があります。
これは、リクエストが十分な数の違反でブロックされた場合、同じソースからの後続のリクエストもブロックできるようになります。
はい。これは、補助ルールまたはカスタム・モジュールを作成することで実現できます。
あなたが提案を探しているならば、「public-dns.info」と「OpenNIC」は既知の公開DNSサーバーの広範なリストを提供します。 または、次の表を参照してください:
| IP | オペレーター |
|---|---|
1.1.1.1 |
Cloudflare |
8.8.4.48.8.8.82001:4860:4860::88442001:4860:4860::8888 |
Google Public DNS |
9.9.9.9149.112.112.112 |
Quad9 DNS |
84.200.69.8084.200.70.402001:1608:10:25::1c04:b12f2001:1608:10:25::9249:d69b |
DNS.WATCH |
208.67.220.220208.67.222.220208.67.222.222 |
OpenDNS Home |
77.88.8.177.88.8.82a02:6b8::feed:0ff2a02:6b8:0:1::feed:0ff |
Yandex.DNS |
8.20.247.208.26.56.26 |
Comodo Secure DNS |
216.146.35.35216.146.36.36 |
Dyn |
64.6.64.664.6.65.6 |
Verisign Public DNS |
37.235.1.17437.235.1.17745.33.97.5172.104.237.57172.104.49.100 |
FreeDNS |
156.154.70.1156.154.71.12610:a1:1018::12610:a1:1019::1 |
Neustar Security |
45.32.36.3645.77.165.194 |
Fourth Estate |
74.82.42.42 |
Hurricane Electric |
195.46.39.39195.46.39.40 |
SafeDNS |
89.233.43.7191.239.100.100 2001:67c:28a4::2a01:3a0:53:53:: |
UncensoredDNS |
208.76.50.50208.76.51.51 |
SmartViper |
注意:私は、DNSサービス(リストされた、リストされていない、いずれの場合)のプライバシーの実践、セキュリティ、有効性、または信頼性に関して、いかなる請求または保証もしません。 決定を下す際には、あなた自身の研究をしてください。
それは(法的に)可能ですが、それは(実質的かつ技術的に)良い考えではありません。 CIDRAMライセンスは、どの技術がCIDRAMを実装するかを制限しません。 しかし、CIDRAMはWAF「ウェブ・アプリケーション・ファイアウォール」であり、常にウェブサイトを保護するためのものです。 他のテクノロジを念頭に置いて設計されたものではないため、他のテクノロジに対して効果的であるか、または信頼性の高い保護を提供する可能性は低いです。 実装が難しくなる可能性があり、偽陽性や検出漏れのリスクは非常に高いです。
多分。 これは、サービスとそれをどのように使用しているかによって異なります。 一般的に、静的アセットのみをキャッシュする場合、問題はありません(静的アセットは、時間の経過とともに変化しないものを意味します;例えば、画像、CSS、など)。 しかし、要求に応じて動的に生成されるデータをキャッシュするときや、POST要求の結果をキャッシュしているときに問題が生じることがあります(これはあなたのウェブサイトとその環境を静的にし、CIDRAMは静的な環境で意味のある利益をもたらすことはまずありません)。 使用しているCDNまたはキャッシュ・サービスに基づいて、CIDRAMに固有のコンフィギュレーション要件が存在する場合があります(ニーズに合わせてCIDRAMが正しく設定されていることを確認してください)。 コンフィギュレーションが正しくないと、重大な問題が発生することがあります。
短い答え:いいえ。
より詳細な答え:CIDRAMは、望ましくないトラフィックがあなたのウェブサイトに及ぼす影響を軽減するのに役立ちます(ウェブサイトの帯域幅コストを削減します)、望ましくないトラフィックがあなたのハードウェアに及ぼす影響を軽減するのに役立ちます(例えば、リクエストを処理して提供するサーバーの能力)、望ましくないトラフィックに関連するその他のさまざまな潜在的な悪影響を軽減するのに役立ちます。 しかし、この質問を理解するためには、2つの重要なことを覚えておく必要があります。 1. CIDRAMはPHPパッケージであるため、PHPがインストールされているマシンで動作します。 このため、CIDRAMは、サーバーがすでに要求を受信した後にのみ要求を表示およびブロックできます。 2. 効果的なDDoS軽減は、DDoS攻撃の対象となるサーバーに到達する前に要求をフィルタリングする必要があります。 理想的には、DDoS攻撃は、ターゲット・サーバーに到達する前に、攻撃に関連するトラフィックをドロップまたは再ルーティングできるソリューションによって検出および緩和する必要があります。
これは、専用のオンプレミス・ハードウェア・ソリューション、専用のDDoS軽減サービスなどのクラウド・ベースのソリューション、DDoS対応ネットワークを介してドメインのDNSをルーティング、クラウド・ベースのフィルタリング、またはそれらのいくつかの組み合わせを使用して実施することができる。 いずれにしても、この主題はちょうど単なる段落または2つで完全に説明するのは少し複雑すぎる。 これがあなたが追求したい科目であれば、さらなる研究をすることをお勧めします。 DDoS攻撃の真の性質が適切に理解されている場合、この回答はより理にかなっています。
はい。 特定の順序で実行するファイルが必要な場合は、コンフィギュレーション・ディレクティブの名前の前に任意のデータを追加できます(このデータと名前を区切るためにコロンを使用します)。 その後、アップデート・ページでファイルを再度並べ替えると、この追加された任意のデータがソート順に影響します。 これにより、それらの名前を変更せずに、必要な順序で実行されます。
例えば、次のようにファイルをコンフィギュレーション・ディレクティブがあるとします:
modules: |
file1.php
file2.php
file3.php
file4.php
file5.phpfile3.phpを最初に実行したければ、ファイル名の前にaaa:のようなものを追加することができます:
modules: |
file1.php
file2.php
aaa:file3.php
file4.php
file5.php次に、新しいファイルfile6.phpが有効になっている場合、アップデート・ページがそれらをすべて並べ替えると、次のようになります:
modules: |
aaa:file3.php
file1.php
file2.php
file4.php
file5.php
file6.phpファイルが非アクティブになったときと同じ状況です。 逆に、ファイルを最後に実行したい場合は、ファイルの名前の前にzzz:のようなものを追加することができます。 いずれの場合でも、問題のファイルの名前を変更する必要はありません。
「PDO」は「PHP Data Objects」の頭字語です。 さまざまなPHPアプリケーションで一般的に使用されるデータベース・システムに接続できるように、PHPのインターフェイスを提供します。
「DSN」は「data source name」(データ・ソース名)の頭字語です。 「PDO DSN」は、PDOがデータベースに接続する方法を説明しています。
CIDRAMは、キャッシュにPDOを利用するオプションを提供します。 これが適切に機能するためには、それに応じてCIDRAMのコンフィギュレーションを設定する必要があります(したがって、PDOを有効にします)、次にCIDRAMが使用する新しいデータベースを作成します(CIDRAMが使用するデータベースをまだ考慮していない場合)、次に、以下に説明する構造に従って、データベースに新しいテーブルを作成します。
データベース接続は成功したが、必要なテーブルが存在しない場合、それは自動的に作成しようとします。 ただし、この動作は十分にテストされていないため、成功を保証することはできません。
もちろん、これは、CIDRAMで実際にPDOを使用する場合にのみ適用されます。 フラット・ファイル・キャッシュ(デフォルトのコンフィギュレーションに従って)、または提供されているその他のさまざまなキャッシュオプションを使用することに満足している場合は、データベース、テーブルなどの設定に悩む必要はありません。
以下で説明する構造では、データベース名として「cidram」を使用していますが、DSN構成で同じ名前が複製される限り、データベースに任意の名前を使用できます。
╔══════════════════════════════════════════════╗
║ DATABASE "cidram" ║
║ │╔═══════════════════════════════════════════╩═════╗
║ └╫─TABLE "Cache" (UTF-8) ║
║ ╠═╪═FIELD══CHARSET═DATATYPE═════KEY══NULL═DEFAULT═╣
║ ║ ├─"Key"──UTF-8───VARCHAR(128)─PRI──×────× ║
║ ║ ├─"Data"─UTF-8───TEXT─────────×────×────× ║
╚══╣ └─"Time"─×───────INT(>=10)────×────×────× ║
╚═════════════════════════════════════════════════╝
CIDRAMの「pdo_dsn」コンフィギュレーション・ディレクティブは、次のように設定する必要があります。
使用するデータベース・ドライバーに応じて...
├─4d (警告:実験的、未テスト、非推奨!)
│ │
│ │ ╔═══════╗
│ └─4D:host=localhost;charset=UTF-8
│ ╚╤══════╝
│ └データベースを見つけるために接続するホスト。
├─cubrid
│ │
│ │ ╔═══════╗ ╔═══╗ ╔═════╗
│ └─cubrid:host=localhost;port=33000;dbname=example
│ ╚╤══════╝ ╚╤══╝ ╚╤════╝
│ │ │ └データベース使用する名前。
│ │ │
│ │ └ホストに接続するポート番号。
│ │
│ └データベースを見つけるために接続するホスト。
├─dblib
│ │
│ │ ╔═══╗ ╔═══════╗ ╔═════╗
│ └─dblib:host=localhost;dbname=example
│ ╚╤══╝ ╚╤══════╝ ╚╤════╝
│ │ │ └データベース使用する名前。
│ │ │
│ │ └データベースを見つけるために接続するホスト。
│ │
│ └可能な値:「mssql」、「sybase」、「dblib」。
├─firebird
│ │
│ │ ╔═══════════════════╗
│ └─firebird:dbname=/path/to/database.fdb
│ ╚╤══════════════════╝
│ ├ローカル・データベース・ファイルへのパスにすることができます。
│ │
│ ├ホストとポート番号で接続できます。
│ │
│ └これを使用する場合は、Firebirdのドキュメントを参照してください。
├─ibm
│ │
│ │ ╔═════╗
│ └─ibm:DSN=example
│ ╚╤════╝
│ └接続するカタログ化されたデータベース。
├─informix
│ │
│ │ ╔═════╗
│ └─informix:DSN=example
│ ╚╤════╝
│ └接続するカタログ化されたデータベース。
├─mysql (最も推奨されます!)
│ │
│ │ ╔═════╗ ╔═══════╗ ╔══╗
│ └─mysql:dbname=example;host=localhost;port=3306
│ ╚╤════╝ ╚╤══════╝ ╚╤═╝
│ │ │ └ホストに接続するポート番号。
│ │ │
│ │ └データベースを見つけるために接続するホスト。
│ │
│ └データベース使用する名前。
├─oci
│ │
│ │ ╔═════╗
│ └─oci:dbname=example
│ ╚╤════╝
│ ├特定のカタログ化されたデータベースを参照できます。
│ │
│ ├ホストとポート番号で接続できます。
│ │
│ └これを使用する場合は、Oracleのドキュメントを参照してください。
├─odbc
│ │
│ │ ╔═════╗
│ └─odbc:example
│ ╚╤════╝
│ ├特定のカタログ化されたデータベースを参照できます。
│ │
│ ├ホストとポート番号で接続できます。
│ │
│ └これを使用する場合は、ODBC/DB2のドキュメントを参照してください。
├─pgsql
│ │
│ │ ╔═══════╗ ╔══╗ ╔═════╗
│ └─pgsql:host=localhost;port=5432;dbname=example
│ ╚╤══════╝ ╚╤═╝ ╚╤════╝
│ │ │ └データベース使用する名前。
│ │ │
│ │ └ホストに接続するポート番号。
│ │
│ └データベースを見つけるために接続するホスト。
├─sqlite
│ │
│ │ ╔════════╗
│ └─sqlite:example.db
│ ╚╤═══════╝
│ └使用するローカル・データベース・ファイルへのパス。
└─sqlsrv
│
│ ╔═══════╗ ╔══╗ ╔═════╗
└─sqlsrv:Server=localhost,1521;Database=example
╚╤══════╝ ╚╤═╝ ╚╤════╝
│ │ └データベース使用する名前。
│ │
│ └ホストに接続するポート番号。
│
└データベースを見つけるために接続するホスト。
DSNの特定の部分に何を使用するかわからない場合は、何も変更せずに、DSNがそのまま機能するかどうかを最初に確認してください。
「pdo_username」と「pdo_password」は、データベース用に選択したユーザー名とパスワードと同じでなければならないことに注意してください。
Cronjobsの目的で専用ファイルを使用している場合、通常のユーザー・リクエスト中にそのファイルを呼び出す必要がない場合(つまり、cronjobsのコンテキスト外)、これを修正する最も簡単な方法は、cronjobs中にCIDRAMがまったく実行されないようにすることです(つまり、cronjobsの処理を担当するファイルには、CIDRAMをフックしない)。
あるいは、それが不可能な場合、ただし、cronサーバーのIPアドレスは比較的一貫性があり予測可能な場合、cronサーバーのIPアドレスをホワイトリストに登録してみてできます。 これを行うには、カスタム・シグネチャ・ファイルにホワイトリスト・シグネチャを作成するか、補助ルールを作成できます。 CronサーバーのIPアドレスが定期的にローテーションし、特に予測できない場合、しかし、それにもかかわらず、同じ特定のネットワーク内から残ります場合、ignore.datファイルに、それをそもそもブロックするシグネチャ・セクションの名前をリストすることができます。
これらのアイデアをすべて試したが、どれも役に立たなかった場合、または、その方法を理解するのに助けが必要な場合、CIDRAMのissuesページで新しいissueを作成できます。
ドキュメンテーションのこのセクションは、パッケージの使用と実装に関する法律上の考慮事項を説明し、基本的な関連情報を提供することを目的としています。 これは、操作している国に存在する可能性のある法的要件の遵守を確実にする手段として、一部のユーザーにとって重要な場合があります。 一部のユーザーは、この情報に従ってウェブサイトポリシーを調整する必要があります。
まず、私(パッケージ作成者)は弁護士ではない、有資格の法律専門家でもないことを認識してください。 したがって、私は法律上のアドバイスを提供する法的資格はありません。 また、場合によっては、正確な法的要件は、国や地域によって異なる場合があります。 また、これらが競合することがあります(例えば:プライバシーの権利を享受する国と忘れられる権利の場合には、拡張されたデータ保持を望む国と比較して)。 また、パッケージへのアクセスが特定の国や管轄区域に限定されているわけではないので、パッケージのユーザーベースは地理的に多様である可能性が高いと考えてください。 これらの点を考慮して、私はすべての点で、すべてのユーザーにとって「法的に準拠する」であることが何を意味するかを述べる立場にはいません。 ただし、ここに記載されている情報が、パッケージの文脈で法的に遵守するために必要な作業を自分で決定するのに役立つことを願っています。 疑義が存続する場合、または法的な観点から追加の助けと助言が必要な場合は、有資格の法律専門家に相談することをおすすめします。
パッケージ・ライセンスに記載されている通り、パッケージは無保証で提供されます。 これには、すべての責任範囲が含まれます(ただしこれに限定されません)。 あなたの便宜のためにパッケージが提供されています。 それが有用であり、それがあなたのためにいくつかの利益をもたらすことが期待されます。 しかし、あなたがパッケージを使用するか実装するかは、あなた自身の選択です。 あなたはパッケージを使用するよう強制されません。 しかし、あなたが決めるところでは、あなたはその決定に責任があります。 あなたの意思決定の結果について、私と他のパッケージ寄稿者は、直接的、間接的、暗示的、またはその他の方法にかかわらず、責任を負いません。
その正確なコンフィギュレーションと実装に応じて、パッケージは場合によっては第三者と通信し、情報を共有することがあります。 この情報は、いくつかの国において、状況によっては、「個人識別情報」(PII)と定義することができます。
これらの第三者がこの情報をどのように使用するかは、これらの第三者によって定められたさまざまなポリシーの対象となります。 このドキュメントの範囲外です。 ただし、このような場合は、これらの第三者との情報の共有を無効にすることができます。 そのような場合は、有効にすることを選択した場合、これらの第三者によるPIIのプライバシー、セキュリティ、および使用に関する懸念事項を調査することは、おあなたの責任です。 ご不明な点がある場合、またはPIIに関してこれらの第三者の行為に不満がある場合は、これらの第三者との情報の共有をすべて無効にすることが最善の方法です。
透明性のために、共有される情報のタイプと、誰と、以下に記載されています。
ホスト名を扱う機能やモジュールを使用している場合(例えば、「危険なホスト・ブロッカー・モジュール」、「tor project exit nodes block module」、「サーチ・エンジン・ベリフィケーション」)、CIDRAMは、インバウンド要求のホスト名を何らかの形で取得できる必要があります。 通常、DNSサーバーからの着信リクエストのIPアドレスのホスト名を要求するか、またはCIDRAMがインストールされているシステムによって提供される機能によって情報を要求します(これは通常、「ホスト名検索」として知られています)。 デフォルトで定義されているDNSサーバーはGoogle DNSサービスに属しています(これはコンフィギュレーションによって簡単に変更できます)。 通信される正確なサービスは構成可能であり、パッケージの構成方法によって異なります。 CIDRAMがインストールされているシステムで提供される機能を使用する場合は、システム管理者に連絡して、ホスト名検索で使用するルートを判断する必要があります。 影響を受けるモジュールを避けるか、必要に応じてパッケージ構成を変更して、CIDRAMでホスト名検索を防止できます。
関連するコンフィギュレーション・ディレクティブ:
general->allow_gethostbyaddr_lookupgeneral->default_dnsgeneral->force_hostname_lookupverification->otherverification->search_enginesverification->social_media
これらのコンフィギュレーション・ディレクティブを有効にすると、CIDRAMは、検索エンジンやソーシャルメディアから発信されたと思われるリクエストの信憑性を検証するために、「転送DNSルックアップ」を実行しようとします。 これを行うために、Google DNSサービスを使用して、これらのインバウンド・リクエストのホスト名からIPアドレスを解決しようとします(このプロセスでは、これらのインバウンド・リクエストのホスト名はサービスと共有されます)。
関連するコンフィギュレーション・ディレクティブ:
verification->otherverification->search_enginesverification->social_media
CIDRAMはキャプチャをサポートしています。 正しく機能するには、APIキーが必要です。 これらはデフォルトで無効になっていますが、必要なAPIキーを構成することで有効になる場合があります。 有効にすると、サービスとCIDRAMまたはユーザーのブラウザとの間で通信が発生する場合があります。 これには、ユーザーのIPアドレス、ユーザー・エージェント、オペレーティング・システム、およびリクエストで利用可能なその他の詳細などの情報の通信が含まれる可能性があります。
Stop Forum Spamは、スパマーからフォーラム、ブログ、ウェブサイトを保護するのに役立つ、無料で利用できる素晴らしいサービスです。 これは、既知のスパマーのデータベースと、IPアドレス、ユーザー名、またはEメール・アドレスがそのデータベースにリストされているかどうかを確認するために利用できるAPIを提供することによってこれを行います。
CIDRAMは、このAPIを利用するオプショナル・モジュールを提供します。 インバウンド・リクエストのIPアドレスが疑わしいスパマーに属するかどうかをチェックします。 モジュールがインストールされ、アクティブ化されると、モジュールはユーザーのIPアドレスをサービスと共有するがあります。
CIDRAMは、AbuseIPDB APIを使用して虐待的なIPアドレスをブロックするためのオプションのモジュールを提供します。 モジュールがインストールされ、アクティブ化されると、モジュールはユーザーのIPアドレスをサービスと共有するがあります。
CIDRAMは、BGPView API と IP-API APIを使用してASNおよび国コードのルックアップを実行するオプショナル・モジュールを提供します。 これらのルックアップにより、ASNまたは原産国に基づいてリクエストをブロックまたはホワイトリストに登録できます。 モジュールがインストールされ、アクティブ化されると、モジュールはユーザーのIPアドレスをサービスと共有するがあります。
CIDRAMは、Project Honeypot APIを使用して虐待的なIPアドレスをブロックするためのオプションのモジュールを提供します。 モジュールがインストールされ、アクティブ化されると、モジュールはユーザーのIPアドレスをサービスと共有するがあります。
ロギングは、多くの理由からCIDRAMの重要な部分です。 ブロック・イベントをロギングせずに、偽陽性が発生した場合、それを診断して解決することは困難です。 ロギングせずに、CIDRAMがいかに効果的に実行されているかを確かめること、その潜在的な問題を確認すること、機能させるために必要なコンフィギュレーションやシグネチャの変更を決定するのが難しいことがあります。 いずれにせよ、ロギングは一部のユーザーには望ましくなく、完全にオプションです。 CIDRAMでは、デフォルトでロギングは無効になっています。 これを有効にするには、それに応じてCIDRAMを設定する必要があります。
ロギングが法的に許可されているかどうか、および法的に許容される範囲で(例えば、ログに記録される可能性があるタイプの情報、期間、および状況)、管轄区域およびCIDRAMが実施されている状況に応じて変わる可能性がある(例えば、あなたが個人として、企業として、商業的または非商業的に動作しているかどうか)。 したがって、このセクションを注意深く読んで役に立つかもしれない。
CIDRAMが実行できる複数のタイプのロギングがあります。 異なるタイプのロギングには、さまざまな理由で異なるタイプの情報が含まれます。
CIDRAMが実行できる主なタイプのロギングは、「ブロック・イベント」に関係します。 このタイプのロギングは、CIDRAMが要求をブロックする時期に関係し、3つの異なる形式で提供できます:
- 人間が読めるログ・ファイル。
- Apacheスタイル・ログ・ファイル。
- シリアライズされたログ・ファイル。
人間が読めるログ・ファイルに記録されたブロック・イベントは、通常次のようになります(例として):
ID:1234
スクリプトのバージョン:CIDRAM v1.6.0
日/月/年/時刻:Day, dd Mon 20xx hh:ii:ss +0000
IPアドレス:x.x.x.x
ホスト名:dns.hostname.tld
シグネチャの数:1
シグネチャリファレンス:x.x.x.x/xx
なぜブロックされましたか:クラウド・サービス ("Network Name", Lxx:Fx, [XX])!
ユーザー・エージェント:Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36
URI再構築された:https://your-site.tld/index.php
キャプチャ・ステータス:オン。
Apacheスタイル・ログ・ファイルに記録された同じブロック・イベントは、次のようになります:
x.x.x.x - - [Day, dd Mon 20xx hh:ii:ss +0000] "GET /index.php HTTP/1.1" 200 xxxx "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36"
ログに記録されたブロック・イベントには、通常、次の情報が含まれます。
- ブロック・イベントを参照するID番号。
- 現在使用中のCIDRAMのバージョン。
- ブロック・イベントが発生した日時。
- ブロックされたリクエストのIPアドレス。
- ブロックされたリクエストのIPアドレスのホスト名(使用可能な場合)。
- 要求によってトリガーされたシグネチャの数。
- トリガされたシグネチャへの参照。
- ブロック・イベントの理由、およびいくつかの基本的な関連するデバッグ情報。
- ブロックされた要求のユーザー・エージェント(すなわち、要求側エンティティが要求に対してどのように自身を識別する)。
- 要求されたリソースの識別子の再構成。
- 現在のリクエストのキャプチャ・ステータス(該当する場合)。
このタイプのロギングを担当するコンフィギュレーション・ディレクティブは、利用可能な3つのフォーマットのそれぞれについて。
logging->apache_style_loglogging->serialised_loglogging->standard_log
これらのディレクティブを空のままにすると、このタイプのロギングは無効のままです。
このタイプのロギングは、特にキャプチャ・インスタンスに関連し、ユーザーがキャプチャ・インスタンスを完了しようとした場合にのみ発生します。
キャプチャ・ログ・エントリには、キャプチャ・インスタンスを完了しようとしているユーザーのIPアドレス、試行が行われた日時、およびキャプチャのステータスが含まれます。 キャプチャ・ログ・エントリは通常、次のようになります(例として)。
IPアドレス:x.x.x.x - 日/月/年/時刻:Day, dd Mon 20xx hh:ii:ss +0000 - キャプチャのステータス:合格!
キャプチャ・ロギングを担当するコンフィギュレーション・ディレクティブ:
captcha->log
このロギングは、フロントエンドのログイン試行に関係します。 これは、ユーザーがフロントエンドにログインしようとするとき、およびフロントエンド・アクセスが有効な場合にのみ発生します。
フロントエンドのログ・エントリには、ログインしようとしているユーザーのIPアドレス、試行が行われた日時、試行の結果が含まれます(正常にログインしたか、ログインに失敗しました)。 フロントエンドのログ・エントリは通常、次のようになります(例として)。
x.x.x.x - Day, dd Mon 20xx hh:ii:ss +0000 - "admin" - ログインしました。
フロントエンド・ロギングを担当するコンフィギュレーション・ディレクティブ:
frontend->frontend_log
一定期間後にログをパージしたい場合や、法律によってログをパージする必要がある場合があります(例えば、ログを保持することが法的に許可される時間は、法律によって制限される場合があります)。 ログ・ローテーションを使用すると、指定された制限を超えるとログ・ファイルに対して何らかのアクションを実行できます。 パッケージ・コンフィギュレーションで指定されたログ・ファイルの名前に日付/時刻マーカーを含めることし(例えば、{yyyy}-{mm}-{dd}.log)、ログ・ローテーションを有効にするで、これを行うことができます。
例えば:法的に30日後にログを削除する必要がある場合は、ログ・ファイルの名前に{dd}.logを({dd}は日を表す)指定し、log_rotation_limitの値を30に設定し、log_rotation_actionの値をDeleteに設定することができます。
逆に、長期間ログを保持する必要がある場合は、ログ・ローテーションを無効にするか、ログ・ファイルを圧縮するためにlog_rotation_actionの値をArchiveに設定することができます(占有するディスク・スペースの総量が削減されます)。
関連するコンフィギュレーション・ディレクティブ:
logging->log_rotation_actionlogging->log_rotation_limit
必要に応じて、特定のサイズを超えた個々のログ・ファイルを切り捨てることができます。
関連するコンフィギュレーション・ディレクティブ:
logging->truncate
まず、あなたが用語に精通していない場合:「スドニマイゼーション」(pseudonymisation)とは、補足情報なしで特定のデータ対象に特定できないような個人データの処理を指します(ただし、そのような補足情報は、個人データが自然人に特定されないことを保証するために、個別に維持され、技術的および組織的措置を受けるものとします)。
次のリソースは詳細情報を提供します。
場合によっては、収集、処理、または保存されたPIIに対して「アノニマイゼーション」または「スドニマイゼーション」を実施することが法的に要求されることがあります。 このコンセプトはかなり以前から存在していましたが、GDPR/DSVGOは「スドニマイゼーション」を特に言及し、奨励しています。
必要に応じて、CIDRAMはIPアドレスを記録するときにこれを行うことができます。 ログに記録されると、IPv4アドレスの最後のオクテット、およびIPv6アドレスの2番目の部分の後のすべてが、「x」として表される。 これは、本質的には、IPv4アドレスを24番目のサブネット・ファクタの最初のアドレスに丸め、IPv6アドレスを32番目のサブネット・ファクタの最初のアドレスに丸めます。
注意:CIDRAMのIPアドレス・スドニマイゼーションは、CIDRAMのIPトラッキング機能には影響しません。 これが問題の場合は、IPトラッキングを完全に無効にすることをお勧めします。
関連するコンフィギュレーション・ディレクティブ:
legal->pseudonymise_ip_addresses
特定の種類の情報が完全にログに記録されないようにして、これをさらに進めたい場合は、これも可能です。 コンフィギュレーション・ページで、「fields」コンフィギュレーション・ディレクティブを参照して、ログ・エントリおよび「アクセス拒否」ページに表示されるフィールドを制御してください。
注意:ログからIPアドレスを完全に省略するときにIPアドレス・スドニマイゼーションを使用する理由はありません。
関連するコンフィギュレーション・ディレクティブ:
general->fields
CIDRAMは、オプションで、特定の時間以降に発生したブロック・イベントまたはキャプチャ・インスタンスの総数などの統計を追跡できます。 この機能はデフォルトで無効になっていますが、パッケージ・コンフィギュレーションで有効にすることができます。 この機能は、発生したイベントの総数のみを追跡します。 特定のイベントに関する情報は含まれていませんので、PIIと見なされるべきではありません。
関連するコンフィギュレーション・ディレクティブ:
general->statistics
CIDRAMは、キャッシュまたはログ情報を暗号化しません。 キャッシュとログの暗号化は、将来導入される可能性がありますが、現在のところ具体的な計画はありません。 権限のない第三者によるPIIへのアクセスについて(例えば、キャッシュ、ログ):CIDRAMは、一般にアクセス可能な場所にはインストールしないことをお勧めします(例えば、ほとんどのウェブサーバーで使用できる標準のpublic_htmlディレクトリの外にCIDRAMをインストールする)、そして適切に制限された権限が強制されるようにする(特に、「vault」ディレクトリ)。 懸念が残っている場合は、CIDRAMを設定して、この情報が収集または記録されないようにすることができます(例えば、ロギングを無効にするなど)。
CIDRAMは、コードベースの2つのポイントでCookieを設定します。 1.locktoの設定方法に応じて、CIDRAMは、ユーザーがキャプチャを完了したことを記憶する、クッキーを設定する場合があります。 2.ユーザーがフロントエンドに正常にログインすると、CIDRAMは後続のリクエストのためにユーザーを覚えておくためにクッキーを設定します(すなわち、クッキーはユーザーをログインセッションに認証するために使用されます)。
いずれの場合も、クッキーに関する警告が目立つように表示され(該当する場合)、クッキーが関連するアクションに関与する場合にCookieが設定されることをユーザーに警告します。 クッキーは、コードベースの他のどの場所にも設定されていません。
注意:「インビジブル」キャプチャAPIは、一部の法域ではクッキー法と互換性がない可能性があります。 クッキー法の対象となるウェブサイトはそれを避けるべきです。 代わりに、提供されている他のAPIを使用するか、キャプチャを完全に無効にすることを選択することをお勧めします。
関連するコンフィギュレーション・ディレクティブ:
captcha->locktocaptcha->api
CIDRAMは、マーケティングやアドバタイジング目的で情報を収集または処理しません。 収集または記録された情報を販売したり、利益を得たりすることはありません。 CIDRAMは商業的企業ではなく、商業的利益には関係しないので、これらのことは意味をなさないでしょう。 これは、プロジェクトの開始以来のケースであり、今日も引き続き行われています。 さらに、これらのことを行うことは、プロジェクトの精神と目的に沿ったものではなく、私がプロジェクトを維持し続ける限り、決して起こらないでしょう。
場合によっては、ウェブサイトのすべてのページとセクションにプライバシー・ポリシーへのリンクを明確に表示することが法的に要求されることがあります。 これは、ユーザーが正確なプライバシー・プラクティス、収集するPIIのタイプ、および使用する方法を十分に知らされていることを保証する手段として重要です。 このようなリンクをCIDRAMの「アクセス拒否」ページに含めるには、プライバシー・ポリシーのURLを指定するためのコンフィギュレーション・ディレクティブが用意されています。
注意:プライバシー・ポリシー・ページは、CIDRAMの保護の背後に置かないことを強くお勧めします。 CIDRAMがプライバシー・ポリシー・ページを保護し、CIDRAMによってブロックされたユーザーがプライバシー・ポリシーへのリンクをクリックすると、ユーザーは再びブロックされ、プライバシー・ポリシーが表示されなくなります。 理想的には、HTTPページやプレーン・テキスト・ファイルなど、プライバシー・ポリシーの静的コピーにリンクする。
関連するコンフィギュレーション・ディレクティブ:
legal->privacy_policy
一般データ保護規制(GDPR)は、2018年5月25日に発効するEUの規制です。 規制の第一の目的は、EU市民および居住者に個人情報を管理させ、個人情報および個人情報に関するEU内の規制を統一することです。
この規制には、EU(欧州連合)の「データ主体」(識別された、または識別可能な自然人)の「個人識別情報」(PII)の処理に関する特定の規定が含まれています。 規制に準拠するためには、「企業」(規制によって定義されている)、関連するシステムおよびプロセスは、デフォルトで「プライバシー・バイ・デザイン」を実装する必要があります、最高のプライバシー設定を使用する必要があります、格納された情報または処理された情報のためにセーフガードを実装する必要があります(「スドニマイゼーション」の実装またはデータの完全な「アノニマイゼーション」を含むがこれらに限定されません)、収集するデータの種類、処理方法、理由、保持期間、および第三者とこのデータを共有するかどうかを明確かつ明白に宣言する必要があります、第三者と共有されるデータの種類、方法、理由などが含まれます。
規制によって定義されているように、合法的な根拠がない限り、データを処理することはできません。 一般的に、これは、合法的な基準でデータ対象のデータを処理するためには、法的義務を遵守しなければならないを意味します、または明示され、十分に情報があり、明白な同意がデータ対象から得られた後にのみ行われる。
規制のいくつかの側面は時間とともに変化する可能性があります。 時代遅れの情報が広がらないようにするには、関係する情報をここに入れるのではなく、正式な情報源から規制について学ぶ方が良いでしょう(ここに含まれる情報が古くなる可能性があります)。
より多くの情報を習得するための推奨リソース:
- GDPR(EU一般データ保護規制)とは | 語句説明・適用範囲・与える影響を解説
- EU一般データ保護規則
- GDPR(EU一般データ保護規制)対策
- REGULATION (EU) 2016/679 OF THE EUROPEAN PARLIAMENT AND OF THE COUNCIL
- GDPRの対象となる個人データとは
v3と以前のメジャー・バージョンの間には大きな違いがあります。 特に、エントリポイントの動作方法、モジュールの構造化方法、およびv3でのアップデータの動作方法は、以前のメジャー・バージョンでの動作方法とは異なります。 これらの違いのため、以前のメジャー・バージョンからv3にアップグレードする最善の方法は、新規インストールを実行することです。
コンフィギュレーションと補助ルールを保持したい場合は、アップグレード・プロセスを開始する前に、フロントエンド・バックアップ・ページに移動してください。 そこから、コンフィギュレーションと補助ルールをエクスポートできます。 エクスポートすると、ファイルがダウンロードされます。 新しいメジャー・バージョンにアップグレードした後、そのファイルを使用して、以前にエクスポートしたデータをインストール環境にインポートできます。
モジュールの構造が変更されたため、v3で適切に動作するには、以前のメジャー・バージョン向けのモジュールを書き直す必要があります。 直接移行は機能しません。 同じことがイベントにも当てはまります。
シグネチャ・ファイルの構造は変更されていないため、以前のメジャー・バージョン向けのシグネチャ・ファイルは問題なくv3に直接移行できます。
v3以降、モジュール、シグネチャ・ファイル、イベントにはそれぞれ専用のディレクトリがあります(したがって、ルートではなく、これらのディレクトリに配置されます)。
陳腐化により、以前のメジャー・バージョンのシグネチャ・ファイル、モジュール、ブロックリストの一部(ほんの一部)は、v3では利用できなくなります。 v3以降に追加された新機能により、ほとんどの場合、それらは必要ありません。
補助ルールの構造には微妙な変更がいくつかあり、コンフィギュレーションにも変更がありますが、フロントエンド・バックアップ・ページでインポートおよびエクスポート機能を使用する場合は、手動で書き換えたり、調整したり、再作成したりする必要はありません。 インポート時に、CIDRAMは何が必要かを認識し、自動的に処理します。
v3で導入された変更点(追加された機能、削除された機能、など)のリストについては、v3の変更ログを参照してください。
上記を参照してください:新規インストールをお勧めします。
-
まず、フロントエンドのアップデート・ページで、利用可能な更新がある場合は、必ずすべてインストールしてください。 これにより、アップグレードに必要なすべてのコードが利用可能になり、アップデーターに必要な作業量が削減されます。
-
フロントエンド・コンフィギュレーション・ページで、
frontend➡remotesを探します。 リスト内の「/v3/」を「/v4/に変更します。 設定を保存するには、「アップデート」をクリックします。 この変更により、アップデーターは、アップデートを検索するときに、目的のメジャー・バージョンをターゲットにするように指示されます。 -
バックアップをダウンロードするには、フロントエンド・バックアップ・ページで、「エクスポートして」を選択し、コンフィギュレーション、統計、補助ルールのチェックボックスをオンにして、「OK」を押してください。 いくつか変更がありました。 たとえば、「ログを記録しない」アクションは補助ルールから削除されました(代わりに「ロギングを抑制する」オプションを使用して同じことを実現できます)。 これらの変更に対応するには、アップグレード後にこのバックアップをCIDRAMにインポートする必要があります。
-
この時点で、フロントエンドのアップデート・ページに、新しいメジャー・バージョンのアップデートが表示されます。 タイムアウトを回避するには、すべてを更新する前に、まずCIDRAM Core「コア」またはCIDRAM Front-End「フロントエンド」のみを更新してみてください(両者は相互に依存しているため、一方を更新すると、両方が自動的に更新されるはずです)。 構造とスタイルの変更により、更新後にページが壊れているように見える場合がありますが、壊れてはいません。 他のフロントエンド・ページで「Ctrl+F5」を押して、ハード・リフレッシュを実行してみてください(「ハード・リフレッシュ」つまり、ブラウザがキャッシュに依存せずにCSSスタイルやその他の周辺機器の新しいコピーを取得する)。 ページ構造とCSSスタイルが正しく表示されるはずです。 正しく表示されない場合は、ブラウザのキャッシュをクリアしてみてください。
-
次に、他のすべてを更新できます。 フロントエンドのアップデート・ページで、ページの上部にボタンが表示されている場合は、「すべてアップデートする」をクリックします。
-
インストールに不良な更新や破損したファイルが残っていないことを確認し、すべてが正常であることを確認するには、「すべてを修復する」をクリックします。 これが実際に問題になることはほとんどありませんが、安全策を講じたほうがよいでしょう。
-
先ほどダウンロードしたバックアップをインポートするには、フロントエンド・バックアップ・ページで、「インポートして」を選択し、コンフィギュレーション、統計、補助ルールのチェックボックスをオンにして、ファイル選択ボタンをクリックして、バックアップ・ファイルを見つけて選択し、「OK」を押します。 CIDRAMは変更に対応するために必要な調整を自動的に実行します。
-
アップグレードが完了しました。 次に、新しいメジャー・バージョンによって導入された変更(例えば、新しく導入された機能など)のため、フロントエンド・コンフィギュレーション・ページを簡単に確認することをお勧めします。 新しいメジャー・バージョンでは、シグネチャ・ファイル、モジュール、またはイベントに変更は導入されないため、アップグレード時に心配する必要はありません。
v4で導入された変更点(追加された機能、削除された機能、など)のリストについては、v4の変更ログを参照してください。
最終更新日:2026年6月6日。

