fetus

出力ファイル仕様


このページについて

このページでは、各ページにある「プレインテキスト」「アクセス制御用ひな形」からダウンロードできるデータファイルの形式を定義します。

このファイルが無くても「見ればわかる」ように作ってありますが、明示しておくのが重要かと思いましたのでここに記録します。

総則

それぞれのデータ形式で上書き規定されない限り、次の情報が全ての形式で適用されます。

  • 文字コードはUTF-8です。いわゆるBOMはありません。
  • 改行コードはCR+LFまたはLFのいずれかです。
  • それぞれのレコードは改行で区切られ、1レコード1行で記載されます。

アクセス制御(アクセス許可・拒否)が明確にあらかじめ出力されている形式の場合、次の内容が適用されます。

  • 出力している国・地域が「日本」である場合、デフォルトで「許可」設定が出力されます。
  • 出力している国・地域が「日本」以外の場合、デフォルトで「拒否」設定で出力されます。
  • URLに「?control=allow」を付与すると、「許可」設定に変更できます。
  • URLに「?control=deny」を付与すると、「拒否」設定に変更できます。
プレインテキスト
  • #」で始まる行は全てコメントです。
    内容については規定されず、人間が読むことを前提にしています。機械処理時にはこの行を単純に無視します。
    コメントが行の途中から始まることはありません。
    データレコード同士の間にも挟まる可能性があります。
  • 任意の場所に空行が挟まります。
    データレコード同士の間にも挟まる可能性があります。
  • データレコードはCIDRがそのまま配置されます。
Apache (.htaccess)
  • Apache 2.2 形式のデータが出力されます。
  • #」で始まる行は全てコメントです。
    内容については規定されず、人間が読むことを前提にしています。機械処理時にはこの行を単純に無視します。
    コメントが行の途中から始まることはありません。
    データレコード同士の間にも挟まる可能性があります。
  • 任意の場所に空行が挟まります。
    データレコード同士の間にも挟まる可能性があります。
Apache 2.4
  • Apache 2.4 形式のデータが出力されます。
  • #」で始まる行は全てコメントです。
    内容については規定されず、人間が読むことを前提にしています。機械処理時にはこの行を単純に無視します。
    コメントが行の途中から始まることはありません。
    データレコード同士の間にも挟まる可能性があります。
  • 任意の場所に空行が挟まります。
    データレコード同士の間にも挟まる可能性があります。
CSV
  • CSV(RFC 4180)形式のデータが出力されます。
    正しく取り扱うには、RFC 4180に準拠したパーサーが必要です。
    • 改行コードはCR+LFです。 (※v2.4.20210510.051523以前はバグのためLFで出力されていました)
    • 各カラムの値はダブルクォートで括られるかもしれないし、括られないかもしれません。
    • カラムにダブルクォートを含むかもしれません。
      含む場合は、RFC 4180に示される通り、例えば「A"B」という値は「"A""B"」と出力されます。
    • カラムに改行を含むかもしれません。
  • BOMの出力はありませんので、Microsoft Excelではコメント部の日本語が文字化けする可能性があります。
  • #」で始まる行は全てコメントです。
    内容については規定されず、人間が読むことを前提にしています。機械処理時にはこの行を単純に無視します。
    コメントが行の途中から始まることはありません。
    データレコード同士の間にも挟まる可能性があります。
  • 任意の場所に空行が挟まります。
    データレコード同士の間にも挟まる可能性があります。
  • カラムは左から、
    • CIDR
    • 開始アドレス
    • 終了アドレス
    • プレフィックス
    • サブネットマスク
    の順で並んでいます。 将来拡張される可能性があります(拡張の際は右側に追加されます)。 ちょうど5カラムであることを期待してはいけません。
ipset (firewalld)
  • Firewalldの設定ファイルとして利用できるXML形式を出力します。
    /etc/firewalld/ipsets/に設置して利用します。
    ipsetコマンドまたはfirewall-cmdからの利用はできません。
  • XML整形式として妥当なデータが出力されます。
  • <!--」から「-->」の間はコメントです。
    行ベースのプロセッサ(例えばgrep)で簡単に除去できるよう、コメントの中身は「#」で始まるようになっています。
IIS/Azure (ipSecurity)
  • IISの設定ファイルの一部として利用できるXMLを出力します。
  • XML整形式として妥当なデータが出力されます。
    ルート要素は<ipSecurity>になっています。実際の利用には加工が必要だと思われます。
  • <!--」から「-->」の間はコメントです。
    行ベースのプロセッサ(例えばgrep)で簡単に除去できるよう、コメントの中身は「#」で始まるようになっています。
iptables
  • iptables-restore等で利用する形式のデータが出力されます。 /etc/sysconfig/iptables等のiptables設定ファイルを編集して利用することになるでしょう。
  • #」で始まる行は全てコメントです。
    内容については規定されず、人間が読むことを前提にしています。機械処理時にはこの行を単純に無視します。
    コメントが行の途中から始まることはありません。
    データレコード同士の間にも挟まる可能性があります。
  • 任意の場所に空行が挟まります。
    データレコード同士の間にも挟まる可能性があります。
  • アクセス制御変更はできません。常に-A RULE1 -s (CIDR) -j RULE2の形式で出力されます。
    sed等を使って目的の動作になるように置換することになるでしょう。
Nginx
  • Nginxのアクセス制御構文を出力します。 serverやlocationの設定として組み込むことになるでしょう。
  • #」で始まる行は全てコメントです。
    内容については規定されず、人間が読むことを前提にしています。機械処理時にはこの行を単純に無視します。
    コメントが行の途中から始まることはありません。
    データレコード同士の間にも挟まる可能性があります。
  • 任意の場所に空行が挟まります。
    データレコード同士の間にも挟まる可能性があります。
Nginx (Geo)
  • Nginxのngx_http_geo_moduleで利用できる形式を出力します。
  • 変数名は「$ipv4_jp」のように「$ipv4_ + CC」になっています。
    krfilter/eufilterではCC部分はkrfilter_1のようになります。
  • #」で始まる行は全てコメントです。
    内容については規定されず、人間が読むことを前提にしています。機械処理時にはこの行を単純に無視します。
    コメントが行の途中から始まることはありません。
    データレコード同士の間にも挟まる可能性があります。
  • 任意の場所に空行が挟まります。
    データレコード同士の間にも挟まる可能性があります。
Postfix
  • Postfixのcheck_client_accessなどで利用できる形式を出力します。
    smtpd_client_restrictions = check_client_access cidr:/etc/postfix/kr.cidrのように指定することになるでしょう。
  • #」で始まる行は全てコメントです。
    内容については規定されず、人間が読むことを前提にしています。機械処理時にはこの行を単純に無視します。
    コメントが行の途中から始まることはありません。
    データレコード同士の間にも挟まる可能性があります。
  • 任意の場所に空行が挟まります。
    データレコード同士の間にも挟まる可能性があります。