[Hlfl-cvs] r178 - trunk/doc

hlfl at hlfl.org hlfl at hlfl.org
Tue Aug 22 01:05:09 CEST 2006


Author: asl
Date: 2006-08-22 01:05:09 +0200 (Tue, 22 Aug 2006)
New Revision: 178

Added:
   trunk/doc/syntax.ja.utf8.txt
Log:
Add hlfl syntax in japanese;
contributed by AirWhite <airwhite at airwhite.net>


Added: trunk/doc/syntax.ja.utf8.txt
===================================================================
--- trunk/doc/syntax.ja.utf8.txt	                        (rev 0)
+++ trunk/doc/syntax.ja.utf8.txt	2006-08-21 23:05:09 UTC (rev 178)
@@ -0,0 +1,290 @@
+HLFL 構文
+-----------------------------------------------------------------------------
+
+hlfl are a list of statements. Each statement have the following syntax :
+hlfl は statement で構成されています。各 statement の構文 :
+
+statement ::= "protocol" ("local") "operator" ("remote") ["on"] [interfaces] keywords
+
+'local'  は あなたのネットワーク
+'remote' は 外部のネットワーク
+
+例 :
+
+tcp (192.168.1.1) X (192.168.2.1) [fxp0,xl1]
+
+bsd ipfw 言語での意味 :
+
+ipfw -f add deny tcp from 192.168.1.1  to 192.168.2.1  out  via fxp0
+ipfw -f add deny tcp from 192.168.2.1  to 192.168.1.1  in  via fxp0
+ipfw -f add deny tcp from 192.168.1.1  to 192.168.2.1  out  via xl1
+ipfw -f add deny tcp from 192.168.2.1  to 192.168.1.1  in  via xl1
+
+そして この意味を人間の言葉で表現すると :
+
+	'deny communication between 192.168.1.1 and 192.168.2.1'
+
+all (any) X (any)
+
+意味 :
+
+ipfw -f add deny all from any to any
+
+オペレータのリスト :
+-----------------------------------------------------------------------------
+
+1. 記号オペレータ
+=====================
+
+->   : 送信を許可(accept)
+<-   : 受信を許可(accept)
+<->  : 送信と受信を許可(accept)
+<=>> : 送信から確立された(established)送受信を許可(accept)
+<<=> : 受信から確立された(established)送受信を許可(accept)
+X    : 送受信の不許可(deny)
+X!   : 送受信の拒否(reject)
+X->  : 送信の不許可(deny)
+<-X  : 受信の不許可(deny)
+X!-> : 送信の拒否(reject)
+<-X! : 受信の拒否(reject)
+
+Note
+記号 <=>> や <<=> は制御されたUDP通信を構築できますが
+記号 <-> は制御されないUDP通信が構築されます。
+
+2. 記号ではなオペレータ
+=========================
+
+記号オペレータで大量で複雑な規則を書くと読む時に苦痛かもしれないので
+もう1セットのオペレータが定義されました。
+
+それらの構文は :
+
+operator ::= "accept" | "deny" | "reject" ["from" |
+		"to" | "and" | "established" | "log"]
+
+例 :
+
+# 192.168.1.1 から 192.168.2.1 への送信を許可して
+# 192.168.2.1 から 192.168.2.2 への受信を許可(すなわち<->と同じ)
+
+tcp (192.168.1.1) accept (192.168.2.1) on interface0
+
+# 上と同じ意味の別の文は
+
+tcp (192.168.1.1) accept from and to (192.168.2.1) on interface0
+
+
+# Accept outgoing connections from 10.1.1.1 to 10.2.2.2, and
+# log them (the same as "log <=>>")
+#
+
+# 10.1.1.1 から 102.2.2.2 への送受信の許可とログ
+
+tcp (10.1.1.1) accept established to and log (10.2.2.2)
+
+
+
+
+(src) と (dst) のフォーマット
+-------------------------------------------------------------------------
+
+(src) や (dst) は (IPアドレス ポート番号) と表現できる
+
+すなわち :
+(192.168.1.1 1-1024)                # 192.168.1.1 の 1~1024番ポート
+(192.168.2.1 21,22,80,49152-65535)  # 192.168.2.1 の 21,22,49152~65535番ポート
+
+または :
+(IPアドレス ポート番号 | 他IPアドレス 他ポート番号 | ....)
+
+すなわち :
+
+(192.168.1.1|192.168.1.12|192.168.1.200) # 192.168.1.1 か 192.168.1.12 か 192.168.1.200
+
+
+幾つかの送信元は、幾つかの受信元と結合できる:
+
+tcp (192.168.1.1|192.168.2.1|192.168.3.1) <=> (172.22.0.1|172.22.0.2|172.22.0.3)
+
+意味は :
+	192.168.1.1 は 172.22.0.1 や 172.22.0.2 と 172.22.0.3 通信できる
+	192.168.2.1 は 172.22.0.1 や 172.22.0.2 と 172.22.0.3 通信できる
+	192.168.3.1 は 172.22.0.1 や 172.22.0.2 と 172.22.0.3 通信できる
+
+次のケースだとキーワード 'nomix' を行の最後につけることができる
+
+tcp (192.168.1.1|192.168.2.1|192.168.3.1) <=> (172.22.0.1|172.22.0.2|172.22.0.3) nomix
+意味は :
+
+  192.168.1.1 は 172.22.0.1 と通信できる
+  192.168.2.1 は 172.22.0.2 と通信できる
+  192.168.3.1 は 172.22.0.3 と通信できる
+
+
+tcp (192.168.1.1 80 | 192.168.2.1 21) X (172.22.0.1)
+
+上の文は有効です。
+172.22.0.1 は 192.168.1.1 の 80番 と 192.168.2.1 の 21番 と通信できません。
+
+最後に
+
+tcp ((192.168.1.1|192.168.2.1) 80,21) X (172.22.0.1)
+
+これも有効な文で
+172.22.0.1 は 192.168.1.1 か 192.168.2.1 の 21番,80番 と通信できません。
+
+
+インタフェース フォーマット
+-------------------------------------------------------------------------------
+
+[インタフェース] は
+* 省略できる
+* 1つを指定してもいい
+* または、複数をカンマで区切って並べられる
+
+すなわち:
+tcp (192.168.1.1) X (192.168.1.2)
+意味は 192.168.1.1 と 192.168.1.2 は通信できない。
+
+tcp (192.168.1.1) X (192.168.1.2) [eth0]
+意味は 192.168.1.1 と 192.168.1.2 は eth0 上では通信できない。
+
+tcp (192.168.1.1) <-> (192.168.1.2) [fxp1,fxp2]
+意味は 192.168.1.1 と 192.168.1.2 は fxp1, fxp2 上で通信できる。
+
+tcp (10.0.0.1) <-> (10.254.254.254) on Ethernet0
+意味は 10.0.0.1 と 10.254.254.254 は Ethernet0 上で通信できる。
+
+他の有効な文は :
+
+tcp (10.0.0.1) <-> (10.1.1.1) on [eth1, eth2, eth3]
+tcp (10.0.0.1) <-> (10.1.1.1) on (eth1,eth2,eth3)
+
+
+
+
+ICMP
+-------------------------------------------------------------------------------
+
+icmp の為に使える単語は :
+
+	echo-request
+	echo-reply
+	destination-unreachable
+	time-exceeded
+
+例えば 'ping' を許可する場合は :
+
+icmp (any echo-request) -> (any)
+icmp (any) <- (any echo-reply)
+
+
+
+変数
+-------------------------------------------------------------------------------
+
+'define'というキーワードを使って、規則をより読み易いように変数を定義できます。
+
+    define 単語 値
+
+すなわち :
+
+define inside       192.168.1.0/24
+define public_ports 1024-65535
+
+と定義しておいて、次のように使えます。
+
+(inside public_ports) <=>> (any)
+
+
+Include
+------------------------------------------------------------------------------
+
+'include' を使って他の定義を読み込めます。
+
+例えば :
+
+ファイル「def.hlfl」の中 :
+
+define ftp 21
+define ssh 22
+define telnet 23
+
+
+ファイル「rules.hlfl」の中 :
+
+include def.hlfl
+
+tcp (any ssh) <<=> (any)
+
+
+
+コメント
+-------------------------------------------------------------------------------
+
+hlfl は、3種類のコメントを扱うことができます。
+
+- '%'で始まるコメントは変換されたファイルには出力されません。
+
+  例えば :
+
+  	%
+	% This rules are written in hlfl
+	%
+
+	tcp (any) -> (any)
+
+  変化された ipchains フォーマットでは :
+
+  	ipchains -A output -s 0/0 -d 0/0 -j ACCEPT
+
+- '#'で始まるコメントは変換されたファイルにも含まれます。但し、cisco 形式では出ない。
+
+  例えば :
+
+  %
+  % This rules are written in hlfl
+  %
+
+  # allow all the outgoing tcp
+  tcp (any) -> (any)
+
+ 変換後は :
+
+  # allow all the outgoing tcp
+  ipchains -A output -s 0/0 -d 0/0 -j ACCEPT
+
+- '!'で始まるコメントは変換されたファイルにも出力されますが
+  先頭の'!'が除かれた状態で出力されます。
+  これは、コマンドを指定するときに使えます。
+
+  !ipchains -A forward -s 0/0 -d 0/0 -i eth0 -j ACCEPT
+  tcp (any) -> (any)
+
+  これを変換すると  :
+
+  ipchains -A forward -s 0/0 -d 0/0 -i eth0 -j ACCEPT
+  ipchains -A output -s 0/0 -d 0/0 -j ACCEPT
+
+  Note: もし ipfw 形式で出力すると次のようになってしまう。
+
+  ipchains -A forward -s 0/0 -d 0/0 -i eth0 -j ACCEPT
+  ipfw add allow tcp from any to any out
+
+
+  次のようにコンディションを聞くことができるでしょう :
+
+  ! if(ipchains) $ipchains -A forward -s 0/0 -d 0/0 -j eth0 -j ACCEPT
+
+  このケースでは ipchains で出力を得られるでしょう。
+  'else'文も使えて有効です。
+
+  ! if(ipchains) $ipchains -A forward -s 0/0 -d 0/0 -i eth0 -j MASQ
+  ! else echo "MASQUERADING NOT IMPLEMENTED" ; exit
+
+
+実際のサンプル
+-------------------------------------------------------------------------------
+
+ファイル sample_1.hlfl と sample_2.hlfl 参考にしてみてください。



More information about the Hlfl-cvs mailing list